/* pages.css — ADDITIVE ONLY. Styles for destinations the original single page didn't have
   (product detail, policies, qualification, checkout, account, contact, internal console) and a phone
   menu button. Nothing here restyles an existing element of the original design (styles.css). */

[hidden]{display:none!important}

/* ---- phone menu (original design hid the nav under 760px with no way to reach it) ---- */
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--rule);border-radius:50%;background:transparent;cursor:pointer;position:relative;flex:none}
.nav-toggle i,.nav-toggle i::before,.nav-toggle i::after{position:absolute;left:12px;right:12px;height:1.5px;background:var(--ink);content:"";transition:transform .25s}
.nav-toggle i{top:21px}.nav-toggle i::before{left:0;right:0;top:-6px}.nav-toggle i::after{left:0;right:0;top:6px}
.nav-open .nav-toggle i{background:transparent}.nav-open .nav-toggle i::before{transform:translateY(6px) rotate(45deg)}.nav-open .nav-toggle i::after{transform:translateY(-6px) rotate(-45deg)}
.bar nav a[aria-current="page"]{color:var(--ink)}
@media (max-width:760px){
  header.bar{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(231,235,229,.97)}
  .nav-toggle{display:block;margin-left:auto}
  .cartbtn{margin-left:0!important}
  .nav-open .bar nav{display:flex;position:fixed;left:0;right:0;top:var(--nav-top,110px);bottom:0;flex-direction:column;gap:0;margin:0;padding:10px var(--gutter) 40px;background:var(--paper) var(--grain);overflow:auto;z-index:39}
  .nav-open .bar nav a{font:500 26px var(--display);color:var(--ink);padding:16px 0;border-bottom:1px solid var(--rule)}
}

