.booking-heading{padding:clamp(48px,9vw,120px) 0 clamp(32px,5vw,56px)}.booking-heading .lede{margin-top:24px}.booking-picker,.booking-form-card{border:1px solid var(--line);background:var(--graphite);border-radius:6px;padding:clamp(20px,3.4vw,40px)}label,.booking-summary-kicker{color:var(--stone);font-size:var(--step-0);margin-bottom:8px;display:block}select,input,textarea{border:1px solid var(--line);background:var(--black);width:100%;min-height:50px;color:var(--ivory);font:400 17px/1.4 var(--text-font);border-radius:6px;padding:0 16px}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--stone) 50%), linear-gradient(135deg, var(--stone) 50%, transparent 50%);background-position:calc(100% - 22px) 22px,calc(100% - 16px) 22px;background-repeat:no-repeat;background-size:6px 6px;padding-right:44px}textarea{resize:vertical;min-height:110px;padding:14px 16px}input[readonly]{color:var(--stone);border-style:dashed}select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.booking-service-row{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding-bottom:28px;display:grid}.booking-pro-field[hidden]{display:none}.booking-picker-head{justify-content:space-between;align-items:center;gap:16px;margin:28px 0 18px;display:flex}.booking-week-nav{align-items:center;gap:12px;display:flex}.booking-calendar-range{min-width:220px;font-family:var(--display-font);letter-spacing:-.03em;text-align:center;font-size:22px;font-weight:800}.booking-range-short{display:none}.booking-week-arrow,#booking-today{border:1px solid var(--line);height:44px;color:var(--ivory);font:500 15px/1 var(--text-font);cursor:pointer;background:0 0;border-radius:999px;transition:border-color .2s}.booking-week-arrow{width:44px;font-size:22px}#booking-today{padding:0 18px}.booking-week-arrow:hover:not(:disabled),#booking-today:hover{border-color:var(--ivory)}.booking-week-arrow:disabled{opacity:.3;cursor:default}.booking-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.booking-day{border:1px solid var(--line);background:var(--black);color:var(--ivory);font:inherit;cursor:pointer;transition:border-color .2s, background .25s var(--ease), color .25s;border-radius:6px;justify-items:center;gap:2px;padding:12px 4px;display:grid}.booking-day:hover:not(:disabled){border-color:var(--stone)}.booking-day:disabled{cursor:default;opacity:.45}.booking-day-name{color:var(--stone);font-size:12px}.booking-day-number{font-family:var(--display-font);letter-spacing:-.03em;font-size:26px;font-weight:800;line-height:1.1}.booking-day-free{color:var(--stone);font-size:12px}.booking-day-free strong{color:var(--ivory)}.booking-day.selected{border-color:var(--gold);background:var(--gold);color:var(--black)}.booking-day.selected .booking-day-name,.booking-day.selected .booking-day-free,.booking-day.selected .booking-day-free strong{color:var(--black)}.booking-selected-message{color:var(--stone);font-size:var(--step-0);margin-top:20px}.booking-selected-message:empty{display:none}.booking-times:not(:empty){border-top:1px solid var(--line);margin-top:28px}.booking-times-title{font-size:var(--step-2);margin:28px 0 0}.booking-times-group h3{color:var(--stone);font:400 var(--step-0)/1.4 var(--text-font);letter-spacing:0;margin:22px 0 10px}.booking-times-list{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.booking-slot{border:1px solid var(--line);height:48px;color:var(--ivory);font:500 16px/1 var(--text-font);cursor:pointer;transition:border-color .2s, background .25s var(--ease), color .25s, transform .15s;background:0 0;border-radius:999px}.booking-slot:hover:not(:disabled){border-color:var(--ivory)}.booking-slot:active:not(:disabled){transform:scale(.96)}.booking-slot:disabled{opacity:.3;cursor:default;text-decoration:line-through}.booking-slot.selected{border-color:var(--gold);background:var(--gold);color:var(--black)}.booking-summary{z-index:5;border:1px solid var(--line);backdrop-filter:blur(10px);background:#000000eb;border-radius:999px;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding:14px 14px 14px 22px;display:flex;position:sticky;bottom:12px}.booking-summary[hidden]{display:none}.booking-summary p{min-width:0;margin:0}.booking-summary-kicker{margin:0;font-size:12px}#booking-summary-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}#booking-continue{background:var(--gold);min-height:46px;color:var(--black);font:600 16px/1 var(--text-font);cursor:pointer;border:0;border-radius:999px;flex:none;padding:0 24px}.booking-form-section{margin-top:24px;scroll-margin-top:90px;display:none}.booking-form-section.visible{display:block}.booking-form-card h2{margin-bottom:28px;font-size:clamp(36px,5vw,56px)}.booking-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.booking-field{min-width:0}.booking-notes{margin-top:18px}.booking-field-error{color:#e8a08a;margin-top:6px;font-size:14px;display:none}.booking-field.booking-invalid input{border-color:#e8a08a}.booking-field.booking-invalid .booking-field-error{display:block}.booking-submit{margin-top:24px}.booking-success{padding:clamp(28px,5vw,56px) 0;display:none}.booking-success.visible{justify-items:start;gap:20px;display:grid}.booking-success-title{font-size:clamp(28px,8.5vw,96px)}.booking-success p{max-width:var(--measure);color:#cfc9bf}@media (width<=860px){.booking-form-grid{grid-template-columns:1fr}}@media (width<=520px){.booking-picker-head{gap:8px}.booking-week-nav{flex:1;justify-content:space-between;gap:6px}.booking-calendar-range{min-width:0;font-size:15px}.booking-range-long{display:none}.booking-range-short{display:inline}.booking-days{gap:4px}.booking-day{padding:8px 0}.booking-day-number{font-size:20px}.booking-day-free-word{display:none}.booking-day-none{font-size:0}.booking-day-none:after{content:attr(data-short);font-size:9px;line-height:1.15;display:block}.booking-summary{border-radius:18px}}
