/*
 * Pagine legali pubbliche (Privacy, Termini) — stesso linguaggio visivo nero minimale di
 * home.css/auth.css, scoped sotto .legal-root, ma pensato per la lettura lunga: colonna più
 * stretta, line-height maggiore, gerarchia di titoli marcata.
 */

:root {
  --legal-bg: #000000;
  --legal-card: #131313;
  --legal-ink: #f5f5f5;
  --legal-ink-dim: rgba(245, 245, 245, 0.68);
  --legal-ink-faint: rgba(245, 245, 245, 0.42);
  --legal-line: rgba(255, 255, 255, 0.1);
  --legal-sans: -apple-system, "Segoe UI", system-ui, sans-serif;
}

.legal-root, .legal-root * { box-sizing: border-box; }
.legal-root { background: var(--legal-bg); color: var(--legal-ink); font-family: var(--legal-sans); min-height: 100vh; -webkit-font-smoothing: antialiased; }
.legal-root a { color: inherit; }

.legal-topbar { display: flex; justify-content: center; padding: 26px 28px 0; }
.legal-topbar-inner { width: 100%; max-width: 720px; }
a.legal-back { font-size: 0.84rem; color: var(--legal-ink-faint); display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
a.legal-back:hover { color: var(--legal-ink-dim); }

.legal-page { display: flex; justify-content: center; padding: 40px 20px 90px; }
.legal-content { width: 100%; max-width: 720px; }

.legal-brand { display: flex; align-items: center; gap: 8px; font-size: 0.9rem; color: var(--legal-ink-dim); margin-bottom: 30px; }
.legal-brand .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--legal-ink); }

.legal-content h1 { font-size: clamp(1.7rem, 3.4vw, 2.3rem); letter-spacing: -0.02em; font-weight: 500; margin: 0 0 10px; }
.legal-updated { font-size: 0.82rem; color: var(--legal-ink-faint); margin-bottom: 40px; }

.legal-notice {
  border: 1px solid rgba(255, 179, 71, 0.35);
  background: rgba(255, 179, 71, 0.08);
  color: rgba(255, 210, 140, 0.92);
  border-radius: 12px;
  padding: 16px 18px;
  font-size: 0.85rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.legal-content h2 { font-size: 1.08rem; font-weight: 500; letter-spacing: -0.01em; margin: 40px 0 12px; }
.legal-content h2:first-of-type { margin-top: 0; }
.legal-content p { margin: 0 0 14px; font-size: 0.92rem; line-height: 1.75; color: var(--legal-ink-dim); }
.legal-content ul { margin: 0 0 14px; padding-left: 20px; }
.legal-content li { font-size: 0.92rem; line-height: 1.75; color: var(--legal-ink-dim); margin-bottom: 6px; }
.legal-content strong { color: var(--legal-ink); font-weight: 500; }

.legal-content section:not(:last-child) { border-bottom: 1px solid var(--legal-line); padding-bottom: 4px; }