/* ---- routed page container (sits where the home sections were, same sheet language) ---- */
body[data-view="page"] .home-only{display:none!important}
#page{position:relative;z-index:2;padding-bottom:110px}
.page-head{padding-block:64px 32px}
.h1-page{font-size:clamp(40px,6vw,80px);line-height:.98;margin-top:12px;font-variation-settings:"opsz" 96;font-family:var(--display);font-weight:500}
.h1-page em{font-style:italic;color:var(--amber)}
#page .sub{color:var(--stone);max-width:640px;margin-top:16px;font-size:18px}
.h2-s{font-size:24px!important;line-height:1.15;margin:0 0 12px}
.h3-s{font:500 20px var(--display);margin:28px 0 10px}
.fine{font-size:14px;color:var(--stone);margin-top:10px}
.unk{color:var(--pebble);font-style:italic}
mark.tc{background:rgba(208,138,30,.16);color:var(--amber-deep);padding:1px 6px;border-radius:4px;font:500 12px var(--mono)}
.linkbtn{background:none;border:0;padding:6px 2px;color:var(--amber);font:500 14px var(--body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.chip-s{display:inline-flex;align-items:center;gap:6px;font:500 11.5px/1.2 var(--mono);letter-spacing:.03em;padding:5px 9px;border-radius:6px;border:1px solid currentColor;white-space:nowrap}
.chip-s i{font-style:normal;font-size:10px}
.chip-s.ok{color:#2f6b45;background:rgba(47,107,69,.07)}.chip-s.wait{color:#8a5a06;background:rgba(208,138,30,.08)}.chip-s.stop{color:#8b2a24;background:rgba(139,42,36,.06)}.chip-s.demo{color:#5e3a55;background:rgba(94,58,85,.07)}
.demo-tag{display:inline-block;margin-left:6px;font:600 9.5px/1 var(--mono);letter-spacing:.1em;color:#5e3a55;border:1px dashed #5e3a55;border-radius:4px;padding:4px 6px;vertical-align:middle}
.demo-strip{font:600 11px var(--mono);letter-spacing:.1em;color:#5e3a55;background:rgba(94,58,85,.08);border:1px dashed #5e3a55;padding:8px 10px;border-radius:6px;margin:10px 0}
.field-inline{display:flex;align-items:center;gap:10px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--stone)}
.field-inline input,.field-inline select{font:400 15px var(--body);letter-spacing:0;text-transform:none;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:0 16px;min-height:44px;min-width:0}
.field-inline input[type=number]{width:80px}

/* product detail */
.crumbs{font-size:14px;color:var(--stone);padding-top:28px}.crumbs a{color:var(--amber)}
.pdp-top{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;align-items:center;padding-block:28px 48px}
.pdp-vial{display:grid;place-items:center;min-height:360px;border-radius:32px;background:radial-gradient(90% 60% at 50% 90%,#f7f8f4,transparent 70%),linear-gradient(180deg,#d9ded6,#eef1eb);overflow:hidden}
.pdp-sku{font-size:14px;color:var(--stone);margin-top:10px}
.pdp-status{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pdp-buy{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:26px;padding-block:20px;border-block:1px solid var(--rule)}
.pdp .price{font:500 34px var(--display);font-variant-numeric:tabular-nums}
.pdp .price small{font:500 10px var(--mono);color:#5e3a55;display:block}
.why{color:var(--stone);max-width:520px}
.ruo{font-size:14px;color:var(--stone);margin-top:14px}.ruo a{color:var(--amber)}
.pdp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.doc-block{border-radius:24px;padding:26px;background:var(--glass),var(--paper);border:1px solid var(--glass-edge);box-shadow:0 24px 40px -32px rgba(28,25,23,.35),inset 0 1px 0 #fff;min-width:0}
.ruo-block{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ruo-block p{color:#d6d0c7}
.kv{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:8px 18px;margin:0;font-size:15px}
.kv dt{color:var(--stone);font-size:13.5px}.kv dd{margin:0;overflow-wrap:anywhere}
.seq{font-size:13px;letter-spacing:.04em}
.lots{margin-top:12px;font-size:14px}
.prose{max-width:62ch}
@media (max-width:900px){.pdp-top,.pdp-grid{grid-template-columns:1fr}.pdp-vial{min-height:280px}}

/* policies */
.policy{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}
.toc{position:sticky;top:96px;display:grid;gap:4px;border-left:1px solid var(--rule);padding-left:16px}
.toc a{font-size:14px;color:var(--stone);text-decoration:none;padding:5px 0}.toc a:hover{color:var(--amber)}
.policy-body{display:grid;gap:34px;max-width:720px}
.policy-body section{scroll-margin-top:100px}
.policy-body p,.policy-body li{color:#3b3733}
.policy-body ul{padding-left:20px;display:grid;gap:6px}
.rev{font:600 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#8b2a24;border:1px solid currentColor;border-radius:4px;padding:3px 6px;vertical-align:middle;margin-left:6px}
.attorney{margin-top:18px;padding:12px 16px;border-radius:12px;background:rgba(139,42,36,.06);color:#8b2a24;font-size:14px;max-width:640px}
@media (max-width:900px){.policy{grid-template-columns:1fr}.toc{position:static;border-left:0;padding-left:0;display:flex;flex-wrap:wrap;gap:4px 16px}}

/* forms */
.qual,.stack{display:grid;gap:22px;max-width:820px}
#page fieldset{border:1px solid var(--rule);border-radius:20px;padding:20px 22px 22px;margin:0;display:grid;gap:14px;background:rgba(255,255,255,.35)}
#page fieldset.has-err{border-color:#8b2a24}
#page legend{font:500 20px var(--display);padding:0 8px}
.field{display:grid;gap:6px;min-width:0}
.field label{font-size:14px;font-weight:500}
.field input,.field select,.field textarea{width:100%;background:var(--paper);border:1px solid rgba(28,25,23,.25);border-radius:12px;padding:12px 14px;min-height:48px;font:400 16px var(--body)}
.field.has-err input,.field.has-err select,.field.has-err textarea{border-color:#8b2a24}
.err{color:#8b2a24;font-size:13.5px}
.help{font-size:13px;color:var(--stone)}
.err-summary{padding:14px 18px;border-radius:12px;background:rgba(139,42,36,.08);color:#8b2a24;font-weight:500}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
.check{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:15px;cursor:pointer}
.check input{width:18px;height:18px;margin-top:3px;accent-color:var(--amber)}
@media (max-width:700px){.row2,.row3{grid-template-columns:1fr}}
.status-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;border-radius:20px;background:var(--glass),var(--paper);border:1px solid var(--glass-edge);box-shadow:0 24px 40px -32px rgba(28,25,23,.35);margin-bottom:24px;max-width:820px}
.status-card p{margin-top:8px;color:var(--stone)}

/* tables, checkout, account, support */
.tbl-wrap{overflow-x:auto;border-radius:16px}
.tbl{width:100%;border-collapse:collapse;font-size:14.5px;background:rgba(255,255,255,.4)}
.tbl th{text-align:left;font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--stone);padding:10px 12px;border-bottom:1px solid var(--ink)}
.tbl td{padding:12px;border-bottom:1px solid var(--rule);vertical-align:top}
.small{font-size:13px}
.stepper{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.stepper li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--pebble);padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--rule)}
.stepper li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:500 11px var(--mono);background:var(--bone)}
.stepper li.done{color:#2f6b45}.stepper li.done span{background:#2f6b45;color:#fff}
.stepper li.now{color:var(--ink);border-color:var(--ink);font-weight:500}.stepper li.now span{background:var(--ink);color:#fff}
.checkout-body{max-width:860px}
.result{padding:28px;border-radius:24px;border:1px solid var(--rule);background:var(--paper);display:grid;gap:14px}
.result.ok{border-color:#2f6b45}.result.wait{border-color:#8a5a06}.result.stop{border-color:#8b2a24}
.acct-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;align-items:start}
.support-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.assistant{display:grid;gap:8px;margin-top:14px}
.assistant label{font-size:14px;font-weight:500}
.assistant .row{display:flex;gap:8px}
.assistant input{flex:1;min-width:0;min-height:48px;border:1px solid rgba(28,25,23,.25);border-radius:999px;padding:0 18px;background:var(--paper)}
.answer{margin-top:14px;padding:16px 18px;border-radius:16px;background:rgba(47,107,69,.06);border:1px solid rgba(47,107,69,.25)}
.answer.blocked{background:rgba(208,138,30,.08);border-color:rgba(161,98,7,.35)}
.answer ul{margin:8px 0 0;padding-left:18px}.answer a{color:var(--amber)}
.faq-mini details{border-bottom:1px solid var(--rule)}
.faq-mini summary{cursor:pointer;padding:14px 0;font:500 18px/1.3 var(--display)}
.faq-mini p{color:var(--stone);padding-bottom:14px}
@media (max-width:900px){.acct-grid,.support-grid{grid-template-columns:1fr}}

/* internal console */
.admin{padding-block:40px 80px}
.admin-head{display:grid;grid-template-columns:1fr minmax(260px,420px);gap:20px;align-items:end;margin-bottom:22px}
.warn-box{font-size:13.5px;padding:12px 14px;border-radius:12px;background:rgba(139,42,36,.07);color:#8b2a24}
.admin-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;border-bottom:1px solid var(--rule);padding-bottom:12px}
.admin-tabs button{border:1px solid var(--rule);background:var(--paper);border-radius:999px;padding:0 14px;min-height:38px;cursor:pointer;font-size:14px}
.admin-tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.admin-msg{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:14px}
.admin-msg.ok{background:rgba(47,107,69,.08);color:#2f6b45}.admin-msg.bad{background:rgba(139,42,36,.08);color:#8b2a24}
.integr{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.int{font:600 11px var(--mono);letter-spacing:.05em;padding:7px 10px;border-radius:6px;border:1px solid var(--rule);background:var(--paper)}
.int.bad{color:#8b2a24;border-color:currentColor}.int.ok{color:#2f6b45;border-color:currentColor}.int.warn{color:#8a5a06;border-color:currentColor}
.dash{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.dash-card{border-radius:18px;padding:18px;background:var(--paper);border:1px solid var(--rule)}
.dash-card h3{font-size:22px;margin-bottom:10px}
.dash-card dl{margin:0;display:grid;gap:4px}
.dash-card dl div{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:4px 0;border-bottom:1px dashed var(--rule)}
.dash-card dd{margin:0;font:600 14px var(--mono)}
.dash-card .ok dd{color:#2f6b45}.dash-card .bad dd{color:#8b2a24}.dash-card .warn dd{color:#8a5a06}
.admin-tbl{font-size:13.5px}
.acts{display:flex;flex-wrap:wrap;gap:6px}
.acts button,.admin-tbl button,.admin-tbl select{border:1px solid var(--rule);background:var(--paper);border-radius:8px;padding:6px 10px;font-size:12.5px;cursor:pointer}
.acts button:disabled{opacity:.4;cursor:default}
.gate-list{list-style:none;padding:0;margin:8px 0 0;font-size:12.5px;display:grid;gap:3px;min-width:260px}
.gate-list .p{color:#2f6b45}.gate-list .f{color:#8b2a24}.gate-list span{color:var(--stone)}
.flags{margin:0;padding-left:16px;font-size:12.5px}.flags .reject{color:#8b2a24}.flags .review{color:#8a5a06}
.wf{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:16px 0}
.wf li{font:500 11px var(--mono);padding:6px 10px;border-radius:6px;border:1px solid var(--rule);color:var(--pebble)}
.wf li.now{background:var(--ink);color:var(--paper)}
.claim-flags{list-style:none;padding:0;display:grid;gap:8px}
.claim-flags li{padding:10px 12px;border-radius:10px;border:1px solid var(--rule);display:grid;gap:4px}
.claim-flags li.bad{border-color:#8b2a24;background:rgba(139,42,36,.05)}.claim-flags li.ctx{border-color:#8a5a06}.claim-flags li.cleared{opacity:.7}
.claim-flags button{justify-self:start;border:1px solid var(--rule);border-radius:8px;background:var(--paper);padding:5px 10px;font-size:12.5px;cursor:pointer}
.settings{display:grid;gap:14px;max-width:760px}
.toggle{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:16px;border-radius:14px;border:1px solid var(--rule);background:var(--paper);cursor:pointer}
.toggle input{width:20px;height:20px;accent-color:var(--amber);margin-top:2px}
.toggle small{display:block;color:var(--stone);font-size:13.5px}
@media (max-width:800px){.admin-head{grid-template-columns:1fr}}

/* banners (demo / processor review) — shown under the header */
.banner{padding:10px var(--gutter);font-size:14px;border-bottom:1px solid var(--rule)}
.banner.demo{background:rgba(208,138,30,.12);color:var(--amber-deep)}
.banner.review{background:#243b53;color:#e8eef4}.banner.review a{color:#fff}

/* certificate demo marks inside the original .cert card */
.cert .watermark{position:absolute;inset:0;display:grid;place-items:center;font:700 64px var(--mono);color:rgba(94,58,85,.08);transform:rotate(-24deg);pointer-events:none;letter-spacing:.1em}
.cert{overflow:hidden}
.coa-more{margin-top:12px;font-size:14px;color:var(--stone)}
.card h3 a{text-decoration:none}
