.booking-page{width:min(100% - 2.5rem,1040px);margin:clamp(2rem,1.2rem + 3vw,4rem) auto 0;padding-bottom:clamp(2.5rem,4vw,4rem)}.booking-page--narrow{max-width:660px}.booking-intro{display:grid;gap:1rem;justify-items:start;max-width:60ch;margin-bottom:clamp(2rem,1.4rem + 2vw,3rem)}.booking-intro h1{font-size:clamp(2.25rem,1.6rem + 2.6vw,3.5rem);font-weight:500}.booking-page .lead{margin:0}.booking-page input:focus-visible,.booking-page select:focus-visible,.booking-page textarea:focus-visible,.booking-page button:not(.btn):focus-visible,.booking-page a:not(.btn):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.card{padding:clamp(1.5rem,1rem + 2vw,2.5rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);margin-top:1.5rem}.booking-summary h2{font-size:var(--step-h2);margin-bottom:1.25rem}.booking-summary h3{font-size:var(--step-h3);margin-bottom:0.5rem}.booking-facts{display:grid;gap:1.25rem;margin:0}.booking-facts>div{display:grid;align-content:start;gap:2px;padding-bottom:1.25rem;border-bottom:1px solid var(--color-surface-alt)}.booking-summary>p + .booking-facts{margin-top:1.5rem}.booking-summary>.booking-facts + p:not(.notice){margin-top:1.25rem}.booking-summary>.notice + p:not(.notice){margin-top:1rem}.booking-facts dt{font-size:var(--step-meta);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--color-text-muted)}.booking-facts dd{margin:0;font-size:1rem}.booking-ref{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:0.12em;color:var(--color-primary)}.muted,.muted-note{color:var(--color-text-muted)}.muted-note{font-size:0.875rem}.notice{margin-top:1.5rem;padding:1.25rem;background:var(--color-surface-alt);border-radius:var(--radius-control)}.notice--warning{border-left:4px solid var(--color-warning);background:var(--color-warning-bg)}.booking-terms{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-surface-alt)}.booking-terms p{color:var(--color-text-muted)}.booking-actions,.rebooking-actions{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1.5rem}.booking-actions .btn{flex:1 1 200px}.optout-form{margin-top:1.5rem}.btn-link{min-height:44px;padding:0.5rem 0;border:0;background:none;color:var(--color-primary);font:inherit;font-size:0.875rem;text-decoration:underline;text-underline-offset:0.2em;cursor:pointer}.status-ok{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--color-primary)}mw-booking{display:block;min-height:70vh}mw-booking:defined>.booking-fallback{display:none}.booking-fallback{text-align:center;color:var(--color-text-muted)}@media (min-width:768px){.booking-facts{grid-template-columns:1fr 1fr}}