.booking-page{background:var(--surface)}.booking-page .page-hero{background:var(--ink);color:#fff;padding:30px 0 36px}.booking-page .page-hero .breadcrumb,.booking-page .page-hero .muted{color:#c7d4db}.booking-page .page-hero .eyebrow{color:#e7b39a}.booking-page .page-hero h1{font-size:clamp(1.9rem,3.5vw,3rem);margin:12px 0}.booking-page .page-hero p{margin:0}.booking-page main>section+section{padding:32px 0 64px}.booking-page .booking-shell{grid-template-columns:minmax(0,1fr) 280px;gap:24px}.booking-page .booking-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 10px 30px #122e4207;min-width:0}.booking-page .location-lock{background:var(--button-sand);border:1px solid var(--line);border-radius:12px;padding:15px 18px;margin-bottom:26px}.booking-page .booking-panel h2{font-size:1.05rem;letter-spacing:-.01em;margin:26px 0 12px}.booking-page .chips{margin:12px 0 26px;gap:8px}.booking-page .chip{border-radius:10px;padding:11px 15px;font-size:.86rem;transition:.2s}.booking-page .chip:hover{border-color:var(--ink)}.booking-page .booking-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-page .booking-person{border-radius:12px;padding:12px;min-width:0;background:#fff;text-align:left}.booking-page .booking-person img{width:44px;height:44px;border-radius:50%;object-fit:cover}.booking-page .booking-person strong{font-size:.87rem}.booking-page .booking-person small{font-size:.74rem;line-height:1.4}.booking-page .booking-person[aria-pressed=true]{background:var(--warm);border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.booking-page .booking-result{margin-top:26px;padding:24px 0 0;border-top:1px solid var(--line);background:none;min-width:0}.booking-page .booking-result>h3{font-size:1.1rem;margin:0 0 18px}.booking-page .sidebar{background:#fff;border:1px solid var(--line);padding:24px;border-radius:18px}.booking-page .sidebar h3{font-size:1rem}.booking-page .sidebar .eyebrow{font-size:.68rem}.booking-progress{display:flex;gap:9px;margin-top:23px;font-size:.76rem;color:#d5e0e8}.booking-progress span{display:flex;align-items:center;gap:7px}.booking-progress b{display:inline-grid;place-items:center;border:1px solid #ffffff40;border-radius:50%;width:24px;height:24px;font-size:.7rem}.booking-progress i{align-self:center;width:28px;height:1px;background:#ffffff40}.gateway-label{display:block;font-weight:600;font-size:.85rem;margin-bottom:8px}.booking-status{font-size:.82rem;color:var(--muted);min-height:24px}.gateway-select{margin:0 0 22px;max-width:100%;font-size:.9rem;border-radius:10px;min-height:50px}.calendar-nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:18px 0}.calendar-nav h4{font-size:.93rem;margin:0;flex:1;text-align:center;min-width:150px}.calendar-arrow{border:1px solid var(--line);background:#fff;color:var(--ink);width:38px;height:38px;border-radius:50%;font-size:1.1rem}.calendar-arrow:disabled{opacity:.3}.calendar-first{padding:9px 14px;font-size:.77rem;font-weight:600;border:1px solid var(--line);border-radius:30px;background:var(--button-sand);color:var(--ink)}.calendar-scroll{overflow-x:auto;margin-bottom:16px;scrollbar-width:thin}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(78px,1fr));gap:7px;min-width:588px}.calendar-day{display:flex;flex-direction:column;gap:8px;align-items:stretch}.calendar-day-heading{background:var(--warm);border-radius:10px;padding:10px 3px;display:grid;text-align:center;font-size:.75rem;color:var(--muted)}.calendar-day-heading strong{font-size:1.1rem;color:var(--ink)}.time-slot{border:1px solid var(--button-border);background:var(--surface);color:var(--ink);padding:10px 4px;border-radius:8px;font-size:.83rem;font-weight:600;min-height:42px}.time-slot:hover,.time-slot[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.no-slot{text-align:center;color:var(--muted);padding:9px}.slot-selection{padding:22px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;margin:22px 0;background:var(--surface)}.slot-selection h4{margin:10px 0;font-size:1.1rem}.slot-selection p{font-size:.87rem;margin:8px 0}.booking-summary{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line)}.booking-summary p{margin:8px 0}.booking-page .notice{font-size:.84rem}.booking-page .booking-result>.actions{margin-top:24px}.booking-page [hidden]{display:none!important}
@media(max-width:1050px){.booking-page .booking-shell{grid-template-columns:minmax(0,1fr)}.booking-page .sidebar{position:static}.booking-page .sidebar .button{width:auto}}
@media(max-width:600px){.booking-page .wrap{width:calc(100% - 28px)}.booking-page .booking-panel{padding:18px;border-radius:16px}.booking-page .booking-people{grid-template-columns:1fr 1fr;gap:7px}.booking-page .booking-person{flex-direction:column;align-items:flex-start;gap:8px;padding:11px}.booking-page .booking-person img{width:40px;height:40px}.booking-page .booking-person strong{font-size:.8rem}.booking-progress{font-size:.67rem;gap:6px}.booking-progress i{width:9px}.booking-progress b{width:20px;height:20px}.booking-page .page-hero{padding:24px 0}.calendar-first{width:100%;margin-top:5px}.calendar-scroll{margin-right:-10px}.booking-page .chip{font-size:.8rem;padding:9px 11px}}
@media(prefers-reduced-motion:reduce){.booking-page *{scroll-behavior:auto!important;transition:none!important}}
.patient-booking-form{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.patient-booking-form label{display:block;font-size:.85rem;margin-bottom:6px}.patient-booking-form .booking-consent{display:flex;gap:10px;margin:20px 0;align-items:flex-start;line-height:1.5}.booking-consent input{width:18px;height:18px;flex-shrink:0;margin:3px 0}.patient-booking-form .booking-status{margin-top:16px}@media(max-width:600px){.patient-booking-form .form-grid{grid-template-columns:1fr}}

.all-therapists{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff;color:var(--ink);font:inherit;font-size:.87rem;font-weight:600;text-align:center}.all-therapists[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.slot-provider{display:block;font-size:.67rem;font-weight:400;margin-top:4px;line-height:1.3;overflow-wrap:anywhere}

/* Four care families share one selection and the live practitioner routing. */
.care-search-row{display:flex;align-items:end;gap:18px;margin:18px 0 26px}.care-search-field{flex:1;min-width:0}.care-search-field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:7px}.care-search-field input{width:100%;min-height:50px;border-radius:28px;padding:12px 20px;border:1px solid var(--line);background:#fff;font:inherit;font-size:.9rem}.care-search-field input:focus-visible{outline:3px solid var(--button-border);outline-offset:2px;border-color:var(--ink)}#booking-care-count{white-space:nowrap;margin:0 0 16px;font-size:.75rem}.booking-care-groups{display:grid;gap:19px}.booking-page .care-choice-group{padding:0;margin:0}.booking-page .care-choice-group h3{display:flex;align-items:center;gap:10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink);margin:0 0 12px}.care-choice-group h3:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.care-choice-group h3:after{content:'';height:1px;background:var(--line);flex:1}.care-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.care-choice{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:62px;text-align:left;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.care-choice strong{font-size:.84rem;font-weight:600;line-height:1.4}.care-choice small{font-size:.69rem;line-height:1.4;color:var(--muted)}.care-choice:hover{background:var(--warm);border-color:var(--ink)}.care-choice[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 0 0 1px var(--ink)}.care-choice[aria-pressed=true] small{color:var(--surface)}.care-choice:focus-visible,.care-reset:focus-visible{outline:3px solid var(--button-border);outline-offset:3px}.care-reset{background:none;border:0;padding:12px 0;color:var(--ink);font:inherit;font-size:.78rem;text-decoration:underline;cursor:pointer}#booking-types-status{margin-top:18px;font-size:.75rem;line-height:1.6}
@media(max-width:1250px){.care-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.care-search-row{display:block;margin-bottom:22px}#booking-care-count{margin:10px 0 0}.care-choice-grid{gap:8px}.care-choice{padding:10px;min-height:68px}.care-choice strong{font-size:.78rem}.care-choice small{font-size:.65rem}.booking-care-groups{gap:18px}}
@media(max-width:380px){.care-choice-grid{grid-template-columns:1fr}}

.care-choice-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:var(--warm);border:1px solid var(--line);border-radius:12px;margin:18px 0 22px}.care-choice-summary>div{display:grid;gap:4px;min-width:0}.care-choice-summary strong{font-size:.94rem;line-height:1.4}.care-choice-summary small{font-size:.75rem;color:var(--muted)}.care-choice-summary button{border:1px solid var(--line);background:#fff;border-radius:24px;padding:9px 17px;flex-shrink:0;color:var(--ink);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.care-choice-summary button:hover{background:var(--ink);color:#fff}.care-choice-summary button:focus-visible{outline:3px solid var(--button-border);outline-offset:2px}#care-choice-summary,#care-choice-editor{scroll-margin-top:130px}.home-care-note{font-size:.76rem;color:var(--muted);line-height:1.6;margin:18px 0 6px}.home-care-note a{white-space:nowrap;text-decoration:underline;font-weight:600}@media(max-width:600px){.care-choice-summary{padding:12px;gap:10px}.care-choice-summary strong{font-size:.84rem}.care-choice-summary button{padding:8px 13px}#care-choice-summary,#care-choice-editor{scroll-margin-top:100px}}
.consultation-reason{margin-top:18px}.consultation-reason textarea{width:100%;min-height:95px;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:.88rem;resize:vertical}.consultation-reason .mini{margin-top:5px}.prescription-upload{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.prescription-upload input[type=file]{max-width:100%;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:.8rem}.prescription-upload .booking-consent{margin:14px 0}.patient-booking-form button:disabled{opacity:.55;cursor:not-allowed}

/* Shared warm calendar palette, including Wix availability. */
.time-slot:hover,.time-slot[aria-pressed=true]{background:var(--button-brown);border-color:var(--button-brown);color:#fff}.time-slot:focus-visible,.calendar-arrow:focus-visible,.calendar-first:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.calendar-arrow,.calendar-first{background:var(--button-sand);color:var(--button-brown);border-color:var(--button-border)}.sara-calendar .slot-selection:empty{display:none}

.patient-booking-form .form-grid{gap:20px}.patient-booking-form input{min-height:48px;border-radius:12px}.prescription-reminder{margin:24px 0;padding:22px 24px;background:#f5f0e8;border:1px solid #dfd1bf;border-left:4px solid #956747;border-radius:12px}.prescription-reminder h4{margin:10px 0;color:#704f36}.prescription-reminder p{margin:0;line-height:1.65}
