.booking-hidden{display:none}.booking-container{width:100%;background-color:var(--color-bg-alt);position:relative}.layout-wrapper{padding:2rem var(--container-padding) 2rem;max-width:var(--max-width-site);margin:0 auto}.grid-layout{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.grid-layout{grid-template-columns:2.5fr 1fr;gap:3rem;align-items:start}.layout-wrapper{padding:2rem var(--container-padding) 3rem}}.small-page-header{margin:0;margin-top:calc(var(--spacing-3xl) * .45);margin-bottom:.5rem}.page-subtitle{font-family:var(--font-body);font-size:1.125rem;font-weight:400;color:var(--color-text-secondary);margin:0}.booking-divider{height:1px;background-color:var(--color-surface-muted);margin-top:1.5rem;margin-bottom:2.5rem}.content-block-header{font-family:var(--font-serif);font-size:24px;font-weight:500;color:var(--color-text-heading);margin:2rem 0 6px;letter-spacing:-.01em;text-align:left}.content-block-header:first-child{margin-top:0}.content-area{min-width:0}.scroll-demo{display:flex;flex-direction:column;gap:0}.content-placeholder{background-color:var(--color-surface-muted);border-radius:12px;padding:2rem;margin-bottom:1.5rem;min-height:150px;display:flex;align-items:center;justify-content:center;color:var(--color-text);opacity:.3;font-size:.9rem}.preselect-screen{display:flex;align-items:flex-start;padding:calc(var(--spacing-3xl) * 1.2) 0 4rem}.preselect-container{max-width:var(--max-width-site);width:100%;margin:0 auto;padding:0 var(--container-padding);display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:baseline}.preselect-helper{padding-top:0;min-width:280px}.preselect-title{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--color-text-primary);margin:0 0 .75rem;letter-spacing:-.03em;line-height:1}.preselect-text{font-family:var(--font-ui);font-size:.9375rem;color:var(--color-text-secondary);margin:2.5rem 0 .75rem;line-height:1.5}.preselect-cta{display:inline-flex;padding:8px 14px 9px;color:var(--color-button-text);font-family:var(--font-display);font-size:.875rem;font-weight:400;letter-spacing:.02em;background-color:var(--color-button-bg);border-radius:8px;text-decoration:none;transition:background-color var(--transition-base)}.preselect-cta:hover{background-color:var(--color-button-bg-hover)}.preselect-menu{display:flex;flex-direction:column}.preselect-option{display:flex;align-items:center;gap:0;padding:.35rem 0;cursor:pointer}.preselect-option:first-child{padding-top:0}.preselect-option-text{font-family:var(--font-serif);font-size:48px;font-weight:500;color:var(--color-text-primary);letter-spacing:-.03em;line-height:1;transition:color .2s ease}.preselect-option-arrow{font-size:1.75rem;color:var(--color-text-secondary);margin-left:.5rem;transition:color .2s ease,margin-left .2s ease}.preselect-menu:hover .preselect-option .preselect-option-text,.preselect-menu:hover .preselect-option .preselect-option-arrow{color:var(--color-text-faded)}.preselect-menu:hover .preselect-option:hover .preselect-option-text,.preselect-menu:hover .preselect-option:hover .preselect-option-arrow{color:var(--color-text-primary)}.preselect-option:hover .preselect-option-arrow{margin-left:1rem}.preselect-input-section{display:flex;align-items:center;gap:.75rem;padding:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,padding .3s ease}.preselect-input-section.visible{max-height:100px;opacity:1;padding:.35rem 0 .5rem}.preselect-menu.has-active-input .preselect-option .preselect-option-text,.preselect-menu.has-active-input .preselect-option .preselect-option-arrow{color:var(--color-text-faded)}.preselect-menu.has-active-input .preselect-option.active .preselect-option-text,.preselect-menu.has-active-input .preselect-option.active .preselect-option-arrow{color:var(--color-text-primary)}.preselect-input{flex:0 1 320px;background-color:var(--color-button-text);border:1px solid var(--color-border-input-alt);border-radius:12px;padding:.5rem 1.25rem;font-family:var(--font-ui);font-size:.9375rem;color:var(--color-text);transition:border-color var(--transition-base);box-sizing:border-box}.preselect-input::placeholder{color:var(--color-text-placeholder)}.preselect-input:focus{outline:none;border-color:var(--color-border-focus)}.preselect-submit{background-color:var(--color-text-primary);border:none;border-radius:12px;padding:.5rem 18px;color:var(--color-button-text);font-family:var(--font-ui);font-size:.9375rem;cursor:pointer;transition:background-color var(--transition-base);white-space:nowrap}.preselect-submit:hover{background-color:var(--color-button-bg-hover)}.preselect-submit:disabled{background-color:var(--color-text-disabled);cursor:not-allowed}.preselect-error{font-family:var(--font-mono);font-size:.875rem;color:var(--color-error);margin-top:.75rem;display:none}.preselect-error.visible{display:block}@media (max-width: 768px){.preselect-container{grid-template-columns:1fr;gap:2rem}.preselect-helper{min-width:unset}.preselect-text{margin-top:1.25rem}.preselect-screen{align-items:flex-start;padding-top:3rem}.preselect-option-text{font-size:40px}.preselect-option{padding:.15rem 0}}.back-button{position:absolute;top:2rem;left:2rem;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;text-decoration:none;transition:background-color .3s ease;border-radius:8px;z-index:100}.back-button:hover{background-color:var(--color-surface-hover-alt)}.back-arrow{flex-shrink:0;display:block}.back-label{font-size:1.1rem;font-weight:500;color:var(--color-text);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;white-space:nowrap}.back-button:hover .back-label{opacity:1;visibility:visible}.change-booking-link{display:none;font-size:.9rem;color:var(--color-link);text-decoration:none;cursor:pointer;margin-bottom:1rem;padding:.5rem 0}.change-booking-link:hover{text-decoration:underline}.change-booking-link.visible{display:inline-block;pointer-events:auto;position:relative;z-index:20}.section-container{background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:16px;padding:2rem;margin-bottom:1.5rem}.section-container.two-column{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.section-container.two-column{grid-template-columns:280px 1fr;gap:2rem}}.section-container.two-column .content-block-header{margin:0}.section-content{display:flex;flex-direction:column}.section-container .content-block-header{margin-top:0;margin-bottom:1rem}.section-container.two-column .content-block-header{margin-bottom:0}.section-container.section-locked{position:relative;pointer-events:none}.section-container.section-locked:after{content:"";position:absolute;inset:0;background-color:#faf9f6b3;border-radius:16px;z-index:10}.section-container.section-locked .content-block-header{opacity:.5}.durations-row{display:flex;gap:8px;align-items:center;margin-bottom:1.5rem}.duration-circle{font-family:var(--font-ui);font-size:14px;font-weight:400;color:var(--color-text-heading);background-color:transparent;border:.5px solid var(--color-border-medium);border-radius:8px;padding:6px 12px;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;user-select:none}.duration-circle.hidden{display:none}.duration-circle:not(.selected):hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:transparent}.duration-circle.selected{background-color:var(--color-surface-selected);color:var(--color-text-primary);border-color:transparent;font-weight:500}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}@media (max-width: 768px){.services-grid{grid-template-columns:1fr}}.addons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:0}@media (max-width: 768px){.addons-grid{grid-template-columns:1fr}}.therapists-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:0}@media (max-width: 768px){.therapists-grid{grid-template-columns:1fr}}.service-card,.addon-card,.therapist-card{padding:1rem;background:transparent;border:1px solid var(--color-surface);border-radius:12px;cursor:pointer;user-select:none;transition:all .2s ease}.service-card:hover,.addon-card:hover,.therapist-card:hover{background:var(--color-surface-hover);border-color:transparent}.service-card.selected,.addon-card.selected,.therapist-card.selected{background-color:var(--color-surface-selected);border-color:transparent;box-shadow:0 2px 10px #0000001a}.service-card-title,.addon-card-title,.therapist-card-title{font-size:.95rem;font-weight:500;color:var(--color-text-primary);margin:0 0 .35rem;text-align:left}.service-card-description,.addon-card-description,.therapist-card-description{font-size:.8rem;color:var(--color-text-secondary);margin:0;text-align:left;line-height:1.4;white-space:pre-line}.service-card:hover .service-card-title,.service-card:hover .service-card-description,.service-card.selected .service-card-title,.service-card.selected .service-card-description,.addon-card:hover .addon-card-title,.addon-card:hover .addon-card-description,.addon-card.selected .addon-card-title,.addon-card.selected .addon-card-description,.therapist-card:hover .therapist-card-title,.therapist-card:hover .therapist-card-description,.therapist-card.selected .therapist-card-title,.therapist-card.selected .therapist-card-description{color:var(--color-text-primary)}.services-grid:has(.service-card.selected) .service-card:not(.selected),.addons-grid:has(.addon-card.selected) .addon-card:not(.selected),.therapists-grid:has(.therapist-card.selected) .therapist-card:not(.selected){background:transparent}.services-grid:hover .service-card,.addons-grid:hover .addon-card,.therapists-grid:hover .therapist-card{background:transparent}.services-grid:hover .service-card:hover,.addons-grid:hover .addon-card:hover,.therapists-grid:hover .therapist-card:hover{background:var(--color-surface-hover);box-shadow:0 2px 8px #00000014}.services-grid:hover .service-card.selected,.addons-grid:hover .addon-card.selected,.therapists-grid:hover .therapist-card.selected{background-color:var(--color-surface-hover)}.services-grid:has(.service-card.selected) .service-card:not(.selected):hover,.addons-grid:has(.addon-card.selected) .addon-card:not(.selected):hover,.therapists-grid:has(.therapist-card.selected) .therapist-card:not(.selected):hover{background:var(--color-white)}.service-card.selected:hover,.addon-card.selected:hover,.therapist-card.selected:hover{box-shadow:0 2px 10px #0000001a}.accordion-list{display:flex;flex-direction:column}.accordion-item{border-bottom:1px solid var(--color-border-divider);cursor:pointer;transition:background-color .2s ease}.accordion-item:first-child{border-top:1px solid var(--color-border-divider)}.accordion-item:hover{background-color:#00000005}.accordion-item:hover .accordion-title{color:#000}.accordion-item.selected{background-color:#00000005}.accordion-title{display:inline-flex;align-items:center;font-family:var(--font-ui);font-size:1.1rem;font-weight:500;color:var(--color-text-primary);transition:transform .2s ease-out}.accordion-title:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background-color:var(--color-accent);margin-right:0;vertical-align:middle;filter:saturate(1.3) brightness(1.05);opacity:0;transform:scale(0);transition:opacity .2s ease-out,transform .2s ease-out,margin-right .2s ease-out}.accordion-item.selected .accordion-title:before{opacity:1;transform:scale(1);margin-right:.75rem}.accordion-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem .5rem}.accordion-icon{font-size:1.5rem;font-weight:300;color:var(--color-text-secondary);transition:transform .2s ease;line-height:1}.accordion-icon:before{content:"+"}.accordion-item.expanded .accordion-icon:before{content:"−"}.accordion-content{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .2s ease-out}.accordion-content-inner{overflow:hidden}.accordion-item.expanded .accordion-content{grid-template-rows:1fr}.accordion-item.expanded .accordion-content-inner{padding:0 .5rem 1.25rem}.accordion-description{font-family:var(--font-ui);font-size:.95rem;color:var(--color-text-secondary);line-height:1.5;margin:0}.accordion-item.selected .accordion-title{color:var(--color-text-primary)}.color-swatch-selector{display:flex;flex-wrap:wrap;gap:.6rem;padding:.5rem 0}.color-swatch{width:36px;height:36px;border-radius:50%;cursor:pointer;border:none;padding:0;outline:1.25px solid transparent;outline-offset:2px;transition:outline-color .15s ease;filter:saturate(1.1)}.color-swatch.selected{outline-color:#141413}.session-cards{display:flex;flex-wrap:wrap;gap:1rem}.session-card{flex:1;min-width:140px;max-width:200px;padding:.625rem 1.25rem;border:1px solid #dededd;border-radius:12px;cursor:pointer;background:transparent;text-align:left;outline:2px solid transparent;outline-offset:3px;transition:border-color .15s ease,outline-color .15s ease;display:flex;flex-direction:column;justify-content:center}.session-card:hover:not(.selected){border-color:#bbb}.session-card.selected{outline-color:#141413}.session-card-label{display:block;font-family:var(--font-ui);font-size:1rem;font-weight:500;color:#141413;margin-bottom:.25rem}.session-card-description{display:block;font-family:var(--font-ui);font-size:.85rem;color:var(--color-text-secondary);line-height:1.4}.card-preview{width:100%;aspect-ratio:85.6 / 54;border-radius:10px;margin-bottom:1.25rem;filter:saturate(1.1);transition:background-color .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12% 0 5%;box-sizing:border-box}.card-preview-icon{width:38%;height:auto;opacity:.9}.card-preview-text{font-family:CircularXX,system-ui,sans-serif;font-weight:500;font-size:.85rem;text-align:center;margin-top:auto;transition:color .2s ease}.addon-checkbox{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;margin-bottom:1.5rem;user-select:none;cursor:pointer}.addon-checkbox input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.addon-checkbox__circle{position:relative;width:22px;height:22px;border:2px solid var(--color-border-checkbox);border-radius:50%;flex-shrink:0;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.addon-checkbox__circle:hover{border-color:var(--color-link)}.addon-checkbox input[type=checkbox]:checked+.addon-checkbox__circle{border:3px solid var(--color-link)}.addon-checkbox input[type=checkbox]:checked+.addon-checkbox__circle:hover{border:3px solid var(--color-link)}.addon-checkbox input[type=checkbox]:checked+.addon-checkbox__circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background-color:var(--color-link);border-radius:50%}.addon-checkbox__label{font-size:.95rem;font-weight:500;color:var(--color-text);pointer-events:none}.recipient-checkboxes{display:flex;gap:2rem;margin-top:1.5rem}.recipient-checkboxes .addon-checkbox{margin:0}.summary-panel{position:relative;padding:0 1.5rem 1.5rem;margin:0 -1.5rem -1.5rem}@media (min-width: 768px){.summary-panel{position:sticky;top:var(--summary-panel-top, 2rem);height:fit-content;align-self:start}}.summary-box{border-radius:28px;padding:2rem;min-height:300px;background-color:var(--color-white);border:1px solid var(--color-surface);display:flex;flex-direction:column}.summary-logo{text-align:center;margin-bottom:1.5rem}.summary-logo-img{height:48px;width:auto}.summary-box .divider{margin-top:auto}.summary-box.has-addon .divider{margin-top:0}.divider{width:100%;height:1px;background-color:var(--color-surface);margin-bottom:1rem}.summary-service-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;line-height:1.4}.summary-service-name{font-family:var(--font-ui);font-size:16px;font-weight:500;color:var(--color-text-primary);text-align:left}.summary-service-price{font-family:var(--font-ui);font-size:16px;font-weight:500;color:var(--color-text-primary);text-align:right}.summary-duration{font-family:var(--font-ui);font-size:15px;font-weight:400;color:var(--color-text-secondary);text-align:left;margin-top:.05rem;margin-bottom:1.5rem;line-height:1.4;min-height:21px}.summary-addon-section{margin-bottom:0}.summary-addon-section .summary-duration{margin-bottom:1.5rem}.session-discounts{margin-bottom:1rem}.discount-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.discount-line:last-child{margin-bottom:0}.discount-line-label{font-size:.9rem;font-weight:400;color:var(--color-text-primary)}.discount-line-amount{font-size:.9rem;font-weight:500;color:var(--color-accent-blue)}.total-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-family:var(--font-ui);font-size:22px;font-weight:500;color:var(--color-text-primary)}.total-label{text-align:left}.total-amount{display:flex;align-items:center;gap:.35rem;text-align:right}.total-icon{width:16px;height:16px}.total-original-amount{color:var(--color-text-secondary);font-size:18px;text-decoration:line-through;margin:0 .25rem}.confirm-booking-button{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--color-button-text);background-color:transparent;border:none;border-radius:8px;padding:7px 20px;cursor:pointer;letter-spacing:.02em;width:100%;position:relative;z-index:1}.confirm-booking-button:before{content:"";position:absolute;inset:0;background-color:var(--color-text-primary);border-radius:8px;transition:background-color .2s ease,transform .2s ease;z-index:-1}.confirm-booking-button:hover:before{background-color:var(--color-button-bg-hover);transform:scale(1.01)}.terms-acceptance-text{font-family:var(--font-ui);font-size:.75rem;color:var(--color-text-secondary);text-align:left;margin-top:.75rem;line-height:1.4}.terms-acceptance-text a{color:var(--color-text-secondary);text-decoration:underline;transition:color .2s ease}.terms-acceptance-text a:hover{color:var(--color-text-primary)}.summary-validation-message{font-size:.85rem;color:var(--color-error);text-align:left;margin-top:.75rem;padding:.5rem 0;line-height:1.4}.discount-input-container{display:flex;gap:.5rem;margin-bottom:1rem}.discount-input{flex:1;padding:.625rem .75rem;border:1px solid var(--color-border-input);border-radius:8px;font-size:.9rem;color:var(--color-text-primary);background:#fff;transition:border-color .2s ease}.discount-input::placeholder{color:var(--color-text-disabled)}.discount-input:focus{outline:none;border-color:var(--color-text-primary)}.apply-discount-btn{padding:.625rem 1rem;background:var(--color-button-bg);color:var(--color-button-text);border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.apply-discount-btn:hover{background:var(--color-button-bg-active)}.apply-discount-btn:disabled{background:var(--color-text-disabled);cursor:not-allowed}.apply-discount-btn:disabled:hover{background:var(--color-text-disabled)}.discount-error{font-size:.8rem;color:var(--color-error);margin-top:.25rem}.discount-success{font-size:.8rem;color:var(--color-success, #16a34a);margin-top:.25rem}.discount-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.discount-label{font-size:.9rem;color:var(--color-text-primary)}.discount-amount{font-size:.9rem;font-weight:500;color:var(--color-link)}#discountCodeSection.section-locked{pointer-events:none;opacity:.6}#discountCodeSection.section-locked .discount-input,#discountCodeSection.section-locked .apply-discount-btn{cursor:not-allowed}.datetime-container{display:grid;grid-template-columns:2fr 3fr;gap:2rem;margin-bottom:1.5rem;align-items:start}@media (max-width: 768px){.datetime-container{grid-template-columns:1fr}}.calendar-wrapper{margin-top:1rem}.calendar{background:transparent;border:none;border-radius:12px;padding:0}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-month{font-size:1.1rem;font-weight:500;color:var(--color-text-primary)}.calendar-nav{background:transparent;border:none;cursor:pointer;padding:.5rem;color:var(--color-text-primary);font-size:1.2rem;border-radius:8px;transition:background-color .2s ease}.calendar-nav:hover{background-color:var(--color-surface-hover)}.calendar-nav:disabled{opacity:.3;cursor:not-allowed}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.75rem}.calendar-day-label{text-align:center;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);padding:.5rem;cursor:default;user-select:none}.calendar-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-date{aspect-ratio:1;min-height:40px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:400;border-radius:50%;cursor:pointer;transition:all .2s ease;background:transparent;border:2px solid transparent;color:var(--color-text-primary);user-select:none}.calendar-date:hover:not(.calendar-date--disabled):not(.calendar-date--other-month):not(.calendar-date--selected){background:var(--color-surface-hover)}.calendar-date.calendar-date--selected{background:var(--color-button-bg);color:var(--color-button-text);border-color:var(--color-text-primary);font-weight:500}.calendar-date.calendar-date--today{border-color:var(--color-text-primary);font-weight:500}.calendar-date.calendar-date--disabled{opacity:.3;cursor:not-allowed}.calendar-date.calendar-date--other-month{opacity:.2;cursor:default}.time-slots-container{background:transparent;border:none;border-radius:12px;padding:0}.time-slots-header{margin-bottom:1rem}.time-slots-date{font-size:1.1rem;font-weight:500;color:var(--color-text-primary);margin-bottom:.25rem}.time-slots-timezone{font-size:.85rem;color:var(--color-text-secondary)}.time-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 768px){.time-slots-grid{grid-template-columns:repeat(2,1fr)}}.time-slot{padding:.625rem .5rem;background:transparent;border:1px solid #dededd;border-radius:12px;text-align:center;cursor:pointer;transition:border-color .15s ease,outline-color .15s ease;font-size:.9rem;font-weight:400;color:var(--color-text-primary);outline:1.25px solid transparent;outline-offset:2px}.time-slot:hover:not(.selected):not(:disabled){border-color:#bbb}.time-slot.selected{outline-color:#141413;font-weight:500}.time-slots-loading,.time-slots-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary);font-size:.9rem}.time-slots-error{text-align:center;padding:3rem 1rem;color:var(--color-error);font-size:.9rem}.hold-timer-divider{height:1px;background-color:var(--color-surface-muted, #e5e5e5);margin:.75rem 0}.hold-timer{display:flex;gap:.5rem;align-items:center}.hold-timer.warning .hold-timer-text,.hold-timer.warning .hold-timer-countdown{color:var(--color-error)}.hold-timer-text{font-family:var(--font-ui);font-size:.85rem;font-weight:400;color:var(--color-text-secondary)}.hold-timer-countdown{font-family:var(--font-ui);font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.summary-code-banner{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--color-surface)}.summary-code-label{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem}.summary-code-subtitle{font-size:.875rem;font-weight:400;color:var(--color-text-secondary);line-height:1.4}.checkout-section{display:none}.checkout-section.visible{display:block}.personal-details-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media (max-width: 768px){.personal-details-form{grid-template-columns:1fr}}.form-section-subtitle{font-family:var(--font-serif);font-size:18px;font-weight:500;color:var(--color-text-heading);margin-bottom:.5rem;margin-top:1.5rem}.form-section-subtitle:first-child,#buyerSectionTitle{margin-top:0}.form-section-description{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:1rem}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field.full-width{grid-column:1 / -1}.form-field label{font-size:.85rem;font-weight:500;color:var(--color-text-heading)}.form-field input,.form-field textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border-medium);border-radius:8px;font-size:.95rem;font-family:inherit;background:#fff;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-text-primary)}.form-field input.error,.form-field textarea.error{border-color:var(--color-error)}.form-field .field-error{display:none;font-size:.8rem;color:var(--color-error);margin-top:.25rem}.form-field input.error:focus,.form-field textarea.error:focus{border-color:var(--color-error);box-shadow:0 0 0 1px var(--color-error)}.form-field textarea{resize:vertical;min-height:80px}.form-helper-text{font-size:.8rem;color:var(--color-text-secondary);margin-top:.35rem;display:block}.form-field input.field-locked,.form-field textarea.field-locked{background-color:var(--color-surface-input);color:var(--color-text-secondary);cursor:not-allowed;border-color:var(--color-border-light)}.form-field input.field-locked:focus,.form-field textarea.field-locked:focus{border-color:var(--color-border-light)}.user-type-selector{margin-bottom:var(--spacing-5);padding:var(--spacing-4);background-color:var(--color-surface-secondary);border-radius:var(--radius-lg)}.user-type-prompt{margin:0 0 var(--spacing-3) 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.user-type-options{display:flex;flex-direction:column;gap:var(--spacing-2)}.user-type-option{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);background-color:var(--color-surface-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.user-type-option:hover{border-color:var(--color-border-medium)}.user-type-option:has(input:checked){border-color:var(--color-accent);background-color:var(--color-accent-subtle)}.user-type-option input[type=radio]{margin:0;width:1rem;height:1rem;accent-color:var(--color-accent)}.user-type-label{font-size:var(--text-sm);color:var(--color-text-primary)}#personalDetailsSection{display:none}#personalDetailsSection.visible{display:block}.payment-section{margin-top:1.5rem;display:none}.payment-section.visible{display:block}.payment-section h3{font-family:var(--font-serif);font-size:20px;font-weight:500;color:var(--color-text-heading);margin-bottom:1rem}#payment-element{padding:1rem;background:#fff;border:1px solid #d9d8d5;border-radius:12px;min-height:150px}#payment-errors{color:var(--color-error);font-size:.85rem;margin-top:.75rem;min-height:1.2em}.order-summary-panel{margin-top:.5rem;padding:1.25rem 1.5rem;background:#faf9f5;border:1px solid #d9d8d5;border-radius:12px}.order-summary-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.order-summary-label,.order-summary-price{font-family:var(--font-ui);font-size:16px;font-weight:400;color:#141413}.order-summary-discount{color:var(--color-success, #16a34a)}.order-summary-divider{border-top:1px solid #eae9e5;margin:.75rem 0}.order-summary-total{display:flex;justify-content:space-between;align-items:center}.order-summary-total-label{font-family:var(--font-ui);font-size:16px;font-weight:400;color:#141413}.order-summary-total-price{font-family:var(--font-ui);font-size:20px;font-weight:500;color:#141413}.payment-terms{margin-top:1rem}.payment-terms p{font-family:var(--font-ui);font-size:16px;font-weight:400;color:#73726d;margin-bottom:.75rem;line-height:1.5}.payment-terms p:last-child{margin-bottom:0}.payment-terms a{color:#73726d;text-decoration:underline}.payment-terms a:hover{color:#141413}.pay-button{width:100%;padding:1rem 1.5rem;margin-top:1.5rem;background:var(--color-button-bg);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.pay-button:hover:not(:disabled){background:var(--color-button-bg-hover);transform:translateY(-1px)}.pay-button:disabled{background:var(--color-button-bg-disabled);cursor:not-allowed;transform:none}.pay-button.loading{position:relative;color:transparent}.pay-button.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.booking-loading-overlay{position:fixed;inset:0;background:#faf9f6f2;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.booking-loading-spinner{width:48px;height:48px;border:3px solid var(--color-border-light);border-top-color:var(--color-link);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.booking-loading-text{font-size:1.1rem;color:var(--color-text-heading);font-weight:500}.expiry-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);background:var(--color-button-bg);color:#fff;padding:1rem 1.5rem;border-radius:12px;font-size:.95rem;font-weight:500;box-shadow:0 8px 32px #0003;z-index:10000;animation:toastSlideIn .3s ease}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.reschedule-current-booking{background-color:var(--color-surface-secondary);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:2rem}.reschedule-current-label{font-family:var(--font-ui);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:.5rem}.reschedule-current-details{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-family:var(--font-display);font-size:1rem;color:var(--color-text-secondary)}.reschedule-current-service{font-weight:500;color:var(--color-text-primary)}.reschedule-current-datetime,.reschedule-current-therapist{color:var(--color-text-secondary)}@media (max-width: 480px){.reschedule-current-details{flex-direction:column;gap:.25rem}}
