.bk-body{background:var(--page)}
.bk .container{padding-top:8px}
.nav .cancel{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;font:500 15px var(--sans)}
.nav .container{justify-content:space-between}

.stepper{display:flex;gap:6px;list-style:none;margin:20px 0 22px;padding:0;overflow:hidden}
.stepper li{display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;font:600 13px/1.2 var(--sans);color:var(--text-muted);padding-top:10px;border-top:3px solid var(--border)}
.stepper .n{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--ctrl-border);font:600 12px var(--sans);background:var(--surface)}
.stepper .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stepper li.is-done{border-top-color:var(--outline);color:var(--text)}
.stepper li.is-done .n{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-text)}
.stepper li[aria-current="step"]{border-top-color:var(--accent-text);color:var(--text)}
.stepper li[aria-current="step"] .n{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-text)}
#step-heading{font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 8px}
#step-heading:focus{outline:none}
#step-heading:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
.lede{max-width:64ch;font-size:17px;color:var(--text-soft);margin:0 0 20px}
.note{max-width:78ch;padding:10px 14px;border:1.5px dashed var(--ctrl-border);border-radius:var(--r-sm);background:var(--surface);font:500 13.5px/1.4 var(--sans);color:var(--text-soft);margin:0 0 16px}
.note[hidden]{display:none}

.bk{padding-bottom:132px}
.bk-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px;align-items:start}
.bk .card{padding:24px}
.bk .card h2{font-size:22px;margin:0 0 4px}
.bk .card h3{font:600 15px/1.3 var(--sans);margin:0}
.bk .hint{margin:0 0 12px}
.bk .hint.pre{margin-bottom:18px;font-size:14px}

