/* Página de texto longo: índice fixo à esquerda, conteúdo à direita. */

.politica {
    padding: clamp(24px, 3vw, 44px) var(--gutter) var(--secao-y);
    background: var(--offwhite);
}

.politica__inner { max-width: 1180px; margin: 0 auto; }

/* A onda do rodapé é pintada com a cor da seção acima — aqui, a própria política. */
.pagina-politica .rodape .onda { color: var(--offwhite); }

.politica__trilha {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(12.5px, 0.95vw, 14px);
    color: rgba(46, 50, 39, 0.5);
}

.politica__trilha a { text-decoration: underline; text-underline-offset: 3px; }
.politica__trilha a:hover { color: var(--ink); }

.politica__titulo {
    margin-top: clamp(14px, 1.6vw, 22px);
    padding-bottom: 0.5em;
    text-align: center;
    font-family: 'Baloo 2', sans-serif;
    font-weight: 600;
    font-size: clamp(26px, 2.9vw, 42px);
    line-height: 1.1;
    letter-spacing: 0.005em;
    color: var(--pinho);
}

.politica__grade {
    display: grid;
    grid-template-columns: clamp(200px, 21vw, 268px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(30px, 4.4vw, 76px);
    margin-top: clamp(18px, 2.2vw, 32px);
}

/* Acompanha a rolagem: numa página deste tamanho o índice perde a serventia
   se sair de cena na primeira tela. */
.politica__indice {
    position: sticky;
    top: clamp(96px, 9vw, 130px);
}

.politica__indice-titulo {
    font-size: clamp(13.5px, 1.02vw, 15px);
    font-weight: 800;
    color: var(--ink);
}

.politica__indice ul {
    display: grid;
    gap: clamp(9px, 0.9vw, 13px);
    margin-top: clamp(12px, 1.3vw, 18px);
    padding-left: clamp(12px, 1.2vw, 16px);
    border-left: 1px solid var(--linha);
}

.politica__indice a {
    font-size: clamp(13px, 1vw, 14.5px);
    line-height: 1.4;
    color: var(--sage-dark);
    transition: color 180ms ease;
}

.politica__indice a:hover { color: var(--terra); }

.politica__assinatura {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.1vw, 14px);
    padding-bottom: clamp(18px, 2vw, 28px);
    border-bottom: 1px solid var(--linha);
}

.politica__selo {
    display: grid;
    place-items: center;
    width: clamp(42px, 4vw, 54px);
    height: clamp(42px, 4vw, 54px);
    flex: none;
    border-radius: 50%;
    background: var(--branco);
}

.politica__selo img { width: 62%; height: auto; }

.politica__autor {
    display: block;
    font-size: clamp(13.5px, 1.02vw, 15px);
    font-weight: 800;
    color: var(--ink);
}

.politica__data {
    display: block;
    margin-top: 2px;
    font-size: clamp(12.5px, 0.95vw, 14px);
    color: rgba(46, 50, 39, 0.55);
}

.politica__bloco { margin-top: clamp(30px, 3.4vw, 50px); }

/* scroll-margin: sem ele o header fixo cobre o título ao pular pelo índice */
.politica__h2 {
    scroll-margin-top: clamp(88px, 8.5vw, 120px);
    font-family: 'Baloo 2', sans-serif;
    font-weight: 600;
    font-size: clamp(20px, 1.9vw, 27px);
    line-height: 1.2;
    color: var(--pinho);
}

.politica__h3 {
    scroll-margin-top: clamp(88px, 8.5vw, 120px);
    margin-top: clamp(20px, 2.2vw, 30px);
    font-size: clamp(15px, 1.15vw, 17px);
    font-weight: 800;
    color: var(--ink);
}

.politica__conteudo a {
    color: var(--sage-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.politica__conteudo a:hover { color: var(--terra); }

.politica__conteudo p,
.politica__conteudo li {
    font-size: clamp(14.5px, 1.05vw, 16px);
    line-height: 1.65;
    color: rgba(46, 50, 39, 0.82);
}

.politica__conteudo p { margin-top: clamp(11px, 1.2vw, 16px); }
.politica__conteudo b { font-weight: 800; color: var(--ink); }

.politica__passos,
.politica__lista {
    display: grid;
    gap: clamp(9px, 0.95vw, 13px);
    margin-top: clamp(13px, 1.4vw, 18px);
    padding-left: clamp(18px, 1.8vw, 24px);
}

.politica__passos { list-style: decimal; }
.politica__lista { list-style: disc; }
.politica__passos li::marker,
.politica__lista li::marker { color: var(--sage); }

.politica__nota {
    padding: clamp(14px, 1.5vw, 20px) clamp(16px, 1.7vw, 22px);
    border-radius: clamp(10px, 1vw, 14px);
    background: var(--branco);
}

/* ---------- tabelas de definição ---------- */
/* rolagem própria: em coluna estreita a tabela é o único conteúdo que não
   reflui, e sem isso ela empurraria a página inteira na horizontal */
.politica__rolagem {
    margin-top: clamp(13px, 1.4vw, 18px);
    overflow-x: auto;
}

.politica__tabela {
    width: 100%;
    min-width: 460px;
    border-collapse: collapse;
    text-align: left;
}

.politica__tabela th {
    padding: 0 clamp(12px, 1.2vw, 16px) clamp(9px, 0.9vw, 12px) 0;
    border-bottom: 1px solid var(--linha);
    font-size: clamp(11.5px, 0.88vw, 13px);
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(46, 50, 39, 0.55);
}

.politica__tabela td {
    padding: clamp(12px, 1.3vw, 17px) clamp(12px, 1.2vw, 16px) clamp(12px, 1.3vw, 17px) 0;
    border-bottom: 1px solid var(--linha);
    vertical-align: top;
}

.politica__tabela tr:last-child td { border-bottom: 0; }
.politica__tabela td:first-child { width: 30%; font-weight: 700; color: var(--ink); }
