.booking-overlay{--overlay-gap:24px;--overlay-height:100dvh;--overlay-offset:0px;position:fixed;inset:var(--overlay-offset) 0 auto;width:min(1100px,calc(100% - var(--overlay-gap)*2));height:min(800px,calc(var(--overlay-height) - var(--overlay-gap)*2));max-width:none;max-height:none;margin:max(var(--overlay-gap),calc((var(--overlay-height) - 800px)/2)) auto;padding:0;overflow:hidden;border:1px solid #cdb28c60;border-radius:0;background:#101719;color:var(--ivory);box-shadow:0 24px 100px #0008}
.booking-overlay[open]{display:flex;flex-direction:column}
.booking-overlay::backdrop{background:#060e11bd;backdrop-filter:blur(8px)}
.booking-overlay-toolbar{flex:none;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:3px 8px 3px 24px;border-bottom:1px solid var(--line);background:#101c1f}
.booking-overlay-toolbar>p{font-size:11px;line-height:1.7;letter-spacing:.04em;color:var(--ivory)}
.booking-overlay-close{display:grid;place-items:center;flex:none;width:46px;height:46px;border:0;background:transparent;color:var(--gold)}
.booking-overlay-close:hover{background:#d5b88d14;color:var(--ivory)}
.booking-overlay-close>svg{width:20px;height:20px;stroke-width:1.4}
.booking-overlay-content{position:relative;flex:1;min-height:0;min-width:0}
.booking-overlay-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;font-size:13px;line-height:1.8;color:var(--muted)}
.booking-overlay-frame{display:block;width:100%;height:100%;border:0;opacity:0;color-scheme:dark;background:#101719}
.booking-overlay-frame.is-ready{opacity:1}
@media(max-width:800px){.booking-overlay{--overlay-gap:12px;width:calc(100% - 24px);height:calc(var(--overlay-height) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin-top:calc(var(--overlay-gap) + env(safe-area-inset-top))}.booking-overlay-toolbar{min-height:48px;padding:0 3px 0 17px;gap:10px}.booking-overlay-toolbar>p{font-size:10px}.booking-overlay-close{width:46px;height:46px}}
@media(max-height:480px){.booking-overlay{--overlay-gap:8px;width:calc(100% - 16px);height:calc(var(--overlay-height) - 16px);margin:8px auto}.booking-overlay-toolbar{min-height:44px;padding-block:0}.booking-overlay-close{width:44px;height:44px}}
