/*
Theme Name: Meu Voto, Minha Escolha
Theme URI: https://meuvotominhaescolha.org
Description: Tema do movimento Meu Voto, Minha Escolha. Páginas por estado para escrever aos deputados federais, ao presidente da Câmara e às direções dos partidos. Não coleta dados de visitantes.
Version: 2.4.0
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: mvme
*/

/* Fontes no próprio site (nenhum dado do visitante vai a terceiros) */
@font-face { font-family: "Source Serif 4"; src: url("assets/fonts/serif-700.woff") format("woff"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Inter"; src: url("assets/fonts/inter-400.woff") format("woff"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter"; src: url("assets/fonts/inter-400i.woff") format("woff"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Inter"; src: url("assets/fonts/inter-600.woff") format("woff"); font-weight: 600; font-display: swap; }

/*
Sistema
Cor 60/30/10 com as cores do Brasil: 60 papel claro (fundo) · 30 azul (faixas escuras e destaque do menu) e tinta no texto · 10 amarelo (só o CTA).
Verde é o terciário: seleção, marcadores e números em destaque. Verde da bandeira só em contorno e número grande; texto pequeno usa o verde escuro.
Tipo: escala modular 1,25 sobre base 16. Espaço: múltiplos de 8. Tudo alinhado à esquerda.
*/
:root {
	--papel: #faf8f2;
	--papel-2: #f1efe4;
	--tinta: #17120e;
	--tinta-2: #4d423a;
	--tinta-3: #6e6259;
	--azul: #002776;
	--verde: #009c3b;
	--verde-texto: #00753a;
	--amarelo: #ffdf00;
	--erro: #b3261e;
	--acento: #ffdf00;
	--acento-hover: #f2cf00;
	--linha: rgba(23, 18, 14, .16);
	--linha-forte: #17120e;
	--sobre-escuro: #faf8f2;
	--sobre-escuro-2: #c9d3ea;

	--f-display: "Source Serif 4", Georgia, "Times New Roman", serif;
	--f-texto: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	--t-1: .8rem;      /* 12,8 rótulo */
	--t0: 1rem;        /* 16 corpo */
	--t1: 1.25rem;     /* 20 apoio */
	--t2: 1.5625rem;   /* 25 */
	--t3: 1.953rem;    /* 31 H2 celular */
	--t4: 2.441rem;    /* 39 H2 / H1 celular */
	--t5: 3.052rem;    /* 49 */
	--t6: 3.815rem;    /* 61 H1: ~4x o corpo */

	--e1: 8px; --e2: 16px; --e3: 24px; --e4: 32px; --e5: 40px; --e6: 48px; --e8: 64px; --e12: 96px; --e16: 128px;
	--raio: 8px;
	--medida: 65ch;
	color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papel); color: var(--tinta); font: 400 var(--t0)/1.5 var(--f-texto); font-feature-settings: "lnum"; }
/* Grão sutil, gerado (sem imagem externa) */
body::before {
	content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 100; opacity: .05; mix-blend-mode: multiply;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");
}
img, svg { max-width: 100%; height: auto; }
a { color: var(--tinta); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--azul); outline-offset: 4px; border-radius: 4px; }
p { margin: 0; }
h1, h2, h3 { margin: 0; text-wrap: balance; }
h1, h2 { font-family: var(--f-display); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; }
h1 { font-size: var(--t4); }
h2 { font-size: var(--t3); }
h3 { font-family: var(--f-texto); font-weight: 600; font-size: var(--t1); line-height: 1.3; }
[hidden] { display: none !important; }
@media (min-width: 900px) {
	h1 { font-size: var(--t6); }
	h2 { font-size: var(--t4); }
}

.faixa { width: 100%; max-width: 1168px; margin: 0 auto; padding-left: max(24px, env(safe-area-inset-left, 0px)); padding-right: max(24px, env(safe-area-inset-right, 0px)); }
@media (min-width: 900px) { .faixa { padding-left: max(48px, env(safe-area-inset-left, 0px)); padding-right: max(48px, env(safe-area-inset-right, 0px)); } }
/* Telas grandes: área útil maior, sem esticar o texto corrido */
@media (min-width: 1440px) { .faixa { max-width: 1280px; } }
.rotulo { font-family: var(--f-texto); font-size: var(--t-1); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-2); }
.lead { font-size: var(--t1); line-height: 1.5; color: var(--tinta-2); max-width: 52ch; }
.nota { font-size: var(--t-1); line-height: 1.5; color: var(--tinta-3); max-width: var(--medida); }
.pular { position: absolute; left: -9999px; top: 0; background: var(--tinta); color: var(--papel); padding: var(--e1) var(--e2); z-index: 200; }
.pular:focus { left: var(--e2); top: var(--e2); }
.icone { width: 24px; height: 24px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Botões: o laranja é só para a ação principal */
.botao, .botao-contorno {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--e1);
	min-height: 56px; padding: var(--e2) var(--e4); border-radius: 999px; border: 2px solid var(--tinta);
	font: 600 var(--t0)/1 var(--f-texto); text-decoration: none; cursor: pointer; transition: background-color .16s ease-out, transform .16s ease-out;
}
.botao { background: var(--acento); color: var(--azul); border-color: var(--azul); }
.botao:hover { background: var(--acento-hover); }
.botao:active { transform: translateY(1px); }
.botao-contorno { background: transparent; color: var(--tinta); }
.botao-contorno:hover { background: var(--papel-2); }
.link-seta { display: inline-flex; align-items: center; gap: var(--e1); font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--tinta); padding-bottom: 2px; }
.link-seta .icone { width: 20px; height: 20px; transition: transform .16s ease-out; }
.link-seta:hover .icone { transform: translateX(4px); }
button.link { background: none; border: 0; padding: 0; font: inherit; color: var(--tinta); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }

/* Topo */
/* Cabeçalho fixo no topo de todas as páginas */
.topo { border-bottom: 1px solid var(--linha); background: var(--papel); position: sticky; top: 0; z-index: 50; }
.admin-bar .topo { top: 32px; }
@media (max-width: 782px) { .admin-bar .topo { top: 46px; } }
@media (max-width: 600px) { .admin-bar .topo { top: 0; } }
html { scroll-padding-top: 96px; }
@media (max-width: 699px) { html { scroll-padding-top: 236px; } }
.topo .faixa { display: flex; align-items: center; justify-content: space-between; gap: var(--e2) var(--e4); flex-wrap: wrap; padding-block: var(--e2); }
.marca { display: flex; align-items: center; gap: var(--e1); text-decoration: none; color: var(--tinta); }
.marca-selo { width: 32px; height: 32px; flex: none; }
.marca-nome { font-family: var(--f-display); font-weight: 700; font-size: var(--t1); letter-spacing: -.01em; line-height: 1; }
.menu { display: flex; align-items: center; flex-wrap: wrap; gap: var(--e1) var(--e3); font-size: var(--t0); font-weight: 600; }
.menu a { position: relative; text-decoration: none; padding: var(--e1) 2px; }
.menu .menu-destaque { background: var(--azul); color: var(--papel); border-radius: 999px; padding: var(--e1) var(--e3); }
.menu .menu-destaque:hover { background: #00359e; }
/* Petição: botão amarelo, o de maior destaque no cabeçalho */
.menu .menu-peticao { background: var(--acento); color: var(--azul); border: 2px solid var(--azul); border-radius: 999px; padding: calc(var(--e1) - 2px) var(--e3); box-shadow: 0 4px 0 var(--azul); }
.menu .menu-peticao:hover { background: var(--acento-hover); }
.menu .menu-peticao:active { transform: translateY(2px); box-shadow: 0 2px 0 var(--azul); }
/* Item selecionado em todos os menus: contorno deslocado em pílula, verde 2px, alinhado, sem fundo, 60% de opacidade, sombra suave (o mesmo desenho do botão azul) */
.menu a[aria-current="page"]::after, .trilha [aria-current="page"]::after {
	content: ""; position: absolute; inset: -6px -14px; border: 2px solid var(--verde); opacity: .6; border-radius: 999px;
	background: none; box-shadow: 0 4px 14px rgba(0, 156, 59, .28); pointer-events: none;
}
.menu .menu-destaque[aria-current="page"]::after { inset: -6px -8px; border-radius: 999px; }

/* Página inicial: abertura */
.abertura { position: relative; overflow: hidden; border-bottom: 1px solid var(--linha); }
.abertura .faixa { display: grid; gap: var(--e4); padding-block: var(--e8) var(--e8); }
@media (min-width: 900px) { .abertura .faixa { padding-block: var(--e12) var(--e12); } }
.abertura h1 { max-width: 15ch; }
.selo {
	position: absolute; right: -56px; top: 40px; width: 220px; height: 220px; border: 2px solid var(--verde); border-radius: 50%; background: rgba(250, 248, 242, .92);
	display: grid; place-items: center; text-align: center; transform: rotate(15deg); color: var(--verde-texto);
	font: 600 var(--t-1)/1.4 var(--f-texto); letter-spacing: .14em; text-transform: uppercase; padding: var(--e4);
}
.selo strong { display: block; font: 700 var(--t3)/1 var(--f-display); letter-spacing: -.02em; text-transform: none; margin: 4px 0; }
@media (max-width: 899px) { .selo { width: 140px; height: 140px; right: -44px; top: 12px; padding: var(--e2); font-size: 10.24px; } .selo strong { font-size: var(--t2); } }
.acao-estado { display: grid; gap: var(--e1); max-width: 560px; }
.acao-estado label { font-weight: 600; }
.acao-linha { display: flex; flex-wrap: wrap; gap: var(--e2); }
.acao-linha select { flex: 1 1 220px; }
.acao-linha .botao { flex: 0 1 auto; }
.micro { font-size: var(--t-1); color: var(--tinta-3); }

/* Prova */
.prova { border-bottom: 1px solid var(--linha); }
.prova .faixa { display: grid; gap: var(--e4); padding-block: var(--e6); }
@media (min-width: 900px) { .prova .faixa { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: var(--e6); } }
.prova-numero { font: 700 var(--t5)/1 var(--f-display); letter-spacing: -.03em; color: var(--verde-texto); }
.prova-texto { display: grid; gap: var(--e1); max-width: 40ch; }
.vozes { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e3); }
@media (min-width: 700px) { .vozes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.vozes li { display: grid; gap: var(--e1); align-content: start; padding-top: var(--e2); border-top: 2px solid var(--tinta); }
.vozes .quem { font-size: var(--t-1); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }

/* Seções */
.secao { border-bottom: 1px solid var(--linha); }
.secao > .faixa { display: grid; gap: var(--e4); padding-block: var(--e8); }
@media (min-width: 900px) { .secao > .faixa { padding-block: var(--e12); } }
.secao-topo { display: grid; gap: var(--e2); max-width: var(--medida); }

.linha-tempo { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e4); }
@media (min-width: 900px) { .linha-tempo { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e4); } }
.linha-tempo li { display: grid; gap: var(--e1); align-content: start; padding-top: var(--e3); border-top: 1px solid var(--linha); position: relative; }
.linha-tempo li::before { content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border: 2px solid var(--tinta); border-radius: 50%; background: var(--papel); }
.linha-tempo li.agora::before { background: var(--verde); border-color: var(--verde); }
.ano { font: 700 var(--t3)/1 var(--f-display); letter-spacing: -.02em; }
.linha-tempo p { color: var(--tinta-2); max-width: 36ch; }

