/* ============================================================
   POLÍTICA DE PRIVACIDADE — folha própria e independente

   Prefixo .pp-*, sem compartilhar regra com nenhuma outra página. Mesma razão
   das LPs: o CSS não avisa quem depende dele, e neste projeto duas páginas já
   desmontaram em produção porque um arquivo compartilhado foi reescrito.

   Página de texto longo, então a tipografia é o design: medida de linha
   controlada (~68ch), entrelinha alta e hierarquia clara entre seção e
   subseção. Ninguém lê política de privacidade por prazer — o mínimo é não
   dificultar.
   ============================================================ */

:root {
  --pp-tinta: #171717;
  --pp-tinta-suave: #4B5563;
  --pp-laranja: #C2410C;   /* laranja escuro: 5,18 sobre branco */
  --pp-borda: #E7E2DC;
  --pp-creme: #FFF7ED;
}

* { box-sizing: border-box; }

body.pp-page {
  margin: 0;
  background: #fff;
  color: var(--pp-tinta);
  font-family: 'Neulis Sans', Montserrat, Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.pp-topo {
  background: var(--pp-tinta);
  padding: 18px clamp(20px, 5vw, 40px);
}

.pp-topo img { height: 38px; width: auto; display: block; }

.pp-hero {
  background: var(--pp-tinta);
  background-image: radial-gradient(900px 380px at 15% -20%, rgba(249,115,22,.18), transparent 60%);
  padding: clamp(44px, 7vw, 80px) clamp(20px, 5vw, 40px) clamp(36px, 5vw, 56px);
}

.pp-hero-inner { max-width: 820px; margin: 0 auto; }

.pp-hero h1 {
  margin: 0 0 14px;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: #fff;
}

.pp-hero p {
  margin: 0;
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.7;
  color: rgba(255,255,255,.78);
  max-width: 62ch;
}

.pp-atualizacao {
  display: inline-block;
  margin-top: 20px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.9);
}

.pp-corpo {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(40px, 6vw, 72px) clamp(20px, 5vw, 40px) clamp(56px, 8vw, 96px);
}

/* Índice: política longa sem sumário obriga a rolar às cegas atrás do direito
   que a pessoa veio exercer. */
.pp-indice {
  margin: 0 0 clamp(40px, 5vw, 56px);
  padding: 24px 26px;
  background: var(--pp-creme);
  border: 1px solid var(--pp-borda);
  border-radius: 14px;
}

.pp-indice h2 {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--pp-laranja);
}

.pp-indice ol {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 7px;
}

.pp-indice a {
  color: var(--pp-tinta);
  text-decoration: none;
  font-size: 14.5px;
  line-height: 1.5;
  border-bottom: 1px solid transparent;
}
.pp-indice a:hover { color: var(--pp-laranja); border-bottom-color: currentColor; }

.pp-secao { margin: 0 0 clamp(36px, 4.5vw, 52px); scroll-margin-top: 24px; }

.pp-secao h2 {
  margin: 0 0 16px;
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.01em;
  color: var(--pp-tinta);
}

.pp-secao h3 {
  margin: 26px 0 10px;
  font-size: 16.5px;
  font-weight: 700;
  color: var(--pp-tinta);
}

.pp-secao p,
.pp-secao li {
  font-size: 15.5px;
  line-height: 1.75;
  color: var(--pp-tinta-suave);
}

.pp-secao p { margin: 0 0 14px; max-width: 68ch; }

.pp-secao ul { margin: 0 0 16px; padding-left: 22px; display: grid; gap: 8px; }
.pp-secao li { max-width: 66ch; }
.pp-secao strong { color: var(--pp-tinta); font-weight: 700; }

.pp-secao a { color: var(--pp-laranja); text-decoration: underline; text-underline-offset: 3px; }

/* Tabela de terceiros: o dado mais consultado da página é "para onde vai o meu
   dado", e tabela responde isso mais rápido que parágrafo. */
.pp-tabela-wrap { overflow-x: auto; margin: 0 0 18px; }

.pp-tabela {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 14.5px;
}

.pp-tabela th,
.pp-tabela td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--pp-borda);
  vertical-align: top;
  line-height: 1.55;
}

.pp-tabela th {
  background: var(--pp-creme);
  font-weight: 700;
  color: var(--pp-tinta);
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.pp-tabela td { color: var(--pp-tinta-suave); }
.pp-tabela tr:last-child td { border-bottom: none; }

.pp-destaque {
  margin: 0 0 16px;
  padding: 18px 20px;
  background: var(--pp-creme);
  border-left: 3px solid var(--pp-laranja);
  border-radius: 0 10px 10px 0;
}
.pp-destaque p { margin: 0; max-width: none; }

.pp-contato {
  margin-top: clamp(40px, 5vw, 56px);
  padding: 28px 26px;
  background: var(--pp-tinta);
  border-radius: 16px;
}
.pp-contato h2 { color: #fff; margin-top: 0; }
.pp-contato p { color: rgba(255,255,255,.8); }
.pp-contato a { color: #F97316; }

.pp-rodape {
  background: var(--pp-tinta);
  border-top: 1px solid #262626;
  padding: 24px 16px;
  text-align: center;
}
.pp-rodape p { margin: 0; color: #6b7280; font-size: 14px; }
.pp-rodape a { color: #9ca3af; text-decoration: none; }
.pp-rodape a:hover { color: #F97316; }

@media (prefers-reduced-motion: reduce) {
  .pp-indice a { transition: none; }
}
