/* ================================================================
   AlfamaWeb — estilos da POLÍTICA DE PRIVACIDADE
   ================================================================ */

/* ================================================================
   TOPO
   ================================================================ */

.politica-topo {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 400px;
  overflow: hidden;
  isolation: isolate;
}

.politica-topo::before,
.politica-topo::after {
  content: "";
  position: absolute;
  top: 50%;
  z-index: -1;
  width: 560px;
  height: 560px;
  transform: translateY(-50%);
  border-radius: 50%;
  pointer-events: none;
}
.politica-topo::before {
  left: -16%;
  background: radial-gradient(closest-side, rgba(249, 116, 21, .18), transparent);
}
.politica-topo::after {
  right: -16%;
  background: radial-gradient(closest-side, rgba(59, 62, 186, .20), transparent);
}

.politica-topo__interno {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xl);
  max-width: 800px;
  text-align: center;
}

.politica-topo__titulo {
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--text-primary);
}

.politica-topo__data {
  color: var(--text-secondary);
  font-size: var(--fs-body-lg);
  line-height: var(--lh-body);
}

/* ================================================================
   O DOCUMENTO

   Os seletores miram as TAGS dentro de `.politica__corpo`, e não uma
   classe por parágrafo. Quando este texto passar a vir do CMS como um
   campo de conteúdo rico, o HTML do editor não vai trazer classe
   nenhuma — e estas regras continuam valendo.

   A largura segue o Figma: o texto ocupa a faixa de conteúdo inteira
   (1320px). Para um documento legal isso dá uma linha longa; se em
   algum momento a leitura pesar, o ajuste é um `max-width` de ~80ch
   aqui, e só aqui.
   ================================================================ */

.politica {
  padding-block: var(--space-3xl) var(--space-4xl);
}

.politica__corpo {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
}

.politica__corpo section {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.politica__corpo h2 {
  color: var(--text-primary);
  font-size: var(--fs-h5);
  font-weight: 700;
  line-height: 1.3;
  /* Espaço de respiro antes de cada título novo, menos no primeiro —
     `:first-child` evita o vão solto no topo do documento. */
  margin-top: var(--space-md);
}
.politica__corpo section:first-child h2 { margin-top: 0; }

.politica__corpo h3 {
  color: var(--text-primary);
  font-size: var(--fs-h6);
  font-weight: 600;
  line-height: 1.3;
}

.politica__corpo p {
  color: var(--text-secondary);
  font-size: var(--fs-body-md);
  line-height: var(--lh-body);
}

.politica__corpo a {
  color: var(--brand-primary);
  text-decoration: underline;
  text-underline-offset: .2em;
  transition: color var(--transition);
}
.politica__corpo a:hover { color: var(--brand-primary-hover); }

.politica__corpo ul,
.politica__corpo ol {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding-left: var(--space-lg);
  color: var(--text-secondary);
  font-size: var(--fs-body-md);
  line-height: var(--lh-body);
}
.politica__corpo ul { list-style: disc; }
.politica__corpo ol { list-style: decimal; }
.politica__corpo li { padding-left: var(--space-2xs); }

.politica__corpo strong { color: var(--text-primary); font-weight: 700; }

@media (max-width: 768px) {
  .politica-topo { min-height: 0; }
}
