/* ============================================================
   Legal page components — draft banner, meta strip, sticky TOC,
   legal index grid. Used by src/pages/legal/*.astro pages only.
   Hard rule for this component set: nothing renders under 14px,
   at any breakpoint — overrides a few sitewide legal-only classes
   (.crumbs, .kick, table th) that dip below that floor elsewhere.
   No gradient CTA is used anywhere in this file's markup contract.
   ============================================================ */

.legal .crumbs{font-size:14px}
.legal .kick{font-size:14px}
.legal .doc table th{font-size:14px}

.legal-draftbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;
  background:rgba(239,68,68,.12);
  border:1px solid rgba(239,68,68,.4);
  color:var(--ink);
  border-radius:var(--r);
  padding:12px 16px;
  margin:20px 0 22px;
  font-size:15px;line-height:1.5;font-weight:600;
}
.legal-draftbar strong{color:var(--red)}

.legal-metastrip{
  display:flex;flex-wrap:wrap;gap:10px 22px;
  margin:0 0 32px;
  padding:14px 16px;
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--r);
}
.legal-metastrip span{
  font-family:var(--mono);font-size:14px;line-height:1.5;color:var(--slate);
}
.legal-metastrip span b{color:var(--ink);font-weight:600}

.legal-layout{
  display:grid;grid-template-columns:1fr;gap:40px;
  margin-top:8px;align-items:start;
}
@media(min-width:1024px){
  .legal-layout{grid-template-columns:minmax(0,1fr) 260px}
}

.legal-toc{font-size:14px;min-width:0}
@media(min-width:1024px){
  .legal-toc{position:sticky;top:calc(var(--nav-h) + 24px)}
}
.legal-toc__label{
  display:block;font-family:var(--mono);font-size:14px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--gray);margin-bottom:10px;
}
.legal-toc nav{display:flex;flex-direction:column;gap:9px}
.legal-toc nav a{font-size:14px;line-height:1.4;color:var(--slate)}
.legal-toc nav a:hover{color:var(--ga-accent-text)}
.legal-toc__related{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.legal-toc__related a{display:block;font-size:14px;color:var(--ga-accent-text);margin:8px 0;text-decoration:underline}

.legal-index{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.legal-index h2{font-size:clamp(1.5rem,3.6vw,2.1rem);margin-bottom:10px}
.legal-index > p{font-size:15px;line-height:1.6;color:var(--gray);max-width:64ch;margin-bottom:26px}
.legal-index__grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:640px){.legal-index__grid{grid-template-columns:repeat(3,1fr)}}
.legal-index__col{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.legal-index__col h3{font-family:var(--mono);font-size:14px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:var(--gray);margin-bottom:12px}
.legal-index__col a{display:block;font-size:15px;color:var(--ga-accent-text);margin:9px 0;text-decoration:underline}
