.booking-shell{padding:54px 0 88px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.booking-panel,.booking-summary{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 8px 30px rgba(88,65,54,.05)}.booking-panel{padding:28px}.booking-summary{padding:24px;position:sticky;top:106px}.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 28px}.step-pill{border:1px solid var(--line);border-radius:999px;padding:10px 8px;text-align:center;font-size:12px;font-weight:700;color:var(--muted);background:var(--ivory)}.step-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}.step-pill.done{background:var(--cream);color:var(--bronze);border-color:var(--rose)}.booking-step{display:none}.booking-step.active{display:block}.booking-step h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;margin:0 0 8px}.booking-step>p{margin-top:0;color:var(--muted)}.treatment-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.treatment-choice{appearance:none;border:1px solid var(--line);background:#fff;border-radius:20px;text-align:left;padding:20px;cursor:pointer;color:var(--ink);transition:.2s}.treatment-choice:hover,.treatment-choice.selected{border-color:var(--rose-deep);box-shadow:0 10px 28px rgba(104,76,64,.10);transform:translateY(-1px)}.treatment-choice strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;margin-bottom:6px}.treatment-choice span,.treatment-choice small{display:block;color:var(--muted);font-size:13px}.booking-date-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}.field-label{font-size:13px;font-weight:700;display:block;margin-bottom:7px}.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink);outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--rose-deep);box-shadow:0 0 0 3px rgba(185,131,120,.13)}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.time-button{border:1px solid var(--line);background:var(--ivory);border-radius:12px;padding:12px 8px;font-weight:700;cursor:pointer}.time-button:hover,.time-button.selected{background:var(--ink);border-color:var(--ink);color:#fff}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.details-grid .full{grid-column:1/-1}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px;flex-wrap:wrap}.summary-title{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;margin:0 0 16px}.summary-row{padding:13px 0;border-top:1px solid var(--line)}.summary-row:first-of-type{border-top:0}.summary-row span{display:block;color:var(--muted);font-size:12px}.summary-row strong{display:block;margin-top:3px}.summary-empty{color:var(--muted);font-size:14px}.booking-message{border-radius:16px;padding:14px 16px;margin:16px 0;font-size:14px}.booking-message.error{background:#fff1ef;color:#8d3d33;border:1px solid #f1cbc4}.booking-message.info{background:var(--cream);color:var(--bronze);border:1px solid var(--line)}.booking-success{text-align:center;padding:28px 8px 12px}.success-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--cream);margin:0 auto 18px;font-size:28px}.booking-success h2{font-family:Georgia,'Times New Roman',serif;font-size:38px;font-weight:400;margin:0 0 10px}.booking-success .reference{display:inline-block;margin:12px 0;padding:9px 14px;border-radius:999px;background:var(--ivory);font-weight:700;letter-spacing:.08em}.fine-print{font-size:12px;color:var(--muted)}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.loading-row{padding:16px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:-1}.treatment-picker{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.booking-shell{padding:28px 0 72px}.booking-panel,.booking-summary{padding:20px;border-radius:20px}.stepper{grid-template-columns:1fr 1fr}.details-grid{grid-template-columns:1fr}.details-grid .full{grid-column:auto}.time-grid{grid-template-columns:repeat(2,1fr)}}

.selection-counter{display:inline-block;margin-top:8px;padding:7px 11px;border-radius:999px;background:var(--cream);color:var(--bronze);font-size:12px;font-weight:700}.treatment-choice{position:relative}.treatment-selected-label{display:none;margin-top:10px;font-style:normal;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--bronze)}.treatment-choice.selected .treatment-selected-label{display:block}.treatment-choice.selected{background:var(--cream)}.treatment-limit a{font-weight:800;color:inherit;text-decoration:underline}.booking-summary #summaryTreatment{line-height:1.45}
