/* * ARQUIVO DE SOBRESCRITA DE FONTES PARA ACESSIBILIDADE 
 * Deve ser importado DEPOIS do style.css original para garantir a aplicação.
 */

/* * ----------------------------------------------------
 * 1. DEFINIÇÃO DA ESCALA BASE (Mantém a lógica do JS)
 * ----------------------------------------------------
 */

/* Níveis de zoom definidos pelo JavaScript e salvos no cookie */
body.font-scale-default { --text-scale: 1.0; } 
body.font-scale-medium { --text-scale: 1.15; } 
body.font-scale-large { --text-scale: 1.30; } 
body.font-scale-xlarge { --text-scale: 1.45; }


/* * ----------------------------------------------------
 * 2. SOBRESCRITA DE TAMANHOS ABSOLUTOS (DE: style.css)
 * * Conversão: 16px = 1rem. Usamos calc(Tamanho_em_REM * var(--text-scale))
 * ----------------------------------------------------
 */

/* TAMANHO BASE (16px) */
body, 
.btn-padrao, 
input[type="submit"], 
.search-filter-input-button, 
.menu-rodape ul li a,
.card-materia-cats a,
.card-materia.mais-lida h3,
.topo.topo-materia h3,
.padrao h5,
.padrao h6,
.transparencia-item texto {
    font-size: calc(1rem * var(--text-scale)) !important;
}

/* TAMANHOS DE TEXTO E INPUT (14px) */
.form label,
input[type=text],
input[type=email],
input[type=tel],
textarea,
select,
.wpcf7 form .wpcf7-response-output,
.topo-meta p {
    font-size: calc(0.875rem * var(--text-scale)) !important; /* 14px / 16 = 0.875rem */
}

/* TAMANHO PEQUENO (12px) */
.wpcf7-not-valid-tip {
    font-size: calc(0.75rem * var(--text-scale)) !important; /* 12px / 16 = 0.75rem */
}

/* HIERARQUIA DE TÍTULOS E OUTROS ELEMENTOS ESPECÍFICOS */

/* H1 (40px) - No seu CSS é 40px, mas no .card-materia.hero h1 ele herda */
h1,
.card-materia.hero h1 {
    font-size: calc(2.5rem * var(--text-scale)) !important; /* 40px / 16 = 2.5rem */
}
/* H2 (28px) */
h2,
.padrao h1,
.chamada p {
    font-size: calc(1.75rem * var(--text-scale)) !important; /* 28px / 16 = 1.75rem */
}
/* H2 Itálico (32px) */
h2.titulo-secao-italico {
    font-size: calc(2rem * var(--text-scale)) !important; /* 32px / 16 = 2rem */
}
/* H3 (24px) */
h3,
.transparencia-item destaque {
    font-size: calc(1.5rem * var(--text-scale)) !important; /* 24px / 16 = 1.5rem */
}
/* H4 (18px) */
h4,
p.texto-topo,
.topo.topo-editoria p,
.card-materia.sem-foto h3,
.card-materia.horizontal h3,
.padrao h4,
dl.accordion dt h4,
.leia-mais-lista a {
    font-size: calc(1.125rem * var(--text-scale)) !important; /* 18px / 16 = 1.125rem */
}
/* H5 (17px) */
.compartilhe h5,
.compartilhe-materia h5 {
    font-size: calc(1.0625rem * var(--text-scale)) !important; /* 17px / 16 = 1.0625rem */
}

/* ELEMENTOS DE TEXTO AVANÇADOS */
/* Parágrafo padrão e listas (16px) */
/* p,
ul,
ol,
li {
    font-size: calc(1rem * var(--text-scale)) !important;
} */
/* Citação (22px) */
.citacao p,
.card-materia.destacada h3,
.padrao h2 {
    font-size: calc(1.375rem * var(--text-scale)) !important; /* 22px / 16 = 1.375rem */
}
/* Títulos no Padrão */
.padrao h3 {
    font-size: calc(1.25rem * var(--text-scale)) !important; /* 20px / 16 = 1.25rem */
}

/* NUMERAÇÃO (48px) */
.card-materia.mais-lida span.numero {
    font-size: calc(3rem * var(--text-scale)) !important; /* 48px / 16 = 3rem */
}
/* Números da Transparência (56px) */
.transparencia-item numero {
    font-size: calc(3.5rem * var(--text-scale)) !important; /* 56px / 16 = 3.5rem */
}

@media only screen and (max-width : 810px) {
    .card-materia.hero h1 {
        font-size: calc(2rem * var(--text-scale)) !important; /* 32px / 16 = 2rem */
    }
}