/* ============================== LEGAL PAGES (shared) ============================== */

.legal-hero{ padding: clamp(3rem,6vw,5rem) 0 2rem; }
.legal-hero-inner{ display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; }
.legal-icon{ width:64px; height:64px; border-radius:20px; display:grid; place-items:center; flex:none; font-size:1.7rem; }
.legal-hero h1{ font-size: clamp(2rem,4.4vw,3rem); }
.legal-hero p.lede{ color: var(--ink-dim); margin-top:.8rem; max-width:64ch; }
.updated-badge{ display:inline-flex; align-items:center; gap:.5em; font-family:var(--f-mono); font-size:.74rem; color: var(--ink-faint); background: var(--cream-card); padding:.4em 1em; border-radius:999px; margin-top:1.2rem; box-shadow: var(--shadow-sm); }
.updated-badge .dot-live{ width:6px; height:6px; border-radius:50%; background: var(--mint); }

/* ---- PRIVACY: sticky TOC + card sections ---- */
.privacy-shell{ display:grid; grid-template-columns: 260px 1fr; gap:2.6rem; align-items:start; padding-bottom:4rem; }
.toc-sidebar{ position:sticky; top:5.5rem; padding:1.5rem; }
.toc-sidebar h4{ font-family:var(--f-display); font-weight:800; font-size:.85rem; margin-bottom:1rem; }
.toc-sidebar nav{ display:flex; flex-direction:column; gap:.15rem; }
.toc-sidebar a{ font-size:.85rem; color: var(--ink-faint); padding:.5em .7em; border-radius:10px; border-left:2px solid transparent; transition: all var(--dur-fast); }
.toc-sidebar a:hover{ color: var(--ink); background: var(--cream-deep); }
.toc-sidebar a.is-active{ color: var(--coral); border-left-color: var(--coral); background: #fff0ea; }
.toc-ad{ margin-top:1.6rem; }
.legal-sections{ display:flex; flex-direction:column; gap:1.6rem; }
.legal-card{ padding:1.9rem 2rem; scroll-margin-top:6rem; }
.legal-card-head{ display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.legal-num{ font-family:var(--f-display); font-weight:800; font-size:1.1rem; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; flex:none; background: var(--g-coral); color:#fff; }
.legal-card h2{ font-size:1.18rem; }
.legal-card p, .legal-card li{ font-size:.9rem; color: var(--ink-dim); line-height:1.75; }
.legal-card ul{ margin-top:.6rem; display:flex; flex-direction:column; gap:.5rem; }
.legal-card li{ position:relative; padding-left:1.3rem; }
.legal-card li::before{ content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background: var(--sky); }
.legal-card p + p{ margin-top:.8rem; }
@media (max-width:920px){ .privacy-shell{ grid-template-columns:1fr; } .toc-sidebar{ position:static; } }

/* ---- TERMS: chip TOC + accordion ---- */
.toc-chip-row{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin:2rem 0 3rem; }
.terms-accordion{ max-width:860px; margin:0 auto; display:flex; flex-direction:column; gap:.9rem; }
.terms-accordion .acc-item{ scroll-margin-top:6rem; }
.terms-accordion .acc-trigger{ padding:1.3rem 1.6rem; }
.terms-accordion .acc-trigger .t-num{ font-family:var(--f-mono); color: var(--coral); margin-right:.7em; }
.terms-accordion .acc-panel-inner ul{ margin-top:.6rem; display:flex; flex-direction:column; gap:.45rem; }
.terms-accordion .acc-panel-inner li{ position:relative; padding-left:1.2rem; }
.terms-accordion .acc-panel-inner li::before{ content:""; position:absolute; left:0; top:.5em; width:5px; height:5px; border-radius:50%; background: var(--sky); }

/* ---- DISCLAIMER: editorial callout blocks ---- */
.disclaimer-doc{ max-width:820px; margin:0 auto; }
.callout{ position:relative; padding:1.6rem 1.8rem; margin-bottom:1.4rem; border-radius: var(--radius-md); border-left:4px solid var(--coral); background: #fff5f2; }
.callout h2{ font-size:1.05rem; display:flex; align-items:center; gap:.6em; }
.callout .tag-mini{ font-family:var(--f-mono); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; padding:.25em .7em; border-radius:999px; background:#fff; color: var(--ink-faint); }
.callout p{ font-size:.9rem; color: var(--ink-dim); line-height:1.75; margin-top:.7rem; }
.callout--warn{ border-left-color: var(--sun-dim); background:#fff9ec; }
.callout--info{ border-left-color: var(--sky); background:#eff9fd; }
.callout--safe{ border-left-color: var(--mint); background:#eefaf4; }
.disclaimer-ad-break{ margin:2.6rem 0; text-align:center; }