.hours{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 14px}
.hbtn{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:64px;padding:10px 14px;border:1.5px solid var(--outline);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.hbtn b{font:600 17px/1.2 var(--sans)}
.hbtn small{font:500 12.5px/1.2 var(--sans);color:var(--text-muted)}
.hbtn:hover{background:var(--inset)}
.hbtn[aria-checked="true"]{background:var(--sel-bg);color:var(--sel-text)}
.hbtn[aria-checked="true"] small{color:var(--sel-text-2)}
.hbtn[aria-checked="true"] b::after{content:" \2713"}
.addon{margin:0 0 8px}
.addon label{align-items:flex-start;padding:10px 12px;min-height:48px;border:1.5px solid var(--ctrl-border);border-radius:var(--r-md);background:var(--surface)}
.addon input{margin-top:2px}
.addon.is-off label{background:var(--disabled-bg);color:var(--text-muted);border-style:dashed;cursor:not-allowed}
.addon.is-off input{cursor:not-allowed}
.addon .hint{margin:6px 2px 0}
.readout{margin:14px 0 8px;padding:12px 14px;border-radius:var(--r-sm);background:var(--inset);font:500 15px/1.35 var(--sans);color:var(--text)}

.empty{border:1.5px dashed var(--ctrl-border);border-radius:var(--r-md);padding:28px 18px;text-align:center;color:var(--text-soft);background:var(--inset)}
.empty p{margin:0}
.strip{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;align-items:stretch}
.pg{align-self:center;width:44px;height:44px;min-height:44px;border:1.5px solid var(--outline);border-radius:var(--r-sm);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer}
.pg[disabled]{opacity:.4;cursor:not-allowed}
.days{position:relative;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px;scrollbar-width:thin}
.day{flex:none;scroll-snap-align:start;width:76px;min-height:76px;padding:8px 6px;border:1.5px solid var(--outline);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.day .dw{font:600 12px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.day .dn{font:600 22px/1.1 var(--serif)}
.day .dm{font:500 11.5px/1.2 var(--sans);color:var(--text-muted)}
.day .dc{font:600 12px/1.25 var(--sans)}
.day[aria-checked="true"]{background:var(--sel-bg);color:var(--sel-text)}
.day[aria-checked="true"] .dw,.day[aria-checked="true"] .dm{color:var(--sel-text-2)}
.day[aria-checked="true"] .dc::before{content:"\2713 "}
.day.is-closed{background:var(--inset);border:1.5px dotted var(--ctrl-border);color:var(--text-muted)}
.day.is-none{background:var(--disabled-bg);border-style:dashed;border-color:var(--ctrl-border);color:var(--text-soft)}
.day.is-closed[aria-checked="true"],.day.is-none[aria-checked="true"]{background:var(--sel-bg);color:var(--sel-text);border-style:solid;border-color:var(--sel-bg)}
#strip-note{margin:10px 0 14px}

.skel{height:220px;border-radius:var(--r-md);background:linear-gradient(90deg,var(--strip),var(--inset),var(--strip));background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
.msg{padding:14px 16px;border:1.5px solid var(--outline);border-radius:var(--r-md);background:var(--surface);font:500 15px/1.45 var(--sans);color:var(--text);margin:6px 0 10px}
.msg[hidden]{display:none}
.msg.is-error{border-color:var(--error-ui);color:var(--error-ui)}
.msg .btn{margin-top:10px;min-height:44px;padding:8px 18px;font-size:15px}
.msg b{font-weight:650}

.starts-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 10px}
.tz{font:500 13px var(--sans);color:var(--text-muted)}
.starts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.chip{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:64px;padding:10px 14px;border-radius:var(--r-md);font:inherit;text-align:left;color:var(--text);cursor:pointer;border:1.5px solid var(--outline);background:var(--surface)}
.chip .ct{font:600 16px/1.25 var(--sans)}
.chip .cs{font:500 13px/1.3 var(--sans);display:flex;align-items:center;gap:6px;color:var(--text-soft)}
.chip svg{flex:none}
.chip:hover{background:var(--inset)}
.chip.is-premier{background:var(--premier-bg);border-left:6px solid var(--premier-bar);padding-left:10px}
.chip.is-premier .cs{color:var(--premier-text);font-weight:600}
.chip.is-premier:hover{background:var(--premier-hover)}
.chip.is-early{background:color-mix(in srgb,var(--ink) 9%,var(--surface));border-left:6px dotted var(--text-soft);padding-left:10px}
.chip.is-early .cs{color:var(--text);font-weight:600}
.chip.is-early:hover{background:color-mix(in srgb,var(--ink) 15%,var(--surface))}
.chip.st-overlapping{background:var(--disabled-bg);border-color:var(--ctrl-border);color:var(--text-soft);cursor:not-allowed}
.chip.st-too_close{background:var(--disabled-bg);border:1.5px dashed var(--ctrl-border);color:var(--text-soft);cursor:not-allowed}
.chip.st-closed{background:var(--inset);border:1.5px dotted var(--ctrl-border);color:var(--text-muted);cursor:not-allowed}
.chip.st-overlapping:hover,.chip.st-too_close:hover,.chip.st-closed:hover{background:inherit}
.chip.st-overlapping:hover{background:var(--disabled-bg)} .chip.st-too_close:hover{background:var(--disabled-bg)} .chip.st-closed:hover{background:var(--inset)}
.chip.st-overlapping .cs,.chip.st-too_close .cs{color:var(--text-soft)}
.chip.st-closed .cs{color:var(--text-muted)}
.chip[aria-checked="true"]{background:var(--sel-bg);color:var(--sel-text);border-color:var(--sel-bg)}
.chip[aria-checked="true"] .cs{color:var(--sel-text-2)}
.chip[aria-checked="true"].is-premier{border-left:6px solid var(--copper-light)}
.chip[aria-checked="true"].is-early{border-left:6px dotted var(--sel-text-2)}
.chip[aria-checked="true"].is-early .cs{color:var(--sel-text-2)}
.chip[aria-checked="true"] .ct::after{content:" \2713"}
.chip .hintline{font:500 12.5px/1.3 var(--sans);color:var(--text-soft)}
.chip[aria-checked="true"] .hintline{color:var(--sel-text-2)}

.tlwrap{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}
.tl{position:relative;margin:34px 6px 34px}
.tl-band{position:relative;height:20px;border-radius:6px;overflow:hidden;background:var(--inset);border:1px solid var(--border)}
.tl-seg{position:absolute;top:0;bottom:0}
.tl-seg.standard{background:var(--surface)}
.tl-seg.premier{background:var(--premier-bg)}
.tl-seg.early{background:color-mix(in srgb,var(--ink) 9%,var(--surface))}
.tl-track{position:relative;height:36px;margin-top:6px;border-radius:6px;background:var(--inset)}
.tl-blk{position:absolute;top:0;bottom:0;border-radius:6px;display:grid;place-items:center;font:600 12px/1 var(--sans);overflow:hidden;white-space:nowrap}
.tl-blk.booked{background:var(--disabled-bg);border:1.5px solid var(--text-soft);color:var(--text-soft)}
.tl-blk.pick{background:var(--sel-bg);color:var(--sel-text);border:1.5px solid var(--sel-bg)}
.tl-blk.pick.premier{border-bottom:5px solid var(--copper-light)}
.tl-blk.pick.early{border-bottom:5px dotted var(--sel-text-2)}
.tl-blk.bad{background:var(--surface);border:1.5px dashed var(--error-ui);color:var(--error-ui)}
.tl-scale{position:relative;height:18px;margin-top:4px}
.tl-tick{position:absolute;top:0;transform:translateX(-50%);font:500 11.5px/1 var(--sans);color:var(--text-muted);white-space:nowrap}
.tl-cap{margin:6px 0 0;font:500 14px/1.45 var(--sans);color:var(--text-soft)}

.stopsform{max-width:880px}
.stopsform .grp:last-of-type{margin-bottom:0}
.rv{margin:0 0 14px}
.rv div{display:grid;grid-template-columns:160px 1fr;gap:4px 14px;padding:10px 0;border-bottom:1px solid var(--border)}
.rv dt{font:600 14px/1.35 var(--sans);color:var(--text-muted)}
.rv dd{margin:0;font:500 16px/1.4 var(--sans);color:var(--text);overflow-wrap:anywhere}
#result{margin-top:16px}
#sent-ref-code{font:600 20px/1.3 var(--sans);letter-spacing:.08em;overflow-wrap:anywhere}
.review{max-width:760px}
.price{margin:10px 0;font:600 16px/1.4 var(--sans);color:var(--text)}
.rv-actions{display:flex;gap:12px;margin-top:18px}
.rv-actions .btn-primary{flex:1;min-height:52px}
.pay{margin:6px 0 10px;font:500 15px/1.45 var(--sans);color:var(--text)}
.auth{margin:12px 0 4px}
.auth label{align-items:flex-start;min-height:44px;font:500 14.5px/1.45 var(--sans)}
.auth input{margin-top:1px}
.auth .pay{margin:6px 0 4px}
.auth.has-error label{color:var(--error-ui)}
.agree{margin:12px 0 0;font:500 14px/1.45 var(--sans);color:var(--text-soft)}
.agree a{display:inline-block;min-height:24px;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.success{max-width:760px}
.field .hint{margin:0}

.sent-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.sent-actions .btn{margin-top:0}

.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--band);color:var(--white);border-top:3px solid var(--copper);padding:12px 0 calc(12px + env(safe-area-inset-bottom))}
.actionbar[hidden]{display:none}
.actionbar .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:0}
.ab-main{margin:0;font:600 16px/1.3 var(--sans)}
.ab-sub{margin:2px 0 0;font:500 13px/1.3 var(--sans);color:var(--cream)}
.ab-btns{display:flex;gap:10px;flex:none}
.btn-ghost-light{background:transparent;color:var(--white);border-color:var(--white)}
.btn-ghost-light:hover{background:var(--ink-soft)}
.actionbar :focus-visible{outline:3px solid var(--copper-light);outline-offset:2px}
#ab-next{min-height:52px}

.bk-foot{font:500 14px/1.5 var(--sans)}
.bk-foot .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bk-foot a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}

