/* Páginas legais (Termos de Uso, Privacidade, Anexos) — geradas por ferramentas/gerar-legal.js */
.legal { max-width: 46rem; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
.legal > * { min-width: 0; }
.legal h1 { margin: 0 0 0.25rem; }
.legal .versao { font-size: 0.9rem; color: var(--ink-soft); margin: 0.6rem 0 0; overflow-wrap: anywhere; }
.legal .legal-nav { font-size: 0.95rem; line-height: 1.8; padding: 0.9rem 1.1rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-m); }
.legal .legal-nav strong { color: var(--accent-strong); }
.legal article { line-height: 1.65; overflow-wrap: break-word; }
.legal article h2 { font-size: 1.35rem; margin: 2rem 0 0.6rem; }
.legal article h3 { font-size: 1.1rem; margin: 1.5rem 0 0.5rem; }
.legal article p, .legal article li { color: var(--ink); }
.legal article ul { padding-left: 1.25rem; }
.legal article hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.legal article blockquote { margin: 1rem 0; padding: 0.8rem 1rem; border-left: 3px solid var(--accent); background: var(--surface-tint); border-radius: var(--r-s); }
.legal article blockquote p { margin: 0; }
.legal article code { font-family: var(--font-mono); font-size: 0.9em; }
.legal article a, .legal .contato a, .legal .versao a, .legal .legal-nav a { color: var(--accent-strong); }
.legal .tabela { overflow-x: auto; margin: 1rem 0; border: 1px solid var(--line); border-radius: var(--r-s); }
.legal table { border-collapse: collapse; width: 100%; font-size: 0.95rem; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--line); }
.legal th { background: var(--surface-tint); font-weight: 600; }
.legal tr:last-child td { border-bottom: 0; }
.legal .contato { font-size: 0.95rem; color: var(--ink-soft); padding-top: 1rem; border-top: 1px solid var(--line); }
