.sp-booking{--sp-book-accent:var(--sp-teal,#127a71);--sp-book-ink:#183840;box-sizing:border-box;max-width:850px;margin:24px auto;padding:clamp(22px,4vw,42px);border:1px solid #d8e5e0;border-radius:18px;background:#fff;color:var(--sp-book-ink);box-shadow:0 15px 55px rgba(14,54,57,.06);font:inherit}
.sp-booking *{box-sizing:border-box}.sp-booking-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--sp-book-accent)}.sp-booking h2{margin:10px 0;font-size:clamp(25px,3.5vw,36px);line-height:1.2;color:inherit}.sp-booking-intro p{color:#597176;line-height:1.6;margin:0 0 25px}
.sp-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sp-booking label:not(.sp-booking-consent){display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;margin-bottom:16px}.sp-booking input:not([type=checkbox]),.sp-booking select{width:100%;min-height:46px;border:1px solid #bacfcd;background:#fff;border-radius:9px;padding:10px 12px;color:var(--sp-book-ink);font:inherit;font-size:16px}.sp-booking input:focus-visible,.sp-booking select:focus-visible,.sp-booking button:focus-visible{outline:3px solid #65c8bd;outline-offset:3px}
.sp-slot-label{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:14px;font-weight:800;margin:4px 0 12px}.sp-slot-label span{font-size:12px;color:#567479;font-weight:500}.sp-booking-slots{border:1px solid #e0ebe7;border-radius:11px;background:#f7fbf9;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:14px;margin-bottom:22px;min-height:65px}.sp-booking-slots>p{grid-column:1/-1;margin:0;color:#557078}.sp-booking-slot{border:1px solid #c5d8d4;background:#fff;border-radius:9px;padding:10px 8px;min-height:54px;font-weight:750;cursor:pointer;color:#173c3e}.sp-booking-slot small{font-size:11px;display:block;color:#58757a;font-weight:500;margin-top:4px}.sp-booking-slot.active{background:var(--sp-book-accent);color:#fff}.sp-booking-slot.active small{color:#fff}.sp-booking-consent{display:flex;gap:12px;align-items:start;line-height:1.5;font-size:13px;margin:8px 0 20px}.sp-booking-consent input{margin-top:4px}.sp-booking-submit{background:var(--sp-book-accent);color:#fff;border:0;border-radius:9px;padding:12px 24px;min-height:48px;font-size:15px;font-weight:800;cursor:pointer}.sp-booking-submit:disabled{opacity:.5;cursor:wait}.sp-booking-message{font-size:14px;line-height:1.5;color:#225b57;min-height:20px}.sp-booking-disclaimer{background:#fbf7e9;padding:14px;border-radius:8px;font-size:13px;line-height:1.5}.sp-booking-hp{position:absolute!important;left:-9999px!important;width:1px!important}.sp-booking-confirmation{padding:28px;border-radius:12px;background:#eff8f4}.sp-booking-confirmation h3{margin-top:0}
@media(max-width:600px){.sp-booking-grid{grid-template-columns:1fr;gap:0}.sp-booking-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sp-slot-label{align-items:start;flex-direction:column}.sp-booking{margin:12px auto;padding:20px 16px}}
@media(prefers-reduced-motion:reduce){.sp-booking *{scroll-behavior:auto}}

.sp-booking-account{font-size:13px!important;margin:0 0 22px!important}.sp-booking-account a,.sp-booking-confirmation a{color:var(--sp-book-accent);text-underline-offset:3px;font-weight:700}
/* v3.5.4 unified consultation + service booking experience */
.sp-unified-booking{max-width:940px;border-radius:24px;box-shadow:0 20px 65px rgba(24,56,64,.08)}
.sp-unified-booking .sp-booking-type{padding:16px 18px;border:1px solid #d8e5e0;border-radius:14px;margin:2px 0 20px;display:flex;gap:12px 22px;flex-wrap:wrap;background:#f8fbfa}
.sp-unified-booking .sp-booking-type legend{font-weight:800;color:#203d42;padding:0 7px;font-size:14px}
.sp-unified-booking .sp-booking-type label{display:inline-flex!important;align-items:center;flex-direction:row!important;gap:8px!important;font-size:14px!important;margin:0!important;cursor:pointer}
.sp-unified-booking input[type=radio]{accent-color:var(--sp-book-accent);width:18px;height:18px}
.sp-unified-booking .sp-booking-consult-options{padding:16px 18px;border:1px solid #e3dfec;background:#faf8fd;border-radius:14px;margin-bottom:20px}
.sp-unified-booking .sp-booking-consult-options[hidden]{display:none}
.sp-unified-booking .sp-booking-consult-price{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:0 0 14px;color:#374258}
.sp-unified-booking .sp-booking-consult-price small{color:#61737a}
.sp-unified-booking .sp-booking-consult-options>.sp-booking-consent{margin-bottom:0}
.sp-unified-booking select:disabled{background:#eef3f1;color:#667d81;cursor:not-allowed}
.sp-unified-booking fieldset{min-width:0}
@media(max-width:600px){.sp-unified-booking{border-radius:15px;margin:12px auto;padding:22px 17px}.sp-unified-booking .sp-booking-type{display:grid;gap:13px}.sp-unified-booking .sp-booking-consult-options{padding:16px}}

/* Consultation is date-only; hide booking-only staff selection even with theme label rules. */
.sp-unified-booking [data-sp-booking-team][hidden]{display:none!important}
.sp-unified-booking.is-consultation .sp-booking-slots{display:block;min-height:0;padding:16px 18px;font-size:14px;line-height:1.55}

/* Manager-configured intake fields share the same responsive public form. */
.sp-booking-custom-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.sp-booking-custom-item{min-width:0}.sp-booking-custom-item[hidden]{display:none!important}
.sp-booking-custom-item textarea{width:100%;resize:vertical;border:1px solid #bacfcd;border-radius:9px;min-height:100px;padding:12px;font:inherit;font-size:16px}
.sp-booking-field-help{display:block;font-size:12px;color:#597176;margin:-7px 0 16px}
.sp-booking-radio-options{border:0;display:flex;flex-wrap:wrap;gap:8px 16px;padding:0;margin:0 0 16px}
.sp-booking-radio-options .sp-booking-radio-choice{display:flex!important;flex-direction:row!important;align-items:center!important;font-weight:500!important;margin:0!important}
@media(max-width:600px){.sp-booking-custom-fields{grid-template-columns:1fr}}
