/* secoes/politica.css: Política de Privacidade e LGPD (politica_cookie.php).
   Cubotimize, layout novo (direção "Cubo"). Mobile first; pontos de quebra: 640, 960, 1200 px.
   Regras em kb/02-metodo-novo-layout.md: cores, fontes, espaços e tempos só via var(--…) de tokens.css. */

:root {
  /* largura de leitura do texto longo (~70 caracteres por linha) */
  --politica-medida: 70ch;
  /* coluna do sumário em telas largas */
  --politica-sumario: 260px;
  /* número das seções, marcador das listas e sombras coloridas dos cartões de cookies */
  --politica-num: 2.25rem;
  --politica-num-g: 2.5rem;
  --politica-marcador: 8px;
  --politica-sombra-num: 3px 3px 0 var(--tinta);
  --politica-sombra-verde: 4px 4px 0 var(--verde-escuro);
  --politica-sombra-vermelho: 4px 4px 0 var(--vermelho);
  --politica-r-codigo: 4px;
}

/* ---------- topo da página ---------- */
.politica-topo {
  position: relative; overflow: hidden;
  padding-block: var(--e-7) var(--e-7);
  background: var(--creme);
  border-bottom: var(--traco) solid var(--tinta);
}
.politica-topo::before {
  content: ""; position: absolute; inset: 0 0 0 40%;
  background-image: var(--grade-iso);
  -webkit-mask-image: linear-gradient(to right, transparent, var(--tinta) 60%);
  mask-image: linear-gradient(to right, transparent, var(--tinta) 60%);
  pointer-events: none;
}
.politica-topo__envoltorio { position: relative; }
.politica-topo__h1 {
  font-size: var(--fs-h2); font-weight: 900; line-height: 1.05; letter-spacing: -0.02em;
  max-width: 18ch; text-wrap: balance;
}
.politica-topo__texto {
  margin-top: var(--e-4); max-width: 40rem;
  font-size: var(--fs-grande); color: var(--tinta-2);
}
.politica-topo__data {
  display: inline-block; margin-top: var(--e-5);
  padding: var(--e-1) var(--e-3);
  border: var(--traco) solid var(--tinta); border-radius: var(--r-pilula);
  background: var(--branco);
  font-size: var(--fs-mini); font-weight: 800;
}
@media (min-width: 960px) {
  .politica-topo { padding-block: var(--e-8); }
}

/* ---------- grade: sumário + texto ---------- */
.politica__grade { display: grid; gap: var(--e-7); }

/* sumário */
.politica__sumario {
  align-self: start;
  padding: var(--e-5);
  background: var(--creme);
  border: var(--traco) solid var(--tinta); border-radius: var(--r-g);
  box-shadow: var(--sombra-p);
}
.politica__sumario-titulo {
  margin-bottom: var(--e-3);
  font-size: var(--fs-mini); font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--azul);
}
.politica__sumario-lista { counter-reset: sumario; display: grid; gap: var(--e-1); }
.politica__sumario-lista li { counter-increment: sumario; }
.politica__sumario-link {
  display: flex; gap: var(--e-2);
  padding: var(--e-1) var(--e-2); border-radius: var(--r-p);
  font-size: var(--fs-pequena); font-weight: 700; line-height: 1.35;
  text-decoration: none;
}
.politica__sumario-link::before {
  content: counter(sumario) ".";
  min-width: 1.6em; color: var(--tinta-2); font-variant-numeric: tabular-nums;
}
.politica__sumario-link:hover { background: var(--branco); color: var(--azul); }

@media (min-width: 640px) {
  .politica__sumario-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--e-4); }
}
@media (min-width: 960px) {
  .politica__grade {
    grid-template-columns: var(--politica-sumario) minmax(0, 1fr);
    gap: var(--e-8); align-items: start;
  }
  .politica__sumario {
    position: sticky; top: calc(var(--altura-cabecalho) + var(--e-5));
    max-height: calc(100vh - var(--altura-cabecalho) - var(--e-7));
    overflow-y: auto;
  }
  .politica__sumario-lista { grid-template-columns: 1fr; }
}

/* ---------- texto ---------- */
.politica__texto { max-width: var(--politica-medida); }
.politica__texto p + p,
.politica__texto p + .politica__lista,
.politica__texto .politica__lista + p,
.politica__texto .politica__itens + p { margin-top: var(--e-4); }
.politica__texto a { color: var(--azul); font-weight: 700; text-underline-offset: 3px; }
.politica__texto a:hover { color: var(--tinta); }

.politica__intro { font-size: var(--fs-grande); color: var(--tinta-2); }
.politica__intro strong { color: var(--tinta); }

