/* Cartões e chips compartilhados (Campanhas, Resultados, Destaques):
   CartaoCampanha.jsx, CartaoNoticia.jsx, chips de FiltrosIniciativas/GaleriaFotos. */

.portal .grade-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap-cartoes)}

/* Cartão de campanha (esboço de 27/10/2026): a imagem cobre o cartão; véu em
   gradiente escurece para baixo e garante contraste ao texto branco; o
   reconhecimento fica no canto superior direito. Imagem e véu ficam em
   z-index -1 dentro do cartão isolado, para o ::after do link (clique no
   cartão inteiro) se posicionar no próprio cartão. */
.portal .cartao-campanha{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:3/4;min-height:300px;border-radius:var(--raio-3);overflow:hidden;border:var(--borda-fina) solid var(--traco-sutil);background:var(--cor-cinza-harpia);background-clip:padding-box;color:var(--cor-branco-paz);box-shadow:var(--sombra-1);transition:transform var(--dur-base) var(--ease-padrao),box-shadow var(--dur-base) var(--ease-padrao),border-color var(--dur-base) var(--ease-padrao)}
.portal .cartao-campanha:hover{transform:translateY(-3px);box-shadow:var(--sombra-3);border-color:var(--traco-forte)}
.portal .cartao-campanha:focus-within{box-shadow:var(--foco-anel),var(--sombra-2)}
.portal .cartao-campanha--sem-foto{background:repeating-linear-gradient(135deg,var(--veu-branco-16) 0 8px,transparent 8px 16px),var(--cor-cinza-harpia);background-clip:padding-box}
.portal .cartao-campanha__img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-lenta) var(--ease-saida)}
.portal .cartao-campanha:hover .cartao-campanha__img{transform:scale(1.04)}
.portal .cartao-campanha__veu{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.55) 52%,rgba(0,0,0,.92) 100%)}
.portal .cartao-campanha__nivel{position:absolute;top:var(--esp-3);right:var(--esp-3);max-width:calc(100% - var(--esp-6));font-size:var(--texto-2xs);letter-spacing:.06em;padding:6px 12px;box-shadow:var(--sombra-2)}
.portal .cartao-campanha__corpo{display:flex;flex-direction:column;align-items:flex-start;gap:var(--esp-2);padding:var(--esp-5);text-shadow:0 1px 2px rgba(0,0,0,.6)}
.portal .cartao-campanha__corpo .etiqueta{text-shadow:none}
.portal .cartao-campanha__categoria{margin-bottom:var(--esp-1)}
.portal .cartao-campanha__titulo{font:var(--tipo-titulo-3);color:var(--cor-branco-paz);text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.portal .cartao-campanha__titulo a{color:inherit;text-decoration:none}
.portal .cartao-campanha__titulo a::after{content:"";position:absolute;inset:0;z-index:1}
.portal .cartao-campanha__titulo a:focus-visible{box-shadow:none}
.portal .cartao-campanha__local{font:var(--peso-bold) var(--texto-xs)/1.3 var(--fonte-texto);color:#FFC9A3} /* laranja clarinho (pedido de 27/10/2026) */
@media (max-width:599.98px){.portal .cartao-campanha{aspect-ratio:4/5}}

/* Cartão de notícia / encontro */
.portal .cartao-noticia{position:relative;display:flex;flex-direction:column;background:var(--superficie-base);border:var(--borda-fina) solid var(--traco-sutil);border-radius:var(--raio-2);overflow:hidden;box-shadow:var(--sombra-1);transition:transform var(--dur-rapida) var(--ease-padrao),box-shadow var(--dur-rapida) var(--ease-padrao),border-color var(--dur-rapida) var(--ease-padrao)}
.portal .cartao-noticia:hover{border-color:var(--traco-forte);box-shadow:var(--sombra-2);transform:translateY(-2px)}
.portal .cartao-noticia__midia{position:relative;aspect-ratio:16/9;min-height:0;overflow:hidden;background:var(--superficie-alt);border-bottom:var(--borda-fina) solid var(--traco-sutil)}
.portal .cartao-noticia__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.portal .cartao-noticia__chapeu{position:absolute;left:0;bottom:0;background:var(--cor);color:var(--tinta);font:var(--tipo-rotulo);letter-spacing:var(--tracking-rotulo);text-transform:uppercase;padding:6px 11px;border-radius:0 var(--raio-1) 0 0}
.portal .cartao-noticia__corpo{display:flex;flex-direction:column;gap:var(--esp-2);padding:var(--padding-cartao);flex:1}
.portal .cartao-noticia__titulo{font:var(--tipo-titulo-3);text-wrap:pretty}
.portal .cartao-noticia__link{margin-top:auto;padding-top:var(--esp-3);font:var(--peso-bold) var(--texto-sm)/1 var(--fonte-texto);color:var(--texto-link);text-decoration:underline;text-underline-offset:4px}
/* Com endereço, o link cobre o cartão inteiro (clique e hover em qualquer ponto). */
.portal .cartao-noticia__link--ativo::after{content:"";position:absolute;inset:0}
.portal .cartao-noticia:focus-within{box-shadow:var(--foco-anel)}
.portal .cartao-noticia__link--ativo:focus-visible{box-shadow:none}

/* Chips de filtro */
.portal .chip{font:var(--tipo-rotulo);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:0 var(--esp-3);min-height:36px;cursor:pointer;border-radius:var(--raio-pilula);border:var(--borda-fina) solid var(--traco-sutil);background:transparent;color:var(--cor-preto-ebano);transition:background var(--dur-rapida) var(--ease-padrao),border-color var(--dur-rapida) var(--ease-padrao)}
.portal .chip[aria-pressed="true"]{border-color:var(--cor-preto-ebano);background:var(--cor-amarelo-sol)}

/* Cartões de estatística (CartaoEstatistica.jsx) — Campanhas e Equipe */
.portal .estatisticas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--esp-5)}
.portal .estatistica{position:relative;display:flex}
.portal .estatistica__caixa{flex:1;display:flex;flex-direction:column;gap:var(--esp-3);text-align:left;background:var(--superficie-base);color:var(--texto-primario);padding:var(--esp-5);border:var(--borda-media) solid var(--traco-forte);border-radius:var(--raio-1);box-shadow:var(--sombra-bloco-curta);transition:transform var(--dur-rapida) var(--ease-padrao),box-shadow var(--dur-rapida) var(--ease-padrao)}
.portal .estatistica--expansivel>summary{cursor:pointer;list-style:none}
.portal .estatistica--expansivel>summary::-webkit-details-marker{display:none}
.portal .estatistica--expansivel[open]>summary{box-shadow:none;transform:translate(3px,3px)}
.portal .estatistica__valor{font:var(--tipo-dado);letter-spacing:var(--tracking-titulo)}
.portal .estatistica__rotulo{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-2);color:var(--texto-secundario)}
.portal .estatistica__rotulo .icone{transition:transform var(--dur-rapida) var(--ease-padrao)}
.portal .estatistica--expansivel[open] .estatistica__rotulo .icone{transform:rotate(180deg)}
.portal .estatistica__lista{position:absolute;left:0;right:0;top:calc(100% + var(--esp-2));z-index:var(--z-tooltip);padding:var(--esp-2) var(--esp-4);background:var(--superficie-base);border:var(--borda-media) solid var(--traco-forte);border-radius:var(--raio-1);box-shadow:var(--sombra-3)}
.portal .estatistica__lista li{display:flex;align-items:center;gap:var(--esp-3);padding:var(--esp-3) 0;border-bottom:var(--borda-fina) solid var(--traco-sutil);font:var(--peso-bold) var(--texto-sm)/1.3 var(--fonte-texto);color:var(--texto-primario)}
.portal .estatistica__lista li:last-child{border-bottom:0}
.portal .estatistica__marca{width:12px;height:12px;flex:none;background:var(--cor);border:var(--borda-fina) solid var(--traco-forte)}

/* Responsividade (27/10/2026): estatísticas 4 / 2×2 (sem cartão órfão); a lista
   do cartão "Categorias" abre alinhada à direita e com largura mínima legível. */
.portal .estatisticas{grid-template-columns:repeat(4,minmax(0,1fr))}
.portal .estatistica--expansivel .estatistica__lista{left:auto;right:0;width:max(100%,260px)}
@media (max-width:899.98px){
  .portal .estatisticas{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--esp-4)}
  .portal .estatistica__caixa{padding:var(--esp-4)}
}
@media (max-width:479.98px){
  .portal .estatisticas{gap:var(--esp-3)}
  .portal .estatistica__valor{font-size:var(--texto-4xl)}
  .portal .chip{min-height:40px}
}
