/* Featured Experience v0.22.4: stronger event metadata and refined modal sizing. */
.ef-featured-event{--ef-event-accent:var(--ef-colour-coral,#c6846c)}

.ef-featured-event__grid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  align-items:center;
  gap:clamp(46px,7vw,108px)
}
.ef-featured-event--image-right .ef-featured-event__grid{grid-template-columns:minmax(360px,.96fr) minmax(0,1.04fr)}
.ef-featured-event--image-right .ef-featured-event__media{order:2}
.ef-featured-event--image-right .ef-featured-event__copy{order:1}

.ef-featured-event__media{position:relative;margin:0;min-height:clamp(480px,52vw,700px);overflow:hidden}
.ef-featured-event__media picture,.ef-featured-event__media img,.ef-featured-event__media .ef-placeholder{display:block;width:100%;height:100%}
.ef-featured-event__media img{position:absolute;inset:0;object-fit:cover}
.ef-featured-event__status{position:absolute;top:0;right:0;z-index:2;padding:.85rem 1rem;background:var(--ef-event-accent);color:#fff;font-size:.64rem;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase}

.ef-featured-event__copy{width:100%;max-width:560px;min-width:0}
.ef-featured-event__copy .ef-eyebrow{margin:0 0 1.2rem!important}
.ef-featured-event__copy h2{margin:0;font-size:var(--ef-heading-lg);line-height:1;letter-spacing:-.02em;overflow-wrap:normal;word-break:normal}
.ef-featured-event__meta{display:flex;flex-wrap:wrap;gap:.55rem 1.35rem;margin-top:1.45rem;font-size:clamp(.96rem,1.15vw,1.12rem);font-weight:700;line-height:1.35;letter-spacing:.065em;text-transform:uppercase}
.ef-featured-event__meta span+span{position:relative;padding-left:1.15rem}
.ef-featured-event__meta span+span::before{content:"";position:absolute;left:0;top:50%;width:3px;height:3px;border-radius:50%;background:currentColor;transform:translateY(-50%);opacity:.6}
.ef-featured-event__price{margin:1.2rem 0 0!important;font-family:var(--ef-font-heading,serif);font-size:clamp(1.3rem,1.8vw,1.65rem)!important;font-weight:400;line-height:1.15!important;letter-spacing:-.01em}
.ef-featured-event__summary{max-width:42rem;margin-top:1.4rem}
.ef-featured-event__summary p{margin:0!important;font-size:clamp(1rem,1.15vw,1.12rem)!important;line-height:1.58!important}
.ef-featured-event__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:1.8rem}
.ef-featured-event__actions .ef-button{margin:0}
.ef-featured-event--sold-out .ef-featured-event__media img{filter:saturate(.45) brightness(.8)}
.ef-featured-event--sold-out .ef-featured-event__status{background:var(--ef-colour-navy,#26364a)}

/* Shared popup styling, included here so the modal works even when no event listing block is present. */
.ef-featured-event .ef-events-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:clamp(18px,3vw,38px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.ef-featured-event .ef-events-modal.is-open{opacity:1;visibility:visible}
.ef-featured-event .ef-events-modal__backdrop{position:absolute;inset:0;background:rgba(17,23,31,.8);backdrop-filter:blur(9px)}
.ef-featured-event .ef-events-modal__panel{position:relative;width:min(1080px,100%);height:min(660px,80dvh);max-height:80dvh;overflow:hidden;background:var(--ef-colour-paper-light,#fcfaf7);display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);box-shadow:0 30px 100px rgba(0,0,0,.34);transform:translateY(24px) scale(.985);transition:transform .42s cubic-bezier(.22,1,.36,1)}
.ef-featured-event .ef-events-modal.is-open .ef-events-modal__panel{transform:none}
.ef-featured-event .ef-events-modal__close{position:absolute;top:14px;right:14px;z-index:3;width:48px;height:48px;border:0;background:#fff;color:#222;font-size:2rem;line-height:1;cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.12)}
.ef-featured-event .ef-events-modal__media{height:100%;min-height:0;background:rgba(44,44,44,.08);overflow:hidden}
.ef-featured-event .ef-events-modal__media img{display:block;width:100%;height:100%;object-fit:cover}
.ef-featured-event .ef-events-modal__content{min-height:0;padding:clamp(34px,5vw,64px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ef-featured-event .ef-events-modal__datetime{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.08em}
.ef-featured-event .ef-events-modal__datetime strong{font-family:var(--ef-font-heading,serif);font-size:clamp(1.9rem,3vw,2.8rem);font-weight:400;text-transform:none;letter-spacing:0}
.ef-featured-event .ef-events-modal__datetime span{font-size:1.05rem;font-weight:700}
.ef-featured-event .ef-events-modal__content h3{font-size:clamp(2.6rem,5vw,5rem);line-height:.97;margin:0 0 1.25rem}
.ef-featured-event .ef-events-modal__summary{margin-bottom:1.25rem;font-size:1.08rem}
.ef-featured-event .ef-events-modal__sections{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(44,44,44,.16)}
.ef-featured-event .ef-events-modal__sections section+section{margin-top:2rem}
.ef-featured-event .ef-events-modal__sections h4{font-size:clamp(1.7rem,3vw,3rem);margin-bottom:.8rem}
.ef-featured-event .ef-events-modal__section-image{margin-top:1rem;aspect-ratio:4/3;overflow:hidden}
.ef-featured-event .ef-events-modal__section-image img{width:100%;height:100%;object-fit:cover}
.ef-featured-event .ef-events-modal__facts{margin-top:1.5rem;font-family:var(--ef-font-heading,serif);font-size:clamp(1.55rem,2.4vw,2.2rem);line-height:1.05}
.ef-featured-event .ef-events-modal__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.5rem}
body.ef-events-modal-open{overflow:hidden}

@media(max-width:900px){
  .ef-featured-event__grid,.ef-featured-event--image-right .ef-featured-event__grid{grid-template-columns:1fr;gap:38px}
  .ef-featured-event--image-right .ef-featured-event__media,.ef-featured-event--image-right .ef-featured-event__copy{order:initial}
  .ef-featured-event__media{min-height:clamp(430px,72vw,650px)}
  .ef-featured-event__copy{max-width:650px}
  .ef-featured-event .ef-events-modal__panel{grid-template-columns:1fr;overflow:auto;height:min(820px,92dvh);max-height:92dvh}
  .ef-featured-event .ef-events-modal__media{aspect-ratio:4/3;height:auto;min-height:0}
  .ef-featured-event .ef-events-modal__content{overflow:visible}
}

@media(max-width:680px){
  .ef-featured-event__grid{gap:0}
  .ef-featured-event__media{min-height:0;aspect-ratio:4/5}
  .ef-featured-event__copy{box-sizing:border-box;padding:24px 0 0;max-width:none}
  .ef-featured-event__copy .ef-eyebrow{margin-bottom:.85rem!important}
  .ef-featured-event__copy h2{font-size:clamp(2.2rem,10.5vw,3.25rem);line-height:1.02}
  .ef-featured-event__meta{display:grid;gap:.35rem;margin-top:1.1rem;font-size:1rem;line-height:1.35}
  .ef-featured-event__meta span+span{padding-left:0}
  .ef-featured-event__meta span+span::before{display:none}
  .ef-featured-event__price{margin-top:1rem!important;font-size:1.35rem!important}
  .ef-featured-event__summary{margin-top:1.05rem}
  .ef-featured-event__summary p{font-size:1rem!important;line-height:1.5!important}
  .ef-featured-event__actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:1.45rem}
  .ef-featured-event__actions .ef-button{width:100%;justify-content:center;text-align:center}

  .ef-featured-event .ef-events-modal{align-items:end;padding:8px 10px 0}
  .ef-featured-event .ef-events-modal__backdrop{background:rgba(17,23,31,.86);backdrop-filter:blur(7px)}
  .ef-featured-event .ef-events-modal__panel{width:100%;height:min(94dvh,860px);max-height:94dvh;border-radius:14px 14px 0 0;display:block;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .ef-featured-event .ef-events-modal__panel::before{content:"";display:block;position:sticky;top:0;z-index:2;width:42px;height:4px;margin:10px auto 0;border-radius:999px;background:rgba(44,44,44,.25)}
  .ef-featured-event .ef-events-modal__close{position:sticky;top:12px;float:right;margin:2px 12px -50px 0;width:44px;height:44px;border-radius:50%;font-size:1.65rem}
  .ef-featured-event .ef-events-modal__media{aspect-ratio:4/3;margin-top:8px}
  .ef-featured-event .ef-events-modal__content{padding:28px 22px 34px;overflow:visible}
  .ef-featured-event .ef-events-modal__datetime{display:grid;justify-content:start;gap:.35rem;padding-right:44px}
  .ef-featured-event .ef-events-modal__datetime strong{font-size:1.7rem}
  .ef-featured-event .ef-events-modal__datetime span{font-size:.92rem}
  .ef-featured-event .ef-events-modal__content h3{font-size:clamp(2.25rem,11vw,3.4rem)}
  .ef-featured-event .ef-events-modal__actions{display:grid;grid-template-columns:1fr}
  .ef-featured-event .ef-events-modal__actions .ef-button{width:100%;justify-content:center;text-align:center}
}
