/* legal.css — Política de privacidade e Termos de uso (privacidade.html,
   termos.html). Página de leitura: uma coluna, texto nos tokens do site
   (design-system.css), sem vidro, nada centralizado. */

body { margin: 0; background: var(--oliva-50); color: var(--oliva-700); font-family: var(--font-sans), Archivo, system-ui, sans-serif; font-size: 17px; line-height: 1.65; }

.legal-casca { max-width: 760px; margin: 0 auto; padding: 0 20px; }

.legal-topo { border-bottom: 1px solid var(--oliva-200); background: var(--oliva-50); }
.legal-topo .legal-casca { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; }
.legal-marca { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; letter-spacing: .03em; color: var(--oliva-900); text-decoration: none; }
.legal-voltar { font-size: 15px; color: var(--oliva-800); }

.legal-texto { padding-top: 48px; padding-bottom: 72px; }
.legal-texto h1 { font-family: var(--font-serif), Spectral, serif; font-weight: 400; font-size: clamp(32px, 5vw, 44px); line-height: 1.1; color: var(--oliva-900); margin: 0 0 12px; }
.legal-texto .legal-data { font-size: 15px; color: var(--oliva-700); margin: 0 0 32px; }
.legal-texto h2 { font-family: var(--font-serif), Spectral, serif; font-weight: 500; font-size: 24px; line-height: 1.25; color: var(--oliva-900); margin: 40px 0 12px; }
.legal-texto h3 { font-size: 17px; font-weight: 600; color: var(--oliva-900); margin: 24px 0 8px; }
.legal-texto p, .legal-texto li { max-width: 68ch; }
.legal-texto p { margin: 0 0 14px; }
.legal-texto ul { margin: 0 0 16px; padding-left: 22px; }
.legal-texto li { margin-bottom: 6px; }
.legal-texto a, .legal-rodape a { color: var(--oliva-800); text-decoration: underline; text-underline-offset: 3px; }
.legal-texto a:focus-visible, .legal-rodape a:focus-visible, .legal-marca:focus-visible, .legal-voltar:focus-visible { outline: 2px solid var(--oliva-900); outline-offset: 3px; }
.legal-resumo { background: var(--oliva-100); border-left: 3px solid var(--oliva-800); padding: 16px 20px; margin: 0 0 32px; }
.legal-resumo p:last-child { margin-bottom: 0; }
.legal-tabela { width: 100%; border-collapse: collapse; margin: 8px 0 20px; font-size: 15px; }
.legal-tabela th, .legal-tabela td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--oliva-200); }
.legal-tabela th { color: var(--oliva-900); font-weight: 600; }

.legal-rodape { border-top: 1px solid var(--oliva-200); padding: 28px 0 40px; font-size: 15px; color: var(--oliva-700); }
.legal-rodape p { margin: 0 0 8px; }

@media (max-width: 640px) {
  .legal-texto { padding-top: 32px; }
  .legal-tabela, .legal-tabela tbody, .legal-tabela tr, .legal-tabela td, .legal-tabela th { display: block; }
  .legal-tabela thead { display: none; }
  .legal-tabela tr { border-bottom: 1px solid var(--oliva-200); padding: 8px 0; }
  .legal-tabela td { border: 0; padding: 2px 0; }
  .legal-tabela td:first-child { font-weight: 600; color: var(--oliva-900); }
}
