/* Headshot Booking — compact parity with itsheadshot.com */
body.hs-booking-page .hs-page{position:relative;overflow:hidden;padding-top:112px;background:#050505}
body.hs-booking-page .hs-page-inner{position:relative;z-index:1;width:min(1380px,100%)}
body.hs-booking-page .hs-page:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 0% 14%,rgba(185,28,28,.10),transparent 30%),radial-gradient(circle at 100% 48%,rgba(69,10,10,.22),transparent 34%),radial-gradient(circle at 50% 0%,rgba(255,255,255,.04),transparent 38%)}
body.hs-booking-page .hs-page:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.022;background-image:linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px);background-size:48px 48px}
body.hs-booking-page .hs-page-head{max-width:none;margin-bottom:10px}
body.hs-booking-page .hs-page-head h1{font-size:32px;letter-spacing:-.035em}
body.hs-booking-page .hs-page-head p{max-width:680px;margin-top:7px;font-size:13px;color:#c7c7cf}

.hsb-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px}
.hsb-progress{display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.025);padding:7px 10px;color:#8f8f99;font-size:9px;font-weight:900;letter-spacing:.10em;text-transform:uppercase}
.hsb-progress .active{color:#f87171}.hsb-progress i{color:#3f3f46;font-style:normal}
.hsb-form{display:block}.hsb-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:14px;align-items:start}.hsb-left{display:grid;gap:10px}
.hsb-section,.hsb-summary,.hsb-consent,.hsb-custom{border:1px solid rgba(255,255,255,.09);background:#0c0c0e;border-radius:14px}
.hsb-section{padding:14px}.hsb-section.hsb-compact{padding:12px 14px}.hsb-section h2{margin:4px 0 0;font-size:17px;line-height:1.1}
.hsb-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.hsb-section-head>p{margin:0;color:#a1a1aa;font-size:10px;font-weight:700}

.hsb-plan-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hsb-plan-wrap{position:relative;padding-top:13px}
.hsb-popular{position:absolute;z-index:3;left:50%;top:0;transform:translate(-50%,-50%);white-space:nowrap;border:1px solid rgba(248,113,113,.8);border-radius:999px;background:#150000;padding:4px 8px;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 0 5px rgba(255,45,45,.65),0 0 14px rgba(255,0,0,.32);animation:hsbFlicker 3.2s infinite}
.hsb-crown{position:absolute;z-index:4;left:50%;top:1px;transform:translate(-50%,-57%);pointer-events:none}.hsb-fire-crown{width:62px;height:48px;overflow:visible}.hsb-crown-fire{transform-origin:center bottom;animation:hsbFire 1.3s ease-in-out infinite alternate}
@keyframes hsbFlicker{0%,14%,18%,22%,55%,58%,100%{opacity:1}16%,20%,57%{opacity:.48}}@keyframes hsbFire{from{transform:translateY(4px) scaleY(.9)}to{transform:translateY(-2px) scaleY(1.1)}}
.hsb-plan{position:relative;display:flex;min-height:172px;height:100%;flex-direction:column;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.028);padding:11px;cursor:pointer;transition:.2s}
.hsb-plan:hover{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.045)}.hsb-plan:has(input:checked){border-color:#ef4444;background:rgba(220,38,38,.09);box-shadow:0 0 24px rgba(220,38,38,.10)}
.hsb-plan input{position:absolute;opacity:0}.hsb-plan-name{font-size:12px;font-weight:900;letter-spacing:.085em;text-transform:uppercase}
.hsb-plan-price-row{display:flex;align-items:end;gap:6px;margin-top:10px}.hsb-plan-price-row del{margin-bottom:2px;color:#fff;font-size:12px;font-weight:900;opacity:1;text-decoration-color:#ef4444;text-decoration-thickness:2px;text-shadow:0 1px 10px rgba(255,255,255,.12)}.hsb-plan-price-row strong{font-size:24px;line-height:1;letter-spacing:-.04em}
.hsb-shots{align-self:flex-start;margin-top:8px;border:1px solid rgba(248,113,113,.18);border-radius:6px;background:rgba(239,68,68,.07);padding:4px 6px;color:#fecaca;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.hsb-plan-copy{margin-top:8px}.hsb-plan-copy b{display:block;font-size:10.5px;line-height:1.35}.hsb-plan-copy small{display:block;margin-top:3px;color:#8d8d97;font-size:9px;line-height:1.35}
.hsb-check{display:flex;width:18px;height:18px;align-items:center;justify-content:center;align-self:flex-end;margin-top:auto;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:transparent;font-size:8px}.hsb-plan:has(input:checked) .hsb-check{border-color:#f87171;background:#dc2626;color:#fff}

.hsb-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hsb-player-counter{display:flex;align-items:center;justify-content:space-between;margin-top:9px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:rgba(0,0,0,.5);padding:6px}
.hsb-player-counter button{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:transparent;color:#fff;font-size:17px;font-weight:900}
.hsb-player-counter>div{text-align:center}.hsb-player-counter input{width:60px;border:0;background:transparent;color:#fff;text-align:center;font-size:21px;font-weight:900;outline:none}.hsb-player-counter span{display:block;color:#8f8f99;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.hsb-select{width:100%;margin-top:9px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:#050505;color:#fff;padding:10px 11px;font-size:12px;font-weight:750;outline:none}
.hsb-help{margin:8px 0 0;color:#92929d;font-size:10px;line-height:1.5}
.hsb-duration{border:1px solid rgba(248,113,113,.22);border-radius:999px;background:rgba(239,68,68,.08);padding:5px 8px;color:#fecaca;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.hsb-section .hs-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.hsb-section .hs-slot-btn{min-height:50px;border-radius:8px;padding:7px 8px}.hsb-section .hs-slot-btn strong{font-size:12px}.hsb-section .hs-slot-btn span{font-size:9px}.hsb-section .hs-slot-btn small{font-size:8px}

.hsb-payment{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.hsb-payment label.arena{grid-column:1/-1}
.hsb-payment label{position:relative;display:flex!important;align-items:center!important;justify-content:space-between;gap:12px;min-height:82px;padding:12px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:12px!important;background:rgba(255,255,255,.025)!important;cursor:pointer;transition:.2s}
.hsb-payment label:hover{border-color:rgba(255,255,255,.28)!important}.hsb-payment label:has(input:checked){border-color:#ef4444!important;background:linear-gradient(135deg,rgba(220,38,38,.18),rgba(220,38,38,.06))!important;box-shadow:0 0 24px rgba(220,38,38,.09)}
.hsb-payment label.full:has(input:checked){border-color:rgba(52,211,153,.72)!important;background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(16,185,129,.04))!important}
.hsb-payment label input{position:absolute;opacity:0}.hsb-payment label span{min-width:0}.hsb-payment label span strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.035em}.hsb-payment label span small{display:block;margin-top:3px;color:#a1a1aa;font-size:9px;line-height:1.35}
.hsb-payment label span em{display:block;margin-top:4px;color:#6ee7b7;font-size:9px;font-style:normal;font-weight:900}
#hsb-deposit-amount,#hsb-full-amount{margin-top:8px!important;color:#fff!important;font-size:18px!important;line-height:1!important;letter-spacing:-.025em}
.hsb-payment label>b{display:flex!important;width:22px!important;height:22px!important;flex:0 0 22px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25)!important;border-radius:50%!important;background:#09090b!important;color:transparent;font-size:10px;box-shadow:none!important}
.hsb-payment label:has(input:checked)>b{border-color:#ef4444!important;background:#dc2626!important;color:#fff!important}.hsb-payment label.full:has(input:checked)>b{border-color:#34d399!important;background:#10b981!important}
.hsb-coupon{margin-top:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(0,0,0,.35)}.hsb-coupon summary{cursor:pointer;padding:10px 11px;color:#d4d4d8;font-size:10px;font-weight:750}.hsb-coupon .hs-coupon-row{border-top:1px solid rgba(255,255,255,.06);padding:9px}

.hsb-consent{padding:12px 14px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.018))}
.hsb-consent label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.hsb-consent input{width:18px;height:18px;flex:0 0 18px;margin-top:1px;accent-color:#dc2626}
.hsb-consent span{min-width:0;flex:1}.hsb-consent strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.hsb-consent small{display:block;margin-top:4px;color:#a1a1aa;font-size:10px;line-height:1.55}.hsb-consent a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}.hsb-consent>b{flex:0 0 auto;border:1px solid rgba(248,113,113,.22);border-radius:999px;background:rgba(220,38,38,.08);padding:4px 7px;color:#fca5a5;font-size:7px;letter-spacing:.1em;text-transform:uppercase}

.hsb-summary{position:sticky;top:108px;overflow:hidden;background:rgba(13,13,15,.96);box-shadow:0 22px 60px rgba(0,0,0,.42);backdrop-filter:blur(18px)}
.hsb-summary-head{border-bottom:1px solid rgba(255,255,255,.07);background:radial-gradient(circle at top right,rgba(220,38,38,.14),transparent 48%);padding:15px}.hsb-summary-head h2{margin:4px 0 0;font-size:17px}.hsb-summary-body{display:grid;gap:11px;padding:14px}
.hsb-plan-summary{display:flex;align-items:start;justify-content:space-between;gap:12px}.hsb-plan-summary span,.hsb-mini-grid span,.hsb-paybox span{display:block;color:#8f8f99;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.hsb-plan-summary strong{display:block;margin-top:3px;font-size:14px}.hsb-plan-summary small{display:block;margin-top:3px;color:#b4b4bd;font-size:9px}.hsb-plan-summary>div:last-child{text-align:right}
.hsb-summary hr{width:100%;border:0;border-top:1px solid rgba(255,255,255,.07);margin:0}.hsb-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.hsb-mini-grid>div{border:1px solid rgba(255,255,255,.06);border-radius:9px;background:rgba(0,0,0,.3);padding:8px}.hsb-mini-grid strong{display:block;margin-top:4px;font-size:10px}
.hsb-summary-batches{border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(0,0,0,.35);padding:9px}.hsb-summary-batches>span{display:block;margin-bottom:6px;color:#8f8f99;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hsb-summary-batches>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;font-size:9px}.hsb-summary-batches b{color:#d4d4d8}.hsb-summary-batches strong{font-size:9px}
.hsb-money{display:grid;gap:7px}.hsb-money>div{display:flex;justify-content:space-between;gap:10px;font-size:10px}.hsb-money span{color:#92929d}.hsb-money>div:nth-child(3){font-weight:900;font-size:12px}
.hsb-paybox{display:grid;grid-template-columns:1fr auto;align-items:end;gap:7px 12px;border:1px solid rgba(248,113,113,.18);border-radius:10px;background:rgba(220,38,38,.06);padding:11px}.hsb-paybox strong{display:block;margin-top:3px;font-size:20px}.hsb-paybox>div:nth-child(2){text-align:right}.hsb-paybox small{grid-column:1/-1;display:block;color:#6ee7b7;font-size:8px;font-weight:900}
.hsb-pay{width:100%;border:0;border-radius:10px;background:#dc2626;color:#fff;padding:12px 15px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 30px rgba(220,38,38,.15)}.hsb-pay:disabled{opacity:.4;cursor:not-allowed}.hsb-secure{text-align:center;color:#8f8f99;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}

.hsb-mobile-checkout{display:none}.hsb-custom{display:grid;grid-template-columns:300px 1fr;overflow:hidden;margin-top:22px}.hsb-custom-copy{border-right:1px solid rgba(255,255,255,.07);background:radial-gradient(circle at top left,rgba(220,38,38,.15),transparent 60%);padding:21px}.hsb-custom-copy h2{margin:7px 0 0;font-size:23px;text-transform:uppercase}.hsb-custom-copy p:last-child{color:#b0b0ba;font-size:12px;line-height:1.6}.hsb-custom-form{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:16px}.hsb-custom-form input,.hsb-custom-form select,.hsb-custom-form textarea{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(0,0,0,.56);color:#fff;padding:9px 10px;font:inherit;font-size:11px;outline:none}.hsb-custom-form textarea,.hsb-custom-form button{grid-column:1/-1}.hsb-custom-form button{border:0;border-radius:8px;background:#fff;color:#000;padding:10px;font-size:9px;font-weight:900;text-transform:uppercase;cursor:pointer}

@media(max-width:1180px){.hsb-layout{grid-template-columns:minmax(0,1fr) 320px}.hsb-plan-price-row strong{font-size:21px}.hsb-plan{padding:10px}}
@media(max-width:1100px){
  body.hs-booking-page .hs-page{padding-top:78px;padding-bottom:142px}body.hs-booking-page .hs-page-inner{width:100%}.hsb-layout{display:block}.hsb-summary{display:none}.hsb-left{gap:9px}.hsb-section{padding:13px}.hsb-section h2{font-size:16px}
  .hsb-plan-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 1px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hsb-plan-rail::-webkit-scrollbar{display:none}.hsb-plan-wrap{min-width:min(72vw,260px);scroll-snap-align:center}.hsb-plan{min-height:184px}
  .hsb-mobile-checkout{position:fixed;z-index:999;left:0;right:0;bottom:70px;display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.09);background:rgba(10,10,11,.96);padding:9px 11px;box-shadow:0 -10px 30px rgba(0,0,0,.42);backdrop-filter:blur(22px)}
  .hsb-mobile-checkout>div{min-width:0;flex:1}.hsb-mobile-checkout span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8f8f99;font-size:8px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.hsb-mobile-checkout strong{display:block;margin-top:1px;font-size:16px}.hsb-mobile-checkout button{height:40px;flex:0 0 auto;border:0;border-radius:10px;background:#dc2626;color:#fff;padding:0 17px;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.hsb-mobile-checkout button:disabled{opacity:.4}
  .hsb-custom{grid-template-columns:1fr}.hsb-custom-copy{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
}
@media(max-width:700px){.hsb-progress{display:none}.hsb-title-row{justify-content:flex-start}.hsb-duo{grid-template-columns:1fr 1fr}.hsb-section .hs-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hsb-payment{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hsb-select,.hsb-custom-form input,.hsb-custom-form select,.hsb-custom-form textarea{font-size:16px}
  body.hs-booking-page .hs-page-head{margin-bottom:8px}body.hs-booking-page .hs-page-head .hs-eyebrow{font-size:8px}body.hs-booking-page .hs-page-head h1{font-size:25px}body.hs-booking-page .hs-page-head p{font-size:11px;line-height:1.5}
  .hsb-duo{grid-template-columns:1fr}.hsb-plan-wrap{min-width:min(78vw,248px)}.hsb-section .hs-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hsb-payment{grid-template-columns:1fr}.hsb-payment label{min-height:72px}.hsb-consent label{gap:8px}.hsb-consent>b{display:none}.hsb-custom-form{grid-template-columns:1fr}.hsb-custom-form textarea,.hsb-custom-form button{grid-column:auto}
}
.hsb-wa{grid-column:1/-1;display:block;border:1px solid rgba(52,211,153,.22);border-radius:8px;background:rgba(16,185,129,.08);padding:10px;color:#6ee7b7;text-align:center;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
@media(prefers-reduced-motion:reduce){.hsb-popular,.hsb-crown-fire{animation:none}}


/* Booking mobile containment + true swipe rail */
@media(max-width:1100px){
  body.hs-booking-page,
  body.hs-booking-page .hs-shell,
  body.hs-booking-page .hs-main,
  body.hs-booking-page .hs-page{
    width:100%;
    max-width:100vw;
    overflow-x:clip;
  }
  body.hs-booking-page .hs-page{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body.hs-booking-page .hs-page-inner,
  .hsb-form,.hsb-layout,.hsb-left,.hsb-section,.hsb-duo,
  .hsb-consent,.hsb-custom,.hsb-custom-copy,.hsb-custom-form{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .hsb-title-row{min-width:0;flex-wrap:wrap}
  .hs-live-availability{max-width:100%}
  .hsb-section{overflow:hidden}
  .hsb-plan-rail{
    display:flex!important;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:auto!important;
    overflow-y:visible;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:2px;
    -webkit-overflow-scrolling:touch;
  }
  .hsb-plan-wrap{
    flex:0 0 min(76vw,260px);
    width:min(76vw,260px);
    min-width:0!important;
    max-width:260px;
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  .hsb-plan,.hsb-player-counter,.hsb-select,.hsb-payment,
  .hsb-payment label,.hs-slot-grid,.hsb-consent label{
    min-width:0;
    max-width:100%;
  }
  .hsb-payment{width:100%;grid-template-columns:1fr!important}
  .hsb-payment label.arena{grid-column:auto}
  .hsb-section .hs-slot-grid{width:100%;max-width:100%}
  .hsb-section .hs-slot-btn{min-width:0;padding-left:5px;padding-right:5px}
  .hsb-section .hs-slot-btn strong{font-size:11px}
  .hsb-section .hs-slot-btn span,.hsb-section .hs-slot-btn small{white-space:normal;overflow-wrap:anywhere}
  .hsb-mobile-checkout{max-width:100vw}
}
@media(max-width:560px){
  .hsb-plan-wrap{
    flex-basis:min(82vw,248px);
    width:min(82vw,248px);
    max-width:248px;
  }
  .hsb-section{padding:11px}
  .hsb-player-counter{width:100%}
  .hsb-player-counter>div{min-width:0}
}


/* Mobile checkout ergonomics */
@media(max-width:1100px){
  .hsb-mobile-checkout{
    bottom:calc(70px + env(safe-area-inset-bottom));
    padding-left:max(11px,env(safe-area-inset-left));
    padding-right:max(11px,env(safe-area-inset-right));
  }
  .hsb-mobile-checkout button{min-height:44px}
  .hsb-player-counter button{width:44px;height:44px}
  .hsb-section .hs-slot-btn{min-height:58px}
  .hsb-plan-rail{scroll-padding-inline:10px}
}
@media(max-width:560px){
  .hsb-mobile-checkout{gap:8px}
  .hsb-mobile-checkout strong{font-size:15px}
  .hsb-mobile-checkout button{padding:0 14px}
}


/* QA: accessible labelled custom-booking fields */
.hsb-custom-form>label{display:grid;gap:6px;min-width:0}
.hsb-custom-form>label>span{color:#8b8b94;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.hsb-custom-form>label>span small{color:#5f5f68;font-size:8px;font-weight:700;letter-spacing:0;text-transform:none}
.hsb-custom-form>label input,.hsb-custom-form>label select,.hsb-custom-form>label textarea{width:100%}
.hsb-custom-form .hsb-custom-wide{grid-column:1/-1}
@media(max-width:560px){.hsb-custom-form .hsb-custom-wide{grid-column:auto}}


/* Booking consent: calm, readable and guardian-aware */
.hsb-consent{display:grid;gap:14px;padding:16px 18px}
.hsb-consent-intro h2{margin:4px 0 0;font-size:18px;text-transform:uppercase}
.hsb-consent-intro>p:last-child{margin:6px 0 0;color:#8f8f99;font-size:10px;line-height:1.55}
.hsb-consent-points{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.hsb-consent-points li{position:relative;padding-left:20px;color:#b4b4bd;font-size:10px;line-height:1.58}
.hsb-consent-points li:before{content:"✓";position:absolute;left:0;top:0;color:#6ee7b7;font-weight:900}
.hsb-minor-choice{display:grid;gap:8px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.018)}
.hsb-minor-choice>strong{font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.hsb-minor-choice>div{display:flex;gap:9px;flex-wrap:wrap}
.hsb-minor-choice label{display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:8px 10px;background:#0a0a0b;font-size:9px}
.hsb-minor-choice input{margin:0;width:15px;height:15px;flex:0 0 15px}
.hsb-guardian-consent{padding:12px;border:1px solid rgba(251,191,36,.18);border-radius:11px;background:rgba(161,98,7,.07)}
.hsb-guardian-consent[hidden]{display:none!important}
.hsb-main-consent{padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
@media(max-width:620px){
  .hsb-consent{padding:14px}
  .hsb-minor-choice>div{display:grid;grid-template-columns:1fr}
  .hsb-minor-choice label{border-radius:10px}
}

.hsb-guardian-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:11px}
.hsb-guardian-fields .hs-field{margin:0}
@media(max-width:620px){.hsb-guardian-fields{grid-template-columns:1fr}}


/* Mobile/tablet plan discovery */
.hsb-plan-mobile-cue{display:none}
@media(max-width:1100px){
  .hsb-plan-mobile-cue{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin:-2px 0 8px}
  .hsb-plan-mobile-cue span{text-align:center;color:#a1a1aa;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
  .hsb-plan-mobile-cue button{min-height:44px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(255,255,255,.055);color:#fff;font-size:26px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18)}.hsb-plan-mobile-cue button[disabled]{opacity:.32;cursor:default;box-shadow:none}
  .hsb-plan-mobile-cue button:active{transform:scale(.96)}
  .hsb-plan-rail{position:relative}
  .hsb-plans{position:relative}
  .hsb-plans:before,.hsb-plans:after{content:"";position:absolute;top:84px;width:30px;height:176px;pointer-events:none;z-index:3;opacity:0;transition:opacity .16s ease}
  .hsb-plans:before{left:13px;background:linear-gradient(90deg,rgba(5,5,5,.86),transparent)}
  .hsb-plans:after{right:13px;background:linear-gradient(90deg,transparent,rgba(5,5,5,.86))}
  .hsb-plans.can-prev:before,.hsb-plans.can-next:after{opacity:1}
}
.hsb-minor-choice{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.hsb-minor-choice>div:first-child strong{display:block}.hsb-minor-choice>div:first-child small{display:block;margin-top:4px;color:#a1a1aa;font-size:9px}
.hsb-minor-counter{display:grid!important;grid-template-columns:42px 64px 42px!important;gap:7px!important;align-items:center}
.hsb-minor-counter button{min-height:42px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#09090b;color:#fff;font-size:18px;font-weight:900}
.hsb-minor-counter input{width:64px;height:42px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:#050505;color:#fff;text-align:center;font-size:17px;font-weight:900}
.hsb-media-consent{padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
.hsb-media-consent strong em{margin-left:5px;color:#8f8f99;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:620px){
  .hsb-minor-choice{grid-template-columns:1fr;gap:10px}
  .hsb-minor-counter{grid-template-columns:44px minmax(0,1fr) 44px!important}
  .hsb-minor-counter input{width:100%}
}


/* Guardian-managed minor participants */
.hsb-minor-booking{display:grid;gap:12px}
.hsb-minor-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.hsb-minor-player{position:relative;display:block;cursor:pointer}
.hsb-minor-player>input{position:absolute;opacity:0;pointer-events:none}
.hsb-minor-player>span{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:62px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025);padding:10px 38px 10px 10px;transition:.18s}
.hsb-minor-player>span .hs-avatar{grid-row:1/3;width:38px;height:38px}
.hsb-minor-player strong{font-size:11px;text-transform:uppercase}
.hsb-minor-player small{color:#a1a1aa;font-size:9px}
.hsb-minor-player>b{position:absolute;right:11px;top:50%;display:flex;width:20px;height:20px;align-items:center;justify-content:center;transform:translateY(-50%);border:1px solid rgba(255,255,255,.16);border-radius:50%;color:transparent;font-size:9px}
.hsb-minor-player>input:checked+span{border-color:rgba(248,113,113,.5);background:rgba(127,29,29,.12)}
.hsb-minor-player>input:checked~b{border-color:#f87171;background:#dc2626;color:#fff}
.hsb-minor-message{min-height:16px;color:#8f8f99;font-size:9px}
.hsb-minor-message.error{color:#fca5a5}
.hsb-guardian-booking{display:grid;gap:11px;border:1px solid rgba(251,191,36,.16);border-radius:12px;background:rgba(161,98,7,.055);padding:12px}
.hsb-guardian-booking[hidden]{display:none!important}
.hsb-guardian-check{display:flex;gap:9px;align-items:flex-start}
.hsb-guardian-check input{width:18px;height:18px;flex:0 0 18px;accent-color:#dc2626}
.hsb-guardian-check strong{display:block;font-size:10px;text-transform:uppercase}
.hsb-guardian-check small{display:block;margin-top:4px;color:#a1a1aa;font-size:9px;line-height:1.55}
.hsb-minor-manage-note{margin:0 0 12px;border:1px dashed rgba(255,255,255,.08);border-radius:11px;padding:10px 12px;color:#a1a1aa;font-size:9px;line-height:1.5}
.hsb-minor-manage-note a{color:#d4d4d8;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.hsb-minor-player-grid{grid-template-columns:1fr}}
@media(max-width:560px){.hsb-minor-booking{padding:14px}.hsb-minor-player>span{min-height:66px}.hsb-guardian-booking{padding:11px}}

/* Tablet and mobile sticky checkout sit above only the navigation that actually exists. */
@media(min-width:768px) and (max-width:1100px){
  .hsb-mobile-checkout{bottom:env(safe-area-inset-bottom)}
  body.hs-booking-page .hs-page{padding-bottom:86px}
}
@media(max-width:767px){
  .hsb-mobile-checkout{bottom:calc(70px + env(safe-area-inset-bottom))}
}

/* Better touch/keyboard affordance for horizontal plan selection. */
@media(max-width:1100px){
  .hsb-plan-rail{touch-action:pan-x pinch-zoom}
  .hsb-plan:has(input:focus-visible){outline:2px solid rgba(248,113,113,.8);outline-offset:2px}
}

.hsb-minor-player.selection-disabled{opacity:.45}
.hsb-minor-player.selection-disabled>span{cursor:not-allowed}


/* Compact legal detail expanders: full wording remains available without overwhelming mobile checkout. */
.hsb-consent-details{border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(0,0,0,.24)}
.hsb-consent-details summary{cursor:pointer;list-style:none;padding:10px 12px;color:#b4b4bd;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.hsb-consent-details summary::-webkit-details-marker{display:none}
.hsb-consent-details summary:after{content:"+";float:right;color:#f87171;font-size:14px}
.hsb-consent-details[open] summary:after{content:"−"}
.hsb-consent-details p{margin:0;padding:0 12px 12px;color:#8f8f99;font-size:9px;line-height:1.65}
.hsb-consent-details.media{margin-top:-5px}
@media(max-width:560px){
  .hsb-consent-details summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .hsb-consent-details summary:after{float:none}
}

.hsb-media-choice{display:grid;gap:9px;margin:0;border:0;border-top:1px solid rgba(255,255,255,.07);padding:12px 0 0}
.hsb-media-choice legend{padding:0;color:#fff;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.hsb-media-choice>p{margin:0;color:#8f8f99;font-size:10px;line-height:1.55}
.hsb-media-choice>label{position:relative;display:grid!important;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:9px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.018);padding:11px!important}
.hsb-media-choice>label:has(input:checked){border-color:rgba(248,113,113,.5);background:rgba(127,29,29,.10)}
.hsb-media-choice>label input{width:18px;height:18px;margin:1px 0 0;accent-color:#dc2626}
.hsb-media-choice>label strong{display:block;font-size:10px;text-transform:uppercase}
.hsb-media-choice>label small{display:block;margin-top:4px;color:#8f8f99;font-size:9px;line-height:1.5}
.hsb-media-choice>label>b{align-self:start;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px 7px;color:#a1a1aa;font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.hsb-media-choice>label:has(input:checked)>b{border-color:rgba(248,113,113,.38);color:#fecaca}
.hsb-media-choice .hsb-consent-details{margin-top:1px}
@media(max-width:620px){.hsb-media-choice>label{grid-template-columns:18px minmax(0,1fr)}.hsb-media-choice>label>b{grid-column:2}}

@media(max-width:560px){
  .hsb-plan-price-row del{font-size:13px;color:#fff;opacity:1}
  .hsb-shots{font-size:9px}
  .hsb-plan-copy small{font-size:10px}
}


/* Mobile plan carousel — compact controls, crown clearance and clean phone layout */
@media (max-width:1100px){
  .hsb-plan-rail{padding-top:24px}
  .hsb-plan-mobile-cue{margin:-2px 0 2px}
}
@media (min-width:561px) and (max-width:1100px){
  .hsb-plan-mobile-cue{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}
  .hsb-plan-mobile-cue button{width:34px;min-height:34px;border-radius:9px;font-size:20px;box-shadow:none}
}
@media (max-width:560px){
  .hsb-section-head{margin-bottom:6px}
  .hsb-plan-mobile-cue{display:flex;min-height:24px;align-items:center;justify-content:center;margin:0 0 0}
  .hsb-plan-mobile-cue button{display:none!important}
  .hsb-plan-mobile-cue span{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.025);padding:4px 9px;color:#8f8f99;font-size:8px;line-height:1;font-weight:900;letter-spacing:.10em}
  .hsb-plan-rail{padding-top:28px;padding-bottom:8px;scroll-padding-inline:calc((100% - min(82vw,248px))/2)}
  .hsb-plans:before,.hsb-plans:after{top:96px;width:18px}
}


/* Tablet booking header clearance */
@media(min-width:768px) and (max-width:1100px){
  body.hs-booking-page .hs-page{padding-top:108px}
}


/* Compact consent/media: keep legal detail available without dominating checkout. */
.hsb-consent.compact{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding:12px 14px}
.hsb-consent.compact .hsb-consent-intro{display:flex;align-items:end;justify-content:space-between;gap:12px}
.hsb-consent.compact .hsb-consent-intro h2{font-size:16px;margin:2px 0 0}
.hsb-consent.compact .hsb-main-consent{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:9px;padding:10px 11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.018)}
.hsb-consent.compact .hsb-main-consent small{margin-top:2px;font-size:9px;line-height:1.45}
.hsb-consent.compact .hsb-main-consent>b{align-self:start;font-size:7px}
.hsb-media-choice.compact{padding-top:9px;gap:7px}
.hsb-media-choice.compact legend{font-size:10px}
.hsb-media-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.hsb-media-options>label{display:grid!important;grid-template-columns:17px minmax(0,1fr)!important;gap:8px!important;align-items:start!important;padding:9px 10px!important;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.018)}
.hsb-media-options>label:has(input:checked){border-color:rgba(248,113,113,.5);background:rgba(127,29,29,.10)}
.hsb-media-options input{width:17px!important;height:17px!important;margin:1px 0 0!important}
.hsb-media-options strong{font-size:9px!important}
.hsb-media-options small{margin-top:2px!important;font-size:8px!important;line-height:1.4!important}
.hsb-consent.compact .hsb-consent-details summary{padding:8px 10px;font-size:8px;min-height:0}
.hsb-consent.compact .hsb-consent-details p{font-size:8px;padding:0 10px 10px}
@media(max-width:560px){
  .hsb-consent.compact{padding:10px}
  .hsb-consent.compact .hsb-main-consent{grid-template-columns:18px minmax(0,1fr)}
  .hsb-consent.compact .hsb-main-consent>b{grid-column:2}
  .hsb-media-options{grid-template-columns:1fr 1fr}
}


/* 2026-10-07 booking readability + mobile decoration fix */
body.hs-booking-page .hs-page-head p{font-size:15px!important;line-height:1.6!important}
.hsb-progress{font-size:11px!important}
.hsb-section-head>p{font-size:12px!important}
.hsb-plan-name{font-size:14px!important}
.hsb-popular{font-size:10px!important}
.hsb-shots{font-size:11px!important}
.hsb-plan-copy b{font-size:12.5px!important}
.hsb-plan-copy small{font-size:11.5px!important;line-height:1.45!important}
.hsb-help{font-size:12px!important;line-height:1.55!important}
.hsb-duration{font-size:10.5px!important}
.hsb-section .hs-slot-btn strong{font-size:14px!important}
.hsb-section .hs-slot-btn span{font-size:11px!important}
.hsb-section .hs-slot-btn small{font-size:10.5px!important}
.hsb-payment label span strong{font-size:13.5px!important}
.hsb-payment label span small{font-size:11.5px!important;line-height:1.45!important}
.hsb-payment label span em{font-size:11px!important}
.hsb-coupon summary{font-size:11.5px!important}
.hsb-consent strong{font-size:12.5px!important}
.hsb-consent small{font-size:11.5px!important;line-height:1.5!important}
.hsb-consent-details summary{font-size:11px!important}
.hsb-consent-details p{font-size:11.5px!important;line-height:1.65!important}
.hsb-media-choice legend{font-size:12.5px!important}
.hsb-media-options strong{font-size:11.5px!important}
.hsb-media-options small{font-size:10.5px!important;line-height:1.45!important}
.hsb-plan-summary span,.hsb-mini-grid span,.hsb-paybox span{font-size:10.5px!important}
.hsb-plan-summary small{font-size:10.5px!important}
.hsb-mini-grid strong{font-size:12px!important}
.hsb-money>div{font-size:12px!important}
.hsb-paybox small{font-size:10.5px!important}
.hsb-pay{font-size:11.5px!important}
.hsb-secure{font-size:10.5px!important}
.hsb-custom-copy p:last-child{font-size:14px!important;line-height:1.6!important}
.hsb-custom-form>label>span{font-size:11px!important}
.hsb-custom-form>label>span small{font-size:10.5px!important}
.hsb-custom-form button{font-size:11px!important}
.hsb-mobile-checkout span{font-size:10px!important}
.hsb-mobile-checkout button{font-size:11px!important}
.hsb-plan-mobile-cue span{font-size:10px!important}

@media(max-width:1100px){
  .hsb-plan-rail{
    padding-top:0!important;
    overflow-x:auto!important;
  }
  .hsb-plan-wrap{
    padding-top:46px!important;
    position:relative;
  }
  .hsb-popular{
    top:10px!important;
    transform:translateX(-50%)!important;
    z-index:6!important;
  }
  .hsb-crown{
    top:1px!important;
    transform:translateX(-50%)!important;
    z-index:6!important;
  }
  .hsb-fire-crown{
    width:60px!important;
    height:42px!important;
  }
}
@media(max-width:560px){
  body.hs-booking-page .hs-page-head .hs-eyebrow{font-size:10.5px!important}
  body.hs-booking-page .hs-page-head p{font-size:14.5px!important}
  .hsb-plan-wrap{
    padding-top:44px!important;
  }
  .hsb-popular{
    top:9px!important;
    font-size:9.5px!important;
  }
  .hsb-crown{
    top:1px!important;
  }
  .hsb-plan-mobile-cue span{font-size:10px!important}
  .hsb-consent.compact .hsb-main-consent small{font-size:11px!important}
  .hsb-consent.compact .hsb-consent-details summary{font-size:10.5px!important}
  .hsb-consent.compact .hsb-consent-details p{font-size:10.5px!important}
}


/* 2026-10-07 booking subheading readability pass */
.hsb-section h2,.hsb-summary-head h2{font-size:19px!important;line-height:1.15!important}
.hsb-consent-intro h2,.hsb-consent.compact .hsb-consent-intro h2{font-size:18px!important}


/* 2026-10-07 laptop booking readability hardening */
@media (min-width:1101px){
  body.hs-booking-page .hs-page-inner{
    width:min(calc(100vw - 32px),1680px)!important;
    max-width:none!important;
  }
  .hsb-layout{
    grid-template-columns:minmax(0,1fr) 370px!important;
    gap:16px!important;
  }
  .hsb-section{padding:16px!important}
  .hsb-section h2,.hsb-summary-head h2{
    font-size:20px!important;
    line-height:1.18!important;
  }
  .hsb-section-head>p{font-size:13px!important}
  .hsb-progress{
    font-size:12px!important;
    padding:8px 12px!important;
  }
  .hsb-plan-rail{gap:10px!important}
  .hsb-plan{
    min-height:188px!important;
    padding:14px!important;
  }
  .hsb-plan-name{font-size:15px!important}
  .hsb-popular{font-size:10.5px!important}
  .hsb-shots{font-size:11.5px!important}
  .hsb-plan-copy b{
    font-size:13.5px!important;
    line-height:1.4!important;
  }
  .hsb-plan-copy small{
    font-size:12.5px!important;
    line-height:1.5!important;
  }
  .hsb-player-counter span{font-size:11px!important}
  .hsb-help{font-size:12.5px!important}
  .hsb-duration{font-size:11px!important}
  .hsb-select{font-size:13px!important}
  .hsb-summary-body{gap:13px!important;padding:16px!important}
  .hsb-plan-summary span,
  .hsb-mini-grid span,
  .hsb-paybox span,
  .hsb-summary-batches>span{
    font-size:11px!important;
  }
  .hsb-plan-summary strong{font-size:15px!important}
  .hsb-plan-summary small{font-size:11.5px!important}
  .hsb-mini-grid strong{font-size:13px!important}
  .hsb-summary-batches>div,
  .hsb-summary-batches strong{
    font-size:11.5px!important;
  }
  .hsb-money>div{
    font-size:13px!important;
    line-height:1.4!important;
  }
  .hsb-money>div:nth-child(3){font-size:14px!important}
  .hsb-paybox small{font-size:11px!important}
  .hsb-secure{font-size:11px!important}
  .hsb-pay{font-size:12px!important}
}
@media (min-width:951px) and (max-width:1180px){
  .hsb-layout{
    grid-template-columns:minmax(0,1fr) 340px!important;
  }
}


/* 2026-10-07 human-scale booking typography + header clearance */
@media (min-width:951px){
  body.hs-booking-page .hs-page{
    padding-top:138px!important;
  }
  body.hs-booking-page .hs-page-head p{
    font-size:15.5px!important;
  }
  .hsb-progress{
    font-size:12.5px!important;
  }
  .hsb-section-head>p{
    font-size:13.5px!important;
  }
  .hsb-plan-name{
    font-size:15.5px!important;
  }
  .hsb-popular{
    font-size:11px!important;
  }
  .hsb-shots{
    font-size:12px!important;
  }
  .hsb-plan-copy b{
    font-size:14px!important;
    line-height:1.42!important;
  }
  .hsb-plan-copy small{
    font-size:13px!important;
    line-height:1.5!important;
  }
  .hsb-player-counter span{
    font-size:11.5px!important;
  }
  .hsb-help{
    font-size:13px!important;
  }
  .hsb-duration{
    font-size:11.5px!important;
  }
  .hsb-section .hs-slot-btn strong{
    font-size:15px!important;
  }
  .hsb-section .hs-slot-btn span{
    font-size:12px!important;
  }
  .hsb-section .hs-slot-btn small{
    font-size:11.5px!important;
  }
  .hsb-plan-summary span,
  .hsb-mini-grid span,
  .hsb-paybox span,
  .hsb-summary-batches>span{
    font-size:12px!important;
  }
  .hsb-plan-summary strong{
    font-size:16px!important;
  }
  .hsb-plan-summary small{
    font-size:12.5px!important;
  }
  .hsb-mini-grid strong{
    font-size:14px!important;
  }
  .hsb-summary-batches>div,
  .hsb-summary-batches strong{
    font-size:12.5px!important;
  }
  .hsb-money>div{
    font-size:13.5px!important;
  }
  .hsb-money>div:nth-child(3){
    font-size:14.5px!important;
  }
  .hsb-paybox small,
  .hsb-secure{
    font-size:11.5px!important;
  }
  .hsb-pay{
    font-size:13px!important;
  }
}
