/* Shared appointment selector styles for the clinic and first-appointment checklist. */
.clinic-booking .booking-progress{display:flex;gap:12px;list-style:none;padding:0;margin:0 0 24px;flex-wrap:wrap}.clinic-booking .booking-progress li{font-size:.82rem;border-bottom:3px solid #c1cbc5;padding:8px 0;color:#44554a}.clinic-booking .booking-progress [aria-current]{font-weight:800;color:#0a3327;border-color:#0a3327}
.clinic-booking .booking-field{display:grid;gap:10px;font-weight:700;margin:16px 0}.clinic-booking select{width:100%;min-height:48px;padding:12px;border-radius:10px;background:#fff;border:1px solid #6f8478;color:#1e2824;font:inherit}
.clinic-booking .therapist-options{display:grid;gap:14px}.clinic-booking .therapist-option{padding:18px;border:1px solid #b4c4b9;border-radius:14px;background:#fff}.clinic-booking .therapist-option h4{margin:0 0 8px}.clinic-booking .therapist-option p{margin-bottom:12px;color:#435348}.clinic-booking .booking-back{background:#fff!important;color:#0a3327!important;border:1px solid #6f8478!important}.clinic-booking .booking-handoff{padding:18px;border:1px solid #b4c4b9;border-radius:14px;background:#fff}.clinic-booking .booking-handoff dl{display:grid;gap:14px;margin:12px 0}.clinic-booking .booking-handoff dt{font-weight:750}.clinic-booking .booking-handoff dd{margin:4px 0 0}.clinic-booking .booking-safety{margin-top:20px;border-left:4px solid #0a3327;padding:12px 16px;background:#fff;color:#1e2824}.clinic-booking .booking-safety a{font-weight:700}.clinic-booking :is(button,a,select,summary):focus-visible{outline:3px solid #0a3327;outline-offset:4px}.clinic-booking .booking-help{margin:16px 0}.clinic-booking .booking-help summary{padding:10px 0;cursor:pointer;font-weight:700}
@media(max-width:600px){.clinic-booking .actions>*{width:100%}.clinic-booking .booking-progress{gap:8px;font-size:.8rem}}

.clinic-booking [data-booking-heading]{scroll-margin-top:140px}

.clinic-booking .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.clinic-booking .button{cursor:pointer;min-height:48px}.clinic-booking h3{font-size:1.35rem;line-height:1.4}.clinic-booking [data-booking-heading]:focus{outline:none}.checklist-booking{margin-top:38px!important}.clinic-booking .booking-location-note{padding:16px;border-left:4px solid #43544c;background:#f3f7f3;color:#173b2e}.clinic-booking .booking-reset{font-size:.9rem}.clinic-booking .booking-choice-note{font-size:.9rem;color:#43544c}
@media print{.checklist-booking{display:none!important}}


/* Optional, local-only preparation and an explicit location warning. */
.clinic-booking .booking-preparation{margin:22px 0 14px;padding:16px;border:1px solid #b4c4b9;border-radius:12px;min-width:0}
.clinic-booking .booking-preparation legend{padding:0 6px;font-weight:750;color:#0a3327}
.clinic-booking .booking-preparation label{display:flex;align-items:flex-start;gap:12px;padding:9px 0;font-size:.95rem;font-weight:400;line-height:1.5;color:#243d30;cursor:pointer}
.clinic-booking .booking-preparation input{flex:0 0 20px;width:20px;height:20px;margin:2px 0;accent-color:#0a3327}
.clinic-booking .booking-location-warning{margin:18px 0;padding:16px 18px;border:1px solid #ccb580;border-left:4px solid #806015;border-radius:0 12px 12px 0;background:#fff9e9;color:#3e331d}
.clinic-booking .booking-location-warning p{margin:8px 0;color:#3e331d;font-size:.93rem;line-height:1.5}
.clinic-booking .booking-location-warning a{font-weight:750;color:#253f2e}
.location-booking-note{font-size:.9rem;line-height:1.5;padding:12px;border-left:3px solid #806015;background:#fff9e9;color:#3e331d}