.politica__secao {
  margin-top: var(--e-7); padding-top: var(--e-7);
  border-top: var(--traco) dashed var(--tinta-linha);
}
.politica__h2 {
  display: flex; align-items: center; gap: var(--e-3);
  margin-bottom: var(--e-4);
  font-size: var(--fs-h3); font-weight: 900; line-height: 1.15; letter-spacing: -0.01em;
  scroll-margin-top: calc(var(--altura-cabecalho) + var(--e-4));
}
.politica__num {
  display: inline-grid; place-items: center; flex-shrink: 0;
  width: var(--politica-num); height: var(--politica-num);
  border: var(--traco) solid var(--tinta); border-radius: var(--r-p);
  background: var(--azul); color: var(--branco);
  box-shadow: var(--politica-sombra-num);
  font-size: var(--fs-pequena); font-weight: 900; font-variant-numeric: tabular-nums;
}
.politica__secao:nth-of-type(3n + 2) .politica__num { background: var(--verde-escuro); }
.politica__secao:nth-of-type(3n) .politica__num { background: var(--vermelho); }
.politica__h3 {
  margin-top: var(--e-6); margin-bottom: var(--e-3);
  font-size: var(--fs-icone-texto); font-weight: 900; line-height: 1.25;
}
.politica__h2 + .politica__h3 { margin-top: 0; }
@media (min-width: 960px) {
  .politica__h2 { font-size: var(--fs-bloco); }
  .politica__num { width: var(--politica-num-g); height: var(--politica-num-g); font-size: var(--fs-base); }
}

/* listas com marcador de cubo (losango) */
.politica__lista { display: grid; gap: var(--e-2); }
.politica__lista li { position: relative; padding-left: var(--e-5); }
.politica__lista li::before {
  content: ""; position: absolute; left: var(--e-1); top: 0.6em;
  width: var(--politica-marcador); height: var(--politica-marcador);
  background: var(--azul); border: var(--traco-fino) solid var(--tinta);
  transform: rotate(45deg);
}
@media (min-width: 640px) {
  .politica__lista--colunas { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--e-6); }
}

/* lista de definições (formulários, destinatários, direitos) */
.politica__itens { display: grid; gap: var(--e-3); margin-top: var(--e-4); }
.politica__item {
  padding: var(--e-4) var(--e-5);
  background: var(--creme);
  border-left: var(--traco-g) solid var(--azul); border-radius: var(--r-p);
}
.politica__item:nth-child(3n + 2) { border-left-color: var(--verde-escuro); }
.politica__item:nth-child(3n) { border-left-color: var(--vermelho); }
.politica__item dt { font-weight: 900; }
.politica__item dd { margin: var(--e-1) 0 0; color: var(--tinta-2); }

/* ---------- categorias de cookies ---------- */
.politica__categorias { display: grid; gap: var(--e-5); margin-top: var(--e-5); }
.politica__categoria {
  padding: var(--e-5);
  background: var(--branco);
  border: var(--traco) solid var(--tinta); border-radius: var(--r-g);
  box-shadow: var(--sombra-p);
}
.politica__categoria > p { margin-bottom: var(--e-3); color: var(--tinta-2); }
.politica__categoria-topo {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e-2);
  margin-bottom: var(--e-3); padding-bottom: var(--e-3);
  border-bottom: var(--traco) dashed var(--tinta-linha);
}
.politica__categoria-titulo { font-size: var(--fs-h4); font-weight: 900; line-height: 1.2; }
.politica__categoria--necessarios { box-shadow: var(--politica-sombra-verde); }
.politica__categoria--estatistica { box-shadow: var(--sombra-azul); }
.politica__categoria--marketing { box-shadow: var(--politica-sombra-vermelho); }
.politica__categoria--necessarios .politica__lista li::before { background: var(--verde); }
.politica__categoria--marketing .politica__lista li::before { background: var(--vermelho); }
.politica__selo {
  padding: var(--e-1) var(--e-3);
  border: var(--traco) solid var(--tinta); border-radius: var(--r-pilula);
  background: var(--creme-2);
  font-size: var(--fs-mini); font-weight: 800; white-space: nowrap;
}
.politica__selo--sempre { background: var(--verde); }
.politica__codigo {
  padding: 0 var(--e-1);
  background: var(--creme-2); border-radius: var(--politica-r-codigo);
  font-size: 0.9em; overflow-wrap: anywhere;
}
@media (min-width: 640px) {
  .politica__categoria { padding: var(--e-5) var(--e-6); }
}

.politica__acao { margin-top: var(--e-5); }

/* ---------- contato do encarregado ---------- */
.politica__cartao {
  display: grid; gap: var(--e-5);
  margin-top: var(--e-5); padding: var(--e-5);
  background: var(--creme);
  border: var(--traco) solid var(--tinta); border-radius: var(--r-g);
  box-shadow: var(--sombra-m);
}
.politica__cartao-bloco + .politica__cartao-bloco {
  padding-top: var(--e-5); border-top: var(--traco) dashed var(--tinta-linha);
}
.politica__cartao-rotulo {
  margin-bottom: var(--e-1);
  font-size: var(--fs-mini); font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--azul);
}
.politica__cartao-nome { font-size: var(--fs-h4); font-weight: 900; }
.politica__texto .politica__cartao-email {
  display: inline-flex; align-items: center; gap: var(--e-2); margin-top: var(--e-2);
  overflow-wrap: anywhere;
}
@media (min-width: 640px) {
  .politica__cartao { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: var(--e-6); }
  .politica__cartao-bloco + .politica__cartao-bloco {
    padding-top: 0; padding-left: var(--e-5);
    border-top: 0; border-left: var(--traco) dashed var(--tinta-linha);
  }
}

.politica__data {
  font-size: var(--fs-pequena); font-weight: 800; color: var(--tinta-2);
}