.teclado { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: var(--e1); }
.tecla { display: flex; align-items: baseline; justify-content: space-between; gap: var(--e1); min-height: 56px; padding: var(--e2); border: 2px solid var(--tinta); border-radius: var(--raio); text-decoration: none; background: var(--papel); transition: background-color .16s ease-out; }
.tecla:hover { background: var(--papel-2); }
.tecla-uf { font: 700 var(--t2)/1 var(--f-display); letter-spacing: -.01em; }
.tecla-n { font-size: var(--t-1); color: var(--tinta-3); font-variant-numeric: tabular-nums; }

.lista-links { list-style: none; margin: 0; padding: 0; display: grid; }
.lista-links li { border-top: 1px solid var(--linha); }
.lista-links li:last-child { border-bottom: 1px solid var(--linha); }
.lista-links a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--e1) var(--e3); align-items: center; padding-block: var(--e3); text-decoration: none; }
.lista-links .titulo { font: 700 var(--t2)/1.1 var(--f-display); letter-spacing: -.01em; }
.lista-links .desc { grid-column: 1; color: var(--tinta-2); max-width: 56ch; }
.lista-links .icone { grid-row: 1 / span 2; grid-column: 2; transition: transform .16s ease-out; }
.lista-links a:hover .icone { transform: translateX(4px); }

