.flow-page{padding-bottom:80px}.booking-shell{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:32px;align-items:start}.flow-main{display:grid;gap:24px}.flow-title{font-family:var(--font-body);font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.025em;margin-bottom:18px}.flow-number{color:var(--accent);font-size:14px;margin-right:12px}.flow-form{padding:32px}.flow-title:focus{outline:none}.flow-main section>p,.bw-step>p.muted{font-size:14px;margin-bottom:24px}.flow-main .grid,.flow-form .grid{margin-top:26px}.flow-summary{position:sticky;top:112px;padding:28px}.flow-summary>.eyebrow{margin-bottom:10px}.flow-summary>.flow-title{font-size:22px}.summary-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px;font-size:13px;color:var(--muted)}.summary-list li{border-bottom:1px solid var(--border);padding-bottom:12px}.summary-total{border-top:1px solid var(--border);padding-top:24px;display:grid;gap:10px}.summary-total>span{font-size:12px}.summary-total>strong{font-size:clamp(22px,2.3vw,30px);line-height:1.35;font-weight:600;letter-spacing:-.02em}.summary-note{font-size:12px;color:var(--muted);margin:18px 0}.summary-note a{color:var(--accent);text-decoration:underline}.flow-full{width:100%;margin-top:12px}.service-options{display:grid;gap:12px;padding:0;margin:24px 0 0;border:0;min-width:0}.service-option{padding:18px;gap:14px;align-items:flex-start}.service-option input{margin:3px 0 0}.service-option-body{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.service-option strong{font-size:14px;font-weight:600}.service-option-body>.muted{font-size:12px;line-height:1.7}.service-price{font-size:12px;font-weight:600;max-width:100px;text-align:right;margin-left:auto}.service-note{font-size:10px;color:var(--accent)}.booking-progress{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:0;margin:0 0 36px}.booking-progress li{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:16px}.progress-number{width:30px;height:30px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0}.booking-progress [aria-current]{color:var(--text);border-bottom-color:var(--accent)}.booking-progress [aria-current] .progress-number{background:var(--accent);color:var(--background);border-color:var(--accent)}.booking-progress .is-complete .progress-number{color:var(--accent);border-color:var(--accent)}.booking-summary{margin:24px 0}.booking-summary>div{border-bottom:1px solid var(--border);padding:14px 0}.booking-summary dt{font-size:11px;color:var(--muted);margin-bottom:6px}.booking-summary dd{font-size:14px;margin:0;overflow-wrap:anywhere}.booking-summary .summary-list{margin:0;gap:6px}.booking-summary .summary-list li{padding:0;border:0;color:var(--text)}.flow-actions{justify-content:space-between;margin-top:28px}.flow-actions button:only-child{margin-left:auto}.form-error{font-size:13px;margin-top:10px;line-height:1.7}.slot-fieldset{border:0;padding:0;margin:22px 0;min-width:0}.slot-fieldset>p{font-size:13px}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.slot-btn{min-height:46px;padding:10px;background:var(--surface);color:var(--text);border:1px solid rgba(255,255,255,.22);border-radius:7px;font-size:13px}.slot-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--background)}.slot-btn:disabled{opacity:.32;cursor:not-allowed;text-decoration:line-through}.consent-row{display:flex;gap:12px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.7}.consent-row input{margin:0;flex-shrink:0}.consent-row a{color:var(--text);text-decoration:underline}.flow-notice{padding:18px;background:var(--raised);border:1px solid var(--border);border-radius:8px;margin:18px 0;font-size:13px}.flow-notice .btn{margin-top:14px}.booking-done{max-width:680px;margin:40px auto;text-align:center;padding:56px 40px}.booking-done p{margin:24px auto}.booking-done .btn{margin-top:12px}.done-mark{width:60px;height:60px;border:1px solid var(--success);border-radius:50%;display:grid;place-items:center;color:var(--success);font-size:30px;margin:0 auto 28px}.booking-done h2{font-size:42px}.flow-form fieldset{min-width:0}
@media(max-width:1000px){.booking-shell{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}.flow-form{padding:24px}.service-option{flex-wrap:wrap}.service-price{margin-left:34px;max-width:none}.service-option-body{flex-basis:calc(100% - 44px)}}
@media(max-width:768px){.booking-shell{display:flex;flex-direction:column;gap:24px}.booking-shell>*{width:100%;min-width:0}.flow-summary{position:static}.booking-shell:has(#bw-step-3:not([hidden])) .flow-summary{order:-1}.booking-progress{gap:10px;margin-bottom:24px}.booking-progress li{flex-direction:column;align-items:flex-start;gap:10px;font-size:11px}.flow-title{font-size:23px}.service-option{padding:16px}.service-option-body{flex-basis:auto}.service-price{max-width:100%;margin-left:34px}.flow-form .grid{margin-top:22px;gap:0}.booking-done{padding:36px 24px}.flow-actions{gap:10px}.flow-actions .btn{padding-inline:16px;font-size:13px}.flow-summary{padding:24px}}
@media(max-width:400px){.flow-form{padding:20px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-actions{flex-direction:column-reverse;align-items:stretch}.flow-actions button:only-child{margin-left:0}.service-option-body{flex-basis:calc(100% - 44px)}}
.mobile-review{display:none}
@media(max-width:768px){.mobile-review{display:block;background:var(--secondary);padding:24px 18px;margin:28px 0;border:1px solid var(--border);border-radius:10px}.mobile-review h3{font-size:21px}.booking-shell:has(#bw-step-3:not([hidden])) .flow-summary{display:none}}
