/* FFWMG Events: cards, event page and the mega-menu card. Colors/spacing for containers and buttons live in Elementor; this file adds the details. */
:root{--ffe-rust:#B1522F;--ffe-navy:#192646;--ffe-blue:#003E75;--ffe-cream:#F9F8F3;--ffe-ink:#2b3343;--ffe-muted:#5f6b7a;--ffe-line:#ECE8DE}

/* hide rows/links whose dynamic value is empty */
.ffe-meta .elementor-icon-list-item:has(.elementor-icon-list-text:empty){display:none!important}
.ffe-textlink:not(:has(a[href^="http"])),.ffe-menu-card__cta:not(:has(a[href^="http"])){display:none}
.ffe-is-past .ffe-rsvp,.ffe-is-past .ffe-cal,.ffe-is-past .ffe-cal-links,.ffe-no-rsvp .ffe-rsvp{display:none!important}

/* eyebrow / pills */
.elementor .elementor-widget.ffe-eyebrow .elementor-heading-title{font-size:12px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ffe-rust)}
.elementor .elementor-widget.ffe-eyebrow--light .elementor-heading-title{color:#E8A27F}
.elementor .elementor-widget.ffe-pill .elementor-heading-title{display:inline-block;font-size:11px!important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#FBEDE6;color:var(--ffe-rust)}
.ffe-is-past .elementor-widget.elementor-widget.ffe-pill .elementor-heading-title{background:#EEF0F3;color:var(--ffe-muted)}
.elementor .elementor-widget.ffe-section-title .elementor-heading-title{color:var(--ffe-navy)}

/* list card */
:is(.site-content,body) .elementor > .e-con.ffe-card{padding:0!important}
.ffe-card{transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 6px 24px -14px rgba(25,38,70,.25)}
.ffe-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(25,38,70,.35)}
.ffe-date{color:#fff;text-align:center}
.elementor .ffe-date .elementor-widget .elementor-heading-title{color:#fff;line-height:1}
.elementor .elementor-widget.ffe-date__m .elementor-heading-title{font-size:15px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#E8A27F}
.elementor .elementor-widget.ffe-date__d .elementor-heading-title{font-size:46px!important;font-weight:700;margin:4px 0}
.elementor .elementor-widget.ffe-date__w .elementor-heading-title{font-size:14px!important;opacity:.8}
.elementor .elementor-widget.ffe-card__title .elementor-heading-title,.elementor .elementor-widget.ffe-card__title .elementor-heading-title a{color:var(--ffe-navy)}
.ffe-card:hover .elementor .elementor-widget.ffe-card__title .elementor-heading-title a{color:var(--ffe-rust)}
.ffe-card__media{align-self:stretch;padding:24px 24px 24px 0!important}
.ffe-card__media .ffe-card__img{border-radius:10px}
.ffe-card__img img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .5s ease}
.ffe-card__media .ffe-card__img img{aspect-ratio:auto;height:auto}
.ffe-card:hover .ffe-card__img img{transform:scale(1.04)}
.ffe-card__img{overflow:hidden}
.ffe-excerpt p{margin:0;color:var(--ffe-muted)}
.ffe-actions .elementor-widget{width:auto}

/* meta lists */
.ffe-meta .elementor-icon-list-icon i,.ffe-meta .elementor-icon-list-icon svg{color:var(--ffe-rust)!important;fill:var(--ffe-rust)!important;width:16px;text-align:center}
.ffe-meta .elementor-icon-list-text{color:var(--ffe-ink);font-size:16px}
.ffe-meta .elementor-icon-list-item{align-items:flex-start!important}
.ffe-meta .elementor-icon-list-icon{padding-top:4px}
.ffe-meta--compact .elementor-icon-list-text{font-size:15px;color:var(--ffe-muted)}
.ffe-meta--light .elementor-icon-list-text,.ffe-meta--light a .elementor-icon-list-text{color:var(--ffe-cream)!important}
.ffe-meta--light .elementor-icon-list-icon i,.ffe-meta--light .elementor-icon-list-icon svg{color:#E8A27F!important;fill:#E8A27F!important}
.ffe-meta--inline .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px 26px}
.ffe-meta--inline .elementor-icon-list-item{margin:0!important;padding:0!important}
.ffe-meta--inline .elementor-icon-list-text{font-size:18px}
.ffe-meta--stack .elementor-icon-list-item{padding:12px 0!important;border-bottom:1px solid var(--ffe-line)}
.ffe-meta--stack .elementor-icon-list-item:last-child{border-bottom:0}
.ffe-meta--stack a .elementor-icon-list-text{color:var(--ffe-blue);text-decoration:underline;text-underline-offset:3px}

/* compact card */
.ffe-card--compact .elementor .elementor-widget.ffe-card__title .elementor-heading-title{font-size:20px!important}
.elementor .elementor-widget.ffe-more .elementor-heading-title,.elementor .elementor-widget.ffe-more .elementor-heading-title a,.elementor .elementor-widget.ffe-textlink .elementor-heading-title a{font-size:15px;font-weight:700;color:var(--ffe-rust)}
.ffe-more{margin-top:auto}
.ffe-is-past.e-loop-item .ffe-card__img img{filter:saturate(.75)}

/* event page hero / single */
.elementor .ffe-hero .elementor-widget .elementor-heading-title{color:#fff}
.ffe-hero__intro p{font-size:18px;max-width:760px;margin:0}
.elementor .elementor-widget.ffe-back .elementor-heading-title a{font-size:15px;font-weight:600;color:rgba(249,248,243,.8)!important}
.elementor .elementor-widget.ffe-back .elementor-heading-title a:hover{color:#fff!important}
.elementor .elementor-widget.ffe-hero__title .elementor-heading-title{max-width:900px}
.ffe-btn--onDark .elementor-button{color:#fff!important;border-color:rgba(255,255,255,.85)!important;background:transparent!important}
.ffe-btn--onDark .elementor-button:hover{background:rgba(255,255,255,.12)!important}
.ffe-btn--block,.ffe-btn--block .elementor-button{width:100%}
.ffe-feature-img img{width:100%;height:auto;border-radius:16px;box-shadow:0 30px 60px -30px rgba(25,38,70,.5)}
.ffe-article{font-size:18px;line-height:1.75;color:var(--ffe-ink)}
.ffe-article p{margin:0 0 1.2em}
.ffe-article a{color:var(--ffe-blue);text-decoration:underline;text-underline-offset:3px}
.ffe-article ul,.ffe-article ol{padding-left:1.3em;margin:0 0 1.2em}
.ffe-article li::marker{color:var(--ffe-rust)}
.e-con.ffe-sidebar{position:sticky;top:120px;box-shadow:0 18px 40px -24px rgba(25,38,70,.35)}
.elementor .elementor-widget.ffe-sidebar__title .elementor-heading-title{font-size:20px!important;color:var(--ffe-navy)}
.ffe-is-past .elementor-widget.elementor-widget.ffe-sidebar__title .elementor-heading-title::after{content:" · Past event";color:var(--ffe-muted);font-weight:400}
.ffe-grid .e-loop-nothing-found-message,.ffe-grid .e-loop-nothing-found-message__text{font-size:17px;color:var(--ffe-muted)}
.ffe-upcoming .ffe-grid .e-loop-nothing-found-message{background:#fff;border:1px dashed #d8d2c4;border-radius:16px;padding:32px;text-align:center}
body:not(.elementor-editor-active) :is(.ffe-more-section,.ffe-past):not(:has(.e-loop-item)){display:none}

/* mega-menu card (its header column collapses when no event is upcoming) */
body:not(.elementor-editor-active) .ffe-menu-slot:not(:has(.e-loop-item)){display:none!important}
.ffe-menu-card{position:relative;box-shadow:0 18px 40px -20px rgba(25,38,70,.6);transition:transform .25s ease}
.ffe-menu-card:hover{transform:translateY(-2px)}
.ffe-menu-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--ffe-rust)}
.elementor .elementor-widget.ffe-menu-card__eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;font-size:12px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#E8A27F}
.elementor .elementor-widget.ffe-menu-card__eyebrow .elementor-heading-title::before{content:"";width:8px;height:8px;border-radius:50%;background:#E8A27F;box-shadow:0 0 0 0 rgba(232,162,127,.7);animation:ffe-pulse 1.8s infinite}
.ffe-is-past .elementor-widget.elementor-widget.ffe-menu-card__eyebrow .elementor-heading-title::before{animation:none;opacity:.6}
@keyframes ffe-pulse{0%{box-shadow:0 0 0 0 rgba(232,162,127,.7)}70%{box-shadow:0 0 0 8px rgba(232,162,127,0)}100%{box-shadow:0 0 0 0 rgba(232,162,127,0)}}
.e-con.ffe-menu-card__date,.e-con.ffe-date{flex-shrink:0!important}
.ffe-menu-card__date{color:#fff}
.elementor .ffe-menu-card__date .elementor-widget .elementor-heading-title{color:#fff;line-height:1.05;text-align:center}
.elementor .ffe-menu-card__date .elementor-widget.ffe-date__m .elementor-heading-title{font-size:12px!important;letter-spacing:.12em;color:#fff}
.elementor .ffe-menu-card__date .elementor-widget.ffe-date__d .elementor-heading-title{font-size:26px!important;margin:2px 0 0}
.ffe-menu-card__title{flex:1}
.elementor .elementor-widget.ffe-menu-card__title .elementor-heading-title,.elementor .elementor-widget.ffe-menu-card__title .elementor-heading-title a{font-size:17px!important;font-weight:700;line-height:1.3;color:#fff}
.elementor .elementor-widget.ffe-menu-card__title .elementor-heading-title a:hover{color:#E8A27F}
.ffe-menu-card .ffe-meta .elementor-icon-list-text{font-size:14px}
.elementor .elementor-widget.ffe-menu-card__cta .elementor-heading-title a{display:inline-block;background:var(--ffe-rust);color:#fff!important;font-size:14px;font-weight:700;padding:9px 16px;border-radius:8px}
.elementor .elementor-widget.ffe-menu-card__cta .elementor-heading-title a:hover{background:#8F3F22}
.elementor .elementor-widget.ffe-menu-card__link .elementor-heading-title a{font-size:14px;font-weight:600;color:var(--ffe-cream)!important;text-decoration:underline;text-underline-offset:3px}
.ffe-is-past .ffe-menu-card__cta,.ffe-no-rsvp .ffe-menu-card__cta{display:none}

@media(max-width:767px){
	.ffe-card .ffe-card__media{order:-1}
	.ffe-card .ffe-card__media{padding:0!important}.ffe-card__media .ffe-card__img{border-radius:0}
	.ffe-date{gap:10px!important;justify-content:flex-start!important}
	.ffe-date .elementor-widget{width:auto}
	.elementor .elementor-widget.ffe-date__d .elementor-heading-title{font-size:22px!important;margin:0}
	.elementor .elementor-widget.ffe-date__m .elementor-heading-title,.elementor .elementor-widget.ffe-date__w .elementor-heading-title{font-size:14px!important}
	.ffe-actions .elementor-widget,.ffe-actions .elementor-button{width:100%}
	.e-con.ffe-sidebar{position:relative;top:auto}
	.ffe-meta--inline .elementor-icon-list-text{font-size:16px}
}