.contagem { display: grid; gap: var(--e3); }
@media (min-width: 700px) { .contagem { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 720px; } }
.contagem div { display: grid; gap: var(--e1); padding-top: var(--e2); border-top: 2px solid currentColor; }
.contagem strong { font: 700 var(--t5)/1 var(--f-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }

/* Faixa escura com diagonal */
.escuro { background: var(--azul); color: var(--sobre-escuro); clip-path: polygon(0 48px, 100% 0, 100% 100%, 0 100%); margin-top: -1px; }
.escuro > .faixa { padding-top: calc(var(--e12) + 24px); }
.escuro .rotulo, .escuro .lead, .escuro p { color: var(--sobre-escuro-2); }
.escuro h2, .escuro strong { color: var(--sobre-escuro); }
.escuro a { color: var(--sobre-escuro); }
.razoes { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; max-width: 760px; }
.razoes li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: var(--e2); padding-block: var(--e3); border-top: 1px solid rgba(250, 246, 240, .2); }
.razoes .icone { color: var(--amarelo); margin-top: 2px; }

/* Cabeçalho das páginas internas */
.cabecalho-pagina { border-bottom: 1px solid var(--linha); }
.cabecalho-pagina .faixa { display: grid; gap: var(--e3); padding-block: var(--e6) var(--e8); }
.cabecalho-pagina h1 { max-width: 18ch; }
.trilha { display: flex; flex-wrap: wrap; gap: var(--e1); font-size: var(--t-1); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-3); }
.trilha a { color: var(--tinta-2); text-decoration: none; }
.trilha a:hover { text-decoration: underline; }
.trilha [aria-current="page"] { position: relative; color: var(--tinta); }

/* Páginas de envio */
.conteudo-envio { display: grid; gap: 0; padding-block: 0 var(--e12); }
.conteudo-envio > section { display: grid; gap: var(--e4); padding-block: var(--e8); border-bottom: 1px solid var(--linha); }
.conteudo-envio > section:last-of-type { border-bottom: 0; }
.passo-num { display: block; font: 600 var(--t-1)/1 var(--f-texto); letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-3); margin-bottom: var(--e2); }

.campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--e3); max-width: 880px; }
.campos label, .mensagem label { display: grid; gap: var(--e1); font-weight: 600; }
.campos .largo { grid-column: 1 / -1; }
.opcional, .ajuda { font-weight: 400; color: var(--tinta-3); font-size: var(--t-1); }
input, select, textarea { width: 100%; min-width: 0; font: 400 var(--t0)/1.5 var(--f-texto); color: var(--tinta); background: #fff; border: 2px solid var(--tinta); border-radius: var(--raio); padding: 12px var(--e2); min-height: 56px; }
select { appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2317120e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat: no-repeat; background-position: right 16px center; padding-right: var(--e6); }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--azul); outline-offset: 2px; }
textarea { resize: vertical; min-height: 96px; }
.aviso { color: var(--tinta); font-weight: 600; border-left: 4px solid var(--erro); padding: var(--e1) var(--e2); max-width: var(--medida); }

