/* ══════════════════════════════════════════════════════
   Páginas legais — privacidade e termos

   Reaproveita as variáveis do style.css. Só acrescenta o
   que um documento de texto corrido precisa e a landing
   page não tem: medida de leitura, índice, tabelas.
   ══════════════════════════════════════════════════════ */

.legal {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  padding: 120px 24px 96px;
}

/* A landing page centra todos os h2 — bonito numa secção de vendas,
   errado num documento que se lê de fio a pavio. */
.legal h1, .legal h2, .legal h3, .legal-indice h2 { text-align: left; }

.legal-topo { border-bottom: 2px solid var(--green); padding-bottom: 22px; margin-bottom: 8px; }
.legal-topo h1 { font-size: clamp(1.9rem, 5vw, 2.6rem); line-height: 1.15; margin-bottom: 10px; }
.legal-data { color: var(--text-soft); font-size: .88rem; }

/* Aviso de rascunho. Existe para não ir para o ar sem revisão
   jurídica — quando estiver revisto, apaga-se o bloco todo. */
.legal-rascunho {
  background: #fdf3e3;
  border: 1px solid var(--gold);
  border-radius: 12px;
  padding: 16px 20px;
  margin: 28px 0 8px;
  font-size: .92rem;
  color: #6d4d18;
}
.legal-rascunho strong { color: #8a5f14; }
.legal-rascunho ul { margin: 8px 0 0 20px; }
.legal-rascunho li { margin-bottom: 4px; }

.legal-indice {
  background: var(--cream);
  border: 1px solid #e6e0d2;
  border-radius: var(--radius);
  padding: 20px 24px;
  margin: 28px 0 44px;
}
.legal-indice h2 {
  font-size: .74rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-soft);
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 700;
  margin-bottom: 12px;
}
.legal-indice ol { margin-left: 20px; }
.legal-indice li { margin-bottom: 5px; font-size: .94rem; }
.legal-indice a { color: var(--green); text-decoration: none; }
.legal-indice a:hover { text-decoration: underline; }

.legal h2.sec {
  font-size: 1.4rem;
  margin: 48px 0 14px;
  padding-top: 22px;
  border-top: 1px solid #e6e0d2;
}
.legal h2.sec:first-of-type { border-top: none; padding-top: 0; }
.legal h3 { font-size: 1.06rem; margin: 26px 0 8px; }
.legal p { margin-bottom: 14px; color: var(--text-mid); }
.legal ul, .legal ol.corpo { margin: 0 0 16px 22px; color: var(--text-mid); }
.legal li { margin-bottom: 7px; }
.legal strong { color: var(--text); }

.legal-realce {
  background: var(--beige);
  border-left: 4px solid var(--green);
  border-radius: 0 12px 12px 0;
  padding: 16px 20px;
  margin: 22px 0;
}
.legal-realce p:last-child { margin-bottom: 0; }

.legal-tabela { overflow-x: auto; margin: 20px 0; border: 1px solid #e6e0d2; border-radius: 12px; }
.legal-tabela table { width: 100%; border-collapse: collapse; font-size: .9rem; background: #fff; min-width: 460px; }
.legal-tabela th {
  text-align: left;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-soft);
  padding: 10px 14px;
  border-bottom: 1px solid #e6e0d2;
  background: var(--cream);
  white-space: nowrap;
}
.legal-tabela td { padding: 10px 14px; border-bottom: 1px solid #f0ece1; vertical-align: top; color: var(--text-mid); }
.legal-tabela tr:last-child td { border-bottom: none; }

.legal-voltar { display: inline-block; margin-top: 48px; color: var(--green); font-weight: 600; text-decoration: none; }
.legal-voltar:hover { text-decoration: underline; }

/* Sem nowrap: alguns destes avisos são frases inteiras e, no
   telemóvel, empurravam a página toda para o lado. */
.por-preencher {
  background: #ffe9e4;
  color: #9a3b28;
  font-weight: 700;
  padding: 1px 7px;
  border-radius: 5px;
  font-size: .9em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

@media (max-width: 600px) {
  .legal { padding: 96px 18px 72px; }
}
