/* Documento legal — política de privacidade e termos de uso.
 *
 * Página de leitura longa, não de conversão: nada de reveal-on-scroll, nada de
 * coral. O CTA da marca é ponto quente único e aqui não há CTA; quem chega
 * nestas páginas veio checar uma cláusula, não comprar. A única cor de acento
 * é o indigo dos títulos e do índice.
 *
 * A medida é ~68ch porque texto jurídico é lido em varredura vertical: linha
 * mais longa faz o olho perder o retorno entre um item e outro da lista.
 */

.doc-topo {
  background: var(--ground-escuro);
  padding: calc(var(--e-3xl) + 40px) 0 var(--e-3xl);
}

.doc-topo .t-rotulo { color: var(--sobre-escuro-apoio); }

.doc-topo h1 {
  margin: var(--e-sm) 0 0;
  max-width: 20ch;
}

.doc-meta {
  margin-top: var(--e-lg);
  display: flex;
  flex-wrap: wrap;
  gap: var(--e-xs) var(--e-lg);
  color: var(--sobre-escuro-apoio);
}

.doc-corpo {
  background: var(--ground-claro);
  padding: var(--secao) 0 var(--secao-lg);
}

.doc-medida { max-width: 68ch; }

/* Índice. Lista simples numerada por CSS para não desencontrar da numeração
   das seções quando uma for inserida no meio. */
.doc-indice {
  border: 1px solid var(--linha);
  border-radius: var(--raio-md);
  padding: var(--e-lg) var(--e-xl);
  margin-bottom: var(--e-3xl);
  background: var(--ground-pagina);
}

.doc-indice h2 {
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--texto-apoio);
  margin: 0 0 var(--e-md);
}

.doc-indice ol {
  counter-reset: indice;
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: var(--e-xl);
}

.doc-indice li {
  counter-increment: indice;
  break-inside: avoid;
  margin-bottom: var(--e-xs);
}

.doc-indice a {
  color: var(--texto);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.doc-indice a::before {
  content: counter(indice) ". ";
  color: var(--texto-fraco);
  font-variant-numeric: tabular-nums;
}

.doc-indice a:hover { border-bottom-color: var(--link-claro); color: var(--link-claro); }

@media (max-width: 640px) {
  .doc-indice ol { columns: 1; }
}

/* Seções numeradas pelo mesmo contador, para que índice e corpo nunca
   divirjam. */
.doc-corpo { counter-reset: secao; }

.doc-secao {
  counter-increment: secao;
  margin-bottom: var(--e-3xl);
  scroll-margin-top: 90px;
}

.doc-secao > h2 {
  font-size: clamp(1.28rem, 2.4vw, 1.6rem);
  line-height: 1.25;
  color: var(--texto-forte);
  margin: 0 0 var(--e-md);
}

.doc-secao > h2::before {
  content: counter(secao) ".";
  color: var(--acao);
  margin-right: 0.5em;
  font-variant-numeric: tabular-nums;
}

.doc-secao h3 {
  font-size: 1.02rem;
  color: var(--texto-forte);
  margin: var(--e-xl) 0 var(--e-xs);
}

.doc-secao p,
.doc-secao li { color: var(--texto); }

.doc-secao p { margin: 0 0 var(--e-md); }

.doc-secao ul { margin: 0 0 var(--e-md); padding-left: 1.2em; }
.doc-secao li { margin-bottom: var(--e-xs); }

.doc-secao a { color: var(--link-claro); }

/* Tabela. Sem zebra: a leitura aqui é por linha inteira, e a faixa cinza
   compete com a borda da célula em telas pequenas. */
.doc-tabela {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 var(--e-lg);
  font-size: 0.94rem;
}

.doc-tabela th,
.doc-tabela td {
  text-align: left;
  vertical-align: top;
  padding: var(--e-sm) var(--e-md) var(--e-sm) 0;
  border-bottom: 1px solid var(--linha-suave);
}

.doc-tabela th {
  color: var(--texto-apoio);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom-color: var(--linha);
}

.doc-tabela td:first-child { padding-right: var(--e-lg); font-weight: 500; color: var(--texto-forte); }

/* Ficha do controlador e blocos de destaque. */
.doc-ficha {
  border-left: 3px solid var(--acao);
  background: var(--superficie-chip);
  border-radius: 0 var(--raio-sm) var(--raio-sm) 0;
  padding: var(--e-lg) var(--e-xl);
  margin: 0 0 var(--e-xl);
}

.doc-ficha p { margin: 0 0 var(--e-xxs); color: var(--indigo-800); }
.doc-ficha p:last-child { margin-bottom: 0; }

.doc-aviso {
  border: 1px solid var(--linha);
  border-radius: var(--raio-md);
  padding: var(--e-lg) var(--e-xl);
  margin: 0 0 var(--e-xl);
  background: var(--ground-areia);
}

.doc-aviso p:last-child { margin-bottom: 0; }

.doc-rodape-nota {
  margin-top: var(--e-3xl);
  padding-top: var(--e-lg);
  border-top: 1px solid var(--linha);
  color: var(--texto-apoio);
}
