/* ── Portal de notícias (/noticias/, categoria, tag) ──────────────────────
   Mobile: cabeçalho → chips → destaques em trilho → grade → paginação.
   Desktop (≥ 64rem): grade de 3 colunas à esquerda, coluna lateral fixa
   "Em destaque" à direita, que acompanha a rolagem. */
.portal { gap: var(--esp-pagina); }
.portal__cabecalho { gap: var(--esp-3); }
.portal__contagem { color: var(--cor-texto-suave); font-size: var(--texto-rotulo); letter-spacing: var(--tracking-rotulo); text-transform: uppercase; }
.portal__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--esp-2); margin-top: var(--esp-2); }
.portal__chips .badge[aria-current='page'] { border-color: rgb(121 226 255 / .45); background: rgb(121 226 255 / .08); color: var(--cor-acento); }
/* Filtros são controles; os selos informativos dos cards continuam compactos. */
.portal__chips .badge { min-height: var(--alvo-toque); font-size: var(--texto-controle); letter-spacing: normal; text-transform: none; flex-shrink: 0; }
@media (max-width: 39.99rem) {
  .portal__chips { width: 100%; min-width: 0; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding: var(--esp-1); scrollbar-width: thin; }
}

.portal__corpo { display: grid; gap: var(--esp-pagina); align-items: start; }
.portal__principal { display: grid; gap: var(--esp-6); min-width: 0; }
.grade-noticias--portal { grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
@media (min-width: 40rem) { .grade-noticias--portal { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 48rem) { .grade-noticias--portal { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Destaques: no mobile é o carrossel do tema, com cards compactos no trilho. */
.portal__lateral { display: grid; gap: var(--esp-3); min-width: 0; }
.portal__lateral-titulo { display: flex; align-items: center; gap: var(--esp-2); color: var(--tom-magenta); font-size: var(--texto-mini); }
/* /guias/: mesmo desenho do portal; a lateral traz as notícias em destaque e o rótulo segue magenta (é notícia). */
.portal--guias .grade-noticias--portal > .fas-cartao { height: 100%; }
.portal__lateral .fas-carrossel .trilho > * { flex: 0 0 min(78%, 18rem); }

/* Card compacto */
.fas-noticia-compacta {
  display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--esp-3); align-items: center;
  height: 100%; padding: var(--esp-2); border: 1px solid var(--cor-borda); border-radius: var(--raio-1);
  background: var(--cor-superficie); color: var(--cor-texto);
  transition: border-color var(--dur-rapida) var(--ease-padrao);
}
.fas-noticia-compacta:hover { border-color: var(--cor-borda-ativa); color: var(--cor-texto); }
.fas-noticia-compacta .foto { display: block; overflow: hidden; border-radius: calc(var(--raio-1) - var(--esp-1)); }
.fas-noticia-compacta .foto img, .fas-noticia-compacta .foto .placeholder { display: block; width: 100%; aspect-ratio: 1; height: auto; object-fit: cover; border-radius: 0; background: rgb(18 7 38); }
.fas-noticia-compacta .foto .placeholder__texto { font-size: 0.5rem; }
.fas-noticia-compacta .corpo { display: grid; gap: var(--esp-1); }
.fas-noticia-compacta .categoria { color: var(--cor-acento); }
.fas-noticia-compacta .titulo { font-size: var(--texto-pequeno); font-weight: var(--peso-forte); line-height: 1.35; text-wrap: pretty; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fas-noticia-compacta .data { color: var(--cor-texto-suave); font-size: var(--texto-rotulo); }

/* Paginação: botão em destaque, numeração compacta abaixo. */
.portal__paginacao { display: grid; justify-items: center; gap: var(--esp-4); }
.portal__carregar-mais { position: relative; }
.portal__carregar-mais .carregando { display: none; }
.portal__carregar-mais[aria-busy='true'] { pointer-events: none; filter: saturate(.6); }
.portal__carregar-mais[aria-busy='true'] .texto { display: none; }
.portal__carregar-mais[aria-busy='true'] .carregando { display: inline; }
.portal__paginacao .pagination .page-numbers { min-width: var(--alvo-toque); height: var(--alvo-toque); font-size: var(--texto-controle); }
.grade-noticias > :focus-visible { outline: 2px solid var(--cor-acento); outline-offset: 3px; }

/* Desktop: lateral vira coluna fixa e o carrossel vira lista vertical. */
@media (min-width: 64rem) {
  .portal__corpo { grid-template-columns: minmax(0, 1fr) 17rem; }
  .portal__lateral { order: 2; position: sticky; top: calc(var(--altura-topbar) + var(--altura-header-real, var(--altura-header)) + var(--esp-4)); }
  .portal__principal { order: 1; }
  .portal__lateral .fas-carrossel { display: block; }
  .portal__lateral .fas-carrossel .controles, .portal__lateral .fas-carrossel .regua { display: none; }
  .portal__lateral .fas-carrossel .trilho { display: grid; gap: var(--esp-2); overflow: visible; margin: 0; padding: 0; scroll-snap-type: none; }
  .portal__lateral .fas-carrossel .trilho > * { flex: none; width: auto; }
}
