.booking-shell{display:grid;gap:2rem;grid-template-columns:1fr;align-items:start}@media(min-width:960px){.booking-shell{grid-template-columns:1.6fr 1fr}}.booking-widget{display:grid;gap:1.25rem}.booking-step{background:var(--color-paper);border-radius:var(--radius-md);box-shadow:var(--hs-shadow-sm);padding:clamp(1.25rem,3vw,1.85rem);border-top:4px solid var(--hs-navy, #0B1F3A);transition:opacity .16s ease}.booking-step--dim{opacity:.72}.booking-step__head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.booking-step__head h2{font-family:var(--font-display);font-weight:800;font-size:1.35rem;color:var(--color-ink);margin:0}.booking-step__num{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;font-weight:800;font-family:var(--font-display)}.booking-step__meta{margin-left:auto;font-size:.9rem;font-weight:600;color:var(--color-ink-soft);background:var(--color-paper-warm);padding:.3rem .7rem;border-radius:999px}.booking-days{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory}.booking-day{flex:0 0 auto;min-width:4.4rem;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.6rem .5rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-rule);background:#fff;color:var(--color-ink);cursor:pointer;font-family:var(--font-display);transition:border-color .14s ease,background .14s ease}.booking-day:hover:not(:disabled){border-color:var(--color-sky)}.booking-day:disabled{opacity:.4;cursor:not-allowed}.booking-day.is-active{background:var(--hs-navy, #0B1F3A);border-color:var(--hs-navy, #0B1F3A);color:#fff}.booking-day__wd{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.booking-day__d{font-size:.95rem;font-weight:800}.booking-day-title{font-weight:700;color:var(--color-ink);margin:.75rem 0 .6rem}.booking-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr));gap:.5rem}.booking-slot{padding:.65rem .5rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-rule);background:#fff;color:var(--color-ink);font-weight:700;cursor:pointer;font-size:.98rem;transition:border-color .14s ease,background .14s ease,color .14s ease}.booking-slot:hover{border-color:var(--color-accent);color:var(--color-accent)}.booking-slot.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.booking-grid{display:grid;gap:.25rem 1rem;grid-template-columns:1fr}@media(min-width:640px){.booking-grid{grid-template-columns:1fr 1fr}.booking-grid__wide{grid-column:1 / -1}}.booking-services{border:0;padding:0;margin:1rem 0}.booking-services__grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));margin-top:.5rem}.booking-chip{display:flex;align-items:center;gap:.55rem;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-rule);background:#fff;cursor:pointer;font-weight:600;color:var(--color-ink)}.booking-chip input{accent-color:var(--color-accent);width:1.05rem;height:1.05rem}.booking-chip.is-active{border-color:var(--color-accent);background:#fff5f6}.booking-submit{width:100%;margin-top:1rem;font-size:1.1rem}.booking-submit:disabled{opacity:.7;cursor:wait}.booking-fineprint{text-align:center;color:var(--color-mute);font-size:.9rem;margin-top:.6rem}.booking-muted{color:var(--color-mute)}.booking-success{background:var(--color-paper);border-radius:var(--radius-md);box-shadow:var(--hs-shadow-sm);padding:clamp(1.5rem,4vw,2.25rem);border-top:4px solid var(--color-accent)}.booking-success h2{font-family:var(--font-display);font-weight:800;font-size:1.6rem;color:var(--color-ink);margin-bottom:.75rem}.booking-success p{line-height:1.6;margin-top:.5rem}.booking-aside{display:grid;gap:1rem}@media(min-width:960px){.booking-aside{position:sticky;top:6rem}}.booking-aside .card h3{font-family:var(--font-display);font-weight:800;color:var(--color-ink);font-size:1.15rem;margin-bottom:.6rem}.booking-aside ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.booking-aside li{display:flex;gap:.55rem;line-height:1.45}.booking-aside li:before{content:"✓";color:var(--color-accent);font-weight:800}.booking-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.booking-shell>*,.booking-widget,.booking-step{min-width:0}.booking-step{max-width:100%}
