html.booking-is-open{overflow:hidden}
.booking-dialog{position:fixed;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:min(560px,calc(100vw - 48px));height:auto;min-height:0;max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink);overflow:auto;box-shadow:0 24px 64px -16px #17251d52}
.booking-dialog::backdrop{background:#11181573;backdrop-filter:none}
.booking-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:2}
.booking-header h2{font:500 20px/1.4 Sora,Inter,system-ui,sans-serif;margin:0;letter-spacing:-.02em}
.booking-close{display:grid;place-items:center;flex:none;width:44px;height:44px;background:none;border:0;border-radius:6px;color:var(--ink);cursor:pointer}
.booking-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.booking-notice{max-width:56ch;margin:32px auto 24px;padding:0 32px;font:16px/1.75 Inter,system-ui,sans-serif}
.booking-notice p{margin:0 0 24px}
.booking-load{min-height:48px;padding:12px 24px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--bg);font:500 15px/1.5 Inter,system-ui,sans-serif;cursor:pointer}
.booking-load:disabled{opacity:.6;cursor:wait}.booking-progress{padding:16px 24px;font:14px/1.6 Inter,system-ui,sans-serif}
.booking-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 32px 32px;font:13px/1.6 Inter,system-ui,sans-serif;color:var(--muted,var(--ink))}
.booking-links a{text-decoration:underline;text-underline-offset:4px}
.booking-dialog button:focus-visible,.booking-dialog a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:600px){.booking-dialog{inset:auto 12px 12px;transform:none;width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);margin:0;border-radius:16px}.booking-header{padding:12px 20px}.booking-header h2{font-size:18px}.booking-notice{margin:24px auto;padding:0 24px}.booking-load{width:100%}.booking-links{margin:0 24px 24px;gap:12px 20px}}
@media(prefers-reduced-motion:reduce){.booking-dialog *{scroll-behavior:auto!important}}
