/* AN Mapa Eleitoral v1.0.0 — mobile-first (funcional a 360px) */
.anm-wrap {
	--anm-altura: 420px;
	margin: 24px 0;
	background: #f6f8fc;
	border: 1px solid #e2e7f1;
	border-radius: 12px;
	padding: 14px;
}
.anm-carregando, .anm-erro { text-align: center; padding: 30px 8px; color: #555; margin: 0; }
.anm-erro { color: #E31B23; }

.anm-cab { margin-bottom: 10px; }
.anm-cab h3 { margin: 0 0 3px; font-size: 1.05rem; color: #0D2B6B; line-height: 1.25; }
.anm-cab p { margin: 0; font-size: 0.82rem; color: #5b6472; }

.anm-legenda { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 0 0 10px; }
.anm-leg { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; color: #5b6472; }
.anm-leg i { width: 11px; height: 11px; border-radius: 3px; display: inline-block; }
.anm-leg b { color: #0D2B6B; }

.anm-mapa {
	width: 100%;
	height: var(--anm-altura);
	border-radius: 10px;
	background: #fff;
	border: 1px solid #dde3ee;
	z-index: 0;
}
.anm-tooltip {
	font-size: 0.78rem;
	line-height: 1.4;
	border-radius: 8px;
	border: 1px solid #0D2B6B;
	box-shadow: 0 3px 10px rgba(13,43,107,0.18);
	max-width: 240px;
}
.anm-tt-part { color: #0B5FFF; font-weight: 600; }

.anm-painel {
	background: #fff;
	border: 1px solid #dde3ee;
	border-radius: 10px;
	padding: 12px;
	margin-top: 10px;
	min-height: 90px;
}
.anm-dica { margin: 0; font-size: 0.8rem; color: #8a93a5; text-align: center; padding: 14px 0; }

.anm-painel-cab { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 8px; }
.anm-painel-cab h4 { margin: 0; font-size: 0.98rem; color: #0D2B6B; }
.anm-sigla {
	font-size: 0.68rem; background: #eef2fa; color: #5b6472;
	padding: 2px 6px; border-radius: 4px; vertical-align: middle; margin-left: 4px;
}
.anm-badge {
	color: #fff; font-size: 0.65rem; padding: 3px 8px; border-radius: 99px;
	text-transform: uppercase; letter-spacing: 0.03em; margin-left: auto;
}

.anm-nomes { list-style: none; margin: 0; padding: 0; }
.anm-nomes li {
	padding: 8px 0;
	border-bottom: 1px solid #f0f2f7;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 8px;
}
.anm-nomes li:last-child { border-bottom: 0; }
.anm-n-nome { font-weight: 700; color: #0D2B6B; font-size: 0.88rem; }
.anm-n-part {
	font-size: 0.7rem; color: #0B5FFF; background: #eef4ff;
	padding: 2px 7px; border-radius: 99px; white-space: nowrap; align-self: start;
}
.anm-n-meta { grid-column: 1 / -1; font-size: 0.73rem; color: #6b7482; }
.anm-n-obs { grid-column: 1 / -1; font-size: 0.72rem; color: #8a93a5; font-style: italic; }

.anm-vazio { margin: 6px 0; font-size: 0.82rem; color: #6b7482; }
.anm-obs {
	margin: 10px 0 0; font-size: 0.76rem; color: #6b5b00;
	background: #fff8e1; border-left: 3px solid #f5a623;
	padding: 8px 10px; border-radius: 0 6px 6px 0; line-height: 1.5;
}
.anm-fech { margin: 8px 0 0; font-size: 0.72rem; color: #8a93a5; }
.anm-nota { margin: 4px 0 0; font-size: 0.72rem; color: #8a93a5; line-height: 1.5; }

@media (min-width: 700px) {
	.anm-wrap { --anm-altura: 520px; padding: 18px; }
	.anm-cab h3 { font-size: 1.2rem; }
}
@media (min-width: 1000px) {
	.anm-wrap { display: grid; grid-template-columns: 1.35fr 1fr; gap: 14px 18px; align-items: start; }
	.anm-cab, .anm-legenda { grid-column: 1 / -1; }
	.anm-painel { margin-top: 0; max-height: var(--anm-altura); overflow-y: auto; }
	.anm-fech, .anm-nota { grid-column: 1 / -1; }
}
