.booking-page{--booking-bg:var(--bg,#f3f6fc);--booking-surface:var(--surface,#fff);--booking-border:var(--card-border,#e0e7f3);--booking-text:var(--text,#0a1229);--booking-text-soft:var(--text-soft,#51607e);--booking-accent:var(--accent,#2563eb);--booking-solid:var(--solid-start,#2563eb);--booking-solid-end:var(--solid-end,#7c3aed);--booking-ok:var(--ok,#059669);--booking-bad:var(--bad,#dc2626);--booking-radius:12px;max-width:44rem;color:var(--booking-text);font-family:var(--font-body,"Inter", system-ui, sans-serif);margin:0 auto;padding:8rem 1.5rem 5rem;line-height:1.65}.booking-page h1,.booking-page h2{font-family:var(--font-heading,"Space Grotesk", system-ui, sans-serif);line-height:1.2}.booking-page h1{font-size:clamp(1.8rem,4vw,2.6rem)}.booking-page h2{margin-bottom:.5rem;font-size:1.25rem}.booking-intro p{color:var(--booking-text-soft);margin-top:1rem}.booking-form{gap:1.75rem;margin-top:2.5rem;display:grid}.booking-days,.booking-times{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.booking-chip{border:1px solid var(--booking-border);border-radius:var(--booking-radius);background:var(--booking-surface);color:var(--booking-text);font:inherit;cursor:pointer;padding:.55rem 1rem;font-size:.9rem;transition:border-color .2s,background .2s}.booking-chip:hover{border-color:var(--booking-accent)}.booking-chip[aria-pressed=true]{border-color:var(--booking-solid);background:var(--booking-solid);color:#fff}.booking-field{gap:.35rem;display:grid}.booking-field label,.booking-field legend{font-size:.9rem;font-weight:600}.booking-input{border:1px solid var(--booking-border);border-radius:var(--booking-radius);background:var(--booking-surface);width:100%;color:var(--booking-text);font:inherit;padding:.7rem .9rem}.booking-input[aria-invalid=true]{border-color:var(--booking-bad)}.booking-mode{border:0;padding:0}.booking-radio{align-items:flex-start;gap:.6rem;font-weight:400;display:flex}.booking-radio input{margin-top:.4rem}.booking-consent a{color:var(--booking-accent);text-decoration:underline}.booking-hint{color:var(--booking-text-soft);font-size:.85rem}.booking-error{color:var(--booking-bad);font-size:.85rem}.booking-notice{color:var(--booking-text-soft);margin-top:.75rem}.booking-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.booking-status:empty{display:none}.booking-status{border-left:3px solid var(--booking-accent);background:var(--booking-surface);padding:.9rem 1rem}.booking-status:focus{outline:2px solid var(--booking-accent);outline-offset:2px}.booking-submit{border-radius:var(--booking-radius);background:linear-gradient(90deg, var(--booking-solid), var(--booking-solid-end));color:#fff;font:inherit;cursor:pointer;border:0;justify-self:start;padding:.9rem 1.8rem;font-weight:700}.booking-submit:disabled{opacity:.6;cursor:progress}.booking-chip:focus-visible,.booking-input:focus-visible,.booking-submit:focus-visible,.booking-page input:focus-visible{outline:2px solid var(--booking-accent);outline-offset:2px}.booking-success{border:1px solid var(--booking-ok);border-radius:var(--booking-radius);margin-top:2.5rem;padding:1.5rem}.booking-success h2:focus{outline:none}.booking-summary{grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:2rem 0;display:grid}.booking-summary dt{color:var(--booking-text-soft)}.booking-summary dd{font-weight:600}@media (max-width:600px){.booking-page{padding-top:6rem}.booking-summary{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.booking-chip{transition:none}}