.grupos { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--e3); }
.grupo { display: grid; gap: var(--e2); align-content: start; padding: var(--e3); border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; min-width: 0; }
.grupo.feito { border: 2px solid var(--tinta); }
.grupo-topo { display: flex; justify-content: space-between; align-items: baseline; gap: var(--e2); }
.grupo-topo h3 { font-family: var(--f-display); font-weight: 700; font-size: var(--t2); letter-spacing: -.01em; }
.grupo-topo .de { font-family: var(--f-texto); font-weight: 400; font-size: var(--t0); color: var(--tinta-3); }
.qtd { font-size: var(--t-1); color: var(--tinta-3); white-space: nowrap; font-variant-numeric: tabular-nums; }
.acoes { display: grid; gap: var(--e1); }
.acoes .tecla-confirma { width: 100%; }
.tecla-confirma { display: inline-flex; align-items: center; justify-content: center; gap: var(--e1); min-height: 56px; padding: var(--e2) var(--e4); border-radius: 999px; border: 2px solid var(--azul); background: var(--acento); color: var(--azul); font: 600 var(--t0)/1 var(--f-texto); text-decoration: none; }
.tecla-confirma:hover { background: var(--acento-hover); }
.como, .alternativas { font-size: var(--t-1); color: var(--tinta-3); }
.alternativas a, .alternativas .link { color: var(--tinta-2); }
.enviado { display: flex; align-items: center; gap: var(--e1); font-weight: 600; cursor: pointer; padding-top: var(--e2); border-top: 1px solid var(--linha); }
.enviado input { width: 24px; height: 24px; min-height: 0; accent-color: var(--tinta); padding: 0; }
.lista-nomes summary, .sem-email summary, .mensagem summary { cursor: pointer; font-weight: 600; font-size: var(--t-1); letter-spacing: .04em; }
.lista-nomes[open] summary, .sem-email[open] summary { margin-bottom: var(--e1); }
.nomes { list-style: none; margin: 0; padding: 0; columns: 2 160px; column-gap: var(--e3); font-size: var(--t-1); line-height: 1.5; }
.nomes li { break-inside: avoid; padding: 2px 0; }
.nomes .sigla { color: var(--tinta-3); letter-spacing: .04em; white-space: nowrap; }
.sem-email summary { color: var(--erro); }
.sem-email p { font-size: var(--t-1); line-height: 1.5; }

.mensagem { border-top: 1px solid var(--linha); padding-top: var(--e3); max-width: 880px; }
.mensagem[open] { display: grid; gap: var(--e2); }
.mensagem textarea { font-size: var(--t-1); line-height: 1.5; }
.botoes-copiar { display: flex; flex-wrap: wrap; gap: var(--e2); }
.botoes-copiar .botao-secundario { min-height: 48px; padding: 12px var(--e3); border: 2px solid var(--tinta); border-radius: 999px; background: transparent; font: 600 var(--t-1)/1 var(--f-texto); cursor: pointer; }

