/* AD FITNESS — booking page (app-like, mobile first) */
.bk{padding-top:calc(var(--hh) + clamp(28px,6vw,64px));padding-bottom:clamp(110px,14vw,150px);min-height:100svh}
.bk__wrap{max-width:680px}
.bk__head{margin-bottom:28px}
.bk__form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
#bkSteps{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}
.bk__fine{padding-inline:6px}
.bk__step{border:0;margin:0;padding:20px 18px 22px;border-radius:24px;background:linear-gradient(180deg,var(--bg3),#0f0f0f);box-shadow:inset 0 0 0 1px var(--line);min-inline-size:0;animation:rise .45s var(--ease) both}
.bk__step legend{float:none;display:flex;align-items:center;gap:.7em;padding:0;margin:0 0 14px;font-family:var(--serif);font-weight:900;font-size:1.35rem;width:100%}
.bk__step legend+*{clear:both}
.bk__n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#f0cf8a,var(--accent2));color:var(--accent-ink);font:800 .95rem var(--sans)}
.bk__dayname{font-family:var(--sans);font-weight:500;font-size:.95rem;color:var(--mute)}
.bk__loading{color:var(--mute);margin:0}
.bk__empty{padding:28px 22px;border-radius:24px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--line);display:grid;gap:12px;justify-items:start}
.bk__empty h2{font-family:var(--serif);font-size:1.5rem;font-weight:900;margin:0}
.bk__empty p{margin:0;color:var(--mute)}

/* radio chips: the <input> is visually hidden but stays focusable/keyboard-operable */
.bk__days,.bk__times{display:flex;flex-wrap:wrap;gap:10px}
.bk__days{flex-wrap:nowrap;overflow-x:auto;padding:4px 2px 10px;margin-inline:-2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.bk__chip{position:relative;display:grid;place-items:center;gap:0;flex:none;cursor:pointer;color:var(--txt);font-weight:700}
.bk__chip input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.bk__chip span{display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1.5px var(--line2);transition:background .2s,box-shadow .2s,color .2s,transform .2s;pointer-events:none}
.bk__chip--day{scroll-snap-align:start}
.bk__chip--day span{min-width:72px;min-height:84px;padding:10px 8px;line-height:1.15}
.bk__chip--day small{font-size:.8rem;color:var(--mute);font-weight:500}
.bk__chip--day b{font-family:var(--serif);font-size:1.7rem;font-weight:900}
.bk__chip--time span{min-width:92px;min-height:52px;padding:10px 14px;font-size:1.1rem;font-variant-numeric:tabular-nums}
.bk__chip:hover span{box-shadow:inset 0 0 0 1.5px var(--accent)}
.bk__chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.bk__chip input:checked+span{background:linear-gradient(135deg,#f0cf8a,var(--accent) 45%,var(--accent2));color:var(--accent-ink);box-shadow:0 8px 22px -8px rgba(227,185,102,.6)}
.bk__chip input:checked+span small{color:#3b2e12}

.bk__types{display:grid;gap:10px}
.bk__type{position:relative;display:block;cursor:pointer}
.bk__type input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.bk__type span{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1.5px var(--line2);pointer-events:none;transition:background .2s,box-shadow .2s}
.bk__type b{font-weight:700}
.bk__type small{color:var(--accent);font-weight:700;font-size:.95rem}
.bk__type input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.bk__type input:checked+span{box-shadow:inset 0 0 0 2px var(--accent);background:rgba(227,185,102,.1)}

.bk__fields{display:grid;gap:14px}
.bk__fields legend{margin-bottom:2px}
.bk__err{color:#ffb4a8;font-weight:500;font-size:.88rem}
input[aria-invalid=true],textarea[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px #ff8d7a}
.bk__hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}

/* sticky action bar: feels like an app on mobile */
.bk__bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));margin-inline:-6px;border-radius:22px 22px 0 0;background:rgba(14,14,14,.96);backdrop-filter:blur(14px);box-shadow:0 -1px 0 var(--line2),0 -16px 40px -12px #000}
.bk__sum{margin:0;font-size:.95rem;line-height:1.35;color:#d8d3c9}
.bk__sum b{display:block;color:var(--txt);font-size:1.05rem}
.bk__fine{color:var(--mute);font-size:.88rem;margin:0}
.bk__status{margin:0;min-height:1.4em;font-weight:600}
.bk__status.is-err{color:#ffb4a8}
.bk__done{display:grid;gap:12px;justify-items:start;padding:30px 24px;border-radius:26px;background:linear-gradient(180deg,var(--bg3),#0f0f0f);box-shadow:inset 0 0 0 1px rgba(227,185,102,.5)}
.bk__done:focus{outline:none}
.bk__done h2{font-family:var(--serif);font-weight:900;font-size:2rem;margin:0}
.bk__done p{margin:0;color:#d8d3c9}
.bk__ok{width:54px;height:54px;padding:12px;border-radius:50%;background:linear-gradient(135deg,#f0cf8a,var(--accent2));color:var(--accent-ink)}
.bk__doneBtns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
@media (min-width:700px){.bk__types{grid-template-columns:repeat(3,1fr)}.bk__type span{flex-direction:column;align-items:flex-start;gap:2px}.bk__days{flex-wrap:wrap;overflow:visible}.bk__step{padding:26px 26px 28px}}
@media (prefers-reduced-motion:reduce){.bk__step{animation:none}}


/* standalone app additions */
.header .btn{white-space:nowrap}
.bk{padding-top:calc(var(--hh) + clamp(24px,5vw,56px))}
.bk__install{margin-top:22px;display:grid;gap:10px;justify-items:start;padding:18px 20px;border-radius:20px;background:rgba(227,185,102,.08);box-shadow:inset 0 0 0 1px rgba(227,185,102,.35)}
.bk__install h2{font-family:var(--serif);font-weight:900;font-size:1.25rem;margin:0}
.bk__install p{margin:0;color:#d8d3c9;font-size:.95rem}
.bk__footer{padding-bottom:60px}
@media (max-width:420px){.brand__txt small{display:none}.header .btn--sm{padding:.55em .9em;font-size:.85rem}}
/* 7 offered days: wrap into a grid so every day is visible without sideways scrolling */
.bk__days{flex-wrap:wrap;overflow:visible;scroll-snap-type:none;padding:2px 0;margin-inline:0}
.bk__chip--day span{min-width:72px}
@media (max-width:480px){.bk__days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bk__chip--day span{min-width:0;width:100%}}
