/* ==========================================================================
   PAGINAS LEGAIS: CSS PROPRIO das rotas `privacidade` e `termos` (fatia L1, 05/09/2026)

   PADRAO SEGUIDO (COLCHA): cada rota tem CSS proprio e classes PREFIXADAS; so
   `shell.css` e `components.css` sao compartilhados (molde: `sobre-page.css`).
   DIVERGENCIA DECLARADA (emenda E2 do GEN): UMA folha para as DUAS rotas legais.
   Sao paginas da mesma familia, com a mesma tipografia de LEITURA (62ch); duas
   folhas seriam copia. As duas rotas a declaram em `routes_config.php`.
   Reduced motion e foco sao CENTRAIS desde a LAYOUT-2 (`components.css`): nada
   aqui anima, e as paginas nao tem `.btn` proprio.
   ========================================================================== */

/* `.section-page` (components.css) carrega `min-height: calc(100vh - 200px)`, correta para
   pagina de UM bloco e buraco de altura de TELA numa pagina de varios. Zerado como no
   `sobre-page.css` (predicado C3 da SOBRE-1; S6 da regua da L1). */
section.legal-bloco {
    min-height: 0;
}

/* ========== HERO: titulo, lead, data e o AVISO de "nao esta em vigor" ========== */

.legal-hero {
    padding: 48px 0 40px;
    background: var(--app-white);
}

.legal-titulo {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.4px;
    color: var(--app-text-primary);
    margin: 24px 0 20px;
    max-width: 20ch;
}

.legal-lead {
    font-size: 1.06rem;
    line-height: 1.7;
    color: var(--app-text-secondary);
    max-width: 62ch;
    margin: 0 0 12px;
    /* L2 emenda v5, decisao (h) do operador: paragrafo legal JUSTIFICADO. `hyphens: auto`
       acompanha porque coluna estreita (62ch) justificada sem hifenizacao abre rios de espaco;
       o `<html lang="pt-BR">` do index.php e' o que habilita a hifenizacao correta. */
    text-align: justify;
    hyphens: auto;
}

.legal-meta {
    font-size: 0.9rem;
    color: var(--app-text-secondary);
    margin: 0 0 24px;
}

/* O aviso de pendencia (CA-5/E1): legivel para o titular, nao um placeholder tecnico.
   Ambar deliberado: e' o unico bloco da pagina que pede atencao antes da leitura. */
.legal-aviso {
    max-width: 62ch;
    padding: 16px 20px;
    border-left: 4px solid #d97706;
    background: #fffbeb;
    color: #78350f;
    border-radius: 6px;
    font-size: 0.98rem;
    line-height: 1.6;
}

.legal-aviso a {
    color: #92400e;
    text-decoration: underline;
}

/* ========== SECOES: tipografia de LEITURA, coluna de ~62 caracteres ========== */

.legal-secao {
    padding: 40px 0;
    background: var(--app-white);
}

.legal-secao--claro {
    background: var(--app-light);
}

.legal-secao h2 {
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--app-text-primary);
    margin: 0 0 16px;
    max-width: 62ch;
}

.legal-secao p {
    font-size: 1.02rem;
    line-height: 1.75;
    color: var(--app-text-secondary);
    max-width: 62ch;
    margin: 0 0 16px;
    /* L2 emenda v5, decisao (h): idem. Vale para o CORPO dos blocos legais; titulos e a linha
       de meta seguem no alinhamento herdado. */
    text-align: justify;
    hyphens: auto;
}

.legal-secao p:last-child {
    margin-bottom: 0;
}

.legal-secao ul {
    max-width: 62ch;
    padding-left: 22px;
    margin: 0 0 16px;
    color: var(--app-text-secondary);
    line-height: 1.7;
}

.legal-secao li {
    margin-bottom: 8px;
}

.legal-secao a {
    color: var(--app-blue, #2173C5);
}

/* O bloco de identificacao PENDENTE (Controlador e Encarregado / Quem responde): a mesma
   marca ambar do aviso do hero, para o leitor ligar um ao outro. */
.legal-secao--pendencia {
    background: #fffbeb;
    border-top: 1px solid #fde68a;
    border-bottom: 1px solid #fde68a;
}

.legal-secao--pendencia h2,
.legal-secao--pendencia p {
    color: #78350f;
}

@media (max-width: 767.98px) {
    .legal-hero {
        padding: 32px 0 28px;
    }

    .legal-titulo {
        font-size: 1.9rem;
    }

    .legal-secao {
        padding: 28px 0;
    }
}
