/* ============================================
   COMPLEMENTOS — o que antes dependia de JavaScript
   agora é resolvido só com HTML e CSS
   ============================================ */

/* ----- Menu do celular: caixa de seleção escondida abre e fecha a gaveta ----- */
.site-header__menu-check {
  position: absolute;
  width: 1px; height: 1px;
  opacity: 0;
  pointer-events: none;
}
.site-header__menu-toggle,
.site-header__mobile-close { cursor: pointer; }

.site-header__menu-check:checked ~ .site-header__mobile-drawer { display: flex; }
.site-header__menu-check:focus-visible ~ .site-header .site-header__menu-toggle {
  outline: 2px solid var(--cor-primaria);
  outline-offset: 2px;
}
body:has(.site-header__menu-check:checked) { overflow: hidden; }

.site-header__mobile-link[aria-current="page"] { color: var(--cor-primaria); }

@media (min-width: 1025px) {
  .site-header__menu-check { display: none; }
  .site-header__menu-check:checked ~ .site-header__mobile-drawer { display: none; }
  body:has(.site-header__menu-check:checked) { overflow: visible; }
}

/* ----- Abas "Novidades" / "Continue lendo": inputs de rádio ----- */
.sidebar-abas__radio {
  position: absolute;
  width: 1px; height: 1px;
  opacity: 0;
  pointer-events: none;
}
.sidebar-abas__tab { display: block; text-align: center; }

#ip-aba-novidades:checked ~ .sidebar-abas__tabs [for="ip-aba-novidades"],
#ip-aba-continue:checked ~ .sidebar-abas__tabs [for="ip-aba-continue"] {
  color: var(--cor-titulo);
  background: #FFF;
  border-bottom-color: var(--cor-secundaria);
}
#ip-aba-novidades:focus-visible ~ .sidebar-abas__tabs [for="ip-aba-novidades"],
#ip-aba-continue:focus-visible ~ .sidebar-abas__tabs [for="ip-aba-continue"] {
  outline: 2px solid var(--cor-primaria);
  outline-offset: -2px;
}

.sidebar-abas__painel { display: none; }
#ip-aba-novidades:checked ~ .sidebar-abas__painel--novidades,
#ip-aba-continue:checked ~ .sidebar-abas__painel--continue { display: flex; }

/* ----- Categorias da barra lateral do artigo: agora são links ----- */
a.filtro-categorias__chip { display: inline-block; line-height: 1.5; }
a.filtro-categorias__chip.is-active:hover { color: #FFF; }

/* ----- "Mais lidos" sem imagem destacada: o título ocupa a linha toda ----- */
.sidebar__destaque-link--sem-img { grid-template-columns: 1fr; }

/* ----- Voltar ao topo: aparece ao rolar (animação ligada à rolagem, sem script) ----- */
/* Navegador sem esse recurso: o botão fica sempre visível. */
.back-to-top--auto {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
.back-to-top--auto:hover { color: #FFF; background: var(--cor-dark-elevado); }

@supports (animation-timeline: scroll()) {
  .back-to-top--auto {
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    animation: ip-voltar-ao-topo linear both;
    animation-timeline: scroll(root);
    animation-range: 300px 520px;
  }
  @keyframes ip-voltar-ao-topo {
    to { opacity: 1; visibility: visible; transform: translateY(0); }
  }
}

/* ----- Páginas institucionais ----- */
.pagina-estatica__atualizacao {
  margin-top: 48px;
  color: var(--cor-corpo-suave) !important;
  font-size: 14px !important;
}
.pagina-estatica h2.pagina-estatica__h2-final { margin-top: 64px; }

/* ----- Blocos do editor do WordPress dentro do artigo ----- */
/* O CSS padrão dos blocos desenha grades e bordas próprias; aqui volta ao visual do blog. */
.post__body .wp-block-table { overflow-x: auto; }
/* A rolagem lateral do bloco impede as margens de se fundirem: a tabela cede a dela à figura. */
.post__body .wp-block-table table { margin: 0; }
.post__body .wp-block-table figcaption { margin-top: 20px; }
.post__body .wp-block-table thead,
.post__body .wp-block-table tfoot { border: 0; }
.post__body .wp-block-table th,
.post__body .wp-block-table td {
  border: 0;
  border-bottom: 1px solid var(--cor-borda-suave);
  padding: 10px 14px;
}
.post__body .wp-block-table th { border-bottom-color: var(--cor-borda); }
.post__body .wp-block-table tr:last-child td { border-bottom: 0; }

.post__body .wp-block-separator {
  border: 0;
  height: 1px;
  background: var(--cor-borda);
  margin: 32px 0;
}

.post__body .wp-block-image img { height: auto; }
.post__body .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.post__body .aligncenter img { margin-left: auto; margin-right: auto; }
