.booking-service-hero{background:#10261d;color:#f4f2e9;padding:145px clamp(25px,8vw,120px) 55px}
.booking-service-hero h1{font-size:clamp(2.6rem,5vw,5.5rem);margin:14px 0;max-width:900px}.booking-service-hero p{margin-bottom:8px;color:#d7dfd1}.booking-service-hero a{color:#e8e1c9;text-decoration:underline}
.booking-flow-shell{max-width:1100px;margin:auto;padding:60px clamp(25px,8vw,120px) 110px}.booking-date-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.booking-date-heading h2{font-size:clamp(2.3rem,4vw,3.8rem);margin:0}.booking-date-heading>span{font-size:12px;color:#526257}
.date-row,.slot-row{display:flex;flex-wrap:wrap;gap:9px}.date-chip,.slot-chip{border:1px solid #a4b39f;border-radius:11px;background:#fff;color:#183b2b;padding:10px 14px;cursor:pointer}.date-chip[aria-pressed=true],.slot-chip[aria-pressed=true]{background:#193a29;color:#fff}.date-chip span,.date-chip strong{display:block}.date-chip.pager{font-size:11px;font-weight:700;min-width:68px}.slot-chip:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}.booking-empty{margin:7px 0;flex:1;min-width:200px}.booking-inline{border:0;padding:0;background:none;color:#315d42;text-decoration:underline;cursor:pointer}.booking-selected-day{margin:35px 0 15px;font-size:1.6rem}.slot-group h3{font:700 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin:20px 0 9px}
.booking-fields{margin-top:35px;max-width:570px}.booking-fields h2{font-size:2.2rem}.booking-field{display:block;max-width:570px;margin:18px 0}.booking-field span{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.booking-field input,.booking-field select{font:inherit;width:100%;padding:12px;border:1px solid #a4b39f;border-radius:7px;background:white;color:#183b2b}.booking-payment{border:1px solid #a4b39f;padding:16px;margin:20px 0}.booking-payment label{display:block}.booking-confirm{border:0;cursor:pointer}.booking-confirm:disabled{opacity:.45;cursor:not-allowed}.booking-error{color:#9b2d22}.booking-help,.booking-terms-note,.booking-fields p{font-size:13px;margin-top:20px}.booking-help a,.booking-terms-note a,.booking-fields a,.booking-error a{text-decoration:underline}.booking-success{background:#e3e8dd;border-radius:15px;padding:28px}
@media(max-width:600px){.booking-service-hero{padding-top:115px;padding-bottom:35px}.booking-flow-shell{padding-top:35px}.booking-date-heading{display:block}.booking-date-heading h2{font-size:2.2rem}.date-row{flex-wrap:nowrap;overflow:auto}.date-chip{flex:none}.booking-empty{min-width:230px}}
@media(max-width:760px){.booking-service-hero{padding-top:165px}}
