:where(.faster-booking-offering *){box-sizing:border-box}
:where(.faster-booking-offering){display:grid;gap:1rem;width:100%;max-width:52rem;padding:1rem;border:1px solid #d8dee4;border-radius:.5rem;background:#fff;color:#1f2937}
:where(.faster-booking-offering__summary,.faster-booking-offering__description-block,.faster-booking-offering__promotions,.faster-booking-offering__therapists,.faster-booking-offering__staff,.faster-booking-offering__meeting,.faster-booking-offering__event-capacity,.faster-booking-offering__event-group,.faster-booking-offering__event-location,.faster-booking-offering__event-waitlist,.faster-booking-offering__plan-card,.faster-booking-offering__slots,.faster-booking-offering__pricing,.faster-booking-offering__payment,.faster-booking-offering__confirm){display:grid;gap:.65rem}
:where(.faster-booking-offering__summary-text,.faster-booking-offering__description-text,.faster-booking-offering__duration,.faster-booking-offering__slots p,.faster-booking-offering__staff-empty,.faster-booking-offering__therapist-bio,.faster-booking-offering__meeting-text,.faster-booking-offering__event-text,.faster-booking-offering__plan-text,.faster-booking-offering__confirmation-message,.faster-booking-offering__contract){margin:0;color:#4b5563}
:where(.faster-booking-offering__duration){font-weight:600;color:#111827}
:where(.faster-booking-offering__label){font-size:.875rem;font-weight:700;color:#111827}
:where(.faster-booking-offering__hero){display:grid;gap:.6rem}
:where(.faster-booking-offering__gallery){position:relative;display:grid;gap:.55rem;overflow:hidden;border:1px solid #e5e7eb;border-radius:.5rem;background:#f3f4f6}
:where(.faster-booking-offering__gallery-track){display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow:hidden}
:where(.faster-booking-offering__gallery-item){margin:0;aspect-ratio:16/9;background:#e5e7eb}
:where(.faster-booking-offering__gallery-image){display:block;width:100%;height:100%;object-fit:cover}
:where(.faster-booking-offering__gallery-control){position:absolute;top:50%;transform:translateY(-50%);display:grid!important;place-items:center;width:2rem;height:2rem;padding:0!important;border:1px solid #d8dee4!important;border-radius:999px!important;background:#fff!important;color:#111827!important;box-shadow:0 1px 4px rgba(17,24,39,.15)}
:where(.faster-booking-offering__gallery-control--prev){left:.55rem}
:where(.faster-booking-offering__gallery-control--next){right:.55rem}
:where(.faster-booking-offering__gallery-dots){display:flex;justify-content:center;gap:.35rem;padding:0 0 .65rem}
:where(.faster-booking-offering__gallery-dot){width:.5rem;height:.5rem;border-radius:999px;background:#9ca3af}
:where(.faster-booking-offering__gallery-dot[aria-current="true"]){background:#111827}
:where(.faster-booking-offering__description-block){padding:.9rem;border-left:3px solid #0f766e;background:#f0fdfa}
:where(.faster-booking-offering__promotions){padding:.9rem;border:1px solid #fde68a;border-radius:.5rem;background:#fffbeb}
:where(.faster-booking-offering__promotion-list){display:grid;gap:.4rem;margin:0;padding-left:1.2rem;color:#78350f}
:where(.faster-booking-offering__promotion){font-weight:700}
:where(.faster-booking-offering__reviews){display:grid;gap:.65rem;padding:.9rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fafafa}
:where(.faster-booking-review-summary){display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;color:#4b5563;font-size:.875rem}
:where(.faster-booking-rating-stars){color:#b45309;letter-spacing:.04em;white-space:nowrap}
:where(.faster-booking-review-average){font-weight:800;color:#111827}
:where(.faster-booking-review-count){white-space:nowrap}
:where(.faster-booking-offering__review-list){display:grid;gap:.65rem}
:where(.faster-booking-offering__review){display:grid;gap:.4rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff}
:where(.faster-booking-offering__review-head){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}
:where(.faster-booking-offering__review-comment){margin:0;color:#4b5563}
:where(.faster-booking-offering__therapists){padding:.9rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fafafa}
:where(.faster-booking-offering__section-title){margin:0;color:#111827;font-size:1rem;line-height:1.25;font-weight:800}
:where(.faster-booking-offering__therapist-list){display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.7rem}
:where(.faster-booking-offering__therapist-card){display:grid;gap:.55rem;min-width:0;padding:.75rem;border:1px solid #d8dee4;border-radius:.5rem;background:#fff}
:where(.faster-booking-offering__therapist-head){display:flex;align-items:center;gap:.65rem;min-width:0}
:where(.faster-booking-offering__therapist-avatar){display:grid;place-items:center;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;border-radius:999px;background:#0f766e;color:#fff;font-size:.85rem;font-weight:800;overflow:hidden}
:where(.faster-booking-offering__therapist-avatar img){display:block;width:100%;height:100%;object-fit:cover}
:where(.faster-booking-offering__therapist-name){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750;color:#111827}
:where(.faster-booking-offering__chips){display:flex;flex-wrap:wrap;gap:.35rem}
:where(.faster-booking-offering__chip){padding:.2rem .45rem;border:1px solid #99f6e4;border-radius:999px;background:#ccfbf1;color:#134e4a;font-size:.75rem;font-weight:700}
:where(.faster-booking-offering__staff-options){display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem}
:where(.faster-booking-offering__staff-card){display:flex;align-items:center;gap:.65rem;min-width:0;padding:.7rem;border:1px solid #d8dee4;border-radius:.5rem;background:#f9fafb;color:#111827;font:inherit;text-align:left}
:where(.faster-booking-offering__staff-avatar){display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:999px;background:#111827;color:#fff;font-size:.8rem;font-weight:700;overflow:hidden}
:where(.faster-booking-offering__staff-name){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
:where(.faster-booking-offering__meeting){padding:.75rem;border:1px solid #bfdbfe;border-radius:.5rem;background:#eff6ff}
:where(.faster-booking-offering__access){display:grid;gap:.65rem;padding:.9rem;border:1px solid #f59e0b;border-radius:.5rem;background:#fffbeb}
:where(.faster-booking-offering__access-title,.faster-booking-offering__access-message){margin:0}
:where(.faster-booking-offering__access-code){display:flex;flex-wrap:wrap;align-items:end;gap:.65rem}
:where(.faster-booking-offering__access-code label){display:grid;flex:1 1 14rem;gap:.3rem}
:where(.faster-booking-offering__access-sign-in){display:inline-flex;justify-self:start;padding:.65rem 1rem;border-radius:.5rem;background:#111827;color:#fff;text-decoration:none;font-weight:700}
:where(.faster-booking-offering[data-faster-booking-access-state="locked"] .faster-booking-offering__staff,.faster-booking-offering[data-faster-booking-access-state="locked"] .faster-booking-offering__slots,.faster-booking-offering[data-faster-booking-access-state="locked"] .faster-booking-offering__payment,.faster-booking-offering[data-faster-booking-access-state="locked"] .faster-booking-offering__confirm,.faster-booking-offering[data-faster-booking-access-state="locked"] .faster-booking-offering__event-capacity,.faster-booking-offering[data-faster-booking-access-state="locked"] .faster-booking-offering__event-external,.faster-booking-offering[data-faster-booking-access-state="locked"] .faster-booking-offering__event-waitlist,.faster-booking-offering[data-faster-booking-access-state="locked"] .faster-booking-offering__add-ons,.faster-booking-offering[data-faster-booking-access-state="locked"] .faster-booking-offering__series){display:none}
:where(.faster-booking-offering[data-faster-booking-access-state="granted"] [data-faster-booking-access-gate],.faster-booking-offering[data-faster-booking-access-state="open"] [data-faster-booking-access-gate]){display:none}
:where(.faster-booking-offering__badge){display:inline-flex;justify-self:start;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:999px;background:#dbeafe;color:#1e3a8a;font-size:.8rem;font-weight:800}
:where(.faster-booking-offering__event-capacity,.faster-booking-offering__event-group,.faster-booking-offering__event-location,.faster-booking-offering__event-waitlist){padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fafafa}
:where(.faster-booking-offering__event-sold-out){background:#fee2e2;color:#991b1b}
:where(.faster-booking-offering__event-cta){display:inline-flex;justify-self:start;padding:.65rem 1rem;border-radius:.5rem;background:#111827;color:#fff;text-decoration:none;font-weight:700}
:where(.faster-booking-offering__plan-card){padding:.9rem;border:1px solid #d8dee4;border-radius:.5rem;background:#fbfbfb}
:where(.faster-booking-offering__plan-card[data-plan-featured="true"]){border-color:#0f766e;box-shadow:0 0 0 1px #0f766e}
:where(.faster-booking-offering__plan-head){display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:space-between}
:where(.faster-booking-offering__plan-title){margin:0;color:#111827;font-size:1rem;line-height:1.25;font-weight:800}
:where(.faster-booking-offering__plan-badge){display:inline-flex;justify-self:start;padding:.25rem .55rem;border-radius:999px;background:var(--faster-booking-plan-badge-color,#dbeafe);color:#fff;font-size:.8rem;font-weight:800}
:where(.faster-booking-offering__plan-features,.faster-booking-offering__plan-entitlements){display:grid;gap:.35rem;margin:0;padding-left:1.1rem;color:#374151}
:where(.faster-booking-offering__plan-cta){justify-self:start}
:where(.faster-booking-offering__calendar){display:grid;gap:.55rem}
:where(.faster-booking-offering__calendar-controls,.faster-booking-offering__calendar-days){display:flex;flex-wrap:wrap;gap:.45rem}
:where(.faster-booking-offering__calendar-controls){justify-content:space-between}
:where(.faster-booking-offering__calendar-days button){min-width:5.75rem;padding:.55rem .7rem!important;border:1px solid #d8dee4!important;background:#fff!important;color:#111827!important}
:where(.faster-booking-offering__calendar-days button:disabled){opacity:.45;cursor:not-allowed}
:where(.faster-booking-offering__slot-grid){display:grid;gap:.65rem}
:where(.faster-booking-offering__slot-group){display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem;align-items:start}
:where(.faster-booking-offering__slot-group h4){grid-column:1/-1;margin:0;color:#111827;font-size:.9rem;line-height:1.2}
:where(.faster-booking-offering__slot){display:grid;gap:.2rem;padding:.65rem .75rem!important;border:1px solid #c7d2fe!important;border-radius:.5rem;background:#eef2ff!important;color:#312e81!important;text-align:center;font-weight:650}
:where(.faster-booking-offering__slot small){overflow:hidden;text-overflow:ellipsis;color:#4f46e5;font-size:.72rem}
:where(.faster-booking-offering__slot[aria-pressed="true"],.faster-booking-offering__slot[data-faster-booking-slot-state="selected"]){border-color:#111827!important;background:#111827!important;color:#fff!important}
:where(.faster-booking-offering__slot[aria-pressed="true"] small,.faster-booking-offering__slot[data-faster-booking-slot-state="selected"] small){color:#e5e7eb}
:where(.faster-booking-offering__slots-empty,.faster-booking-offering__slots-timezone){margin:0;color:#4b5563}
:where(.faster-booking-offering__pricing-message){margin:0;padding:.75rem;border-radius:.5rem;background:#fef3c7;color:#713f12;font-weight:700}
:where(.faster-booking-offering__pricing dl){display:grid;gap:.45rem;margin:0}
:where(.faster-booking-offering__pricing-row){display:flex;justify-content:space-between;gap:1rem}
:where(.faster-booking-offering__pricing-row dt,.faster-booking-offering__pricing-row dd){margin:0}
:where(.faster-booking-offering__pricing-total){padding-top:.5rem;border-top:1px solid #e5e7eb;font-weight:800}
:where(.faster-booking-offering__confirmation-message,.faster-booking-offering__contract){padding:.65rem;border-radius:.5rem;background:#f9fafb}
:where(.faster-booking-offering button){justify-self:start;padding:.65rem 1rem;border:0;border-radius:.5rem;background:#111827;color:#fff;font:inherit;font-weight:700;cursor:pointer}
:where(.faster-booking-offering__back){background:#fff!important;color:#111827!important;border:1px solid #d8dee4!important}
:where(.faster-booking-offering__gallery-track){transition:transform .35s ease}
:where(.faster-booking-offering__gallery-control){cursor:pointer}
:where(.faster-booking-offering__gallery-dot[role="button"]){cursor:pointer}
:where(.faster-booking-offering__staff-card){transition:border-color .15s ease,background .15s ease,color .15s ease}
:where(.faster-booking-offering__staff-card[aria-pressed="true"]){border-color:#111827;background:#111827;color:#fff}
:where(.faster-booking-offering__staff-card[aria-pressed="true"] .faster-booking-offering__staff-avatar){background:#fff;color:#111827}
:where(.faster-booking-offering__calendar-days button){display:grid!important;gap:.1rem;line-height:1.15;transition:border-color .15s ease,background .15s ease,color .15s ease}
:where(.faster-booking-offering__calendar-days button small){font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.03em;opacity:.75}
:where(.faster-booking-offering__calendar-days button[data-faster-booking-date-state="today"]){border-color:#0f766e!important;color:#0f766e!important;font-weight:750}
:where(.faster-booking-offering__calendar-days button[data-faster-booking-date-state="selected"]){border-color:#111827!important;background:#111827!important;color:#fff!important}
:where(.faster-booking-offering__slots-loading){display:flex;align-items:center;gap:.55rem;padding:.75rem;color:#4b5563}
:where(.faster-booking-offering__spinner){display:inline-block;width:1.05rem;height:1.05rem;border:2px solid #c7d2fe;border-top-color:#4f46e5;border-radius:999px;animation:faster-booking-spin .7s linear infinite}
@media (prefers-reduced-motion:reduce){:where(.faster-booking-offering__spinner){animation-duration:1.6s}:where(.faster-booking-offering__gallery-track){transition:none}}
@keyframes faster-booking-spin{to{transform:rotate(360deg)}}
:where(.faster-booking-offering__slots-empty-state){display:grid;gap:.5rem;justify-items:start;padding:1rem;border:1px dashed #d8dee4;border-radius:.5rem;background:#fafafa}
:where(.faster-booking-offering__slots-empty-title){margin:0;color:#111827;font-size:1rem;font-weight:800}
:where(.faster-booking-offering__slots-empty-actions){display:flex;flex-wrap:wrap;gap:.5rem}
:where(.faster-booking-offering__service-chain){display:grid;gap:.55rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fafafa}
:where(.faster-booking-offering__service-chain-title,.faster-booking-offering__service-chain-duration){margin:0;color:#111827;font-size:.95rem;font-weight:800}
:where(.faster-booking-offering__service-chain-add){display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}
:where(.faster-booking-offering__service-chain-add label){display:grid;flex:1 1 14rem;gap:.3rem;font-size:.85rem;font-weight:650}
:where(.faster-booking-offering__service-chain-add select){width:100%;padding:.55rem .65rem;border:1px solid #d1d5db;border-radius:.45rem;background:#fff;color:#111827;font:inherit}
:where(.faster-booking-offering__service-chain-list){display:grid;gap:.4rem;margin:0;padding:0;list-style:none}
:where(.faster-booking-offering__service-chain-item){display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .65rem;border:1px solid #d8dee4;border-radius:.45rem;background:#fff}
:where(.faster-booking-offering__service-chain-remove){padding:.35rem .6rem!important;background:#fff!important;color:#111827!important;border:1px solid #d8dee4!important}
:where(.faster-booking-offering__add-ons){display:grid;gap:.55rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fafafa}
:where(.faster-booking-offering__add-ons-title){margin:0;color:#111827;font-size:.95rem;line-height:1.2;font-weight:800}
:where(.faster-booking-offering__add-on-list){display:grid;gap:.45rem}
:where(.faster-booking-offering__add-on){display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.2rem .55rem;align-items:center;padding:.65rem .7rem;border:1px solid #d8dee4;border-radius:.5rem;background:#fff;color:#111827}
:where(.faster-booking-offering__add-on input){margin:0}
:where(.faster-booking-offering__add-on-choice){grid-column:1/3;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;cursor:pointer}
:where(.faster-booking-offering__add-on-name){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
:where(.faster-booking-offering__add-on-price){font-weight:800;color:#111827}
:where(.faster-booking-offering__add-on-quantity){grid-column:2/-1;display:flex;justify-content:flex-end;align-items:center;gap:.35rem;color:#4b5563;font-size:.8rem;font-weight:700}
:where(.faster-booking-offering__add-on-quantity input){width:4.5rem;padding:.35rem .45rem;border:1px solid #d1d5db;border-radius:.4rem;background:#fff;color:#111827;font:inherit}
:where(.faster-booking-offering__add-on-quantity input:disabled){opacity:.55}
:where(.faster-booking-offering__add-on-duration){grid-column:3;color:#4f46e5;font-size:.78rem;font-weight:750}
:where(.faster-booking-offering__add-on-summary){grid-column:2/-1;color:#4b5563;font-size:.82rem;line-height:1.35}
:where(.faster-booking-offering__pricing-badge){display:inline-flex;justify-self:start;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:.8rem;font-weight:800;letter-spacing:.02em}
:where(.faster-booking-offering__pricing-strike){color:#9ca3af}
:where(.faster-booking-offering__info,.faster-booking-offering__intake){display:grid;gap:.65rem;margin:0;padding:.9rem;border:1px solid #e5e7eb;border-radius:.5rem}
:where(.faster-booking-offering__info legend,.faster-booking-offering__intake legend){padding:0 .35rem}
:where(.faster-booking-offering__field){display:grid;gap:.3rem}
:where(.faster-booking-offering__field-label){font-size:.85rem;font-weight:650;color:#111827}
:where(.faster-booking-offering__required){color:#b91c1c}
:where(.faster-booking-offering__input){width:100%;padding:.55rem .65rem;border:1px solid #d1d5db;border-radius:.45rem;background:#fff;color:#111827;font:inherit}
:where(.faster-booking-offering__input:focus-visible){outline:2px solid #4f46e5;outline-offset:1px;border-color:#4f46e5}
:where(.faster-booking-offering__input[aria-invalid="true"]){border-color:#b91c1c;background:#fef2f2}
:where(.faster-booking-offering__field-error){color:#b91c1c;font-size:.78rem;font-weight:600}
:where(.faster-booking-offering__options){display:grid;gap:.35rem}
:where(.faster-booking-offering__option){display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;color:#374151}
:where(.faster-booking-offering__option input){margin-top:.15rem}
:where(.faster-booking-offering__coupon){display:grid;gap:.4rem}
:where(.faster-booking-offering__coupon-row){display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
:where(.faster-booking-offering__coupon-row .faster-booking-offering__input){flex:1 1 12rem}
:where(.faster-booking-offering__coupon-message){margin:0;font-size:.82rem;font-weight:600}
:where(.faster-booking-offering__coupon-message[data-coupon-state="applied"]){color:#166534}
:where(.faster-booking-offering__coupon-message[data-coupon-state="error"]){color:#b91c1c}
:where(.faster-booking-offering__tips){display:grid;gap:.45rem}
:where(.faster-booking-offering__tip-options){display:flex;flex-wrap:wrap;gap:.45rem}
:where(.faster-booking-offering__tip){padding:.45rem .8rem!important;border:1px solid #d8dee4!important;border-radius:999px!important;background:#fff!important;color:#111827!important;font-weight:650}
:where(.faster-booking-offering__tip[aria-pressed="true"]){border-color:#111827!important;background:#111827!important;color:#fff!important}
:where(.faster-booking-offering__methods){display:grid;gap:.6rem}
:where(.faster-booking-offering__method-tabs){display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:1px solid #e5e7eb}
:where(.faster-booking-offering__method-tab){padding:.45rem .85rem!important;border:0!important;border-radius:.45rem .45rem 0 0!important;background:transparent!important;color:#4b5563!important;font-weight:700}
:where(.faster-booking-offering__method-tab[aria-selected="true"]){background:#eef2ff!important;color:#312e81!important;box-shadow:inset 0 -2px 0 #4f46e5}
:where(.faster-booking-offering__method-panel){display:grid;gap:.5rem}
:where(.faster-booking-offering__method-note){margin:0;color:#374151;font-size:.9rem}
:where(.faster-booking-offering__card){min-height:2.75rem;padding:.65rem;border:1px solid #d1d5db;border-radius:.45rem;background:#fff}
:where(.faster-booking-offering__card[data-faster-booking-card-state="unavailable"]){display:grid;place-items:center;color:#6b7280;font-size:.85rem}
:where(.faster-booking-offering__payment-notice){margin:0;padding:.65rem .75rem;border-radius:.45rem;background:#fef3c7;color:#713f12;font-size:.85rem;font-weight:650}
:where(.faster-booking-offering__due){display:grid;gap:.35rem;padding:.75rem;border-radius:.5rem;background:#f9fafb}
:where(.faster-booking-offering__due-row){display:flex;justify-content:space-between;gap:1rem}
:where(.faster-booking-offering__due-total){padding-top:.4rem;border-top:1px solid #e5e7eb;font-weight:800;color:#111827}
:where(.faster-booking-offering__due-split){display:grid;gap:.3rem;padding-top:.4rem;border-top:1px dashed #d8dee4;color:#4b5563}
:where(.faster-booking-offering__payment-status){margin:0;font-size:.85rem;font-weight:650}
:where(.faster-booking-offering__payment-status[data-payment-state="error"]){color:#b91c1c}
:where(.faster-booking-offering__payment-status[data-payment-state="working"]){color:#4b5563}
:where(.faster-booking-offering__completion){display:grid;gap:.65rem;padding:1rem;border:1px solid #d8dee4;border-radius:.6rem;background:#f8fafc}
:where(.faster-booking-offering__completion h2,.faster-booking-offering__completion h3,.faster-booking-offering__completion p){margin:0}
:where(.faster-booking-offering__completion-purchase){display:grid;gap:.65rem;margin-top:.35rem;padding-top:1rem;border-top:1px solid #d8dee4}
:where(.faster-booking-offering__completion-purchase dl){display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.4rem 1rem;margin:0}
:where(.faster-booking-offering__completion-purchase dd){margin:0;text-align:right}
:where(.faster-booking-offering__completion-items){display:grid;gap:.4rem;padding:0;margin:0;list-style:none}
:where(.faster-booking-offering__completion-items li){display:flex;justify-content:space-between;gap:1rem}
:where(.faster-booking-offering [hidden]){display:none!important}
