.booking-hero{background:var(--glass-bg, rgba(255, 255, 255, .7))}.booking-wizard__steps{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.booking-wizard__step{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);opacity:.4;transition:opacity .2s ease}.booking-wizard__step.is-active,.booking-wizard__step.is-completed{opacity:1}.booking-wizard__step-number{display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);border-radius:50%;background:var(--border);color:var(--muted);font-weight:600;font-size:var(--font-sm)}.booking-wizard__step.is-active .booking-wizard__step-number{background:var(--brand);color:var(--color-on-primary)}.booking-wizard__step.is-completed .booking-wizard__step-number{background:var(--success);color:var(--color-on-primary)}.booking-wizard__step-label{font-size:var(--font-xs);color:var(--muted)}.booking-wizard__panel{display:none;padding:var(--space-4) 0}.booking-wizard__panel.is-active{display:block}.booking-tier-card{border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.booking-tier-card:hover{border-color:var(--brand)}.booking-tier-card.is-selected{border-color:var(--brand);box-shadow:var(--shadow-focus)}.booking-tier-card__name{font-size:var(--font-lg);font-weight:600;margin-bottom:var(--space-1)}.booking-tier-card__duration{font-size:var(--font-sm);color:var(--muted)}.booking-tier-card__description{font-size:var(--font-sm);color:var(--text);margin-top:var(--space-2)}.booking-addon-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s ease}.booking-addon-item:hover{border-color:var(--brand)}.booking-addon-item.is-selected{border-color:var(--brand);background:var(--brand-subtle)}.booking-addon-item__info{flex:1}.booking-addon-item__name{font-weight:500}.booking-addon-item__desc{font-size:var(--font-sm);color:var(--muted)}.booking-addon-item__price{font-weight:600;white-space:nowrap;margin-left:var(--space-3)}.booking-time-window{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:border-color .2s ease}.booking-time-window:hover:not(.is-unavailable){border-color:var(--brand)}.booking-time-window.is-selected{border-color:var(--brand);background:var(--brand-subtle)}.booking-time-window.is-unavailable{opacity:.4;cursor:not-allowed;text-decoration:line-through}.booking-freq-btn.is-active{background:var(--brand);color:var(--color-on-primary);border-color:var(--brand)}.booking-stripe-payment{min-height:44px}.booking-upsell{background:linear-gradient(135deg,#2563eb0f,#10a34a0f);border:1px solid rgba(37,99,235,.2);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-3);cursor:pointer;transition:border-color .2s ease,background .2s ease}.booking-upsell:hover{border-color:var(--brand);background:linear-gradient(135deg,#2563eb1a,#10a34a1a)}.booking-upsell__badge{display:inline-block;background:var(--brand);color:var(--color-on-primary);font-size:var(--font-micro);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem var(--space-2);border-radius:var(--radius-sm);margin-bottom:var(--space-1)}.booking-upsell__title{font-weight:600;font-size:var(--font-note);margin-bottom:.125rem}.booking-upsell__desc{font-size:var(--font-detail);color:var(--text)}.booking-membership-upsell{background:#10a34a0f;border:1px solid rgba(16,163,74,.2);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.booking-membership-upsell__title{font-weight:600;font-size:var(--font-base);margin-bottom:var(--space-2)}.booking-membership-upsell__options{display:flex;gap:var(--space-2);flex-wrap:wrap}.booking-membership-upsell__option{flex:1;min-width:120px;text-align:center;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s ease}.booking-membership-upsell__option:hover{border-color:var(--success)}.booking-membership-upsell__option.is-active{border-color:var(--success);background:#10a34a14}.booking-membership-upsell__freq{font-weight:600;font-size:var(--font-sm)}.booking-membership-upsell__save{font-size:var(--font-xs);color:var(--success);font-weight:600}@media(max-width:576px){.booking-wizard__steps{gap:var(--space-1)}.booking-wizard__step-label{display:none}}
