/* ════════════════════════════════════════════════════════════
   Páginas legais: Política de Privacidade, Termos de Uso e
   Seus direitos (LGPD). Completa o bloco .legal do site.css.
   Só tokens (var(--…)); nenhuma cor escrita à mão.
   ════════════════════════════════════════════════════════════ */

/* palavra longa (e-mail, endereço de site) quebra em vez de empurrar a página */
.legal { overflow-wrap: break-word; }

/* ── Cabeçalho do documento: título, vigência e ressalva ── */
.legal-cabecalho { margin-bottom: var(--s5); }
.legal .legal-cabecalho .updated { margin: var(--s2) 0 0; }
.legal .legal-cabecalho .nota-legal { margin: var(--s4) 0 0; font-size: var(--fs-sm); line-height: 1.6; }

/* ── Sumário: uma âncora por seção; duas colunas em telas de 720 px ou mais ── */
.legal-toc {
  margin: var(--s5) 0 var(--s7);
  padding: var(--s5);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r4);
  box-shadow: var(--sh-card);
}
.legal .legal-toc h2 {
  margin: 0 0 var(--s3);
  font: 700 var(--fs-2xs)/1.3 var(--f-body);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ouro-tx);
}
.legal-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: legal-toc; }
.legal .legal-toc li {
  counter-increment: legal-toc;
  break-inside: avoid;
  max-width: none;
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.4;
  color: var(--tx-1);
}
.legal .legal-toc a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-height: var(--alvo-min);
  padding: 7px 0;
  color: var(--tx-1);
  text-decoration: none;
}
.legal-toc a::before {
  content: counter(legal-toc);
  flex: 0 0 auto;
  min-width: 2ch;
  text-align: right;
  font: 700 var(--fs-2xs)/1 var(--f-body);
  font-variant-numeric: tabular-nums;
  color: var(--verde-dk);
}
.legal .legal-toc a:hover { color: var(--verde-dk); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 720px) { .legal-toc ol { columns: 2; column-gap: var(--s6); } }
@media (max-width: 480px) { .legal-toc { padding: var(--s4); } }

/* ── Listas de itens com rótulo (dados, bases legais, fornecedores) ── */
.legal ul.legal-lista { list-style: none; margin: var(--s3) 0 var(--s4); padding: 0; }
.legal .legal-lista li { margin: 0; padding: 12px 0; border-top: 1px solid var(--border); }
.legal .legal-lista li:last-child { border-bottom: 1px solid var(--border); }

/* ── Detalhes do texto ── */
.legal code {
  padding: 1px 5px;
  border-radius: var(--r1);
  background: var(--surface-2);
  font-family: var(--f-mono);
  font-size: .875em;
  color: var(--tx-1);
}
/* "Preferências de cookies" no meio do texto reabre o aviso de cookies;
   as aspas ficam na mesma linha do botão */
.legal .link-cookies:hover { color: var(--verde-profundo); }
.legal-sem-quebra { white-space: nowrap; }
/* o número do WhatsApp não se parte no hífen nem no espaço */
.legal a[href^="https://wa.me/"] { white-space: nowrap; }
/* aviso literal ao pé de uma seção (ex.: o disclaimer que fecha a seção 5 dos Termos) */
.legal > .nota-legal { margin: var(--s4) 0; font-size: var(--fs-sm); line-height: 1.6; }

/* ── Fim do documento ── */
/* o fio tem a mesma largura do texto (68ch a 16 px); só o link é menor */
.legal .legal-voltar {
  margin: var(--s7) 0 0;
  padding-top: var(--s4);
  border-top: 1px solid var(--border);
}
.legal .legal-voltar a { font-size: var(--fs-sm); font-weight: 600; }
