.intro{max-width:1000px;text-align:center;padding-bottom:32px}.intro-title{font-size:clamp(32px,4.5vw,48px);font-weight:700;letter-spacing:-.02em;margin:0 0 20px}.intro-text{font-size:18px;line-height:1.6;color:var(--ink-soft);margin:0 auto;max-width:600px}.booking-section{padding-top:24px}.booking-empty{text-align:center;color:var(--ink-soft)}.booking-flow-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}.booking-service-card{display:flex;flex-direction:column;gap:8px;text-align:left;font:inherit;color:inherit;cursor:pointer;border:2px solid transparent}.booking-service-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md)}.booking-service-title{font-size:20px;font-weight:700;margin:0}.booking-service-tagline{font-size:15px;font-weight:600;color:var(--green);margin:0}.booking-service-description{font-size:14px;color:var(--ink-soft);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.booking-service-price{font-size:15px;color:var(--ink-soft);margin:0}.booking-flow-slots{margin-top:40px}.booking-date-time{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:40px;align-items:start}.booking-calendar{max-width:420px}.booking-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.booking-calendar-nav-btn{background:var(--bg-alt);border:none;border-radius:var(--radius-md);width:36px;height:36px;font:inherit;font-size:16px;cursor:pointer}.booking-calendar-nav-btn:disabled{opacity:.4;cursor:not-allowed}.booking-calendar-month{font-weight:700;text-transform:capitalize}.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.booking-calendar-weekdays{margin-bottom:6px}.booking-calendar-weekday{text-align:center;font-size:12px;color:var(--ink-soft)}.booking-calendar-day{aspect-ratio:1;border:2px solid transparent;border-radius:var(--radius-md);background:var(--bg-alt);font:inherit;font-size:14px;cursor:pointer}.booking-calendar-day:disabled{background:none;color:var(--ink-soft);opacity:.4;cursor:not-allowed}.booking-calendar-day.selected{border-color:var(--green);background:var(--green);color:var(--cream)}.booking-calendar-cell-empty{aspect-ratio:1}@media(max-width:768px){.booking-date-time{grid-template-columns:minmax(0,1fr);gap:32px}}@media(max-width:480px){.booking-calendar-grid{gap:3px}}.booking-flow-error{color:var(--amber)}.booking-flow-slot-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}@media(max-width:480px){.booking-flow-slot-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.booking-flow-slot{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--bg-alt);border:2px solid transparent;border-radius:var(--radius-md);min-height:44px;padding:8px 12px;font:inherit;font-size:14px;color:inherit;text-align:center;cursor:pointer}.booking-flow-slot:hover{border-color:var(--green)}.booking-flow-slot.selected{border-color:var(--green);background:var(--green);color:var(--cream)}.booking-flow-slot-time{font-weight:600}.booking-flow-slot-price{font-size:12px}.booking-service-card:disabled{cursor:not-allowed;opacity:.5}.booking-back-link{background:none;border:none;padding:0;margin-bottom:24px;font:inherit;font-size:14px;color:var(--ink-soft);cursor:pointer}.booking-detail-section{margin-bottom:32px}.booking-detail-heading{font-size:16px;font-weight:700;margin:0 0 14px}.booking-temperature-options{display:flex;flex-wrap:wrap;gap:10px}.booking-temperature-option{border:2px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);padding:10px 20px;font:inherit;font-size:15px;cursor:pointer}.booking-temperature-option.selected{border-color:var(--green);background:var(--green);color:var(--cream)}.booking-auth-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-alt);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:20px}.booking-auth-banner p{margin:0;font-size:14px;color:var(--ink-soft)}.booking-auth-banner-btn{flex-shrink:0;white-space:nowrap}.booking-contact-form{display:flex;flex-direction:column;gap:14px}.booking-contact-form .input{width:100%;padding:14px;border-radius:var(--radius-md);border:1px solid var(--border);font-size:15px;font-family:inherit;background:var(--bg)}.booking-order-summary{background:var(--bg-alt);border-radius:var(--radius-md);padding:20px;margin-bottom:20px}.booking-order-summary-list{display:flex;flex-direction:column;gap:8px;margin:0}.booking-order-summary-list>div{display:flex;justify-content:space-between;gap:16px}.booking-order-summary-list dt{color:var(--ink-soft);font-size:14px}.booking-order-summary-list dd{margin:0;font-weight:700;text-align:right}.booking-order-summary-hint{margin:0;font-size:14px;color:var(--ink-soft)}.booking-consent-section{display:flex;flex-direction:column;gap:14px}.booking-consent-option{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;color:var(--ink-soft);cursor:pointer}.booking-consent-option input{margin-top:3px;flex-shrink:0}.booking-consent-option a{color:inherit;text-decoration:underline}.booking-submit-btn{border:none;cursor:pointer}.booking-submit-btn:disabled{opacity:.6;cursor:not-allowed}.booking-checkout-title{font-size:24px;font-weight:700;margin:0 0 12px}
