/* View Campanhas — estatísticas, mapa/lista por UF e filtros
   (ViewIniciativas.jsx, CartaoEstatistica.jsx, MapaCampanhasUF.jsx, FiltrosIniciativas.jsx). */

.portal .campanhas__titulo{margin-bottom:var(--esp-8)}

/* Mapa e lista por UF */
.portal .campanhas__mapa-titulo{margin:var(--esp-16) 0 var(--esp-2)}
.portal .campanhas__mapa-texto{margin-bottom:var(--esp-6);max-width:var(--largura-texto)}
.portal .so-estreito{display:none}
.portal .mapa-uf{display:grid;grid-template-columns:minmax(380px,1.15fr) minmax(0,1fr);gap:var(--esp-10);align-items:stretch}
.portal .mapa-uf__mapa{min-width:0}
.portal .mapa-uf__caixa{position:relative;border:var(--borda-fina) solid var(--traco-forte);border-radius:var(--raio-2);padding:var(--esp-2)}
.portal .mapa-uf__contorno{display:block;width:100%;height:auto}
.portal .mapa-uf__bolhas{position:absolute;left:var(--esp-2);top:var(--esp-2);width:calc(100% - var(--esp-4));aspect-ratio:620/640;height:auto}
.portal .mapa-uf__bolha circle{fill:var(--cor-azul-atlantico);fill-opacity:.8;stroke:var(--cor-preto-ebano);stroke-width:1;transition:fill-opacity var(--dur-rapida) var(--ease-padrao)}
.portal .mapa-uf__bolha text{font:700 11px "Muli","Mulish",sans-serif;fill:var(--cor-branco-paz);letter-spacing:.04em;pointer-events:none}
.portal .mapa-uf__bolha:hover circle,.portal .mapa-uf__bolha:focus circle,.portal .mapa-uf__bolha.ativa circle{fill-opacity:1;stroke-width:2}
.portal .mapa-uf__bolha:focus-visible{outline:none}
.portal .mapa-uf__bolha:focus-visible circle{stroke:var(--cor-azul-atlantico);stroke-width:4}
.portal .mapa-uf__dica{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-160%);z-index:var(--z-tooltip);pointer-events:none;background:var(--cor-preto-ebano);color:var(--cor-branco-paz);padding:8px 12px;border-radius:var(--raio-1);box-shadow:var(--sombra-2);white-space:nowrap}
.portal .mapa-uf__dica-nome{display:block;font:var(--peso-black) var(--texto-sm)/1.1 var(--fonte-titulo);text-transform:uppercase}
.portal .mapa-uf__dica-total{display:block;color:var(--cor-amarelo-sol);margin-top:3px}

/* Lista ao lado do mapa: mesma altura do mapa (a linha da grade é ditada
   pelo mapa; a lista rola dentro de um contêiner absoluto). */
.portal .mapa-uf__lateral{position:relative;min-height:0;border:var(--borda-fina) solid var(--traco-forte);border-radius:var(--raio-2)}
.portal .mapa-uf__lista{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;padding:var(--esp-3)}
.portal .mapa-uf__item{width:100%;display:flex;align-items:center;gap:var(--esp-3);text-align:left;min-height:var(--alvo-toque);padding:var(--esp-2) var(--esp-1);color:var(--texto-primario);text-decoration:none;border-bottom:var(--borda-fina) solid var(--traco-sutil)}
.portal .mapa-uf__item:hover{background:var(--superficie-alt)}
.portal .mapa-uf__item[aria-current="true"]{background:var(--superficie-alt)}
.portal .mapa-uf__ponto-caixa{width:34px;display:flex;justify-content:center;flex:none}
.portal .mapa-uf__ponto{width:var(--d);height:var(--d);border-radius:var(--raio-pilula);background:var(--cor-azul-atlantico);opacity:.9}
.portal .mapa-uf__sigla{width:34px;flex:none}
.portal .mapa-uf__nome{font:var(--tipo-texto);flex:1}
.portal .mapa-uf__total{font:var(--peso-black) var(--texto-lg)/1 var(--fonte-titulo)}

