.booking-page{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(3rem,7vw,7rem);align-items:start}.booking-intro h1{font-size:clamp(2.5rem,4.7vw,4.6rem);line-height:1.04;letter-spacing:-.055em;margin:.9rem 0 1.5rem}.booking-intro .lead{max-width:35rem}.booking-details{border-block:1px solid var(--line,#ded5f0);margin:2rem 0}.booking-details div{display:flex;justify-content:space-between;gap:1.5rem;padding:1rem 0}.booking-details div+div{border-top:1px solid var(--line,#ded5f0)}.booking-details dt{color:var(--muted,#70677e)}.booking-details dd{margin:0;text-align:right;font-weight:600}.booking-expectation{max-width:33rem;color:var(--muted,#70677e)}.booking-surface{background:var(--paper,#fff);border:1px solid var(--line,#ded5f0);border-radius:16px;padding:clamp(1.25rem,3vw,2rem);min-height:29rem}.booking-progress{display:flex;gap:2rem;padding:0 0 1.1rem;margin:0 0 1.5rem;list-style:none;border-bottom:1px solid var(--line,#ded5f0);font-size:.85rem;color:var(--muted,#70677e);counter-reset:step}.booking-progress li:before{counter-increment:step;content:counter(step) ' ';margin-right:.3rem}.booking-progress [aria-current]{color:var(--primary,#6f43db);font-weight:650}.booking-live-status:empty{display:none}.booking-live-status{line-height:1.6;color:var(--muted,#70677e)}.booking-zone{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;justify-content:space-between;font-size:.85rem}.booking-zone select{font:inherit;color:inherit;background:var(--bg,#fcfaff);border:1px solid var(--line,#ded5f0);border-radius:8px;padding:.7rem;max-width:100%;min-height:44px}.booking-month{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:.5rem;margin:1.5rem 0 1rem}.booking-month h2{font-size:1.1rem;text-align:center;margin:0;letter-spacing:-.02em}.booking-month button{height:44px;border:1px solid var(--line,#ded5f0);border-radius:8px;background:transparent;color:inherit;cursor:pointer}.booking-month button:disabled{opacity:.3;cursor:default}.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.booking-days button{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem .1rem;border:1px solid transparent;border-radius:9px;color:inherit;background:transparent;cursor:pointer;min-height:65px}.booking-days button span{font-size:.72rem;color:var(--muted,#70677e)}.booking-days button b{font-size:1rem}.booking-days button[aria-pressed=true]{border-color:var(--primary,#6f43db);background:var(--bg,#f4efff)}.booking-days button:disabled{opacity:.35;cursor:default}.booking-slots-heading{font-size:.93rem;margin:1.5rem 0 .8rem}.booking-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.booking-times button{font:inherit;font-size:.9rem;border:1px solid var(--line,#ded5f0);background:transparent;color:var(--primary,#6f43db);border-radius:8px;min-height:46px;cursor:pointer}.booking-times button:hover,.booking-times button:focus-visible{border-color:var(--primary,#6f43db);background:var(--bg,#f4efff)}.booking-empty{color:var(--muted,#70677e);padding:.5rem 0 1rem}.booking-back{font:inherit;font-size:.85rem;background:transparent;border:0;color:var(--primary,#6f43db);padding:.2rem 0;cursor:pointer;min-height:44px}.booking-selection{font-weight:600;border-block:1px solid var(--line,#ded5f0);padding:1rem 0;margin:.7rem 0 1rem}.booking-field{margin:1rem 0}.booking-field label{display:block;font-size:.9rem;margin-bottom:.45rem;font-weight:550}.booking-field label span{font-weight:400;color:var(--muted,#70677e)}.booking-field input,.booking-field textarea{font:inherit;border:1px solid var(--line,#ded5f0);border-radius:8px;color:inherit;background:var(--bg,#fcfaff);padding:.8rem;width:100%;box-sizing:border-box}.booking-field input:focus,.booking-field textarea:focus{outline:2px solid var(--primary,#6f43db);outline-offset:2px}.booking-consent,.booking-privacy{font-size:.78rem;line-height:1.65;color:var(--muted,#70677e)}.booking-confirm{width:100%;margin-top:.7rem;justify-content:center}.booking-confirm:disabled{opacity:.6;cursor:progress}.booking-form-status{font-size:.9rem}.booking-trap{position:absolute;left:-10000px;opacity:0;pointer-events:none}.booking-confirmed{padding:1.5rem 0}.booking-check{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--bg,#f4efff);color:var(--primary,#6f43db);font-size:1.6rem}.booking-confirmed h2{font-size:2rem;letter-spacing:-.04em}.booking-confirmed p{line-height:1.7}.booking-privacy{margin-top:1.7rem}.booking-page [hidden]{display:none!important}@media(max-width:800px){.booking-page{grid-template-columns:1fr;gap:1.5rem;padding-block:2.5rem}.booking-intro h1{font-size:2.8rem}.booking-expectation{display:none}.booking-details{margin:1.3rem 0 .5rem}.booking-surface{min-height:24rem}.booking-times{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-zone{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.booking-page *{scroll-behavior:auto}}

/* The contact page has an older .booking-intro grid; this page uses one editorial column. */
.booking-page .booking-intro{display:block}.booking-page .booking-intro h1{font-weight:400;font-size:clamp(2.5rem,4.2vw,4.4rem)}
body:has([data-booking-page]) .concierge-launcher{display:none}

.booking-confirm::after{content:none}
