/* AN Mapa Eleitoral — tabela por estado (mobile-first) */
.anm-tab { margin: 24px 0; }
.anm-tab__cab { margin-bottom: 14px; }
.anm-tab__cab h3 { margin: 0 0 3px; font-size: 1.1rem; color: #0D2B6B; line-height: 1.25; }
.anm-tab__cab p { margin: 0; font-size: .82rem; color: #6b7482; }

.anm-tab__busca-caixa { margin-bottom: 16px; }
.anm-tab__busca {
	width: 100%; padding: 11px 14px; border: 1px solid #dde3ee;
	border-radius: 9px; font-size: .92rem; background: #fff;
}
.anm-tab__busca:focus { outline: 2px solid #0B5FFF; outline-offset: 1px; border-color: #0B5FFF; }
.anm-tab__resultado { margin: 8px 0 0; font-size: .82rem; color: #6b7482; }

.anm-tab__regiao {
	margin: 26px 0 12px; font-size: .72rem; text-transform: uppercase;
	letter-spacing: .09em; color: #8a93a5; padding-bottom: 7px;
	border-bottom: 2px solid #e2e7f1;
}

.anm-tab__uf {
	background: #fff; border: 1px solid #e2e7f1; border-radius: 11px;
	padding: 14px 16px; margin-bottom: 10px;
}
.anm-tab__uf-cab { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.anm-tab__sigla {
	background: #0D2B6B; color: #fff; font-size: .72rem; font-weight: 700;
	padding: 4px 9px; border-radius: 6px; letter-spacing: .04em;
}
.anm-tab__uf-cab h5 { margin: 0; font-size: 1rem; color: #0D2B6B; flex: 1; line-height: 1.25; }
.anm-tab__qtd { font-size: .72rem; color: #8a93a5; white-space: nowrap; }

.anm-tab__grade { width: 100%; border-collapse: collapse; font-size: .85rem; }
.anm-tab__grade thead th {
	text-align: left; font-size: .64rem; text-transform: uppercase;
	letter-spacing: .05em; color: #8a93a5; font-weight: 600;
	padding: 0 8px 6px 0; border-bottom: 1px solid #eef1f7;
}
.anm-tab__grade td { padding: 8px 8px 8px 0; border-bottom: 1px solid #f4f6fa; vertical-align: top; }
.anm-tab__grade tbody tr:last-child td { border-bottom: 0; }
.anm-tab__nome { font-weight: 600; color: #0D2B6B; }
.anm-tab__partido { color: #34404f; white-space: nowrap; }
.anm-tab__vice, .anm-tab__pos { color: #6b7482; }
.anm-tab__vazio { color: #b3bac7; font-style: italic; }
.anm-tab__alin {
	display: inline-block; background: #eef4ff; color: #0B5FFF;
	font-size: .64rem; padding: 2px 7px; border-radius: 99px;
	white-space: nowrap; font-weight: 600; cursor: help;
}
.anm-tab__sem { margin: 0; font-size: .84rem; color: #8a93a5; font-style: italic; }
.anm-tab__obs {
	margin: 10px 0 0; font-size: .76rem; color: #6b5b00; line-height: 1.55;
	background: #fff8e1; border-left: 3px solid #f5a623;
	padding: 8px 11px; border-radius: 0 6px 6px 0;
}
.anm-tab__rodape { margin: 18px 0 0; font-size: .74rem; color: #8a93a5; line-height: 1.6; }
.anm-tab__uf[hidden] { display: none; }

/* No celular a grade vira lista, para não estourar a largura */
@media (max-width: 620px) {
	.anm-tab__grade thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.anm-tab__grade tr { display: block; padding: 9px 0; border-bottom: 1px solid #f4f6fa; }
	.anm-tab__grade tr:last-child { border-bottom: 0; }
	.anm-tab__grade td { display: block; padding: 1px 0; border: 0; }
	.anm-tab__grade td.anm-tab__partido::before { content: "Partido: "; color: #8a93a5; font-size: .74rem; }
	.anm-tab__grade td.anm-tab__vice::before { content: "Vice: "; color: #8a93a5; font-size: .74rem; }
	.anm-tab__grade td.anm-tab__pos::before { content: "Posição: "; color: #8a93a5; font-size: .74rem; }
	.anm-tab__grade td.anm-tab__pos:empty, .anm-tab__grade td.anm-tab__pos { font-size: .78rem; }
}
