/* Editorial Experience overlays, v0.27.0 */
.ef-event-promo[hidden]{display:none!important}
.ef-event-promo{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:clamp(18px,3vw,42px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility 0s linear .72s}
.ef-event-promo.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
html.ef-popup-open{overflow:hidden}
.ef-event-promo__backdrop{position:absolute;inset:0;background:rgba(27,30,29,.68);backdrop-filter:blur(0);opacity:0;transition:opacity .52s ease,backdrop-filter .72s ease}
.ef-event-promo.is-open .ef-event-promo__backdrop{opacity:1;backdrop-filter:blur(8px)}
.ef-event-promo__dialog{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.34fr) minmax(390px,.66fr);width:min(1180px,100%);height:min(82vh,760px);max-height:calc(100dvh - 50px);overflow:hidden;border:0!important;border-radius:0!important;outline:0!important;background:#f7f3ec;color:#2e2e2e;box-shadow:0 38px 120px rgba(0,0,0,.46);transform:translateY(22px) scale(.982);opacity:0;transition:transform .76s cubic-bezier(.22,1,.36,1),opacity .48s ease}
.ef-event-promo.is-open .ef-event-promo__dialog{transform:none;opacity:1}
.ef-event-promo__close,.ef-events-modal__close{position:absolute;z-index:9;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0!important;border-radius:0!important;outline:0;background:rgba(247,243,236,.97);color:#2e2e2e;cursor:pointer;box-shadow:0 10px 34px rgba(0,0,0,.15);transition:background .22s ease,transform .22s ease}
.ef-event-promo__close{top:18px;right:18px}
.ef-event-promo__close:hover,.ef-event-promo__close:focus-visible,.ef-events-modal__close:hover,.ef-events-modal__close:focus-visible{background:#fff;transform:translateY(-1px)}
.ef-event-promo__close svg,.ef-events-modal__close svg{display:block;width:21px;height:21px}
.ef-event-promo__media{position:relative;min-height:0;height:100%;margin:0;overflow:hidden;background:#ddd}
.ef-event-promo__media:after,.ef-events-modal__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,17,.01) 18%,rgba(15,18,17,.12) 45%,rgba(15,18,17,.88) 100%);pointer-events:none}
.ef-event-promo__media img,.ef-events-modal__media img{display:block;width:100%;height:100%;object-fit:cover}
.ef-event-promo__image-copy{position:absolute;z-index:2;left:clamp(28px,4vw,56px);right:clamp(28px,4vw,56px);bottom:clamp(30px,4vw,56px);color:#fff}
.ef-event-promo__image-eyebrow{margin:0 0 1rem!important;font-size:.74rem!important;line-height:1.25!important;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.76)}

/* Shared calendar motif. The three lines are centred with each other, while the block remains left positioned. */
.ef-event-calendar{display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(112px,9vw,142px);text-align:center;color:#2e2e2e}
.ef-event-calendar span{display:block;width:100%;font-family:"museo-sans",system-ui,sans-serif;font-size:clamp(.8rem,1vw,1rem);font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.ef-event-calendar strong{display:block;margin:.48rem 0 .52rem;font-family:var(--ef-font-heading,"Marcellus",serif);font-size:clamp(4.2rem,6.4vw,6.8rem);font-weight:400!important;line-height:.68;letter-spacing:-.04em}
.ef-event-calendar--light{color:#fff}
.ef-event-promo__image-copy h2{max-width:690px;margin:1.55rem 0 0!important;color:#fff!important;font-family:var(--ef-font-heading,"Marcellus",serif)!important;font-size:clamp(2.7rem,4.6vw,5.25rem)!important;font-weight:400!important;line-height:.95!important;letter-spacing:0!important;text-transform:none!important}

.ef-event-promo__content{min-width:0;padding:clamp(46px,4.2vw,66px);overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;justify-content:center}
.ef-event-promo__eyebrow{margin:0 0 .75rem!important;font-size:.75rem!important;line-height:1.3!important;letter-spacing:.18em;text-transform:uppercase;color:#82786e}
.ef-event-promo__meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-family:var(--ef-font-heading,"Marcellus",serif);font-size:clamp(1.35rem,1.75vw,1.75rem);line-height:1.35;color:#3d3935}
.ef-event-promo__meta span+span:before{content:"·";margin-right:.9rem;color:#c6846c}
.ef-event-promo__summary{margin:1.35rem 0 0!important;max-width:520px;color:#5e5953;font-size:clamp(1.08rem,1.3vw,1.24rem)!important;line-height:1.62!important}
.ef-event-promo__highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.5rem;border-top:1px solid rgba(46,46,46,.14);border-left:1px solid rgba(46,46,46,.14)}
.ef-event-promo__highlights>div{min-height:66px;padding:12px 14px;border-right:1px solid rgba(46,46,46,.14);border-bottom:1px solid rgba(46,46,46,.14)}
.ef-event-promo__highlights span{display:block;font-size:.67rem;line-height:1.3;letter-spacing:.13em;text-transform:uppercase;color:#8a8177}
.ef-event-promo__highlights strong{display:block;margin-top:.24rem;font-family:var(--ef-font-heading,"Marcellus",serif);font-size:1.12rem;font-weight:400!important;line-height:1.3}
.ef-event-promo__price{margin:1.45rem 0 0!important;font-family:var(--ef-font-heading,"Marcellus",serif);font-size:clamp(1.7rem,2.2vw,2.2rem)!important;font-weight:400!important;line-height:1.25!important}
.ef-event-promo__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;align-items:center;margin-top:1.55rem}
.ef-event-promo__actions .ef-button{margin:0;min-width:142px;min-height:54px;padding:0 25px;border-radius:0}
.ef-event-promo__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border:1px solid rgba(46,46,46,.38);color:#2e2e2e;text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:.2s ease}
.ef-event-promo__secondary:hover,.ef-event-promo__secondary:focus-visible{color:#fff;background:#2e2e2e;border-color:#2e2e2e}
.ef-event-promo__package{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-top:1.5rem;padding:19px 0 0;border-top:1px solid rgba(46,46,46,.18)}
.ef-event-promo__package-eyebrow{margin:0 0 .4rem!important;font-size:.7rem!important;letter-spacing:.15em;text-transform:uppercase;color:#806f64}
.ef-event-promo__package h3{margin:0!important;font-family:var(--ef-font-heading,"Marcellus",serif)!important;font-size:1.65rem!important;font-weight:400!important;line-height:1.15!important;text-transform:none!important}
.ef-event-promo__package>div>p:not(.ef-event-promo__package-eyebrow){margin:.55rem 0 0!important;color:#675f58;font-size:.98rem!important;line-height:1.48!important}
.ef-event-promo__package-action{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:170px;text-align:right}
.ef-event-promo__package-price{display:block;font-family:var(--ef-font-heading,"Marcellus",serif);font-size:1.28rem;font-weight:400!important}
.ef-event-promo__package-link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;border:1px solid rgba(46,46,46,.42);color:#2e2e2e;text-decoration:none;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:.2s ease}
.ef-event-promo__package-link:hover,.ef-event-promo__package-link:focus-visible{color:#fff;background:#2e2e2e;border-color:#2e2e2e}

/* Shared detail overlay refinements. */
.ef-events-modal__panel{border:0!important;border-radius:0!important;outline:0!important;box-shadow:0 34px 110px rgba(0,0,0,.42)!important}
.ef-events-modal__close{top:16px!important;right:16px!important}
.ef-events-modal__media{position:relative}
.ef-events-modal__media-overlay{z-index:2!important}
.ef-events-modal__media-overlay .ef-event-calendar{margin-bottom:1.45rem}
.ef-events-modal__tabs{display:flex!important;gap:0!important;padding:0 54px!important;border-bottom:1px solid rgba(46,46,46,.15)!important;background:#fcfaf7!important}
.ef-events-modal__tabs button{position:relative;min-height:72px!important;padding:0 24px!important;border:0!important;background:transparent!important;color:#6e675f!important;font-size:.76rem!important;font-weight:600!important;letter-spacing:.13em!important;text-transform:uppercase!important;cursor:pointer}
.ef-events-modal__tabs button:after{content:"";position:absolute;left:24px;right:24px;bottom:-1px;height:2px;background:transparent}
.ef-events-modal__tabs button[aria-selected="true"]{color:#2e2e2e!important}
.ef-events-modal__tabs button[aria-selected="true"]:after{background:#c6846c}
.ef-events-modal__panels{font-size:1.08rem}
.ef-events-modal__eyebrow{font-size:.78rem!important}
.ef-events-modal__datetime strong{font-size:clamp(1.45rem,2vw,1.9rem)!important;font-weight:400!important}
.ef-events-modal__datetime span{font-size:1.08rem!important}
.ef-events-modal__summary{font-size:clamp(1.12rem,1.4vw,1.3rem)!important;line-height:1.62!important}
.ef-events-modal__price{font-size:clamp(1.55rem,2vw,2rem)!important}
.ef-events-modal__actions--booking{justify-content:flex-end!important}
.ef-events-modal__actions--booking .ef-button:first-child{background:#c6846c!important;color:#fff!important;border-color:#c6846c!important}
.ef-events-modal__actions--booking .ef-button--outline{background:transparent!important;color:#2e2e2e!important;border:1px solid rgba(46,46,46,.42)!important}
.ef-events-modal__actions--booking .ef-button--outline:hover{background:#2e2e2e!important;color:#fff!important;border-color:#2e2e2e!important}
.ef-events-modal__stay-grid{display:block!important;max-width:630px;margin:0 auto}
.ef-events-modal__stay-grid figure{position:relative;width:100%;aspect-ratio:16/8;margin:0 0 28px!important;overflow:hidden}
.ef-events-modal__stay-grid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(20,20,20,.38))}
.ef-events-modal__stay-grid>div h4{font-size:clamp(2.3rem,4vw,4.2rem)!important;font-weight:400!important;line-height:1!important;text-transform:none!important}
.ef-events-modal__stay-grid>div>p{font-size:1.12rem!important;line-height:1.58!important}
.ef-events-modal__stay-grid ul{margin-top:1.6rem!important}
.ef-events-modal__stay-grid li{font-size:1.04rem!important}
.ef-events-modal__package-price{font-size:1.7rem!important;font-weight:400!important}
.ef-events-modal__tab-panel>.ef-button,.ef-events-modal__stay-grid .ef-button{margin-top:1.4rem!important}
.ef-events-modal__tab-panel[data-ef-event-tab-panel]{scroll-margin-top:20px}

/* Footer links are designed to sit inside the existing editorial footer masthead. */
.ef-footer-upcoming__menu{gap:13px!important}
.ef-footer-upcoming__menu a span{display:block;margin-bottom:.24rem;font-size:.68rem;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.ef-footer-upcoming__menu a strong{display:block;font-family:var(--ef-font-heading,"Marcellus",serif);font-size:1.06rem;font-weight:400!important;line-height:1.25;color:rgba(255,255,255,.86)}
.ef-footer-upcoming__all{margin-top:.35rem}
.ef-footer-upcoming__all a{display:inline-block!important;padding-bottom:.25rem;border-bottom:1px solid rgba(255,255,255,.5)!important;font-size:.74rem!important;letter-spacing:.1em;text-transform:uppercase}

@media(max-width:860px){
 .ef-event-promo{align-items:end;padding:10px}
 .ef-event-promo__dialog{display:block;width:100%;height:auto;max-height:calc(100dvh - 20px);overflow:auto;border:0!important;border-radius:0!important}
 .ef-event-promo__media{height:min(45vh,390px)}
 .ef-event-promo__content{padding:30px 24px 36px;overflow:visible}
 .ef-event-promo__close{top:12px;right:12px}
 .ef-event-promo__image-copy h2{font-size:clamp(2.45rem,10vw,4.2rem)!important}
 .ef-event-calendar{width:108px}
 .ef-event-calendar span{font-size:.82rem}
 .ef-event-calendar strong{font-size:4.6rem;margin:.42rem 0 .46rem}
 .ef-event-promo__package{grid-template-columns:1fr auto}
 .ef-events-modal__tabs{padding:0 20px!important;overflow-x:auto;scrollbar-width:none}
 .ef-events-modal__tabs::-webkit-scrollbar{display:none}
 .ef-events-modal__tabs button{min-height:60px!important;padding:0 16px!important;white-space:nowrap}
 .ef-events-modal__tabs button:after{left:16px;right:16px}
 .ef-events-modal__actions--booking{justify-content:flex-start!important}
}
@media(max-width:520px){
 .ef-event-promo__highlights{grid-template-columns:1fr 1fr}
 .ef-event-promo__actions{display:grid;grid-template-columns:1fr;justify-content:stretch}
 .ef-event-promo__actions .ef-button,.ef-event-promo__secondary{width:100%}
 .ef-event-promo__package{grid-template-columns:minmax(0,1fr) auto;gap:14px}
 .ef-event-promo__package-action{align-self:end;min-width:145px}
 .ef-event-promo__package h3{font-size:1.42rem!important}
 .ef-event-promo__package-link{min-height:46px;padding:0 12px;font-size:.66rem}
 .ef-events-modal__stay-grid figure{aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){.ef-event-promo,.ef-event-promo__backdrop,.ef-event-promo__dialog{transition:none}}
