/* Keep the booking controls centered in the viewport at every page position. */
.booking-dialog{position:fixed;inset:0;height:fit-content}
.booking-dialog:not([open]){display:none}
.booking-dialog{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #857147;border-radius:16px;background:radial-gradient(ellipse at top,#252219,#0e100e 80%);color:var(--ivory,#f7f3e8);box-shadow:0 24px 90px #0009;overflow:auto;overscroll-behavior:contain;font-family:Manrope,Arial,sans-serif}
/* Blur only the page behind the alert for its entire open state, in either window. */
.booking-dialog::backdrop{background:rgba(3,5,3,.7);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
.booking-dialog-content{padding:46px 34px 28px;text-align:center}
.booking-dialog .booking-dialog-close{position:absolute;top:9px;right:9px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;color:var(--ivory,#f7f3e8);background:transparent;font:32px/1 Arial,sans-serif;cursor:pointer}
.booking-dialog .booking-dialog-close:hover{background:#ffffff14}
.booking-dialog h2{margin:12px 0 18px;font-family:Cinzel,Georgia,serif;font-size:clamp(25px,4vw,34px);line-height:1.3;font-weight:500;color:var(--gold-light,#f5dea2)}
.booking-dialog p{line-height:1.65;color:#d6d0c2}.booking-dialog .eyebrow{margin:0 0 14px;color:var(--gold-light,#f5dea2)}
.booking-dialog-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:26px}
.booking-dialog-actions .button{width:100%;min-height:52px;justify-content:center;font-family:Cinzel,Georgia,serif;font-size:16px;font-weight:700;line-height:1.45;letter-spacing:.06em;text-align:center}
.booking-dialog [hidden]{display:none!important}
.booking-dialog :is(a,button):focus-visible{outline:2px solid var(--gold-light,#f5dea2);outline-offset:4px}
html.booking-overlay-open{overflow:hidden;scroll-behavior:auto}
html.booking-overlay-open body{position:fixed;top:var(--booking-page-top);left:var(--booking-page-left);width:100%;box-sizing:border-box;padding-right:var(--booking-scrollbar-gap,0px)}
.booking-dialog.booking-dialog-embedded{width:min(1080px,calc(100% - 32px))}
@media(max-width:480px){.booking-dialog-content{padding:48px 22px 22px}.booking-dialog{max-height:calc(100dvh - 24px);width:calc(100% - 24px);max-width:calc(100% - 24px)}.booking-dialog-actions{margin-top:20px}}
