/* /book/discovery - public Discovery booking. Pearl/Smoke glass, day + night.
   Tokens mirror the member app's glass system so the page reads as ASPN. */
:root{
  /* 75j-3 (Jake, Nov 1): day theme matches the in-app daytime theme exactly -
     the app's own glass65 background and the booking dialog's flat buttons
     (bk75-primary day = ink #252525 on cream, bk75-day.on same; night flips
     to sand, which matches the already-approved night look), not invented. */
  --back:radial-gradient(ellipse at 12% 8%,#dac8ad6b,transparent 55%),radial-gradient(ellipse at 88% 64%,#e9dfccaa,transparent 64%),#f3efe7;
  --fill:linear-gradient(135deg,#fffdf49b,#f2eee484);
  --fill-solid:#f6f1e8;
  --line:#ffffffb3;--hair:#e8e1d9;
  --shadow:0 18px 55px #493b2b15,inset 0 1px 0 #ffffffb3;
  --ink:#252525;--muted:#665d52;--accent:#a6886e;--accent-ink:#7f6a52;
  --field:rgba(255,255,255,.50);
  --btn:#252525;--btn-ink:#fff8ed;
  --sel:#252525;--sel-ink:#fff8ed;
  --err:#9a3d2e;--ok:#4a7a4f;--on-ink:#fff8ed;
}
[data-theme="night"]{
  --back:radial-gradient(ellipse at 12% 8%,#70634d66,transparent 55%),radial-gradient(ellipse at 88% 64%,#4f4b4166,transparent 64%),#242423;
  --fill:linear-gradient(135deg,#272722bb,#45443cb3);
  --fill-solid:#302e29;
  --line:#ffffff55;--hair:#4a453c;
  --shadow:0 18px 55px #0003,inset 0 1px 0 #ffffff24;
  --ink:#fff8ed;--muted:#ded3c0;--accent:#d8b48c;--accent-ink:#e5c9a7;
  --field:rgba(255,255,255,.06);
  --btn:var(--accent);--btn-ink:#252525;
  --sel:var(--ink);--sel-ink:#302e29;
  --err:#e08a75;--ok:#8fc79a;--on-ink:#252525;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --back:radial-gradient(ellipse at 12% 8%,#70634d66,transparent 55%),radial-gradient(ellipse at 88% 64%,#4f4b4166,transparent 64%),#242423;
  --fill:linear-gradient(135deg,#272722bb,#45443cb3);
  --fill-solid:#302e29;
  --line:#ffffff55;--hair:#4a453c;
  --shadow:0 18px 55px #0003,inset 0 1px 0 #ffffff24;
  --ink:#fff8ed;--muted:#ded3c0;--accent:#d8b48c;--accent-ink:#e5c9a7;
  --field:rgba(255,255,255,.06);
  --btn:var(--accent);--btn-ink:#252525;
  --sel:var(--ink);--sel-ink:#302e29;
  --err:#e08a75;--ok:#8fc79a;--on-ink:#252525;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--back);background-attachment:fixed;color:var(--ink);font:16px/1.6 Georgia,serif;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}
a{color:var(--accent-ink)}
.top{padding:calc(26px + env(safe-area-inset-top)) 20px 4px;text-align:center}
.logo{height:30px;width:auto;display:inline-block}
.logo-night{display:none}
[data-theme="night"] .logo-day{display:none}
[data-theme="night"] .logo-night{display:inline-block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-day{display:none}:root:not([data-theme="light"]) .logo-night{display:inline-block}}
.wrap{width:100%;max-width:560px;margin:0 auto;padding:10px 20px 48px;flex:1}
.hero{text-align:center;margin:16px 0 22px}
.eyebrow{font:10px Arial,sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent-ink)}
h1{font:44px/1.05 'Bebas Neue',Arial,sans-serif;letter-spacing:1.5px;margin:10px 0 8px;font-weight:400}
.sub{color:var(--muted);font-size:15.5px;margin:0 auto;max-width:42ch}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.chip{background:var(--fill);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-radius:999px;padding:7px 14px;font:12px Arial,sans-serif;color:var(--ink)}
.card{background:var(--fill);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-radius:22px;padding:20px;margin:14px 0}
.days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.days::-webkit-scrollbar{display:none}
.day{flex:0 0 auto;border:1px solid var(--line);background:var(--fill);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-radius:16px;padding:10px 16px;font:13px Arial,sans-serif;color:var(--ink);cursor:pointer;text-align:center;min-height:44px;box-shadow:var(--shadow)}
.day b{display:block;font-size:15px}
.day i{display:block;font-style:normal;font-size:10px;color:var(--muted)}
.day[aria-selected=true]{background:var(--sel);color:var(--sel-ink);border-color:var(--sel)}
.day[aria-selected=true] i{color:var(--sel-ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin:14px 0}
.slot{border:1px solid var(--line);background:var(--fill);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-radius:14px;padding:12px 8px;font:14px Arial,sans-serif;color:var(--ink);cursor:pointer;min-height:48px;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}
.slot:hover{border-color:var(--accent);transform:translateY(-1px)}
.field{margin:14px 0}
.field label{display:block;font:13px Arial,sans-serif;margin-bottom:6px;color:var(--ink)}
.field label i{color:var(--muted)}
.field input,.field textarea,.field select{width:100%;box-sizing:border-box;background:var(--field);border:1px solid var(--hair);border-radius:14px;padding:12px 14px;color:inherit;font:14px Arial,sans-serif;min-height:46px;outline:none}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a6886e33}
.field textarea{font:14px Georgia,serif;resize:vertical}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{border:1px solid var(--hair);background:var(--field);border-radius:999px;padding:9px 18px;font:13px Arial,sans-serif;color:var(--ink);cursor:pointer;min-height:44px}
.choice.on{background:var(--sel);color:var(--sel-ink);border-color:var(--sel)}
.primary{display:block;width:100%;border:0;border-radius:24px;background:var(--btn);color:var(--btn-ink);padding:14px 22px;font:13px Arial,sans-serif;cursor:pointer;min-height:44px;margin-top:18px}
.primary:disabled{opacity:.6;cursor:wait}
.note{font:12px/1.6 Arial,sans-serif;color:var(--muted);margin:12px 0}
.warn{font:13px/1.6 Arial,sans-serif;color:var(--accent-ink);margin:10px 0}
.err{font:13px/1.5 Arial,sans-serif;color:var(--err);background:#9a3d2e14;border-radius:12px;padding:10px 14px;margin:12px 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.back{background:none;border:0;border-bottom:1px solid var(--accent);padding:8px 0;color:var(--ink);font:13px Arial,sans-serif;cursor:pointer;min-height:44px}
.review{border-block:1px solid var(--hair);padding:14px 0;margin:14px 0}
.rrow{display:flex;justify-content:space-between;gap:12px;font:14px Arial,sans-serif;padding:3px 0}
.rrow span{color:var(--muted)}
.done-ic{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--fill);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);color:var(--ok);margin:0 auto 12px}
.done-ic svg{width:26px;height:26px}
.center{text-align:center}
.foot{text-align:center;font:10px Arial,sans-serif;letter-spacing:2px;color:var(--muted);padding:18px 20px calc(22px + env(safe-area-inset-bottom));text-transform:uppercase}
.foot a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--hair)}
@media(min-width:600px){
  .top{padding-top:40px}
  .logo{height:34px}
  .wrap{padding-top:18px}
  h1{font-size:56px}
}
@media (prefers-reduced-transparency:reduce){
  :root{--fill:linear-gradient(135deg,#fffdf4,#f2eee4)}
  [data-theme="night"]{--fill:#302e29}
}

/* 75m5: checkbox rows (12h acknowledgment) sit inline with their label, not full-width stacked */
.field label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.field label:has(input[type=checkbox]) input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;min-height:18px;margin:2px 0 0;padding:0;accent-color:#a6886e}
