.booking-page{min-height:100svh;padding:calc(126px + env(safe-area-inset-top,0px)) var(--gutter) 80px;background:var(--ink);font:400 1rem/1.65 var(--font-ui);overflow:visible}.booking-wizard{width:min(1280px,100%);color:var(--cream);margin:0 auto}.booking-wizard__header{justify-content:space-between;align-items:center;gap:32px;margin-bottom:36px;display:flex}.booking-wizard__eyebrow{color:var(--gold);font:600 .75rem/1.5 var(--font-ui);letter-spacing:.1em;margin:0 0 14px}.booking-wizard__header h1,.booking-wizard--success h1{color:var(--cream);font:400 clamp(34px,4vw,56px)/1.15 var(--font-display);letter-spacing:-.025em;text-transform:none;margin:0}.booking-wizard__intro{color:var(--cream-muted);max-width:570px;margin:16px 0 0;font-size:1rem}.booking-wizard__account{border-left:1px solid var(--line);max-width:300px;font:400 .875rem/1.6 var(--font-ui);flex-shrink:0;gap:7px;padding:4px 0 4px 24px;display:grid}.booking-wizard__account>span{color:var(--cream-muted)}.booking-wizard__account strong{color:var(--cream);overflow-wrap:anywhere;font-weight:600}.booking-wizard__account a{color:var(--gold);align-items:center;gap:24px;min-height:44px;font-weight:600;display:inline-flex}.booking-wizard__progress{margin:0 0 30px}.booking-wizard__progress ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.booking-wizard__progress button{border:0;border-bottom:1px solid var(--line);color:#b0b5ad;text-align:left;width:100%;min-height:62px;font:500 .9375rem/1.4 var(--font-ui);cursor:pointer;background:0 0;align-items:center;gap:12px;padding:12px 0;display:flex}.booking-wizard__progress button>span{border:1px solid #d0b28145;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.75rem;display:grid}.booking-wizard__progress .is-current button{color:var(--cream);border-bottom-color:var(--gold)}.booking-wizard__progress .is-current button>span{background:var(--gold);color:var(--ink);border-color:var(--gold)}.booking-wizard__progress .is-complete button{color:var(--gold)}.booking-wizard__progress button:disabled{color:#9baba1;cursor:default}.booking-wizard__workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;display:grid}.booking-wizard__form{background:var(--cream);min-width:0;color:var(--ink);border-radius:16px;margin:0;padding:34px;scroll-margin-top:90px}.booking-wizard__stage{border:0;min-width:0;margin:0;padding:0}.booking-wizard__stage>legend{width:100%;color:var(--ink);font:600 clamp(22px,2vw,28px)/1.35 var(--font-ui);letter-spacing:-.04em;margin:0 0 12px;padding:0}.booking-wizard__stage>legend:focus{outline:none}.booking-wizard__stage-copy{color:#636960;font:400 1rem/1.7 var(--font-ui);margin:0 0 25px}.booking-wizard__services{gap:12px;display:grid}.booking-service{cursor:pointer;background:#fff6;border:1px solid #233f2e29;border-radius:10px;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:20px;min-height:115px;padding:22px;transition:background .2s,border-color .2s,box-shadow .2s;display:grid;position:relative}.booking-service__number{display:none}.booking-service input,.booking-slot input,.booking-wizard__balance input{clip-path:inset(50%);width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.booking-service__body{gap:7px;display:grid}.booking-service__body strong{color:var(--ink);font:700 1.0625rem/1.4 var(--font-ui);letter-spacing:-.025em}.booking-service__description{color:#62685e;font-size:.875rem;line-height:1.6}.booking-service__body small{color:#6b593d;font:600 .8125rem/1.5 var(--font-ui)}.booking-service__check{color:#0000;width:24px;height:24px;font:700 1rem/1 var(--font-ui);background:#fff9;border:1px solid #879280;border-radius:6px;place-items:center;display:grid}.booking-service:hover{background:#fff9;border-color:#718b77}.booking-service.is-selected{background:#e0e8dc;border-color:#315b49;box-shadow:inset 0 0 0 1px #315b4940}.booking-service.is-selected .booking-service__check{border-color:var(--teal);background:var(--teal);color:var(--cream)}.booking-wizard__selection-note{border-bottom:1px solid #233f2e29;flex-wrap:wrap;justify-content:space-between;gap:6px 15px;margin-top:20px;padding:16px 0;font-size:.875rem;display:flex}.booking-wizard__selection-note>span{color:#616c5c}.booking-wizard__selection-note>strong{font-weight:600}.booking-wizard__schedule-grid{grid-template-columns:1fr;gap:26px;display:grid}.booking-calendar{background:#fff6;border:1px solid #233f2e29;border-radius:12px;padding:22px}.booking-calendar__header{grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:18px;display:grid}.booking-calendar__month{color:var(--ink);text-align:center;font:600 1rem/1.5 var(--font-ui);text-transform:capitalize}.booking-calendar__nav{width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff7;border:1px solid #233f2e30;border-radius:8px}.booking-calendar__nav:disabled{opacity:.35;cursor:not-allowed}.booking-calendar__weekdays,.booking-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.booking-calendar__weekdays{margin-bottom:8px}.booking-calendar__weekdays>span{color:#6a7366;text-align:center;padding-block:8px;font-size:.8125rem}.booking-calendar__day{min-height:46px;color:var(--ink);font:500 1rem/1 var(--font-ui);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;position:relative}.booking-calendar__day:hover:not(:disabled){background:#d8e1d3}.booking-calendar__day.is-today{border-color:#758d78}.booking-calendar__day.is-selected{background:var(--teal);color:var(--cream);border-color:var(--teal)}.booking-calendar__day.is-selected:hover:not(:disabled){background:var(--teal);color:var(--cream)}.booking-calendar__day:disabled{color:#afb1a6;cursor:not-allowed;text-decoration:line-through}.booking-wizard__times{min-width:0}.booking-wizard__times-header{gap:7px;margin-bottom:18px;display:grid}.booking-wizard__times-header>span{color:#697060;letter-spacing:.04em;font-size:.75rem}.booking-wizard__times-header strong{font:600 1rem/1.5 var(--font-ui);text-transform:capitalize}.booking-wizard__empty,.booking-wizard__loading{color:#606a5b;background:#fff4;border:1px dashed #768d754d;border-radius:10px;margin:0;padding:20px;font-size:1rem;line-height:1.7}.booking-wizard__slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.booking-slot{cursor:pointer;background:#fff6;border:1px solid #233f2e35;border-radius:9px;justify-items:center;gap:5px;min-height:76px;padding:15px 10px;display:grid;position:relative}.booking-slot strong{font:600 1rem/1.4 var(--font-ui)}.booking-slot span{color:#52674e;font-size:.75rem}.booking-slot.is-selected{border-color:var(--teal);background:var(--teal);color:var(--cream)}.booking-slot.is-selected span{color:#d1decc}.booking-slot--booked,.booking-slot--blocked,.booking-slot--too_soon{color:#868b7f;cursor:not-allowed;background:#dddcd2;border-color:#0000}.booking-slot--booked span,.booking-slot--blocked span,.booking-slot--too_soon span{color:#737b6d}.booking-wizard__api-error,.booking-wizard__error{color:#8d3823;background:#f7e2d5;border:1px solid #aa674652;border-radius:9px;padding:16px 18px;font-size:.9375rem;line-height:1.6}.booking-wizard__api-error p{margin:0 0 12px}.booking-wizard__api-error button{color:#71351e;cursor:pointer;background:#fff7;border:1px solid #aa674680;border-radius:6px;min-height:44px;padding:8px 14px}.booking-wizard__fields{grid-template-columns:1fr 1fr;gap:22px;display:grid}.booking-field{align-content:start;gap:8px;min-width:0;display:grid}.booking-field--wide{grid-column:1/-1}.booking-field>span{color:#394936;font:600 .875rem/1.5 var(--font-ui)}.booking-field input,.booking-field select,.booking-field textarea{width:100%;min-width:0;min-height:52px;color:var(--ink);font:400 1rem/1.5 var(--font-ui);background:#fffc;border:1px solid #233f2e35;border-radius:8px;outline:none;padding:12px 14px;display:block}.booking-field textarea{resize:vertical;min-height:120px}.booking-field input::placeholder,.booking-field textarea::placeholder{color:#808779}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:#375d49;box-shadow:0 0 0 3px #375d491c}.booking-field>small{color:#747b6f;justify-self:end;font-size:.75rem}.booking-wizard__review{gap:20px;display:grid}.booking-wizard__review-main{background:#fff6;border:1px solid #233f2e29;border-radius:10px;padding:22px}.booking-wizard__review-main section{border-bottom:1px solid #233f2e20;padding-block:18px}.booking-wizard__review-main section:first-child{padding-top:0}.booking-wizard__review-main section:last-child{border:0;padding-bottom:0}.booking-wizard__review-main section>span,.booking-wizard__deposit>span{color:#696e61;letter-spacing:.06em;margin-bottom:9px;font-size:.75rem;display:block}.booking-wizard__review ul{margin:0;padding-left:18px}.booking-wizard__review li{margin-top:8px}.booking-wizard__review-main section>strong{font-size:1rem;font-weight:600;display:block}.booking-wizard__review-main section>p{color:#606a58;overflow-wrap:anywhere;margin:8px 0 0}.booking-wizard__deposit{background:var(--teal);color:var(--cream);border-radius:10px;padding:25px}.booking-wizard__deposit>span{color:var(--gold)}.booking-wizard__deposit strong{font:400 52px/1.2 var(--font-display);display:block}.booking-wizard__deposit p{color:#cedace;margin:10px 0 0;font-size:.9375rem;line-height:1.65}.booking-wizard__balance{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;margin:26px 0;padding:0;display:grid}.booking-wizard__balance legend{margin-bottom:15px;font-size:1rem;font-weight:600}.booking-wizard__balance label{cursor:pointer;border:1px solid #233f2e35;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:14px;font-size:.875rem;display:flex;position:relative}.booking-wizard__balance label i{color:#0000;font-style:normal}.booking-wizard__balance label.is-selected{background:#dce6d7;border-color:#375d49}.booking-wizard__balance label.is-selected i{color:#375d49}.booking-wizard__auth-gate{background:#e2e6da;border:1px solid #233f2e35;border-radius:10px;flex-wrap:wrap;gap:14px 22px;padding:22px;display:flex}.booking-wizard__auth-gate>div{gap:7px;width:100%;display:grid}.booking-wizard__auth-gate strong{font-size:1rem}.booking-wizard__auth-gate span{color:#63705b;font-size:.9375rem}.booking-wizard__auth-gate>a{color:#254a34;border:1px solid #375d4980;border-radius:6px;align-items:center;min-height:46px;padding:10px 18px;font-size:.875rem;font-weight:600;display:inline-flex}.booking-wizard__auth-gate>a:last-child{background:var(--teal);color:var(--cream);border-color:var(--teal)}.booking-wizard__actions{border-top:1px solid #233f2e29;justify-content:space-between;align-items:center;gap:18px;margin-top:28px;padding-top:22px;display:flex}.booking-wizard__step-count{color:#757969;font-size:.875rem}.booking-wizard__primary,.booking-wizard__secondary{min-height:54px;font:600 .9375rem/1.4 var(--font-ui);cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:26px;padding:14px 24px;transition:background .2s,transform .2s;display:inline-flex}.booking-wizard__primary{color:var(--ink);background:var(--gold);border-color:#b89a66}.booking-wizard__primary:hover:not(:disabled){background:#ddc393;transform:translateY(-1px)}.booking-wizard__secondary{color:#39583c;background:0 0;border-color:#375d494d}.booking-wizard__secondary:hover{background:#dce3d5}.booking-wizard__primary:disabled,.booking-wizard__secondary:disabled{opacity:.55;cursor:wait}.booking-summary{border:1px solid var(--line);color:var(--cream);background:var(--teal);border-radius:16px;padding:28px;position:sticky;top:95px}.booking-summary h3{font:400 34px/1.2 var(--font-display);letter-spacing:-.02em;margin:0 0 24px}.booking-summary>ul{margin:0 0 24px;padding:0;font-size:.9375rem;list-style:none}.booking-summary>ul li{border-bottom:1px solid #efe9de20;padding:10px 0}.booking-summary__empty{color:#c0cec5;margin-bottom:24px;font-size:.9375rem;line-height:1.8}.booking-summary dl{margin:0}.booking-summary dl>div{margin-top:20px}.booking-summary dt{color:#b9c6b9;margin-bottom:7px;font-size:.8125rem}.booking-summary dd{margin:0;font-size:.9375rem}.booking-summary__note{color:#b9c6b9;border-top:1px solid #efe9de29;margin:26px 0 18px;padding-top:22px;font-size:.8125rem;line-height:1.85}.booking-summary>a{min-height:46px;color:var(--gold);align-items:center;gap:18px;font-size:.875rem;display:inline-flex}.booking-wizard--success{border:1px solid var(--line);background:var(--teal);text-align:center;border-radius:18px;max-width:720px;padding:48px}.booking-wizard__success-mark{border:1px solid var(--gold);width:64px;height:64px;color:var(--gold);border-radius:50%;place-items:center;margin:0 auto 24px;font-size:1.8rem;display:grid}.booking-wizard--success>p:not(.booking-wizard__eyebrow){color:#cfdbd0;font-size:1rem;line-height:1.8}.booking-wizard__reference{border:1px solid var(--line);border-radius:9px;margin:25px 0;padding:20px}.booking-wizard__reference dt{color:var(--cream-muted);font-size:.875rem}.booking-wizard__reference dd{overflow-wrap:anywhere;margin:8px 0 0}.booking-wizard__restored{color:var(--cream);background:#18383a;border:1px solid #ccb17e55;border-radius:10px;margin:0 0 24px;padding:16px 20px;font-size:1rem;line-height:1.6}.booking-wizard__review-main section{overflow-wrap:anywhere;position:relative}.booking-wizard__edit{color:#315b52;min-height:44px;font:600 .875rem/1.5 var(--font-ui);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:3px 0 6px;padding:0;text-decoration:underline;display:block}.booking-wizard__edit:hover{color:#8a472d}.booking-wizard__edit:disabled{opacity:.5;cursor:wait}.booking-field input[readonly]{color:#46584d;cursor:default;background:#e4e7de}.booking-field :where(input,select,textarea):user-invalid{border-color:#9c4633;box-shadow:0 0 0 2px #9c463315}.booking-field :where(input,select,textarea){transition:border-color .2s,box-shadow .2s}.booking-wizard__error,.booking-wizard__api-error{overflow-wrap:anywhere;border-radius:9px}.booking-calendar__day,.booking-slot strong{font-variant-numeric:tabular-nums}.booking-wizard__times-header strong{text-transform:none}.booking-wizard__account strong,.booking-summary dd{overflow-wrap:anywhere}.booking-wizard :where(button,a,input,select,textarea):focus-visible{outline-offset:4px;outline:2px solid #997b49}.booking-service:has(input:focus-visible){outline-offset:3px;outline:2px solid #375d49}.booking-slot:has(input:focus-visible){outline-offset:3px;outline:2px solid #375d49}.booking-wizard__balance label:has(input:focus-visible){outline-offset:3px;outline:2px solid #375d49}@media (max-width:1040px){.booking-wizard__workspace{grid-template-columns:minmax(0,1fr)}.booking-summary{display:none}.booking-wizard__form{padding:30px}.booking-wizard__schedule-grid{grid-template-columns:1fr 1fr;gap:24px}.booking-wizard__slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.booking-page{padding:calc(105px + env(safe-area-inset-top,0px)) 18px 45px}.booking-wizard__header{margin-bottom:20px;display:block}.booking-wizard__header h1{font-size:clamp(32px,7.7vw,46px)}.booking-wizard__intro{margin-top:13px;font-size:.9375rem}.booking-wizard__account{border:0;flex-wrap:wrap;align-items:center;gap:4px 18px;max-width:none;margin-top:12px;padding:9px 0 0;display:flex}.booking-wizard__account a{min-height:44px}.booking-wizard__progress{margin-bottom:22px}.booking-wizard__progress ol{gap:8px}.booking-wizard__progress button{letter-spacing:-.025em;flex-direction:column;justify-content:start;align-items:start;gap:10px;min-height:84px;padding:8px 0 14px;font-size:.875rem}.booking-wizard__progress button>span{width:29px;height:29px}.booking-wizard__form{border-radius:13px;padding:24px 20px 0}.booking-wizard__stage>legend{font-size:22px}.booking-wizard__stage-copy{margin-bottom:20px;font-size:.9375rem}.booking-service{gap:13px;min-height:0;padding:18px 15px}.booking-service__body strong{font-size:1rem}.booking-service__description{font-size:.875rem}.booking-wizard__schedule-grid,.booking-wizard__fields{grid-template-columns:1fr}.booking-calendar{padding:14px 10px}.booking-calendar__grid,.booking-calendar__weekdays{gap:2px}.booking-calendar__day{min-height:44px}.booking-wizard__slots{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-wizard__balance{grid-template-columns:1fr}.booking-wizard__review-main,.booking-wizard__deposit,.booking-wizard__auth-gate{padding:18px}.booking-wizard__actions{z-index:3;padding:17px 20px calc(17px + env(safe-area-inset-bottom,0px));background:var(--cream);border-radius:0 0 13px 13px;margin-inline:-20px;position:sticky;bottom:0;box-shadow:0 -8px 18px #11171608}.booking-wizard__primary,.booking-wizard__secondary{gap:16px;padding:13px 18px}.booking-wizard--success{padding:32px 22px}}@media (max-width:360px){.booking-page{padding-inline:12px}.booking-wizard__form{padding-inline:16px}.booking-wizard__actions{margin-inline:-16px;padding-inline:16px}.booking-wizard__progress ol{gap:6px}.booking-wizard__progress button{font-size:.8125rem}.booking-wizard__slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.booking-wizard *{scroll-behavior:auto!important;transition:none!important}}
