.booking-form{max-width:600px;margin:0 auto;padding-bottom:var(--space-3xl)}.booking-progress{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-2xl)}.booking-progress__step{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);opacity:.35;transition:opacity .3s var(--ease-out)}.booking-progress__step--active{opacity:1}.booking-progress__step--done{opacity:.65}.booking-progress__num{width:36px;height:36px;border-radius:50%;background:var(--color-border-light);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;transition:all .3s var(--ease-out)}.booking-progress__step--active .booking-progress__num{background:var(--color-primary);color:#fff;box-shadow:0 3px 10px #2d4a3e40}.booking-progress__step--done .booking-progress__num{background:var(--color-primary-light);color:#fff}.booking-progress__label{font-size:.6875rem;color:var(--color-text-muted);letter-spacing:.03em;text-transform:uppercase;font-weight:500}.booking-step__title{text-align:center;margin-bottom:var(--space-xl);font-family:var(--font-heading)}.booking-error{background:#fae8e6;color:var(--color-error);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);text-align:center;font-size:.9375rem;border:1px solid #f2c8c4}.booking-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}.booking-type-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl);background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:var(--radius-xl);cursor:pointer;transition:all .25s var(--ease-out);font-family:inherit}.booking-type-btn:hover{border-color:var(--color-primary-light);background:var(--color-primary-bg);transform:translateY(-2px);box-shadow:var(--shadow-md)}.booking-type-btn__icon{font-size:2rem}.booking-type-btn__label{font-size:1rem;font-weight:600;font-family:var(--font-heading)}.booking-type-btn__desc{font-size:.8125rem;color:var(--color-text-muted)}.booking-services{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.booking-service-btn{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s var(--ease-out);text-align:left;font-family:inherit}.booking-service-btn:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.booking-service-btn--selected{border-color:var(--color-primary);background:var(--color-primary-bg);box-shadow:0 0 0 3px #2d4a3e14}.booking-service-btn__name{font-size:.9375rem;font-weight:500;flex:1}.booking-service-btn__meta{display:flex;gap:var(--space-md);font-size:.8125rem;color:var(--color-text-muted);white-space:nowrap}.booking-service-btn__meta span:first-child{font-weight:600;color:var(--color-accent)}.booking-back-btn{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;padding:var(--space-sm) 0;font-family:inherit;transition:color .2s}.booking-back-btn:hover{color:var(--color-text)}.booking-loading{text-align:center;color:var(--color-text-muted);padding:var(--space-2xl);font-size:.9375rem}.booking-step__actions{margin-top:var(--space-xl)}.booking-summary-mini{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-primary-bg);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);font-size:.875rem;border:1px solid rgba(92,138,110,.15)}.booking-summary-mini span{padding:.3rem .625rem;background:#fff;border-radius:var(--radius-md);font-weight:500}.calendar{margin-bottom:var(--space-lg)}.calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.calendar__month{font-family:var(--font-heading);font-weight:600;font-size:1.125rem}.calendar__nav-btn{width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-out)}.calendar__nav-btn:hover:not(:disabled){background:var(--color-primary-bg);border-color:var(--color-primary-light)}.calendar__nav-btn:disabled{opacity:.25;cursor:not-allowed}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:var(--space-xs)}.calendar__weekday{font-size:.6875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;padding:var(--space-xs) 0;letter-spacing:.05em}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-lg);font-size:.875rem;background:transparent;cursor:default;font-family:inherit;transition:all .2s var(--ease-out)}.calendar__day--available{background:var(--color-primary-bg);color:var(--color-primary-dark);cursor:pointer;font-weight:500}.calendar__day--available:hover{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #2d4a3e33}.calendar__day--selected{background:var(--color-primary)!important;color:#fff!important;box-shadow:0 2px 8px #2d4a3e40!important}.calendar__day--disabled{color:var(--color-text-muted);opacity:.35}.calendar__slots{margin-top:var(--space-xl)}.calendar__slots-title{font-size:.9375rem;font-weight:500;margin-bottom:var(--space-md)}.calendar__slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--space-sm)}.calendar__slot{padding:.625rem;border:2px solid var(--color-border-light);border-radius:var(--radius-lg);background:#fff;cursor:pointer;font-size:.9375rem;text-align:center;font-family:inherit;font-weight:500;transition:all .2s var(--ease-out)}.calendar__slot:hover{border-color:var(--color-primary-light);background:var(--color-primary-bg)}.calendar__slot--selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 2px 8px #2d4a3e33}.calendar__no-slots{color:var(--color-text-muted);font-size:.9375rem}.booking-confirmation{text-align:center}.booking-confirmation__icon{width:72px;height:72px;background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto var(--space-lg);box-shadow:0 4px 16px #2d4a3e40}.booking-confirmation__title{font-family:var(--font-heading);font-size:1.75rem;margin-bottom:var(--space-xl)}.booking-confirmation__details{text-align:left;margin-bottom:var(--space-xl);background:var(--color-bg-warm);border-radius:var(--radius-xl);padding:var(--space-lg)}.booking-confirmation__row{display:flex;justify-content:space-between;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light);font-size:.9375rem}.booking-confirmation__row:last-child{border-bottom:none}.booking-confirmation__cancel{background:var(--color-bg-section);padding:var(--space-xl);border-radius:var(--radius-xl)}.booking-confirmation__cancel p{font-size:.9375rem;color:var(--color-text-light);margin-bottom:var(--space-sm)}.booking-confirmation__cancel-link{display:inline-block;color:var(--color-error);font-weight:500;margin-bottom:var(--space-sm)}.booking-confirmation__note{font-size:.8125rem!important;color:var(--color-text-muted)!important;font-style:italic}.page-eyebrow[data-astro-cid-qifodthd]{font-size:.75rem;font-weight:600;color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-sm)}