/* Filtros */
.portal .filtros{display:flex;flex-direction:column;gap:var(--esp-4)}
.portal .filtros__linha{display:flex;gap:var(--esp-3);flex-wrap:wrap;align-items:center}
.portal .filtros__estado{display:inline-flex;align-items:center;gap:var(--esp-2)}
.portal .filtros__estado select{font:var(--peso-bold) var(--texto-sm)/1 var(--fonte-texto);min-height:var(--alvo-toque);padding:0 var(--esp-3);border:var(--borda-fina) solid var(--traco-forte);border-radius:var(--raio-2);background:var(--superficie-base);color:var(--texto-primario)}
.portal .filtros--js .filtros__enviar{display:none}
.portal .filtros__chips{display:flex;gap:var(--esp-2);flex-wrap:wrap;align-items:center}
.portal .filtros__resumo{display:flex;gap:var(--esp-3);align-items:baseline;flex-wrap:wrap}
.portal .filtros__limpar{font:var(--peso-bold) var(--texto-sm)/1 var(--fonte-texto);color:var(--texto-link);text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.portal .filtros__limpar[hidden]{display:none}

.portal .campanhas__vazio{margin:var(--esp-10) 0}
.portal .campanhas__vazio[hidden]{display:none}
.portal .campanhas__grade{margin-top:var(--esp-8);grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1099.98px){.portal .campanhas__grade{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:899.98px){.portal .campanhas__grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599.98px){.portal .campanhas__grade{grid-template-columns:1fr}}
.portal .campanhas__grade:empty{display:none}
.portal .campanhas__mais{display:flex;justify-content:center;margin-top:var(--esp-8)}
.portal .campanhas__mais[hidden]{display:none}
.portal .campanhas__grade.carregando{opacity:.5;transition:opacity var(--dur-base) var(--ease-padrao)}

@media (max-width:899.98px){
  .portal .so-largo{display:none}
  .portal .so-estreito{display:inline}
  .portal .mapa-uf{grid-template-columns:1fr}
  .portal .mapa-uf__mapa{display:none}
  .portal .mapa-uf__lateral{border-radius:var(--raio-2);padding:var(--esp-2)}
  .portal .mapa-uf__lista{position:static;overflow:visible;padding:0}
}

/* Responsividade (27/10/2026). */
.portal .mapa-uf__mais{display:none}
@media (max-width:899.98px) and (min-width:600px){
  .portal .mapa-uf__lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--esp-6)}
}
@media (max-width:599.98px){
  .portal .mapa-uf--recolhida .mapa-uf__lista>li:nth-child(n+11){display:none}
  .portal .mapa-uf--recolhida .mapa-uf__mais{display:flex}
  .portal .mapa-uf__mais{width:100%;justify-content:center;align-items:center;gap:var(--esp-2);min-height:var(--alvo-toque);margin-top:var(--esp-2);border:0;background:transparent;font:var(--peso-bold) var(--texto-sm)/1 var(--fonte-texto);color:var(--texto-link);text-decoration:underline;text-underline-offset:3px}
  .portal .filtros__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--esp-4));padding:2px var(--esp-4)}
  .portal .filtros__chips::-webkit-scrollbar{display:none}
  .portal .filtros__chips .chip{flex:none}
  .portal .filtros__estado{flex:1 1 100%}
  .portal .filtros__estado select{flex:1}
}

/* Estados sem campanhas (27/10/2026): cinza-claro = branco + véu preto de 14%
   (#DBDBDB, sem cor fora da paleta). Legenda abaixo do mapa. */
.portal .mapa-uf__vazios path{fill:#FFF2B7;stroke:var(--cor-preto-ebano);stroke-width:.7;stroke-linejoin:round}
.portal .mapa-uf__legenda{display:flex;flex-wrap:wrap;padding:var(--esp-2) var(--esp-2) var(--esp-1);align-items:center;gap:var(--esp-2);margin:0;font:var(--tipo-rotulo);letter-spacing:.06em;text-transform:uppercase;color:var(--texto-secundario)}
.portal .mapa-uf__legenda-cor{display:inline-block;width:12px;height:12px;background:var(--cor-amarelo-sol);border:var(--borda-fina) solid var(--traco-forte)}
.portal .mapa-uf__legenda-cor--vazio{margin-left:var(--esp-3);background:#FFF2B7}

/* Itens do cartão "Categorias": links que filtram a grade. */
.portal .estatistica__item{display:flex;align-items:center;gap:var(--esp-3);width:100%;min-height:var(--alvo-toque);color:inherit;text-decoration:none;border-radius:var(--raio-1)}
.portal .estatistica__item:hover{text-decoration:underline;text-underline-offset:3px}
.portal .estatistica__lista li:has(.estatistica__item){padding:0}
