.customer-page{--c-bg:#f5f7f2;--c-ink:#101411;--c-muted:#667068;--c-line:#dce2dc;--c-green:#14762f;--c-green-bright:#14762f;--c-green-soft:#eef6d6;min-height:100vh;background:radial-gradient(circle at 82% 8%,rgba(52,208,88,.13),transparent 28rem),linear-gradient(180deg,#fbfcfa,var(--c-bg));color:var(--c-ink)}.customer-page button,.customer-page input{font:inherit}.customer-page button:focus-visible,.customer-page input:focus-visible{outline:3px solid rgba(39,179,74,.35);outline-offset:2px}.customer-header{display:flex;align-items:center;justify-content:space-between;min-height:76px;border-bottom:1px solid rgba(16,20,17,.1);background:rgba(255,255,255,.82);padding:0 max(24px,calc((100vw - 1180px) / 2));backdrop-filter:blur(18px)}.customer-brand img{display:block;width:165px;height:auto;filter:brightness(0)}.customer-header-actions{display:flex;align-items:center;gap:20px;color:var(--c-muted);font-size:.76rem}.customer-header-actions a{color:var(--c-ink);font-weight:600;text-decoration:none}.customer-header-actions a:focus-visible,.customer-header-actions a:hover{text-decoration:underline}.customer-header-actions .account-nav,.customer-header-actions button{min-height:38px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:white;padding:0 15px;color:var(--c-ink);cursor:pointer;font-weight:600;display:inline-flex;align-items:center}.customer-header-actions .account-nav:focus-visible,.customer-header-actions .account-nav:hover{text-decoration:none;border-color:var(--c-green)}.booking-hero{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:54px 0 31px;text-align:center}.booking-hero>p:first-child{margin:0 0 8px;color:var(--c-green);font-size:.68rem;font-weight:600;letter-spacing:.01em;text-transform:none}.booking-hero h1{margin:0;color:var(--c-ink);font-size:clamp(2.3rem,5vw,4.6rem);font-weight:600;line-height:.98;letter-spacing:-.06em;text-transform:none}.booking-hero>p:nth-child(3){max-width:650px;margin:14px auto 0;color:var(--c-muted);font-size:.98rem}.flow-progress{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:27px}.flow-progress span{display:flex;align-items:center;gap:7px;color:#98a099;font-size:.68rem;font-weight:600}.flow-progress span b{display:grid;place-items:center;width:23px;height:23px;border:1px solid #ccd3cd;border-radius:50%;background:white;font-size:.62rem}.flow-progress span.active{color:var(--c-ink)}.flow-progress span.active b{border-color:var(--c-green);background:var(--c-green);color:white}.flow-progress i{width:48px;height:1px;background:#ccd3cd}.customer-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;width:min(1180px,calc(100% - 40px));margin:0 auto 70px;align-items:start}.booking-card-main,.booking-summary{min-width:0;width:100%}.booking-card-main,.booking-summary,.confirmation-card,.post-booking-card{border:1px solid var(--c-line);border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 18px 50px rgba(24,40,28,.08)}.booking-card-main{padding:27px}.customer-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.customer-section-heading>div{display:flex;gap:11px}.customer-section-heading>div>span{display:grid;flex:0 0 auto;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--c-green);color:white;font-size:.69rem;font-weight:600}.customer-section-heading p,.payment-heading p{margin:0 0 3px;color:var(--c-green);font-size:.61rem;font-weight:600;letter-spacing:.01em;text-transform:none}.customer-section-heading h2,.payment-heading h2{margin:0;color:var(--c-ink);font-size:1.22rem;letter-spacing:-.025em;text-transform:none}.customer-section-heading>small{margin-top:6px;color:var(--c-muted);font-size:.66rem}.customer-section-heading h2.availability-title{color:var(--c-green)}.customer-service-options{display:grid;grid-template-columns:1fr;gap:10px;margin-top:19px}.customer-service-options>div{display:grid;min-height:91px;border:1px solid var(--c-green);border-radius:11px;background:var(--c-green-soft);box-shadow:inset 0 0 0 1px var(--c-green);padding:14px;color:var(--c-ink);text-align:left}.customer-service-options span{color:var(--c-green);font-size:.58rem;font-weight:600;letter-spacing:.01em;text-transform:none}.customer-service-options strong{align-self:end;margin-top:7px;font-size:.84rem}.customer-service-options small{margin-top:3px;color:var(--c-muted);font-size:.57rem}.duration-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:20px}.duration-heading p{margin:0 0 2px;color:var(--c-green);font-size:.57rem;font-weight:600;letter-spacing:.01em;text-transform:none}.duration-heading h3{margin:0;font-size:.88rem}.duration-heading>small{color:var(--c-muted);font-size:.58rem}.duration-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:19px}.duration-options button{position:relative;display:grid;min-height:89px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:white;padding:15px;color:var(--c-ink);cursor:pointer;text-align:left}.duration-options button.selected,.duration-options button:hover{border-color:var(--c-green);background:var(--c-green-soft);box-shadow:inset 0 0 0 1px var(--c-green)}.duration-options span{color:var(--c-muted);font-size:.71rem;font-weight:600}.duration-options strong{align-self:end;font-size:1.2rem}.duration-options small{position:absolute;top:-8px;right:10px;border-radius:10px;background:var(--c-green);padding:3px 7px;color:white;font-size:.53rem;font-weight:600;text-transform:none}.player-picker{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;border:1px solid var(--c-line);border-radius:11px;background:#f8faf7;padding:15px}.player-picker>div:first-child{display:grid;gap:2px}.player-picker p{margin:0;color:var(--c-green);font-size:.58rem;font-weight:600;letter-spacing:.01em;text-transform:none}.player-picker h3{margin:0;font-size:.84rem}.player-picker>div:first-child>small{margin-top:3px;color:var(--c-muted);font-size:.57rem}.player-options{display:grid;grid-template-columns:repeat(4,54px);gap:6px}.player-options button{display:grid;place-items:center;min-height:52px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:white;color:var(--c-ink);cursor:pointer}.player-options button.selected,.player-options button:hover{border-color:var(--c-green);background:var(--c-green-soft);box-shadow:inset 0 0 0 1px var(--c-green)}.player-options strong{font-size:.82rem}.player-options span{color:var(--c-muted);font-size:.48rem}.lesson-note{display:flex;align-items:center;gap:10px;margin-top:14px;border:1px solid #d9cff3;border-radius:11px;background:#f7f3ff;padding:13px}.lesson-note>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#8c6bd8;color:white;font-size:.65rem;font-weight:600}.lesson-note>div{display:grid;gap:2px}.lesson-note strong{font-size:.69rem}.lesson-note small{color:var(--c-muted);font-size:.6rem}.customer-divider{height:1px;margin:28px 0;background:var(--c-line)}.customer-calendar-row{display:flex;align-items:center;gap:10px;margin-top:16px}.customer-calendar-row>div{display:grid;gap:1px}.customer-calendar-row>div span{color:var(--c-muted);font-size:.53rem;font-weight:600;letter-spacing:.01em;text-transform:none}.customer-calendar-row>div strong{font-size:.7rem}.customer-calendar-icon{position:relative;display:grid!important;place-items:center;width:44px;height:44px;border:1px solid var(--c-green);border-radius:10px;background:var(--c-green-soft);color:var(--c-green);cursor:pointer}.customer-calendar-icon:hover{background:#dff5e4;box-shadow:0 0 0 3px rgba(31,164,63,.08)}.customer-calendar-icon input{position:absolute;inset:0;width:100%;min-height:100%;opacity:0;cursor:pointer}.customer-calendar-icon .calendar-glyph{position:relative;display:grid;grid-template-columns:repeat(2,3px);grid-template-rows:repeat(2,3px);place-content:end center;gap:3px;width:21px;height:20px;border:2px solid;border-radius:4px;padding-bottom:3px}.customer-calendar-icon .calendar-glyph:before{content:"";position:absolute;top:3px;left:0;right:0;border-top:2px solid}.customer-calendar-icon .calendar-glyph:after{content:"";position:absolute;top:-4px;left:4px;width:9px;height:5px;border-left:2px solid;border-right:2px solid}.customer-calendar-icon .calendar-glyph i{width:3px;height:3px;border-radius:1px;background:currentColor}.date-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:10px}.date-strip button{display:grid;gap:3px;min-height:58px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:white;color:var(--c-ink);cursor:pointer}.date-strip button.selected,.date-strip button:hover{border-color:var(--c-green);background:var(--c-green-soft)}.date-strip span{color:var(--c-muted);font-size:.59rem}.date-strip strong{font-size:.72rem}.time-picker-panel{width:min(100%,520px);margin:12px auto 0}.time-picker-panel>label{justify-content:center;justify-items:center;border:1px solid var(--c-line);border-radius:12px;background:#f8faf7;padding:16px;color:var(--c-muted);font-size:.72rem;text-align:center}.time-picker-panel select{width:100%;min-height:60px;border:2px solid var(--c-green);border-radius:10px;background:white;padding:0 15px;color:var(--c-ink);font:inherit;font-size:.92rem;font-weight:600;text-align:center;text-align-last:center}.time-select-control{position:relative;display:block;width:min(100%,230px)}.time-select-control:after{content:"";position:absolute;top:50%;right:19px;width:8px;height:8px;border-right:2px solid var(--c-ink);border-bottom:2px solid var(--c-ink);pointer-events:none;transform:translateY(-70%) rotate(45deg)}.time-select-control select{display:block;appearance:none;-webkit-appearance:none;padding-right:44px;padding-left:44px}.availability-message{margin-top:12px;border:1px solid var(--c-line);border-radius:9px;background:#f8faf7;padding:22px;color:var(--c-muted);font-size:.72rem;text-align:center}.assignment-note{display:flex;align-items:center;gap:10px;margin-top:15px;border:1px solid #cae9d0;border-radius:9px;background:var(--c-green-soft);padding:11px 13px}.assignment-note>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--c-green);color:white;font-size:.65rem;font-weight:600}.assignment-note>div{display:grid;gap:2px}.assignment-note strong{font-size:.69rem}.assignment-note small{color:var(--c-muted);font-size:.6rem}.booking-summary{position:sticky;top:95px;padding:24px}.summary-kicker{color:var(--c-green);font-size:.61rem;font-weight:600;letter-spacing:.01em;text-transform:none}.booking-summary h3{margin:5px 0 18px;color:var(--c-ink);font-size:1.35rem;letter-spacing:-.035em}.summary-visual{display:flex;align-items:center;gap:11px;border-radius:10px;background:#0b100c;padding:13px;color:white}.summary-visual>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(52,208,88,.5);border-radius:50%;background:rgba(52,208,88,.12);color:var(--c-green-bright);font-size:.72rem;font-weight:600}.summary-visual>div{display:grid;gap:2px}.summary-visual strong{font-size:.7rem}.summary-visual small{color:rgba(255,255,255,.6);font-size:.57rem}.booking-summary dl{margin:20px 0}.booking-summary dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--c-line);padding:10px 0;font-size:.68rem}.booking-summary dt{color:var(--c-muted)}.booking-summary dd{margin:0;font-weight:600;text-align:right}.summary-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.summary-total span{color:var(--c-muted);font-size:.74rem}.summary-total strong{font-size:1.6rem}.summary-price-note{margin:0 0 15px;color:var(--c-muted);font-size:.57rem;text-align:right}.customer-primary{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;border:1px solid var(--c-green);border-radius:var(--button-radius);background:var(--c-green);color:#061008;cursor:pointer;font-weight:600}.customer-primary:hover{background:var(--c-green-bright)}.customer-primary:disabled{cursor:not-allowed;opacity:.5}.customer-primary span{position:absolute;right:16px}.summary-promise{display:block;margin-top:11px;color:var(--c-muted);font-size:.58rem;text-align:center}.checkout-layout{grid-template-columns:minmax(0,1fr) 330px;max-width:1050px}.customer-back{margin-bottom:21px;border:0;background:transparent;padding:0;color:var(--c-muted);cursor:pointer;font-size:.66rem;font-weight:600}.minimal-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:20px}.minimal-fields .email-field{grid-column:1/-1}.customer-page label{display:grid;gap:7px;color:var(--c-ink);font-size:.68rem;font-weight:600}.customer-page input{width:100%;min-height:47px;border:1px solid var(--c-line);border-radius:8px;background:white;padding:0 12px;color:var(--c-ink)}.customer-page input::placeholder{color:#a0a8a2}.customer-page label>small{color:var(--c-muted);font-size:.57rem;font-weight:500}.payment-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.payment-heading>span{color:var(--c-muted);font-size:.62rem}.payment-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.payment-tabs button{display:grid;grid-template-columns:30px 1fr auto;align-items:center;min-height:62px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:white;padding:10px;color:var(--c-ink);cursor:pointer;text-align:left}.payment-tabs button.selected{border-color:var(--c-green);background:var(--c-green-soft);box-shadow:inset 0 0 0 1px var(--c-green)}.payment-tabs button>span{font-size:1.3rem}.payment-tabs strong{font-size:.72rem}.payment-tabs small{border-radius:9px;background:#eef1ee;padding:3px 6px;color:var(--c-muted);font-size:.52rem}.primary-payment-tabs{grid-template-columns:repeat(2,1fr)}.facility-payment-row{grid-template-columns:1fr;margin-top:11px}.customer-benefit-box{overflow:hidden;margin-top:11px;border:1px solid var(--c-line);border-radius:9px;background:#fbfcfa}.benefit-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;border:0;background:transparent;padding:0 12px;color:var(--c-ink);cursor:pointer;font-size:.64rem;font-weight:600}.benefit-toggle b{color:var(--c-green);font-size:1rem}.benefit-body{display:grid;gap:9px;border-top:1px solid var(--c-line);padding:11px}.benefit-body>div{display:grid;grid-template-columns:1fr auto;gap:7px}.benefit-body>div input{min-height:42px}.benefit-body>div button{border:1px solid var(--c-green);border-radius:var(--button-radius);background:var(--c-green-soft);padding:0 13px;font-size:.62rem}.account-credit-link,.benefit-body>div button{color:var(--c-green);cursor:pointer;font-weight:600}.account-credit-link{justify-self:start;border:0;background:transparent;padding:0;font-size:.58rem}.benefit-body>p{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;margin:0;border-radius:7px;background:var(--c-green-soft);padding:8px;color:var(--c-ink);font-size:.59rem}.benefit-body>p>span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--c-green);color:white}.benefit-body>p>button{border:0;background:transparent;color:var(--c-muted);cursor:pointer;font-size:.55rem}.apple-pay-panel{margin-top:13px;border:1px solid var(--c-line);border-radius:10px;background:#f7f8f6;padding:15px}.apple-pay-panel p{margin:0 0 12px;color:var(--c-muted);font-size:.66rem;line-height:1.5}.apple-pay-panel button{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:51px;border:0;border-radius:var(--button-radius);background:#000;color:#fff;cursor:pointer;font-size:1.05rem}.apple-pay-panel button>span{font-size:1.35rem}.apple-pay-panel button b{margin-left:5px;font-size:.9rem}.pay-at-facility-panel{display:grid;gap:14px;margin-top:13px;border:1px solid var(--c-green);border-radius:10px;background:var(--c-green-soft);padding:15px}.pay-at-facility-panel>div{display:grid;gap:4px}.pay-at-facility-panel strong{color:var(--c-ink);font-size:.86rem}.pay-at-facility-panel small{color:var(--c-muted);font-size:.68rem;line-height:1.45}.card-fields{display:grid;gap:11px;margin-top:13px}.card-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card-input{position:relative}.card-input span{position:absolute;top:15px;right:11px;color:var(--c-muted);font-size:.57rem;font-weight:600}.pay-card{margin-top:4px}.customer-error{margin:11px 0 0;border-radius:7px;background:#fff0f0;padding:9px 10px;color:#b5353a;font-size:.66rem}.secure-note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;color:var(--c-muted)}.secure-note>p{display:grid;margin:0}.secure-note strong{color:var(--c-ink);font-size:.59rem}.secure-note small{font-size:.55rem}.compact-summary{position:sticky}.payment-tabs button:disabled{cursor:not-allowed;opacity:.58}.square-card-fields>#square-card-container{display:block;min-height:90px;border:1px solid var(--c-line);border-radius:10px;background:#fff;padding:14px}.square-sandbox-note{margin:0;border-radius:7px;background:#fff7dd;padding:9px 10px;color:#745b09;font-size:.64rem;font-weight:600}.summary-discount{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--c-line);padding:8px 0;color:var(--c-green);font-size:.67rem}.confirmation-wrap{display:grid;gap:12px;width:min(800px,calc(100% - 40px));margin:0 auto 75px}.confirmation-card{padding:32px;text-align:center}.success-mark{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 12px;border-radius:50%;background:var(--c-green);color:white;font-size:1.3rem;font-weight:600;box-shadow:0 0 0 8px var(--c-green-soft)}.confirmation-card>p{margin:0 0 4px;color:var(--c-green);font-size:.62rem;font-weight:600;letter-spacing:.01em;text-transform:none}.confirmation-card h2{margin:0;color:var(--c-ink);font-size:1.7rem;text-transform:none}.confirmation-card>span{display:block;margin-top:8px;color:var(--c-muted);font-size:.72rem}.confirmation-session{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:23px;text-align:left}.confirmation-session>div{display:grid;gap:4px;border:1px solid var(--c-line);border-radius:9px;background:#f8faf7;padding:11px}.confirmation-session span,.post-card-copy>span{color:var(--c-muted);font-size:.56rem;font-weight:600;letter-spacing:.01em;text-transform:none}.confirmation-session strong{font-size:.69rem}.post-booking-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px}.post-booking-card.required{border-color:#e8cf80;background:#fffdf6}.post-booking-card.complete{border-color:#bde2c4;background:#f3fbf4}.post-card-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff2c7;color:#9a7411;font-weight:600}.post-booking-card.complete .post-card-icon{background:var(--c-green-soft);color:var(--c-green)}.post-booking-card.optional .post-card-icon{background:#eff2ef;color:var(--c-muted)}.post-card-copy{display:grid;gap:3px}.post-card-copy h3{margin:0;color:var(--c-ink);font-size:.92rem}.post-card-copy p{margin:0;color:var(--c-muted);font-size:.65rem;line-height:1.45}.post-booking-card>button{border:0;background:transparent;color:var(--c-green);cursor:pointer;font-size:.66rem;font-weight:600;white-space:nowrap}.account-setup-form{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px;border:1px solid var(--c-line);border-radius:10px;background:white}.account-setup-form>p{grid-column:1/-1;margin:0;color:var(--c-muted);font-size:.7rem;line-height:1.5}.account-setup-form label{display:grid;gap:6px;color:var(--c-ink);font-size:.66rem;font-weight:600}.account-setup-form input{width:100%;border:1px solid var(--c-line);border-radius:8px;padding:12px;font:inherit;font-size:.75rem}.account-setup-form .customer-primary,.account-setup-form .waiver-error,.waiver-form{grid-column:1/-1}.waiver-form{display:grid;gap:12px;margin-top:5px;border-top:1px solid #eadcae;padding-top:15px}.waiver-summary{border-radius:8px;background:#f7f5ec;padding:12px}.waiver-summary strong{font-size:.7rem}.waiver-summary p{margin:5px 0;color:var(--c-muted);font-size:.63rem;line-height:1.5}.waiver-summary button{border:0;background:transparent;padding:0;color:var(--c-green);cursor:pointer;font-size:.61rem;text-decoration:underline}.waiver-checkbox{display:flex!important;grid-template-columns:auto 1fr;align-items:flex-start;gap:8px!important}.waiver-checkbox input{flex:0 0 auto;width:17px;min-height:17px;margin:0;accent-color:var(--c-green)}.waiver-checkbox span{color:var(--c-muted);font-size:.63rem}.confirmation-actions{display:flex;justify-content:center;gap:8px;margin-top:8px}.confirmation-actions button{min-height:40px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:white;padding:0 14px;color:var(--c-ink);cursor:pointer;font-size:.65rem;font-weight:600}.waiver-error{margin:0;border-radius:8px;background:#fff0f0;padding:10px 12px;color:#a42c2c;font-size:.63rem;font-weight:700}.waiver-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(8,18,11,.72);padding:24px}.waiver-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(850px,calc(100vh - 48px));overflow:hidden;border:1px solid var(--c-line);border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.28)}.waiver-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--c-line);padding:22px 26px}.waiver-modal>header span{color:var(--c-green);font-size:.63rem;font-weight:600;letter-spacing:.01em;text-transform:none}.waiver-modal>header h2{margin:5px 0 0;font-size:1.45rem;text-transform:none}.waiver-modal>header button{display:grid;place-items:center;width:38px;min-height:38px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:white;color:var(--c-ink);cursor:pointer;font-size:1.35rem}.waiver-legal-copy{overflow-y:auto;padding:24px 28px;color:var(--c-ink)}.waiver-legal-copy section+section{margin-top:24px}.waiver-legal-copy h3{margin:0 0 8px;color:var(--c-ink);font-size:.9rem}.waiver-legal-copy li,.waiver-legal-copy p{color:#4e5b52;font-size:.72rem;line-height:1.65}.waiver-legal-copy p{margin:8px 0}.waiver-legal-copy ul{margin:8px 0 0;padding-left:22px}.waiver-modal>footer{border-top:1px solid var(--c-line);padding:16px 26px}.waiver-modal>footer .customer-primary{width:100%}.customer-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:90px;border-top:1px solid rgba(16,20,17,.1);padding:0 max(24px,calc((100vw - 1180px) / 2));color:var(--c-muted)}.customer-footer img{width:120px;height:auto;filter:brightness(0);opacity:.72}.customer-footer>span{font-size:.62rem}.customer-footer>div{display:flex;justify-content:flex-end;gap:13px}.customer-footer button{border:0;background:transparent;color:var(--c-muted);cursor:pointer;font-size:.6rem}.customer-toast{position:fixed;z-index:50;right:22px;bottom:22px;display:flex;align-items:center;gap:8px;border:1px solid #bde2c4;border-radius:9px;background:white;box-shadow:0 18px 45px rgba(0,0,0,.17);padding:12px 14px;color:var(--c-ink);font-size:.68rem;font-weight:600}.customer-toast span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--c-green);color:white;font-weight:600}@media (max-width:860px){.customer-layout{grid-template-columns:minmax(0,1fr)}.booking-summary{position:static;order:0}.date-strip{overflow-x:auto;grid-template-columns:repeat(6,minmax(82px,1fr))}}@media (max-width:600px){.customer-page{font-size:1rem}.customer-header{min-height:66px;padding:0 16px}.customer-brand img{width:135px}.customer-header-actions>span{display:none}.booking-hero{width:calc(100% - 28px);padding:44px 0 38px}.booking-hero h1{font-size:2.45rem}.booking-hero>p:nth-child(3){margin-top:18px;font-size:.82rem}.flow-progress{margin-top:32px}.flow-progress span{font-size:0}.flow-progress span b{font-size:.62rem}.flow-progress i{width:35px}.confirmation-wrap,.customer-layout{gap:24px;width:calc(100% - 24px)}.booking-card-main,.booking-summary,.confirmation-card{min-width:0;max-width:100%;padding:22px}.customer-section-heading>small,.duration-heading>small{display:none}.customer-service-options{grid-template-columns:minmax(0,1fr);margin-top:24px}.duration-heading{margin-top:30px}.duration-options{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:22px}.duration-options button{min-width:0;min-height:72px}.customer-divider{margin:36px 0}.customer-calendar-row{margin-top:22px}.date-strip{gap:10px;margin-top:16px}.assignment-note,.time-picker-panel{margin-top:18px}.confirmation-session,.minimal-fields,.payment-tabs{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px}.minimal-fields .email-field{grid-column:auto}.payment-tabs button{grid-template-columns:30px minmax(0,1fr) auto}.waiver-modal-backdrop{padding:10px}.waiver-modal{max-height:calc(100vh - 20px);border-radius:14px}.waiver-modal>header{padding:18px}.waiver-modal>header h2{font-size:1.25rem}.waiver-legal-copy{padding:20px 18px}.waiver-legal-copy li,.waiver-legal-copy p{font-size:.78rem}.waiver-modal>footer{padding:14px 18px}.player-picker{align-items:stretch;flex-direction:column;gap:18px;margin-top:22px;padding:18px}.player-options{gap:9px;grid-template-columns:repeat(4,1fr)}.post-booking-card{grid-template-columns:auto 1fr;align-items:start}.post-booking-card>button{grid-column:1/-1;justify-self:stretch;min-height:39px;border:1px solid var(--c-line);border-radius:var(--button-radius)}.customer-footer{grid-template-columns:1fr auto;padding:18px}.customer-footer>span{display:none}.customer-footer>div{flex-direction:column;gap:4px;text-align:right}.customer-toast{right:12px;bottom:12px;left:12px}.account-setup-form{grid-template-columns:1fr}.account-setup-form .customer-primary,.account-setup-form .waiver-error,.account-setup-form>p{grid-column:1}.flow-progress>span{font-size:0!important}}@media (prefers-reduced-motion:reduce){.customer-page *{scroll-behavior:auto!important}}.rental-credit-checkout{padding:20px;margin:16px 0}.rental-credit-checkout label{display:grid;gap:8px}.rental-credit-checkout select{width:100%;min-width:0;padding:12px;border-radius:10px}.rental-credit-checkout p{margin:12px 0}.customer-service-options{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-service-options>button{display:grid;min-height:91px;padding:14px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:#f5f7f2;color:var(--c-muted);text-align:left;font:inherit;cursor:not-allowed}.customer-service-options strong{font-size:1rem;align-self:center;margin-top:0}.customer-service-options small{font-size:.75rem;line-height:1.5}.customer-service-options .selected{background:#eef6d6}.customer-service-options .service-coming-soon strong{color:#59665d}@media(max-width:500px){.customer-service-options{grid-template-columns:1fr}}.booking-date-choice{border:0;padding:0;margin:24px 0 0;min-width:0}.booking-date-choice legend,.booking-start-heading{font:500 1rem/1.5 Poppins,system-ui,sans-serif;color:var(--c-green);letter-spacing:0;text-transform:none}.booking-date-actions{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(190px,1.35fr);gap:12px;margin-top:12px}.booking-calendar-choice,.booking-date-actions>button{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;min-height:84px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:#fff;color:var(--c-ink);padding:16px;cursor:pointer;text-align:left}.booking-date-actions>button{flex-direction:column;gap:4px}.booking-date-actions strong{font-size:1rem;font-weight:500}.booking-date-actions small{display:block;font-size:.8rem;color:var(--c-muted);margin-top:3px}.booking-date-actions .selected{background:#eef6d6;border-color:var(--c-green);box-shadow:inset 0 0 0 1px var(--c-green)}.booking-calendar-choice .calendar-glyph{width:32px;height:32px;flex:0 0 32px;color:var(--c-green)}.booking-calendar-choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.booking-calendar-choice:hover,.booking-date-actions>button:hover{border-color:var(--c-green);background:#f5f8ed}.booking-calendar-choice:focus-within{outline:2px solid var(--c-green);outline-offset:3px}.booking-selected-date{font-size:.85rem;color:var(--c-muted);margin:12px 0 0}.booking-start-heading{margin:25px 0 12px}.customer-page .time-picker-panel{margin-top:0;text-align:left}.customer-page .time-picker-panel label{align-items:stretch}.customer-page .time-select-control{width:100%;min-width:0}@media(max-width:420px){.booking-date-actions{grid-template-columns:1fr}.booking-date-actions>button{flex-direction:row}}.customer-page .time-picker-panel{width:min(100%,320px);margin:0}.customer-page .time-picker-panel>label{display:block;padding:0;border:0;background:transparent;text-align:left}.customer-page .time-picker-panel .time-select-control{display:block;width:100%}.customer-page .time-picker-panel select{width:100%;padding:0 44px 0 16px;color:#101411;background-color:#fff;color-scheme:light;text-align:left;text-align-last:left}.customer-page .time-picker-panel select option{color:#101411;background-color:#fff}.customer-page .time-picker-panel select option:disabled{color:#68736b}.duration-options .custom-duration{display:grid;align-content:space-between;gap:12px;min-width:0;min-height:89px;padding:15px;border:1px solid var(--c-line);border-radius:11px;background:#fff}.duration-options .custom-duration.selected{border-color:var(--c-green);background:var(--c-green-soft);box-shadow:inset 0 0 0 1px var(--c-green)}.duration-options .custom-duration select{width:100%;min-width:0;min-height:40px;padding:5px;font:500 .9rem Poppins,sans-serif;color:#101411;background:#fff;border:1px solid var(--c-line);border-radius:6px;color-scheme:light}.duration-options .custom-duration option{color:#101411;background:#fff}.credit-disclosure>summary{cursor:pointer;font-weight:600;list-style-position:inside;color:var(--c-text)}.credit-disclosure-body{padding-top:14px}.credit-disclosure:not([open]){padding-top:16px;padding-bottom:16px}.credit-disclosure .benefit-toggle:disabled{opacity:.45;cursor:not-allowed}.credit-disclosure .benefit-toggle small{font-size:.75rem}.customer-benefit-box .benefit-toggle:disabled{opacity:.45;cursor:not-allowed}.payment-tabs .card-payment-label{grid-column:2/-1}.in-store-checkout{display:grid;gap:20px}.in-store-checkout .waiver-summary{display:flex;justify-content:space-between;gap:16px}.in-store-checkout .waiver-checkbox{align-items:center;padding:14px;border:1px solid var(--c-line);border-radius:10px;min-height:60px}.in-store-checkout .waiver-checkbox input{width:26px;height:26px;min-height:26px}.in-store-checkout .waiver-checkbox span{font-size:.95rem}.in-store-checkout p{color:var(--c-muted)}.checkout-waiver{display:grid;gap:12px;margin:24px 0;padding:18px;border:1px solid var(--c-line);border-radius:12px;background:#f5f8ef}.checkout-waiver .waiver-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;background:transparent}.checkout-waiver .waiver-summary strong{font-size:16px}.checkout-waiver .waiver-summary button{min-height:44px;font-size:14px}.checkout-waiver .waiver-checkbox{align-items:center;min-height:44px;cursor:pointer}.checkout-waiver .waiver-checkbox input{width:22px;height:22px;min-height:22px}.checkout-waiver .waiver-checkbox span{font-size:14px;line-height:1.5;color:var(--c-ink)}.checkout-waiver>p{margin:0;color:var(--c-muted);font-size:14px;line-height:1.5}.customer-header-actions .customer-login{min-height:44px;padding:10px 22px;border-radius:var(--button-radius);background:var(--brand-lime,#c6e83c);border-color:var(--brand-lime,#c6e83c);color:#101411;font-size:1rem;font-weight:700;white-space:nowrap}.customer-header-actions .customer-login:hover{background:#d8ee70;border-color:#14762f}.customer-page .customer-header-actions .customer-signout{min-height:44px;padding:10px 18px;border:1px solid #ffffff60;border-radius:var(--button-radius);background:transparent;color:#fff;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.customer-page .customer-header-actions .customer-signout:hover{border-color:var(--brand-lime,#c6f04a)}.customer-page .customer-header-actions .customer-signout:disabled{opacity:.6;cursor:default}.customer-page .booking-calendar-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}@media(max-width:600px){.customer-page .customer-header{flex-direction:column;align-items:flex-start;gap:12px;padding-top:12px;padding-bottom:12px}.customer-page .customer-header-actions{flex-wrap:wrap;justify-content:flex-start;gap:10px;width:100%}.customer-page .customer-header-actions.customer-header-signed-in{justify-content:flex-start}.customer-page .booking-summary>.customer-primary{margin-top:24px}}.customer-page .time-picker-panel select{background-color:#eef6d6;border-color:var(--c-green)}.checkout-card .customer-back{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--c-line);border-radius:var(--button-radius);background:white;color:var(--c-ink);font-size:1rem;font-weight:600}.checkout-card .customer-back:hover{border-color:var(--c-green);background:var(--c-green-soft)}.checkout-card .customer-back:disabled{opacity:.5;cursor:wait}.booking-account-balances{padding:0 20px 18px;color:var(--c-ink)}.booking-account-balances ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.booking-account-balances li{display:grid;gap:5px;padding:12px;border:1px solid var(--c-line);border-radius:8px}.booking-account-balances li small,.booking-account-balances li span{color:var(--c-muted)}.booking-account-balances a{color:var(--c-green);font-weight:600;text-decoration:underline}.customer-payment-methods{grid-template-columns:1fr}.booking-account-login{margin:24px 0 0;padding:18px;border-top:1px solid var(--c-line);color:var(--c-muted)}.booking-account-login a{color:var(--c-green);font-weight:600;text-decoration:underline}.booking-mobile-only{display:none}@media(max-width:600px){.customer-page{font-family:Poppins,system-ui,sans-serif;font-size:16px;line-height:1.5;background:#f7f8f4;--c-green:#101411;--c-green-soft:#f0f7d9;--c-line:#dfe3da}.customer-page .booking-desktop-only{display:none}.customer-page .booking-mobile-only{display:inline}.customer-page .customer-header{padding:20px;gap:20px}.customer-page .customer-brand img{width:156px}.customer-page .customer-header-actions{gap:12px}.customer-page .customer-header .customer-header-actions .account-nav{min-height:48px;padding:12px 18px;font-size:14px;line-height:1.4;border-radius:var(--button-radius)}.customer-page .customer-header .customer-header-actions .customer-login{background:var(--brand-lime,#c6f04a);color:#101411;border-color:var(--brand-lime,#c6f04a)}.customer-page .booking-hero{width:calc(100% - 40px);padding:32px 0 28px;text-align:left}.customer-page .booking-hero h1{font-size:32px;font-weight:500!important;line-height:1.2;letter-spacing:-.035em}.customer-page .flow-progress{justify-content:space-between;align-items:flex-start;gap:4px;margin-top:24px;width:100%}.customer-page .flow-progress span{flex:1 1 0;min-width:0;flex-direction:column;align-items:center;gap:6px;font-size:0;text-align:center}.customer-page .flow-progress span:after{content:attr(data-short);font-size:12px;font-weight:500}.customer-page .flow-progress span b{width:24px;height:24px;font-size:12px;line-height:1}.customer-page .flow-progress i{flex:0 1 12px;width:12px;min-width:0;margin-top:12px}.customer-page .customer-layout{width:calc(100% - 24px);gap:20px;margin-bottom:36px}.customer-page .booking-card-main,.customer-page .booking-summary{padding:24px 20px;border-radius:18px;background:#fff;box-shadow:0 8px 24px #10141106}.customer-page .customer-section-heading,.customer-page .customer-section-heading>div{gap:12px;align-items:center}.customer-page .customer-section-heading>div>span{width:28px;height:28px;font-size:14px}.customer-page .customer-section-heading p{margin:0;color:#101411;font-size:20px;line-height:1.3;font-weight:600;letter-spacing:0}.customer-page .customer-section-heading h2,.customer-page .customer-section-heading>small{display:none}.customer-page .customer-section-heading h2.availability-title{display:block;font-size:20px;line-height:1.35;font-weight:600;color:#101411}.customer-page .customer-service-options{grid-template-columns:1fr;margin-top:20px}.customer-page .customer-service-options>div{min-height:88px;padding:18px;border-width:1px;box-shadow:none}.customer-page .customer-service-options strong{font-size:16px;line-height:1.4;font-weight:600;margin:0;align-self:auto}.customer-page .customer-service-options small{font-size:14px;line-height:1.5;margin-top:4px}.customer-page .service-coming-soon{display:none}.customer-page .player-picker{margin-top:32px;border:0;background:transparent;padding:0;gap:16px}.customer-page .duration-heading p,.customer-page .player-picker p{font-size:13px;line-height:1.5;font-weight:500;color:#667068;margin:0 0 6px}.customer-page .duration-heading h3,.customer-page .payment-heading h2,.customer-page .player-picker h3{font-size:20px;line-height:1.35;font-weight:600;letter-spacing:-.02em}.customer-page .player-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.customer-page .player-options button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:68px;padding:10px 4px;border-radius:var(--button-radius)}.customer-page .player-options strong{font-size:18px;line-height:1.2;font-weight:600}.customer-page .player-options span{font-size:12px;line-height:1.3}.customer-page .duration-heading{margin-top:32px}.customer-page .duration-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.customer-page .duration-options button{min-height:110px;padding:18px 14px;border-radius:var(--button-radius);gap:12px}.customer-page .duration-options span{font-size:14px;line-height:1.4}.customer-page .duration-options strong{font-size:24px;line-height:1.2}.customer-page .duration-options small{font-size:11px;line-height:1.4;padding:3px 8px;top:-10px;background:var(--brand-lime,#c6f04a);color:#101411}.customer-page .duration-options .custom-duration{grid-column:1/-1;padding:16px;min-height:0;gap:10px;border-radius:12px}.customer-page .custom-duration select{min-height:48px;padding:10px 12px;font-size:16px}.customer-page .customer-divider{margin:32px 0}.customer-page .booking-date-choice{margin-top:24px}.customer-page .booking-date-choice legend{font-size:14px;color:#667068}.customer-page .booking-date-actions{grid-template-columns:minmax(90px,1fr) minmax(140px,1.5fr);gap:12px}.customer-page .booking-calendar-choice,.customer-page .booking-date-actions>button{flex-direction:column;min-height:112px;padding:14px 10px;gap:8px;border-radius:var(--button-radius);text-align:center}.customer-page .booking-date-actions strong{font-size:16px;line-height:1.4;font-weight:600}.customer-page .booking-date-actions small{font-size:13px;line-height:1.4}.customer-page .booking-selected-date{display:none}.customer-page .booking-start-heading{margin:28px 0 14px;font-size:18px;line-height:1.4;font-weight:600;color:#101411}.customer-page .time-picker-panel{width:100%}.customer-page .time-picker-panel label{font-size:14px;line-height:1.5}.customer-page .time-picker-panel select{min-height:56px;margin-top:8px;font-size:16px;border-width:1px;border-radius:12px;background-color:#f0f7d9}.customer-page .availability-message{padding:20px;font-size:14px;line-height:1.5}.customer-page .booking-summary{position:static}.customer-page .summary-kicker{font-size:13px;font-weight:500;color:#667068}.customer-page .booking-summary h3{font-size:24px;line-height:1.3;font-weight:600;margin:6px 0 20px}.customer-page .summary-visual{display:none}.customer-page .booking-summary dl{margin:0 0 24px}.customer-page .booking-summary dl>div{padding:14px 0;font-size:14px;line-height:1.5;gap:16px}.customer-page .booking-summary:not(.compact-summary) dl>div:last-child{display:none}.customer-page .summary-discount{padding:12px 0;margin-bottom:12px;font-size:14px;line-height:1.5;gap:16px}.customer-page .summary-total{margin:0;gap:16px;align-items:center}.customer-page .summary-total span{font-size:16px;line-height:1.5}.customer-page .summary-total strong{font-size:30px;line-height:1.2}.customer-page .customer-primary{min-height:56px;padding:14px 20px;font-size:16px;line-height:1.5;border-radius:var(--button-radius)}.customer-page .booking-summary>.customer-primary{margin-top:28px}.customer-page .summary-price-note,.customer-page .summary-promise{font-size:12px;line-height:1.5;margin-top:16px}.customer-page .checkout-card .customer-back{min-height:44px;padding:10px 14px;font-size:14px;margin-bottom:24px}.customer-page .minimal-fields{margin-top:24px;gap:20px}.customer-page .minimal-fields label{font-size:14px;line-height:1.5;gap:8px}.customer-page .minimal-fields input{min-height:56px;padding:14px;border-radius:12px;font-size:16px;line-height:1.5}.customer-page .minimal-fields label small{font-size:12px;line-height:1.5}.customer-page .payment-heading{margin:0}.customer-page .payment-heading p,.customer-page .payment-heading>span{display:none}.customer-page .payment-tabs{margin:18px 0 24px;gap:12px}.customer-page .payment-tabs button{min-height:56px;padding:14px;font-size:16px;border-radius:var(--button-radius)}.customer-page .payment-tabs strong{font-size:16px}.customer-page .square-card-fields{margin-top:24px;min-width:0;grid-template-columns:minmax(0,1fr)}.customer-page .square-card-fields>*{min-width:0;width:100%}.customer-page .secure-note{align-items:center;margin-top:20px}.customer-page .secure-note strong{font-size:13px;line-height:1.5;font-weight:400}.customer-page .secure-note small{display:none}.customer-page .booking-account-login{margin-top:24px;padding:20px 0 0;font-size:14px;line-height:1.6}.customer-page .benefit-toggle{padding:18px 0;font-size:14px;line-height:1.5;gap:14px}.customer-page .booking-account-balances{padding:0 0 18px;font-size:14px;line-height:1.5}.customer-page .customer-error,.customer-page .square-sandbox-note{font-size:14px;line-height:1.5}.customer-page .customer-footer{width:calc(100% - 40px);margin:0 auto;padding:24px 0;gap:16px}.customer-page .customer-footer button{font-size:13px;min-height:44px}}.checkout-payment-methods{display:grid;gap:12px;margin-top:18px}.booking-balance-disclosure{margin-top:18px}.booking-balance-disclosure+.checkout-payment-methods{margin-top:12px}.customer-page .booking-balance-disclosure .booking-account-balances{padding:14px 0 0}.checkout-payment-option{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:12px;width:100%;min-height:64px;padding:16px;border:1px solid var(--c-line);border-radius:12px;background:white;color:var(--c-ink);font-family:inherit;font-size:16px;line-height:1.4;text-align:left;cursor:pointer}.checkout-payment-option strong{font-family:inherit;font-size:16px;font-weight:600;line-height:1.4}.payment-option-icon,.payment-option-toggle{display:block;width:24px;height:24px}.payment-option-label{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}.checkout-payment-option:focus-visible{outline:2px solid var(--c-green);outline-offset:3px}.checkout-payment-option.selected{border-color:#bdd532;background:#f7fadf}.checkout-payment-option:disabled{cursor:not-allowed;color:#68706b;background:#f6f7f5}.checkout-payment-option small{font-size:11px}.checkout-payment-methods .square-card-fields{margin-top:0}.available-balance-options{display:grid;gap:12px}.available-balance-option{display:grid;gap:6px;width:100%;text-align:left;border:1px solid var(--c-line);border-radius:12px;background:white;color:var(--c-ink);padding:16px;cursor:pointer}.available-balance-option.selected{border-color:#a8bd23;background:#f7fadf}.available-balance-option strong{font-size:16px}.available-balance-option small,.available-balance-option span{color:var(--c-muted);font-size:13px}.available-balance-option b{color:#3c4b09;font-size:13px}.balance-confirm{margin:16px 0 8px}.summary-balance{color:#3c4b09;font-size:14px}.apple-pay-option{display:grid;gap:8px;margin-top:14px}.apple-pay-option small{color:#536358;text-align:center}.apple-pay-button{-webkit-appearance:-apple-pay-button;-apple-pay-button-type:book;-apple-pay-button-style:black;width:100%;height:52px;border-radius:var(--button-radius)}.apple-pay-button:disabled{opacity:.5;cursor:wait}.customer-page .summary-price-note{font-size:16px;line-height:1.55;color:#384b3e}.customer-page .booking-card-main>.summary-price-note{text-align:left;margin:16px 0}.customer-page .checkout-card .waiver-summary[role=status] strong{font-size:18px}.customer-page .checkout-card .waiver-summary[role=status] p{font-size:16px;line-height:1.55;color:#384b3e}.customer-page .checkout-payment-option small{font-size:15px;line-height:1.5}.customer-page .booking-summary .summary-price-note{font-size:14px;line-height:1.5}.membership-payment-choice{margin:16px 0;padding:16px;border:1px solid var(--c-line);border-radius:12px}.membership-payment-choice label{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}.membership-payment-choice input{width:20px;height:20px;accent-color:#6b8015}.membership-payment-choice p{margin:10px 0 0;font-size:15px;line-height:1.5;color:#384b3e}.customer-service-options>a.lesson-service-preview{display:grid;gap:8px;border:1px solid var(--c-line);border-radius:var(--button-radius);padding:14px;color:var(--c-ink);text-decoration:none;background:#fff}.customer-service-options>a.lesson-service-preview:hover{border-color:var(--c-green);background:var(--c-green-soft)}.customer-page .range-card-booking-tender .range-card-checkout{margin:0;padding:20px;border:1px solid var(--c-line);border-radius:12px;box-shadow:none}.confirmation-session .confirmation-manage-booking{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;border:1px solid var(--brand-lime);border-radius:var(--button-radius);background:var(--brand-lime);padding:10px 14px;color:var(--brand-ink);font:inherit;font-size:.85rem;font-weight:600;text-decoration:none;cursor:pointer}.confirmation-session .confirmation-manage-booking:hover{background:#b9e43b;border-color:#b9e43b}.confirmation-session .confirmation-manage-booking:focus-visible{outline:2px solid var(--brand-green);outline-offset:3px}.booking-time-groups{display:grid;gap:12px}.booking-time-group{min-width:0;border:1px solid #ced9d0;border-radius:var(--button-radius);background:#fff;overflow:hidden}.booking-time-group>summary{display:flex;align-items:center;gap:12px;min-height:64px;padding:14px 16px;cursor:pointer;list-style:none}.booking-time-group>summary::-webkit-details-marker{display:none}.booking-time-group>summary>span:first-child{display:grid;gap:3px}.booking-time-group>summary strong{font-size:16px;font-weight:600}.booking-time-group>summary small{font-size:14px;color:#59665d}.booking-time-group>summary:after{content:"+";font-size:24px;color:#183426}.booking-time-group[open]>summary:after{content:"−"}.booking-time-group[open]>summary{background:#f5f8ef;border-bottom:1px solid #ced9d0}.booking-time-group>summary:focus-visible{outline:3px solid #14762f;outline-offset:-3px}.booking-time-group-status{margin-left:auto;text-align:right;font-size:13px;color:#59665d}.booking-time-group>.booking-time-buttons{padding:16px}.booking-time-group>p{padding:0 16px 16px;margin:16px 0 0;font-size:14px;color:#59665d}.booking-time-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.booking-time-buttons button{min-height:48px;padding:10px;border:1px solid #ced9d0;border-radius:var(--button-radius);background:white;color:#183426;font:inherit;cursor:pointer}.booking-time-buttons button[aria-pressed=true]{background:#c6f04a;border-color:#14762f}.booking-time-buttons button:focus-visible{outline:3px solid #14762f;outline-offset:2px}.customer-page .customer-header-actions .booking-phone{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}.booking-phone a,.customer-footer a{display:inline-flex;align-items:center;min-height:44px}.customer-footer a{color:inherit;font-size:14px}.simulator-return{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #ced9d0;border-radius:var(--button-radius);font-size:16px}.booking-account-actions{display:contents}.customer-header-actions.lesson-mobile-header-actions{display:none}@media(max-width:600px){.customer-page .customer-header .customer-header-actions{flex-direction:column;align-items:flex-start;flex-wrap:nowrap}.customer-page .customer-header .customer-header-actions .homepage-link{align-self:flex-start;justify-content:flex-start;text-align:left}.customer-page .customer-header .customer-header-actions .booking-phone{order:1;align-self:stretch;justify-content:flex-start}.customer-page .booking-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:left;padding:12px 20px;gap:2px 12px}.customer-page .booking-header .customer-brand,.customer-page .booking-header .lesson-wordmark{grid-column:1;grid-row:1;min-width:0}.customer-page .booking-header .customer-brand img,.customer-page .booking-header .lesson-wordmark img{width:180px;height:36px;max-width:100%;object-fit:cover}.customer-page .booking-header .customer-header-actions{display:contents}.customer-page .booking-header .customer-header-actions .account-nav{justify-content:flex-start;min-height:44px;padding:6px 14px;font-size:13px;line-height:1.3}.customer-page .booking-header .booking-account-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;grid-column:2;grid-row:1/4;align-self:stretch}.customer-page .booking-header .booking-account-actions .customer-signout{order:1}.customer-page .booking-header .customer-header-actions .homepage-link,.customer-page .booking-header .customer-header-actions .staff-return-link{grid-column:1;grid-row:2;justify-self:start;align-self:flex-start;text-align:left}.customer-page .booking-header .customer-header-actions .homepage-link{min-height:36px;padding:0;border:0;border-radius:0;background:transparent;gap:6px}.customer-page .booking-header .customer-header-actions .homepage-link:before{content:"←"}.customer-page .booking-header .customer-header-actions .homepage-link:focus-visible,.customer-page .booking-header .customer-header-actions .homepage-link:hover{text-decoration:underline}.customer-page .booking-header .customer-header-actions .booking-phone{grid-column:1;grid-row:3;justify-self:start;align-self:flex-start;justify-content:flex-start;font-size:12px}.lesson-booking-header>.lesson-header-desktop-link{display:none}}.customer-page .booking-account-setup{margin-top:28px}.customer-page .booking-account-setup>h2{margin:0 0 12px;font-size:26px;line-height:1.25;font-weight:600}.customer-page .booking-account-setup>p{margin:0 0 16px;font-size:15px;line-height:1.6;color:var(--c-muted)}.customer-page .booking-account-switch{display:inline-block;padding:8px 0;margin:0 0 8px;border:0;background:transparent;color:var(--c-green);font-size:15px;line-height:1.5;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.customer-page .booking-account-setup .minimal-fields{margin-top:24px;gap:24px}.customer-page .booking-account-setup .account-waiver-fields>label:not(.account-waiver-check),.customer-page .booking-account-setup .minimal-fields label{display:grid;gap:9px;font-size:15px;line-height:1.5;font-weight:600}.customer-page .booking-account-setup .booking-password-field{grid-column:1/-1}.customer-page .booking-account-setup .minimal-fields input,.customer-page .booking-account-setup input[name=waiverSignerName]{box-sizing:border-box;width:100%;min-width:0;min-height:52px;padding:12px 14px;border:1px solid var(--c-line);border-radius:10px;background:white;color:var(--c-ink);font:inherit;font-size:16px}.customer-page .booking-account-setup .account-waiver-fields{gap:20px;margin:32px 0 28px;padding-top:28px}.customer-page .booking-account-setup .account-waiver-fields h3{font-size:20px;line-height:1.4}.customer-page .booking-account-setup .account-waiver-fields summary{font-size:14px;line-height:1.6}.customer-page .booking-account-setup .account-waiver-check{gap:12px;font-size:14px;line-height:1.65;font-weight:400}.customer-page .booking-account-setup .account-waiver-check input{flex:0 0 20px}.customer-page .booking-account-setup .customer-primary{width:100%;min-height:52px;margin-top:12px;font-size:16px}.customer-page .booking-account-help{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:24px;font-size:15px;line-height:1.5}.customer-page .booking-account-help a{color:var(--c-green);text-underline-offset:4px}.customer-page .booking-email-in-use{padding:22px;margin:0 0 28px;border:2px solid #b42318;border-radius:12px;background:#fff3f2;color:#8f1b13;scroll-margin-top:24px}.customer-page .booking-email-in-use>strong{display:block;font-size:20px;line-height:1.4}.customer-page .booking-email-in-use>p{margin:10px 0 18px;font-size:15px;line-height:1.6}.customer-page .booking-email-in-use nav{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}.customer-page .booking-email-in-use a{color:var(--brand-green,#244b37);font-size:15px;font-weight:600;text-underline-offset:3px}.customer-page .booking-email-in-use button{padding:10px 20px;min-height:44px;border:1px solid var(--brand-lime,#c6f04a);border-radius:var(--button-radius);background:var(--brand-lime,#c6f04a);color:#101411;font-size:15px;font-weight:600;cursor:pointer}.customer-page .checkout-card .booking-account-summary{margin:24px 0 0;line-height:1.6;overflow-wrap:anywhere}.customer-page .checkout-card .booking-account-summary+.customer-divider{margin:24px 0}.customer-page .unavailable-balance{margin-top:16px;padding:20px;border:1px solid var(--brand-green,#244b37);border-radius:16px;background:#f4f8ed}.customer-page .unavailable-balance p{margin:12px 0 0;line-height:1.6}