.checkout-fullscreen--prebook{grid-template-columns:55% 45%}.checkout-form-column--prebook{justify-content:center;padding:4rem 3rem}.checkout-preview-column--prebook{background-color:#f3f2ec}.prebook-content{max-width:620px;width:100%}.prebook-header{margin-bottom:2.5rem}.prebook-header .checkout-title--hero{margin-bottom:2rem}.prebook-helper-text{font-family:var(--font-ui);font-size:.9375rem;color:var(--color-text-secondary);margin:0 0 .75rem;line-height:1.5}.prebook-helper-link{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)}.prebook-helper-link:hover{background-color:var(--color-button-bg-hover)}.prebook-questions-link{font-family:var(--font-ui);font-size:.9375rem;color:var(--color-text-secondary);text-decoration:none;margin-top:2rem;display:inline-block;transition:color var(--transition-base)}.prebook-questions-link:hover{color:#141413;text-decoration:underline}.prebook-menu{display:flex;flex-direction:column}.prebook-option{display:flex;align-items:center;gap:0;padding:.35rem 0;cursor:pointer}.prebook-option:first-child{padding-top:0}.prebook-option-text{font-family:var(--font-serif);font-size:56px;font-weight:500;color:var(--color-text-primary);letter-spacing:-.03em;line-height:1;transition:color .2s ease}.prebook-option-arrow{font-size:1.75rem;color:var(--color-text-secondary);margin-left:.5rem;transition:color .2s ease,margin-left .2s ease}.prebook-menu:hover .prebook-option .prebook-option-text,.prebook-menu:hover .prebook-option .prebook-option-arrow{color:var(--color-text-faded)}.prebook-menu:hover .prebook-option:hover .prebook-option-text,.prebook-menu:hover .prebook-option:hover .prebook-option-arrow{color:var(--color-text-primary)}.prebook-option:hover .prebook-option-arrow{margin-left:1rem}.prebook-input-section{display:flex;flex-wrap:wrap;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}.prebook-input-section.visible{max-height:120px;opacity:1;padding:.35rem 0 .75rem}.prebook-menu.has-active-input .prebook-option .prebook-option-text,.prebook-menu.has-active-input .prebook-option .prebook-option-arrow{color:var(--color-text-faded)}.prebook-menu.has-active-input .prebook-option.active .prebook-option-text,.prebook-menu.has-active-input .prebook-option.active .prebook-option-arrow{color:var(--color-text-primary)}.prebook-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}.prebook-input::placeholder{color:var(--color-text-placeholder)}.prebook-input:focus{outline:none;border-color:var(--color-border-focus)}.prebook-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}.prebook-submit:hover{background-color:var(--color-button-bg-hover)}.prebook-submit:disabled{background-color:var(--color-text-disabled);cursor:not-allowed}.prebook-error{flex-basis:100%;font-family:var(--font-ui);font-size:.875rem;color:var(--color-error);margin-top:0;display:none}.prebook-error.visible{display:block}.card-preview--booking{background-color:#86946d}.card-preview--booking .card-preview-text{color:#fff}.code-info-type{font-family:var(--font-ui);font-size:14px;font-weight:500;color:#141413;margin:0;text-transform:uppercase;letter-spacing:.05em}.code-info-details{font-family:var(--font-ui);font-size:16px;font-weight:400;color:#3d3d3a;margin:.25rem 0 0}@media (max-width: 1024px){.checkout-fullscreen--prebook{grid-template-columns:1fr}.checkout-form-column--prebook{padding:2rem;order:1}.checkout-preview-column--prebook{order:0;padding:3rem 2rem;min-height:250px}.prebook-option-text{font-size:40px}}@media (max-width: 640px){.checkout-form-column--prebook{padding:1.5rem}.checkout-preview-column--prebook{padding:2rem 1.5rem;min-height:200px}.prebook-option-text{font-size:32px}.prebook-option{padding:.25rem 0}.prebook-input{flex:1 1 100%}.prebook-input-section.visible{max-height:150px}}.checkout-fullscreen--appointment{grid-template-columns:55% 45%}.checkout-fullscreen--appointment .checkout-step .checkout-section{display:block}.checkout-step .inline-total{margin-top:1.5rem}.checkout-step .inline-total .field-label{margin-bottom:.25rem}.checkout-step .inline-total-amount{font-family:var(--font-ui);font-size:22px;font-weight:500;color:var(--color-text-primary)}.checkout-step .section-description{font-family:var(--font-ui);font-size:.875rem;color:var(--color-text-secondary);margin:-.5rem 0 1rem}.selection-cards--services{flex-wrap:wrap;align-items:flex-start}.selection-cards--services .selection-card{flex:1 1 calc(33.333% - .5rem);min-width:180px}.selection-cards--services+.field-label{margin-top:1.5rem}.selection-cards--enhancements{flex-wrap:wrap;align-items:flex-start}.selection-cards--enhancements .selection-card{flex:1 1 calc(33.333% - .5rem);min-width:180px}#therapistSection{margin-top:1.5rem}.therapist-checkboxes{display:flex;flex-direction:column;gap:.5rem}.therapist-checkboxes .addon-checkbox{margin:0}.time-slots-section{margin-top:1.5rem}.time-slots-section .field-label{margin-bottom:.5rem}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-top:1rem}.time-slot{padding:.625rem .5rem;border:1px solid #dededd;border-radius:12px;background:transparent;font-family:var(--font-ui);font-size:.9rem;font-weight:400;color:var(--color-text-primary);cursor:pointer;text-align:center;transition:border-color .15s ease,outline-color .15s ease;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-slot:disabled{opacity:.4;cursor:not-allowed}.time-slots-loading{font-family:var(--font-ui);font-size:.9rem;color:var(--color-text-secondary);text-align:center;padding:2rem 1rem}.time-slots-empty{font-family:var(--font-ui);font-size:.9rem;color:var(--color-text-secondary);text-align:center;padding:2rem 1rem;background-color:#f8f8f6;border-radius:8px}.hold-timer-banner{position:fixed;top:0;left:0;right:0;background-color:#f0eee7;padding:.625rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;z-index:100;border-bottom:1px solid #dededd}.hold-timer-banner.warning{background-color:#fef3cd;border-bottom-color:#ffc107}.hold-timer-text{font-family:var(--font-ui);font-size:.875rem;color:var(--color-text-primary)}.hold-timer-countdown{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.hold-timer-banner.warning .hold-timer-countdown{color:#856404}.discount-section{margin-bottom:1.5rem}.discount-input-container{display:flex;gap:.5rem;margin-top:.75rem}.discount-input{flex:1;max-width:200px;padding:.5rem .75rem;border:1px solid #dededd;border-radius:8px;font-family:var(--font-ui);font-size:.9rem;color:var(--color-text-primary);transition:border-color .2s ease}.discount-input:focus{outline:none;border-color:var(--color-border-focus)}.discount-input::placeholder{color:var(--color-text-placeholder)}.apply-discount-btn{padding:.5rem 1rem;background-color:transparent;border:1px solid #bbbbbb;border-radius:8px;font-family:var(--font-ui);font-size:.9rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.apply-discount-btn:hover:not(:disabled){background-color:#f0eee7;border-color:transparent}.apply-discount-btn:disabled{opacity:.5;cursor:not-allowed}.discount-error{font-family:var(--font-ui);font-size:.85rem;color:var(--color-error);margin-top:.5rem}.discount-success{font-family:var(--font-ui);font-size:.85rem;color:#2e7d32;margin-top:.5rem}.booking-summary-service{font-family:var(--font-ui);font-size:16px;font-weight:500;color:#141413;margin:0}.booking-summary-details,.booking-summary-datetime,.booking-summary-therapist{font-family:var(--font-ui);font-size:15px;font-weight:400;color:#3d3d3a;margin:.25rem 0 0}.expiry-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background-color:#141413;color:#fff;padding:1rem 1.5rem;border-radius:8px;font-family:var(--font-ui);font-size:.9rem;z-index:1000;box-shadow:0 4px 12px #00000026}.calendar-section{margin-bottom:0}.checkout-step .calendar{max-width:100%;width:100%}.checkout-step .calendar-days,.checkout-step .calendar-dates{grid-template-columns:repeat(7,48px);justify-content:space-between}.checkout-step .calendar-date{min-height:48px}@media (max-width: 1024px){.checkout-fullscreen--appointment{grid-template-columns:1fr}.selection-cards--services .selection-card,.selection-cards--enhancements .selection-card{flex:1 1 100%}.time-slots-grid{grid-template-columns:repeat(4,1fr)}.hold-timer-banner{position:relative;margin-bottom:1rem}}@media (max-width: 640px){.time-slots-grid{grid-template-columns:repeat(3,1fr)}.discount-input-container{flex-direction:column}.discount-input{max-width:100%}}
