/* Whisperin — Legal / trust pages (single-column reading layout)
   Tokens only; no new colors. Extends base/components for terms, privacy, ai-disclosure, consent. */

/* ---- Page shell ---- */
.legal{padding-top:clamp(104px,14vh,150px)}
.legal .doc{max-width:var(--reading);margin-inline:auto}

/* ---- Breadcrumb / back-link ---- */
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--fs-sm);color:var(--wi-text-subtle);margin-bottom:var(--s6)}
.crumbs a{color:var(--wi-text-muted);transition:color var(--dur-fast)}
.crumbs a:hover{color:var(--wi-accent)}
.crumbs .sep{color:var(--wi-text-subtle);opacity:.6}
.crumbs [aria-current]{color:var(--wi-text)}
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600;color:var(--wi-text-muted);margin-top:var(--s12);transition:color var(--dur-fast)}
.back-link:hover{color:var(--wi-accent)}
.back-link svg{width:16px;height:16px;color:var(--wi-accent)}

/* ---- Document head ---- */
.doc-head{margin-bottom:var(--s10)}
.doc-head h1{font-size:clamp(2.1rem,4.4vw,3rem)}
.doc-head .lead{margin-top:var(--s4)}
.updated{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--wi-text-subtle);margin-top:var(--s5)}
.updated .dot{width:6px;height:6px;border-radius:50%;background:var(--wi-accent-3)}

/* ---- Demo disclaimer banner (terms + privacy) ---- */
.disclaimer{display:flex;gap:12px;align-items:flex-start;padding:var(--s5) var(--s6);margin-top:var(--s6);border:1px solid var(--wi-border-strong);border-radius:var(--r-card);background:rgba(255,189,46,.06)}
.disclaimer svg{width:20px;height:20px;color:var(--wi-warning);flex:0 0 auto;margin-top:2px}
.disclaimer p{font-size:var(--fs-sm);color:var(--wi-text);margin:0}
.disclaimer strong{color:var(--wi-warning)}

/* ---- Section rhythm ---- */
.doc-section{margin-top:var(--s12);scroll-margin-top:96px}
.doc-section>h2{font-size:clamp(1.4rem,2.6vw,1.85rem);margin-bottom:var(--s4)}
.doc-section h3{font-size:var(--fs-h3);margin-top:var(--s8);margin-bottom:var(--s3)}

/* ---- Plain-English summary callout ---- */
.plain{display:flex;gap:12px;align-items:flex-start;padding:var(--s5);border:1px solid var(--wi-border);border-left:3px solid var(--wi-accent);border-radius:var(--r-sm);background:var(--wi-glass-btn-bg);margin-bottom:var(--s6)}
.plain svg{width:18px;height:18px;color:var(--wi-accent);flex:0 0 auto;margin-top:2px}
.plain p{font-size:var(--fs-sm);color:var(--wi-text-muted);margin:0}
.plain .tag{display:block;font-size:var(--fs-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wi-accent);margin-bottom:4px}

/* ---- Prose ---- */
.prose p{margin-top:var(--s4);line-height:var(--lh-body)}
.prose p:first-child{margin-top:0}
.prose ul{margin-top:var(--s4);display:grid;gap:10px}
.prose ul li{display:flex;gap:10px;color:var(--wi-text-muted);line-height:1.5}
.prose ul li::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;margin-top:9px;background:var(--wi-accent-3);box-shadow:0 0 8px rgba(240,176,200,.35)}
.prose ul li strong{color:var(--wi-text)}
.prose a{color:var(--wi-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--wi-border-strong);transition:text-decoration-color var(--dur-fast)}
.prose a:hover{text-decoration-color:var(--wi-accent)}

/* ---- Definition / key-term rows ---- */
.defs{margin-top:var(--s5);display:grid;gap:14px}
.defs div{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--wi-border)}
.defs dt{font-weight:700;color:var(--wi-text);font-size:var(--fs-sm)}
.defs dd{color:var(--wi-text-muted);font-size:var(--fs-sm);margin:0}
@media (max-width:560px){.defs div{grid-template-columns:1fr;gap:4px}}

/* ---- Mini table of contents ---- */
.toc{padding:var(--s6);border:1px solid var(--wi-border);border-radius:var(--r-card);background:var(--wi-glass-bg);backdrop-filter:var(--wi-blur);margin-top:var(--s8)}
.toc h2{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--wi-text-subtle);margin-bottom:var(--s4)}
.toc ol{counter-reset:toc;display:grid;gap:8px}
.toc li{counter-increment:toc}
.toc a{display:flex;gap:10px;font-size:var(--fs-sm);color:var(--wi-text-muted);transition:color var(--dur-fast)}
.toc a::before{content:counter(toc,decimal-leading-zero);color:var(--wi-accent);font-weight:700;font-variant-numeric:tabular-nums}
.toc a:hover{color:var(--wi-text)}

/* ---- Contact card ---- */
.contact-card{margin-top:var(--s6);padding:var(--s6);border:1px solid var(--wi-border-strong);border-radius:var(--r-card);background:var(--wi-glass-bg);backdrop-filter:var(--wi-blur)}
.contact-card h3{margin-top:0}
.contact-card p{margin-top:8px;font-size:var(--fs-sm)}