@media (max-width:959px){
  .bk-grid{grid-template-columns:minmax(0,1fr)}
  .bk{padding-bottom:150px}
}
@media (max-width:640px){
  .stepper .t{display:none}
  .stepper li[aria-current="step"] .t{display:inline}
  .stepper li{padding-top:8px}
  .bk .card{padding:18px 16px}
  .starts{grid-template-columns:1fr 1fr}
  .chip{padding:8px 10px;min-height:76px}
  .chip.is-premier{padding-left:8px}
  .chip .ct{font-size:15px}
  .chip .cs{font-size:12.5px}
  .rv div{grid-template-columns:1fr}
  .tl-tick.odd{display:none}
  .actionbar .container{flex-direction:column;align-items:stretch;gap:8px}
  .ab-btns .btn{flex:1}
  .ab-main{font-size:15px}
  .rv-actions{flex-direction:column-reverse}
  .nav .container{padding-left:16px;padding-right:16px}
  .bk-foot{padding-bottom:190px}
}
@media (prefers-reduced-motion:reduce){.skel{animation:none}}

footer.bk-foot{background:transparent;color:var(--text-soft);padding:28px 0 150px;border-top:1px solid var(--border)}

@media print{
  .actionbar,.stepper,.sent-actions,.turnstile{display:none!important}
  .bk{padding-bottom:0}
  .bk .card{box-shadow:none;border:1px solid #999}
  footer.bk-foot{padding:16px 0}
}