.lista-acoes { list-style: none; margin: 0; padding: 0; display: grid; max-width: 720px; }
.lista-acoes li { border-top: 1px solid var(--linha); }
.lista-acoes li:last-child { border-bottom: 1px solid var(--linha); }
.lista-acoes a { display: flex; justify-content: space-between; align-items: center; gap: var(--e2); padding-block: var(--e3); font-weight: 600; text-decoration: none; }
.lista-acoes a::after { content: ""; width: 20px; height: 20px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>") center / contain no-repeat; }

.outro-estado { padding-top: var(--e6); }
.seletor-estado { display: grid; gap: var(--e1); max-width: 560px; }
.seletor-estado label { font-weight: 600; }
.seletor-linha { display: flex; flex-wrap: wrap; gap: var(--e2); }
.seletor-linha select { flex: 1 1 220px; }
.seletor-linha button { min-height: 56px; padding: var(--e2) var(--e4); border-radius: 999px; border: 2px solid var(--tinta); background: transparent; color: var(--tinta); font: 600 var(--t0)/1 var(--f-texto); cursor: pointer; }
.seletor-linha button:hover { background: var(--papel-2); }
.selecionavel { user-select: all; font-weight: 600; color: var(--tinta); }

/* Contato */
.visualmente-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-contato { display: grid; gap: var(--e4); }
.aceite { display: flex !important; gap: var(--e2); align-items: flex-start; font-weight: 400 !important; max-width: var(--medida); }
.aceite input { width: 24px; height: 24px; min-height: 0; flex: none; margin-top: 2px; accent-color: var(--tinta); padding: 0; }
.botao-enviar { min-height: 56px; padding: var(--e2) var(--e4); border-radius: 999px; border: 2px solid var(--azul); background: var(--acento); color: var(--azul); font: 600 var(--t0)/1 var(--f-texto); cursor: pointer; }
.botao-enviar:hover { background: var(--acento-hover); }
.retorno { padding: var(--e2); border-left: 4px solid var(--tinta); font-weight: 600; max-width: var(--medida); }
.retorno-erro { border-left-color: var(--erro); }

/* Páginas de texto e leitura longa */
.texto-pagina { padding-block: var(--e8) var(--e12); display: grid; gap: var(--e3); }
.texto-pagina > * { max-width: var(--medida); }
.texto-pagina h1 { max-width: 18ch; }
.texto-pagina p, .texto-pagina li { line-height: 1.6; }
.texto-pagina p + p { margin-top: 0; }
.leitura { padding-block: var(--e8) var(--e12); }
.leitura-corpo { display: grid; gap: var(--e3); max-width: var(--medida); }
.leitura-corpo > h2 { font-size: var(--t3); margin-top: var(--e6); padding-top: var(--e6); border-top: 1px solid var(--linha); }
.leitura-corpo > h3 { font-size: var(--t1); margin-top: var(--e4); }
.leitura-corpo p, .leitura-corpo li { line-height: 1.6; }
.leitura-corpo ul { margin: 0; padding-left: 1.25em; display: grid; gap: var(--e1); }
.leitura-corpo li::marker { color: var(--verde-texto); }
.leitura-corpo .mvme-lead { font-size: var(--t1); line-height: 1.5; color: var(--tinta-2); }
.leitura-corpo .mvme-dado { font: 700 var(--t3)/1.15 var(--f-display); letter-spacing: -.02em; color: var(--verde-texto); border-left: 4px solid var(--verde); padding-left: var(--e3); }
.leitura-corpo .mvme-alerta { font-weight: 600; border-top: 2px solid var(--tinta); border-bottom: 2px solid var(--tinta); padding-block: var(--e2); }
.leitura-corpo .mvme-fontes { font-size: var(--t-1); color: var(--tinta-3); }
.leitura-corpo .mvme-fontes a { color: var(--tinta-2); }
.comparativo { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e3); }
@media (min-width: 900px) { .comparativo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.comparativo li { display: grid; gap: var(--e1); align-content: start; padding: var(--e3); border: 2px solid var(--tinta); border-radius: var(--raio); background: #fff; }
.comparativo li.hoje { background: var(--azul); color: var(--papel); border-color: var(--azul); }
.comparativo li.hoje .rotulo, .comparativo li.hoje p { color: var(--sobre-escuro-2); }
.comparativo .nome { font: 700 var(--t2)/1.1 var(--f-display); letter-spacing: -.01em; }
.comparativo p { color: var(--tinta-2); }
.fim-acao { display: grid; gap: var(--e3); padding-top: var(--e6); margin-top: var(--e6); border-top: 2px solid var(--tinta); max-width: var(--medida); }

/* Rodapé */
.rodape { border-top: 1px solid var(--linha); font-size: var(--t-1); color: var(--tinta-2); }
.rodape-grade { display: grid; gap: var(--e4); padding-block: var(--e6) var(--e8); }
@media (min-width: 900px) { .rodape-grade { grid-template-columns: 5fr 4fr 3fr; } }
.rodape-grade > div { display: grid; gap: var(--e1); align-content: start; max-width: 44ch; }
.rodape-marca { font: 700 var(--t1)/1.1 var(--f-display); color: var(--tinta); }
.rodape-titulo { font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta); }
.rodape a { color: var(--tinta); }
.lema { font-style: italic; }

.aviso-flutuante { position: fixed; left: var(--e3); bottom: calc(var(--e3) + env(safe-area-inset-bottom, 0px)); background: var(--tinta); color: var(--papel); padding: 12px var(--e3); border-radius: 999px; font-weight: 600; opacity: 0; pointer-events: none; transition: opacity .16s ease-out; z-index: 150; max-width: calc(100% - 48px); }
.aviso-flutuante.visivel { opacity: 1; }

@media (max-width: 699px) {
	.topo .faixa { gap: var(--e1) var(--e2); }
	.menu { gap: var(--e1) var(--e2); font-size: var(--t-1); }
	.menu .menu-destaque, .menu .menu-peticao { order: -1; flex-basis: 100%; text-align: center; padding: 10px var(--e2); font-size: var(--t0); }
	.menu .menu-peticao { padding: 8px var(--e2); margin-bottom: 4px; }
	.grupos { grid-template-columns: minmax(0, 1fr); }
	.escuro { clip-path: polygon(0 24px, 100% 0, 100% 100%, 0 100%); }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }
.escuro > .faixa { display: grid; gap: var(--e4); padding-bottom: var(--e12); }
.depois .lista-acoes a[href^="https://wa.me"] { font-size: var(--t1); }
/* Colunas de grade nunca crescem além da tela */
.conteudo-envio, .conteudo-envio > section, .abertura .faixa, .secao > .faixa, .escuro > .faixa, .cabecalho-pagina .faixa, .leitura-corpo, .texto-pagina, .acao-estado, .form-contato { grid-template-columns: minmax(0, 1fr); }
.leitura-corpo > h2:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.tecla-confirma { white-space: nowrap; }

/* Hero com a bandeira: texto à esquerda, foto à direita com borda diagonal; o selo vaza sobre a foto */
.abertura .faixa { position: relative; }
.abertura-grade { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--e4); }
.abertura-texto { display: grid; gap: var(--e4); align-content: center; grid-template-columns: minmax(0, 1fr); }
.abertura-foto { position: relative; margin: 0; }
.abertura-foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; border-radius: var(--raio); aspect-ratio: 4 / 3; }
.abertura-foto .credito { position: absolute; right: var(--e1); bottom: var(--e1); font-size: 10.24px; color: #fff; background: rgba(0, 0, 0, .45); padding: 2px var(--e1); border-radius: 4px; }
.abertura .selo { right: auto; left: -24px; top: auto; bottom: -40px; }
@media (min-width: 900px) {
	.abertura-grade { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--e6); align-items: stretch; }
	.abertura-foto img { aspect-ratio: auto; min-height: 560px; border-radius: 0; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); }
	.abertura .selo { left: -40px; bottom: 48px; }
}
@media (max-width: 899px) { .abertura .selo { left: auto; right: 16px; bottom: -32px; } }
.marca-selo path { stroke: var(--verde); }
@media (max-width: 899px) {
	.abertura .faixa { padding-top: var(--e3); }
	.abertura-foto { order: -1; }
	.abertura-foto img { aspect-ratio: 2 / 1; object-position: 50% 47%; clip-path: polygon(0 0, 100% 0, 100% 82%, 0 100%); border-radius: 0; }
	.abertura .selo { width: 112px; height: 112px; right: 8px; bottom: -28px; padding: var(--e1); font-size: 9px; }
	.abertura .selo strong { font-size: var(--t1); }
}
/* Caixas de destaque dos pesquisadores */
.leitura-corpo .mvme-pesquisa { display: grid; gap: var(--e1); padding: var(--e3); border: 2px solid var(--azul); border-left-width: 8px; border-radius: var(--raio); background: #fff; line-height: 1.5; }
.leitura-corpo .mvme-pesquisa strong { font: 600 var(--t-1)/1.4 var(--f-texto); letter-spacing: .14em; text-transform: uppercase; color: var(--azul); }
.leitura-corpo .mvme-pesquisa + .mvme-pesquisa { margin-top: calc(var(--e1) * -1); }
.leitura-corpo > h3 { font-size: var(--t1); }
.trilha [aria-current="page"]::after { inset: -6px -12px; }
.trilha [aria-current="page"] { margin-left: 6px; }
