/* ============================================================
   legal.css — Privacy / Terms
   ============================================================ */

.legal-layout { display: grid; gap: 2.4rem; align-items: start; }

.legal-toc {
  border: 1px solid var(--border); border-radius: var(--radius); background: var(--color-surface);
  padding: 1.4rem; position: sticky; top: calc(var(--header-h) + 1rem);
}
.legal-toc h2 { font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-gold-bright); margin-bottom: 1rem; }
.legal-toc ol { counter-reset: toc; display: flex; flex-direction: column; gap: 0.5rem; }
.legal-toc a { display: block; font-size: 0.9rem; color: var(--text-secondary); padding: 0.3rem 0; transition: color var(--dur), padding-left var(--dur); }
.legal-toc a:hover { color: var(--color-gold-bright); padding-left: 4px; }

.legal-body { max-width: 760px; }
.legal-body section { padding-top: 1.6rem; margin-bottom: 1.2rem; scroll-margin-top: calc(var(--header-h) + 1.4rem); }
.legal-body h2 { font-family: var(--font-display); font-size: var(--fs-h2); margin-bottom: 0.9rem; padding-bottom: 0.7rem; border-bottom: 1px solid var(--border); }
.legal-body h3 { font-size: var(--fs-h4); color: var(--text-primary); margin: 1.4rem 0 0.6rem; }
.legal-body p { margin-bottom: 1rem; }
.legal-body ul { margin-bottom: 1.2rem; }
.legal-updated { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.84rem; color: var(--text-muted); margin-bottom: 1.4rem; }
.legal-updated svg { width: 16px; height: 16px; color: var(--color-gold); }

.responsible-note {
  padding: 1.4rem 1.6rem; border-radius: var(--radius); margin: 1.6rem 0;
  background: linear-gradient(100deg, rgba(201,166,70,0.1), rgba(13,42,32,0.4)); border: 1px solid var(--color-gold-line);
}
.responsible-note h3 { margin-top: 0; color: var(--color-gold-bright); }
.responsible-note p:last-child { margin-bottom: 0; }

@media (min-width: 992px) { .legal-layout { grid-template-columns: 260px 1fr; } }
