/* Documentos públicos: Política de Privacidade e Política de Cookies.

   São textos para ler, não painéis: coluna estreita, linha alta e
   hierarquia por tamanho. Herdam tokens.css e components.css, então a
   tabela e o alerta são os mesmos do resto do produto. */

.legal-body{
  margin:0;
  min-height:100vh;
  background:var(--nf-color-background);
  color:var(--nf-color-foreground);
  font-family:var(--nf-font);
  /* Texto corrido merece corpo maior que o de painel: 15px contra
     os 13px das telas de dado. Legibilidade antes de uniformidade. */
  font-size:var(--nf-fs-value);
  line-height:1.65;
}

.legal-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--nf-gap);
  flex-wrap:wrap;
  padding:var(--nf-space-4) var(--nf-space-6);
  border-bottom:1px solid var(--nf-color-border);
  background:var(--nf-color-surface);
}

.legal-brand{
  display:inline-flex;
  align-items:center;
  gap:var(--nf-space-3);
  text-decoration:none;
  color:var(--nf-color-foreground);
  letter-spacing:.08em;
}

.legal-brand strong{font-weight:var(--nf-weight-strong)}
.legal-brand small{color:var(--nf-color-muted)}

.legal-signal{display:inline-flex;align-items:flex-end;gap:3px;height:18px}
.legal-signal i{width:4px;border-radius:2px;background:var(--nf-color-primary)}
.legal-signal i:nth-child(1){height:7px;opacity:.55}
.legal-signal i:nth-child(2){height:12px;opacity:.8}
.legal-signal i:nth-child(3){height:18px}

.legal-nav{display:flex;gap:var(--nf-space-4);flex-wrap:wrap}

.legal-nav a,
.legal-footer a,
.legal-block a{
  color:var(--nf-color-primary);
  text-decoration:underline;
  text-underline-offset:3px;
}

.legal-nav a:hover,
.legal-footer a:hover,
.legal-block a:hover{color:var(--nf-color-foreground)}

/* A página é larga o bastante para a tabela de cookies caber inteira, mas
   o TEXTO continua em 72ch — a medida em que a linha ainda é fácil de
   reencontrar. Quem lê não perde a linha; quem consulta a tabela não
   precisa rolar de lado. */
.legal-doc{
  max-width:960px;
  margin:0 auto;
  padding:var(--nf-space-7) var(--nf-space-5) var(--nf-space-8);
}

.legal-doc-head,
.legal-block h2,
.legal-block h3,
.legal-block p,
.legal-list,
.legal-footer{max-width:72ch}

.legal-doc-head{margin-bottom:var(--nf-stack)}
.legal-doc-head h1{margin:var(--nf-space-2) 0 var(--nf-space-2);font-size:var(--nf-fs-hero);line-height:1.2}
.legal-meta{margin:0;color:var(--nf-color-muted);font-size:var(--nf-fs-caption)}

.legal-block{
  margin:0 0 var(--nf-stack);
  padding-top:var(--nf-space-5);
  border-top:1px solid var(--nf-color-border);
}

.legal-block h2{margin:0 0 var(--nf-space-3);font-size:var(--nf-fs-metric-sm);line-height:1.3}
.legal-block h3{margin:var(--nf-space-5) 0 var(--nf-space-2);font-size:var(--nf-fs-value)}
.legal-block p{margin:0 0 var(--nf-space-3);color:var(--nf-text-soft)}
.legal-block p:last-child{margin-bottom:0}

/* Identificação do controlador: rótulo e valor em duas colunas, porque é
   dado de cadastro e não texto corrido — quem procura o CNPJ varre a
   coluna da esquerda em vez de ler o parágrafo. Numa tela estreita as duas
   colunas viram uma, com o valor recuado sob o rótulo. */
.legal-dados{
  display:grid;
  grid-template-columns:minmax(min(100%,120px),max-content) minmax(0,1fr);
  gap:var(--nf-space-2) var(--nf-space-5);
  max-width:72ch;
  margin:var(--nf-space-4) 0 0;
}

.legal-dados dt{
  color:var(--nf-color-muted);
  font-size:var(--nf-fs-caption);
  font-weight:var(--nf-weight-medium);
}

.legal-dados dd{
  margin:0;
  color:var(--nf-color-foreground);
  font-variant-numeric:tabular-nums;
}

@media (max-width: 480px){
  .legal-dados{grid-template-columns:minmax(0,1fr);gap:var(--nf-space-1)}
  .legal-dados dd{margin:0 0 var(--nf-space-2)}
}

.legal-block code{
  font-family:var(--nf-font-mono);
  font-size:.92em;
  padding:2px 6px;
  border-radius:var(--nf-radius-xs);
  background:var(--nf-wash-strong);
  color:var(--nf-color-foreground);
  overflow-wrap:anywhere;
}

.legal-highlight{
  max-width:72ch;
  padding:var(--nf-pad-card);
  border:1px solid var(--nf-color-border);
  border-left:3px solid var(--nf-color-primary);
  border-radius:var(--nf-radius);
  background:var(--nf-color-surface);
}

.legal-list{margin:0;padding-left:1.25rem;color:var(--nf-text-soft)}
.legal-list li{margin-bottom:var(--nf-space-2)}

/* Tabela larga em documento estreito: rola na moldura (nf-table-wrap,
   de components.css), para a página nunca rolar de lado. */
.legal-table{min-width:720px}

/* O nome do cookie não pode quebrar no meio: "sessionid" virando
   "sessi/onid" deixa de ser o nome que se procura no navegador. */
.legal-table td:first-child{white-space:nowrap}
.legal-table td:first-child code{overflow-wrap:normal}
.legal-table td:last-child{white-space:nowrap}

.legal-footer{
  padding-top:var(--nf-space-5);
  border-top:1px solid var(--nf-color-border);
  font-size:var(--nf-fs-caption);
}

@media (max-width: 768px){
  .legal-topbar{padding:var(--nf-space-4)}
  .legal-doc{padding:var(--nf-space-5) var(--nf-space-4) var(--nf-space-7)}
}

.legal-contact .nf-alert{max-width:72ch;align-items:flex-start}
.legal-contact .nf-alert p{margin:0}
