/* Official booking page; third-party contents keep their own provider styling. */
.booking-page{max-width:1100px;margin:auto;padding-inline:max(24px,env(safe-area-inset-left));padding-bottom:100px}
.booking-intro{margin:36px 0 72px;max-width:720px}
.booking-intro h1{margin:20px 0 24px}
.booking-intro h1.display{font-size:clamp(64px,8vw,112px);line-height:.98;letter-spacing:-.045em}
.booking-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.booking-widget{max-width:800px;margin-left:auto;scroll-margin-top:110px}
.booking-widget>h2,.booking-facts h2{font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.025em}
.booking-widget>p{margin:12px 0 28px;color:var(--muted);line-height:1.6}
.booking-shell{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper)}
.booking-shell{scroll-margin-top:110px}
.booking-consent{padding:36px}
.booking-consent h3{font-size:22px;font-weight:500;margin:0 0 18px}
.booking-consent p,.booking-meta p,.booking-facts p{font-size:15px;line-height:1.65;margin:0 0 18px}
.booking-consent>a,.booking-alternatives a{font-size:14px;text-decoration:underline;text-underline-offset:4px;line-height:1.7}
.booking-actions{margin-top:26px}
.booking-actions .btn{white-space:normal;text-align:center;min-height:48px}
.booking-live{padding:16px}
.booking-frame-host iframe{display:block;width:100%;height:650px;border:0;background:transparent}
.booking-status{margin:0;padding:16px 8px;font-size:15px;line-height:1.6}
.booking-shell[data-state="ready"] .booking-status{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);padding:0}
.booking-meta{padding:22px 8px 8px;border-top:1px solid var(--line);margin-top:16px}
.booking-meta .booking-small{font-size:12px;line-height:1.6;margin:12px 0 0;color:var(--muted)}
.booking-withdraw{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px;padding:8px 0}
.booking-alternatives{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px}
.booking-alternatives a{display:inline-flex;align-items:center;min-height:44px}
.booking-facts{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:72px;padding-top:32px}
.booking-facts h2{font-size:18px;margin:0 0 12px}
.booking-facts p{color:var(--muted)}
.booking-widget [hidden]{display:none!important}
[data-booking-error]{padding:0 8px 16px}
[data-booking-error] p{font-size:14px;line-height:1.6;margin-top:16px}
@media(max-width:600px){.booking-page{padding-inline:max(20px,env(safe-area-inset-left));padding-bottom:64px}.booking-intro{margin:12px 0 48px}.booking-consent{padding:24px 20px}.booking-live{padding:4px}.booking-meta{padding:20px 16px 16px}.booking-actions .btn{width:100%}.booking-facts{grid-template-columns:1fr;gap:20px;margin-top:48px}.booking-alternatives{display:grid;gap:4px}.booking-frame-host iframe{height:700px}}
/* Evening appearance: the booking card stays a light surface, so it keeps its own dark text and button. */
html[data-appearance="dark"] .booking-shell{--line:rgba(17,17,15,.14);color:var(--ink)}
html[data-appearance="dark"] .booking-widget .booking-shell :is(h3,p,a,.booking-status,.booking-withdraw){color:var(--ink)}
html[data-appearance="dark"] .booking-widget .booking-shell .booking-small{color:var(--muted)}
html[data-appearance="dark"] .booking-shell .btn:not(.light):not(.ghost){background:var(--ink);color:var(--paper);border-color:var(--ink)}
html[data-appearance="dark"] .booking-shell .btn:not(.light):not(.ghost):hover{background:var(--bordeaux)}
html[data-appearance="dark"] .booking-shell .btn.ghost{background:transparent;color:var(--ink);border-color:currentColor}
