*{box-sizing:border-box}body{margin:0;background:#fbf8fb;color:#392f3e;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.smart-booking{min-height:100vh}.smart-hero{padding:34px max(24px,calc((100vw - 1180px)/2));background:linear-gradient(135deg,#fff 0%,#f7edf7 55%,#fff7e8 100%);border-bottom:1px solid #eadfea}.smart-hero h1{margin:5px 0 8px;font-family:Georgia,serif;font-size:clamp(34px,5vw,58px);color:#684f6e}.smart-hero p{max-width:720px}.back-link{color:#684f6e;text-decoration:none;font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:900;color:#94729a}.booking-shell{max-width:1180px;margin:36px auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}.wizard,.booking-summary{background:#fff;border:1px solid #eadfea;border-radius:26px;box-shadow:0 20px 60px rgba(80,57,87,.08)}.wizard{padding:24px}.booking-summary{position:sticky;top:20px;padding:24px}.progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:28px}.progress__item{border:0;background:transparent;color:#9d91a0;font-weight:700;font-size:12px;display:grid;gap:7px;justify-items:center}.progress__item span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f0eaf1}.progress__item.is-active,.progress__item.is-done{color:#6e4f74}.progress__item.is-active span{background:#6e4f74;color:#fff}.progress__item.is-done span{background:#dff3e5;color:#237845}.step{display:none}.step.is-active{display:block;animation:fade .24s ease}.step-head p{color:#786d7c}.step-head p:first-child{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#9a799f}.step-head h2{font-family:Georgia,serif;font-size:32px;margin:4px 0}.service-tools{display:grid;grid-template-columns:1fr 220px;gap:10px;margin:22px 0 14px}.service-tools input,.service-tools select,.date-card input,.fields input,.fields textarea{width:100%;border:1px solid #dacee0;border-radius:14px;padding:13px 14px;background:#fff;font:inherit}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:510px;overflow:auto}.service-choice{position:relative;display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:14px;border:1px solid #eadfea;border-radius:18px;cursor:pointer}.service-choice:has(input:checked){border-color:#8f6a97;background:#faf4fb;box-shadow:0 8px 24px rgba(104,79,110,.11)}.service-choice input{position:absolute;opacity:0}.service-choice__check{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f0eaf1;color:transparent}.service-choice input:checked~.service-choice__check{background:#6e4f74;color:#fff}.service-choice__body{display:grid;gap:4px}.service-choice__body small{color:#827587}.service-choice b{color:#6e4f74}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.step-actions--end{justify-content:flex-end}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 20px;border-radius:14px;border:1px solid transparent;font-weight:900;text-decoration:none;cursor:pointer}.btn-primary{background:#6e4f74;color:#fff}.btn-primary:hover{background:#593f5f}.btn-ghost{background:#fff;border-color:#dacee0;color:#5d4b62}.date-card{display:grid;gap:10px;max-width:420px;margin:28px 0;font-weight:800}.date-card input{font-size:18px}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.slot{border:1px solid #dacee0;background:#fff;border-radius:14px;padding:13px;font-weight:900;color:#5d4b62}.slot.is-selected{background:#237845;border-color:#237845;color:#fff}.slot-empty{grid-column:1/-1;padding:20px;border-radius:16px;background:#fff7e8;color:#795f2c}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.fields label{display:grid;gap:8px;font-weight:800}.field-wide{grid-column:1/-1}.consent{display:flex;gap:10px;margin-top:18px;align-items:flex-start}.form-error{color:#b3261e;font-weight:700;min-height:20px}.booking-summary h2{font-family:Georgia,serif;font-size:30px;margin:4px 0 18px}.summary-services{display:grid;gap:8px}.summary-service{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eee7ef}.booking-summary dl{margin:18px 0}.booking-summary dl div{display:flex;justify-content:space-between;padding:10px 0}.booking-summary dd{margin:0;font-weight:900;color:#6e4f74}.summary-note{font-size:12px;color:#817486;line-height:1.5}.final-summary{display:grid;gap:12px;padding:18px;border-radius:18px;background:#faf6fb}.final-summary div{display:flex;justify-content:space-between;gap:20px}.success{text-align:center;padding:40px 15px}.success-mark{width:74px;height:74px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#dff3e5;color:#237845;font-size:38px;font-weight:900}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes fade{from{opacity:.35;transform:translateY(5px)}}@media(max-width:900px){.booking-shell{grid-template-columns:1fr}.booking-summary{position:static;order:-1}.progress__item{font-size:0}.progress__item span{font-size:12px}}@media(max-width:620px){.wizard{padding:16px;border-radius:20px}.service-tools,.service-grid,.fields{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(2,1fr)}.step-head h2{font-size:27px}.booking-shell{padding:0 12px}.smart-hero{padding:24px 18px}.field-wide{grid-column:auto}}