/* Event layer only; the production site's existing CSS stays unchanged. */
html{scroll-padding-top:var(--le-header-offset,14rem);scrollbar-gutter:stable}

.le-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.le-section{padding-block:clamp(3.5rem,6vw,6rem);background:#f8f3ea;border-bottom:1px solid var(--line)}
.le-section-heading{margin-bottom:2.75rem}.le-section-heading .eyebrow{margin-bottom:.65rem;font-size:.76rem}.le-section-heading h2{font-size:clamp(2.5rem,4vw,3.75rem);margin-bottom:.35rem}.le-section-heading>p:last-child{margin:0;color:#65574f}
.le-event{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:stretch}.le-event+.le-event{margin-top:3.5rem;padding-top:3.5rem;border-top:1px solid var(--line)}
.le-event-image{position:relative;min-height:36rem}.le-event-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 43%}
.le-event-copy{padding-block:.25rem;min-width:0}.le-date{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.86rem;font-weight:600;color:var(--wine);margin-bottom:1.1rem}.le-date span{font-weight:400}
.le-event h3{font-size:clamp(3rem,4.2vw,4.4rem);line-height:.98;letter-spacing:-.025em;max-width:12ch;margin-bottom:.8rem}.le-subtitle{font-weight:600;color:var(--wine);font-size:1.05rem;margin-bottom:1.2rem}.le-event-copy>p:not(.le-date):not(.le-subtitle){max-width:48ch}.le-dietary{font-size:.9rem}
.le-price{border-top:1px solid var(--line);padding-top:1.15rem;margin-top:1.5rem}.le-price p{margin:0 0 .6rem}.le-price strong{font:600 2.5rem/1 Cormorant,Georgia,serif;color:var(--wine)}.le-price p:first-child{display:flex;align-items:baseline;gap:.55rem}.le-price p:last-child{font-size:.92rem;max-width:44ch}.le-price span{font-size:.85rem}
.le-reservation{font-size:.88rem;margin:1rem 0!important}.le-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1rem 0 .55rem}.le-booking{gap:1rem}.le-booking-note{font-size:.75rem;color:#65574f;margin-bottom:.8rem}.le-venue{font-size:.82rem;color:#65574f;margin:0}
.le-future{display:flex;gap:.5rem 2.5rem;flex-wrap:wrap;margin:2.5rem 0 0;padding-top:1.35rem;border-top:1px solid var(--line);font-size:.88rem;color:#65574f;max-width:none}.le-future strong{color:var(--wine);font-weight:600}.le-empty{padding-block:2rem}
@media(min-width:1100px) and (max-width:1300px){.header-main{padding-inline:2rem}.nav{gap:1.1rem}.nav>a{font-size:.86rem}.nav .button{padding-inline:1rem}.brand img{width:185px}}
@media(max-width:767px){.le-section{padding-block:3rem}.le-section-heading{margin-bottom:1.75rem}.le-event{grid-template-columns:1fr;gap:1.75rem}.le-event-image{min-height:0;aspect-ratio:16/10}.le-event-image img{object-position:50% 44%}.le-event h3{font-size:3.4rem;max-width:12ch}.le-event-copy{padding:0}.le-event .le-booking{width:100%}.le-future{flex-direction:column}.le-date{gap:.35rem 1rem}}
@media print{.le-event{break-inside:avoid}.le-section{padding:1rem 0}}

.le-modal-open{overflow:hidden}.le-dialog{padding:0;border:1px solid var(--line);background:var(--cream);color:var(--ink);width:min(940px,calc(100% - 3rem));max-height:calc(100dvh - 3rem);max-width:none;overflow:auto;overscroll-behavior:contain;box-shadow:0 28px 100px #1c151566}
.le-dialog::backdrop{background:rgba(24,20,19,.64)}.le-dialog-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.le-dialog-image{position:relative;min-height:100%}.le-dialog-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:49% 42%}.le-dialog-image figcaption{position:absolute;bottom:2rem;left:2rem;color:#fff8ed;font:600 2.8rem/.98 Cormorant,Georgia,serif}
.le-dialog-copy{padding:2.8rem 2.6rem 2rem;min-width:0}.le-dialog .eyebrow{font-size:.68rem;letter-spacing:.12em;margin:0 1.5rem 1rem 0}.le-dialog h2{font-size:3.5rem;line-height:.96;letter-spacing:-.025em;max-width:11ch;margin-bottom:1rem}.le-dialog .le-subtitle{font-size:.95rem;margin-bottom:1rem}.le-dialog .le-date{font-size:.81rem;gap:.25rem .9rem;margin-bottom:1rem}.le-dialog-description{font-size:.95rem;margin-bottom:1rem;max-width:33ch}
.le-dialog .le-price{margin-top:1rem;padding-top:1rem}.le-dialog .le-price p:last-child{font-size:.85rem}.le-dialog-detail{font-size:.79rem;margin:1rem 0;line-height:1.7}.le-dialog .le-actions{gap:.5rem 1.1rem}.le-dialog .le-booking{font-size:.9rem;padding-inline:1.1rem}.le-dialog .le-booking-note{margin:0;font-size:.7rem}.le-later{border:0;background:transparent;color:var(--wine);text-decoration:underline;text-underline-offset:.3em;cursor:pointer;font-size:.8rem;min-height:44px;padding:0}
.le-close{position:absolute;z-index:2;right:.65rem;top:.6rem;width:44px;height:44px;padding:0;border:0;background:var(--cream);color:var(--wine);font:400 1.9rem/1 Manrope,sans-serif;cursor:pointer}.le-close:hover{background:#e7dac6}.le-close:focus-visible{outline-offset:-4px}
@media(max-width:650px){.le-dialog{width:calc(100% - 1.25rem);max-height:calc(100dvh - 1.25rem)}.le-dialog-layout{grid-template-columns:1fr}.le-dialog-image{display:none}.le-dialog-copy{padding:2.7rem 1.5rem 1.6rem}.le-dialog h2{font-size:3.25rem;max-width:11ch}.le-dialog .le-actions{align-items:stretch;flex-direction:column;margin-top:1.25rem}.le-dialog .le-later{align-self:center;min-height:40px}.le-dialog .le-date{font-size:.8rem}.le-dialog .le-booking-note{text-align:center}.le-dialog .le-price p:last-child{font-size:.85rem}}
@media(max-width:360px){.le-dialog-copy{padding-inline:1.15rem}.le-dialog h2{font-size:2.85rem}}
@media(max-width:767px){.le-event-image img{object-position:50% 28%}}
@media print{.le-dialog{display:none!important}}
