:root{--booking-bg:#000;--booking-panel:#101012;--booking-panel-raised:#1c1c1e;--booking-line:#303035;--booking-text:#f5f5f7;--booking-secondary:#c7c9c8;--booking-muted:#6e6e73;--booking-blue:#1950d1;--booking-orange:#e05e12}.booking-page{background:var(--booking-bg);color:var(--booking-text);font-family:Inter,system-ui,sans-serif}.booking-page .site-header{top:18px}.booking-main{padding-top:clamp(118px,12vw,154px);padding-bottom:96px}.booking-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:30px}.booking-intro .section-label{color:#8ba9ec;margin:0 0 12px}.booking-intro h1{font:600 clamp(2.55rem,5vw,4.5rem)/.98 'General Sans',sans-serif;letter-spacing:-.065em;margin:0;color:var(--booking-text)}.booking-intro>div>p:last-child{max-width:600px;margin:14px 0 0;color:var(--booking-secondary);font-size:15px;line-height:1.6}.booking-trust{display:flex;align-items:center;gap:9px;margin:0 0 6px;color:#a6a6ac;font-size:11px;white-space:nowrap}.booking-trust>span{width:7px;height:7px;border-radius:50%;background:var(--booking-blue);box-shadow:0 0 0 5px #1950d122}.booking-app{display:grid;grid-template-columns:minmax(0,1fr) 330px;border:1px solid var(--booking-line);border-radius:16px;background:var(--booking-panel);box-shadow:0 30px 90px #0009;overflow:visible}.booking-workspace{min-width:0}.booking-steps{display:grid;grid-template-columns:repeat(4,1fr);height:auto;min-height:68px;padding:0 28px;border-bottom:1px solid var(--booking-line);background:#0c0c0e}.booking-steps span{position:relative;display:flex;align-items:center;gap:9px;color:#77777e;font-size:11px}.booking-steps span:not(:last-child):after{content:'';position:absolute;right:16px;width:34%;height:1px;background:#2b2b30}.booking-steps i{font-style:normal;font-size:9px;letter-spacing:.08em}.booking-steps b{font-weight:600}.booking-steps span.active{color:var(--booking-text)}.booking-steps span.active i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--booking-blue);color:#fff}.booking-page .service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 28px 0;border:0;background:transparent}.booking-page .service-row{min-height:104px;border:1px solid var(--booking-line);border-radius:13px;background:#151517;display:grid;grid-template-columns:1fr auto;gap:10px;padding:17px 18px;text-decoration:none;color:var(--booking-text);transition:border-color .16s,background .16s,transform .16s}.booking-page .service-row:hover{border-color:#4a4a52;transform:translateY(-1px)}.booking-page .service-row.selected{border-color:var(--booking-blue);background:#131a2b;box-shadow:inset 0 0 0 1px #1950d155}.service-row .service-no,.service-row .service-arrow{display:none}.service-row>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.service-row strong{font:600 16px/1.2 'General Sans',sans-serif;letter-spacing:-.025em}.service-row small{display:block;margin-top:6px;color:#929299;font-size:11px}.service-rate{align-self:end;text-align:right;color:var(--booking-text);font-size:12px;font-weight:600}.service-rate small{color:var(--booking-muted);font-weight:500}.booking-page #booking-content{padding:34px 28px 36px;min-height:470px}.booking-page #booking-content h3{font:600 clamp(1.8rem,3.5vw,2.65rem)/1.05 'General Sans',sans-serif;letter-spacing:-.05em;margin:10px 0;color:var(--booking-text)}.booking-page .form-kicker,.booking-page .time-title{color:#8ba9ec;font-size:9px;letter-spacing:.14em;font-weight:700}.booking-page .form-description{color:#aaaab1;line-height:1.55;margin:0 0 24px;max-width:650px}.booking-page #service-select,.booking-page #booking-date,.booking-page .field-grid input{width:100%;min-height:46px;border:1px solid #393940;border-radius:11px;background:var(--booking-panel-raised);color:var(--booking-text);padding:11px 13px;font:inherit}.booking-page #service-select:focus-visible,.booking-page #booking-date:focus-visible,.booking-page .field-grid input:focus-visible{outline:2px solid var(--booking-blue);outline-offset:2px}.booking-page #booking-content>label,.booking-page .field-grid label{display:flex;flex-direction:column;gap:7px;color:var(--booking-secondary);font-size:11px;font-weight:600}.booking-page #service-select{margin:0 0 18px}.duration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.booking-page .duration-option{min-height:82px;display:flex;align-items:flex-end;justify-content:space-between;border:1px solid var(--booking-line);border-radius:12px;background:var(--booking-panel-raised);color:var(--booking-text);padding:13px;text-align:left}.booking-page .duration-option:hover,.booking-page .day-option:hover,.booking-page .time-option:hover{border-color:#5a5a63}.booking-page .duration-option.selected,.booking-page .day-option.selected,.booking-page .time-option.selected{border-color:var(--booking-blue);background:#16213b;box-shadow:inset 0 0 0 1px #1950d155}.booking-page .duration-option strong{font:600 25px 'General Sans',sans-serif}.booking-page .duration-option strong small{display:block;color:#9c9ca4;font:600 9px Inter,sans-serif;letter-spacing:.08em}.booking-page .duration-option>span{color:var(--booking-secondary);font-size:12px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 14px}.calendar-toolbar strong{font:600 15px 'General Sans',sans-serif}.calendar-actions{display:flex;gap:6px}.calendar-action{min-width:36px;height:34px;border:1px solid #393940;border-radius:9px;background:var(--booking-panel-raised);color:var(--booking-text);cursor:pointer}.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--booking-line);border-left:1px solid var(--booking-line);border-radius:10px;overflow:hidden}.calendar-weekday{padding:8px 5px;border-right:1px solid var(--booking-line);border-bottom:1px solid var(--booking-line);color:#777780;text-align:center;font-size:9px;font-weight:700;text-transform:uppercase}.calendar-day{position:relative;min-height:58px;border:0;border-right:1px solid var(--booking-line);border-bottom:1px solid var(--booking-line);background:#141416;color:var(--booking-text);padding:8px;text-align:left;cursor:pointer}.calendar-day:hover:not(:disabled){background:#1b1b1f}.calendar-day:disabled,.calendar-day.is-outside{background:#0c0c0e;color:#45454b;cursor:not-allowed}.calendar-day.is-today:before{content:'';position:absolute;top:7px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--booking-blue)}.calendar-day.selected{background:#16213b;box-shadow:inset 0 0 0 1px var(--booking-blue)}.calendar-day b{display:block;font-size:11px}.calendar-day small{display:block;margin-top:10px;color:#777780;font-size:8px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}.calendar-day.available small{color:#8ba9ec}.calendar-day.limited small{color:#ef9d6f}.calendar-day.sold-out small,.calendar-day.closed small{color:#777780}.calendar-legend{display:flex;flex-wrap:wrap;gap:13px;margin:12px 0 20px;color:#8c8c93;font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:6px;height:6px;border-radius:50%;background:#777780}.calendar-legend .available i{background:var(--booking-blue)}.calendar-legend .limited i{background:var(--booking-orange)}.time-panel{border-top:1px solid var(--booking-line);padding-top:18px}.time-title{margin:0 0 11px}.time-grid{display:flex;flex-wrap:wrap;gap:8px}.booking-page .time-option{border:1px solid var(--booking-line);border-radius:9px;background:var(--booking-panel-raised);color:var(--booking-text);padding:10px 13px;font-size:11px;font-weight:600}.booking-page .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.booking-page .field-grid label:first-child,.booking-page .field-grid label:nth-child(3),.booking-page .field-grid label:nth-child(4){grid-column:auto}.booking-page .policy-consent{display:flex;flex-direction:row!important;align-items:flex-start;gap:10px;color:#aaaab1;font-size:11px;line-height:1.5;margin:17px 0}.booking-page .policy-consent input{width:auto;min-height:auto;margin-top:3px;accent-color:var(--booking-blue)}.booking-page .policy-consent a{color:#a9bff1}.booking-page .review-card{border:1px solid var(--booking-line);border-radius:12px;background:var(--booking-panel-raised);padding:5px 17px}.booking-page .review-card>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--booking-line);padding:13px 0}.booking-page .review-card>div:last-child{border-bottom:0}.booking-page .review-card span{color:#898990;font-size:9px;letter-spacing:.1em}.booking-page .review-card strong{text-align:right;color:var(--booking-text);font-size:12px}.booking-page .review-card .review-total strong{font-size:18px}.booking-page .form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px}.booking-page .form-footer>p{max-width:390px;color:#85858d;font-size:10px;line-height:1.5}.booking-page .button-primary{min-height:45px;border:1px solid var(--booking-blue);border-radius:11px;background:var(--booking-blue);color:#fff;padding:0 18px;font-weight:600;cursor:pointer}.booking-page .button-primary:hover:not(:disabled){background:#1646b8}.booking-page .button-primary:disabled{opacity:.45;cursor:not-allowed}.booking-page .back-link{border:0;background:transparent;color:#a9bff1;padding:10px 0;cursor:pointer}.booking-page .booking-summary{position:sticky;top:116px;align-self:start;min-height:560px;border-left:1px solid var(--booking-line);border-radius:0 16px 16px 0;background:#0d0d0f;padding:26px 24px;display:flex;flex-direction:column}.summary-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--booking-line);padding-bottom:17px}.summary-label{margin:0;color:#8ba9ec;font-size:9px;letter-spacing:.15em;font-weight:700}.summary-head>span{border:1px solid #34343a;border-radius:8px;padding:5px 7px;color:#9b9ba2;font-size:9px}.summary-lines{display:grid;gap:17px;margin-top:24px}.summary-lines>div,.summary-total{display:flex;justify-content:space-between;gap:18px}.summary-lines span,.summary-total span{color:#85858d;font-size:10px}.summary-lines strong{max-width:165px;color:var(--booking-text);font-size:11px;text-align:right}.summary-total{align-items:end;border-top:1px solid var(--booking-line);margin-top:auto;padding-top:19px}.summary-total strong{font:600 24px 'General Sans',sans-serif}.summary-authorization{display:flex;align-items:flex-start;gap:9px;margin-top:18px}.summary-authorization>span{display:grid;place-items:center;width:18px;height:18px;border:1px solid #3e4f78;border-radius:50%;color:#9db8f4;font-size:10px;flex:0 0 auto}.summary-note{margin:0;color:#8e8e95;font-size:9px;line-height:1.55}.booking-page .not-live{display:flex;gap:11px;border:1px solid #5e3928;background:#e05e120b;border-radius:10px;padding:14px;color:#d7b19b;font-size:11px}.booking-page .not-live p{margin:0}.booking-page .form-error{color:#ffb28a;font-size:11px}.booking-page .site-footer{min-height:auto;padding:34px 0;border-top:1px solid var(--booking-line)}.booking-page .footer-bottom{display:flex;justify-content:space-between;gap:20px;color:#85858d;font-size:11px}.booking-page .footer-bottom div{display:flex;gap:16px}.booking-page .preview-bar[hidden]{display:none}
@media(max-width:920px){.booking-intro{align-items:flex-start;flex-direction:column;gap:15px}.booking-app{grid-template-columns:1fr}.booking-summary{position:static!important;min-height:0!important;border-left:0!important;border-top:1px solid var(--booking-line);border-radius:0 0 16px 16px!important}.summary-total{margin-top:28px}.booking-trust{white-space:normal}.booking-page .service-list{margin-inline:20px}.booking-page #booking-content{padding-inline:20px}}
@media(max-width:640px){.booking-page .site-header{top:10px}.booking-main{padding-top:108px;padding-bottom:62px}.booking-intro h1{font-size:2.55rem}.booking-steps{padding:0 13px}.booking-steps span{justify-content:center}.booking-steps span:not(:last-child):after{display:none}.booking-steps b{display:none}.booking-page .service-list{grid-template-columns:1fr;margin-top:16px}.booking-page .service-row{min-height:84px}.duration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-page .field-grid{grid-template-columns:1fr}.booking-calendar{min-width:0}.calendar-day{min-height:49px;padding:6px}.calendar-day small{font-size:0;margin-top:9px}.calendar-day small:before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:currentColor}.calendar-toolbar{align-items:flex-start}.booking-page .form-footer{align-items:stretch;flex-direction:column-reverse}.booking-page .button-primary{width:100%}.booking-page .footer-bottom{display:block}.booking-page .footer-bottom div{margin-top:12px;flex-wrap:wrap}}
/* V1 launch refinement */
.booking-page{background:radial-gradient(850px circle at 82% 4%,rgba(25,80,209,.11),transparent 43%),#050506}
.booking-main{max-width:1380px}.booking-intro{margin-bottom:36px}.booking-intro h1{max-width:680px}.booking-app{border-radius:20px;background:rgba(16,16,18,.94);box-shadow:0 34px 110px #000b,inset 0 1px #ffffff06}.booking-steps{border-radius:20px 0 0;background:#0b0b0e}.booking-page .service-row{border-radius:15px;background:linear-gradient(145deg,#17171a,#121214)}.booking-page .service-row.selected{background:linear-gradient(145deg,#182344,#111827)}.booking-page #booking-content{padding-top:40px}.booking-calendar{border-radius:13px}.calendar-day{min-height:64px;transition:background .18s,box-shadow .18s}.calendar-day.available:hover:not(:disabled){background:#17213a}.booking-page .time-option,.booking-page .duration-option{transition:transform .16s,border-color .16s,background .16s}.booking-page .time-option:hover,.booking-page .duration-option:hover{transform:translateY(-1px)}.booking-page .booking-summary{top:110px;min-height:590px;border-radius:0 20px 20px 0;background:linear-gradient(160deg,#10182a,#0b0b0e 58%)}.summary-head>span{background:#17171b}.summary-total strong{color:#fff}.summary-authorization{padding:13px;border:1px solid #283650;border-radius:12px;background:#1950d10a}.booking-page .button-primary{border-radius:12px;box-shadow:0 10px 30px rgba(25,80,209,.22)}
@media(max-width:920px){.booking-steps{border-radius:20px 20px 0 0}.booking-page .booking-summary{border-radius:0 0 20px 20px!important}}

@media(max-width:640px){
  .booking-page .site-header,.booking-page .site-header.scrolled{top:8px}
  .booking-main{width:calc(100vw - 24px);padding-top:58px;padding-bottom:54px}
  .booking-intro{gap:10px;margin-bottom:20px}.booking-intro h1{font-size:clamp(2.35rem,12vw,3.25rem)}.booking-intro>div>p:last-child{font-size:14px}.booking-trust{font-size:10px}
  .booking-app{border-radius:16px}.booking-steps{min-height:58px;padding:0 8px;border-radius:16px 16px 0 0}.booking-steps span{min-width:44px;min-height:44px}.booking-steps span.active i{width:27px;height:27px}
  .booking-page .service-list{margin:12px 12px 0;gap:8px}.booking-page .service-row{min-height:78px;padding:14px;border-radius:12px}.service-row strong{font-size:15px}
  .booking-page #booking-content{min-height:0;padding:28px 12px 30px}.booking-page #booking-content h3{font-size:clamp(1.8rem,9vw,2.35rem)}.booking-page .form-description{margin-bottom:18px;font-size:13px}
  .duration-grid{gap:8px}.booking-page .duration-option{min-height:74px;padding:11px}.booking-page .duration-option strong{font-size:21px}
  .calendar-toolbar{align-items:center}.calendar-action{min-width:44px;height:44px}.booking-calendar{border-radius:10px}.calendar-weekday{padding:7px 2px;font-size:8px}.calendar-day{min-height:48px;padding:6px 4px}.calendar-day b{font-size:11px}.calendar-day.is-today:before{top:5px;right:5px}
  .time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.booking-page .time-option{min-height:44px;padding:9px 6px;text-align:center}
  .booking-page #service-select,.booking-page #booking-date,.booking-page .field-grid input{min-height:50px;font-size:16px}
  .booking-page .policy-consent{min-height:44px;align-items:center}.booking-page .policy-consent input{width:20px;height:20px;flex:0 0 20px}
  .booking-page .review-card{padding-inline:13px}.booking-page .review-card>div{padding:12px 0}.booking-page .review-card strong{max-width:62%}
  .booking-page .button-primary{min-height:50px;border-radius:12px}.booking-page .back-link{min-height:44px}
  .booking-page .booking-summary{padding:22px 17px;background:linear-gradient(155deg,#10182a,#0b0b0e 64%)}.summary-lines{grid-template-columns:1fr 1fr;gap:15px 18px}.summary-lines>div{display:block}.summary-lines strong{display:block;max-width:none;margin-top:4px;text-align:left}.summary-total{margin-top:22px}.summary-authorization{margin-top:15px}
}

@media(max-width:360px){
  .booking-main{width:calc(100vw - 16px)}
  .booking-steps{padding-inline:4px}.booking-page .service-list,.booking-page #booking-content{margin-inline:0}
  .duration-grid{grid-template-columns:1fr 1fr}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calendar-day{min-height:45px}.calendar-weekday{font-size:7px}
}
