:root {
  --azul-primario: #2c85bf;
  --azul-hover: #54b4d5;
  --azul-link: #1b5cbe;
  --azul-link-hover: #164a99;
  --dourado: #e4cb27;
  --cinza-fundo: #f6f7fb;
  --texto-escuro: #1a1a1a;
  --branco: #ffffff;
  --dourado-texto: #806b0e;
}

:focus-visible,
.nav-link:focus-visible,
.navbar-toggler:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.page-link:focus-visible {
  outline: 2px solid var(--azul-link);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@keyframes ihgp-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes ihgp-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes ihgp-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes ihgp-rise {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes ihgp-pop {
  from { opacity: 0; transform: scale(.92); }
  to { opacity: 1; transform: scale(1); }
}

/* .ihgp-breadcrumb: breadcrumb compartilhado, extraído de buscar_acervo.html/detalhe.html/
   list_noticias.html/noticias.html (bloco duplicado byte-a-byte nos 4 desde a Fase 3).
   Escopado (não usa mais seletores soltos `a`/`.active`) para não vazar pra fora do breadcrumb. */
.ihgp-breadcrumb {
  background-color: transparent;
}
.ihgp-breadcrumb a {
  text-decoration: none;
  color: var(--azul-link);
}
.ihgp-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "❯";
  color: #000000;
}
.ihgp-breadcrumb .active {
  color: #000000;
}
.ihgp-breadcrumb .breadcrumb-item a:hover,
.ihgp-breadcrumb .breadcrumb-item a:focus-visible {
  color: var(--dourado-texto);
}

/* .ihgp-index-nav: grid com índice lateral sticky "Nesta página" + conteúdo (Sobre, História).
   Modelado no data-index-grid/data-index-nav do protótipo (IHGP Portal.dc.html:513-529,672-688),
   sem o toggle mobile "Nesta página" (evita JS novo de show/hide nesta fase) — no mobile o
   índice simplesmente empilha acima do artigo. */
.ihgp-index-nav {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
  max-width: 1120px;
  margin: 0 auto;
  padding: 32px 24px 80px;
}
.ihgp-index-nav > nav {
  position: sticky;
  top: 96px;
}
.ihgp-index-nav > nav .ihgp-index-heading {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .9px;
  text-transform: uppercase;
  /* #9199a6 do protótipo falha WCAG AA (~2,87:1); #6b7280 já é o tom de meta-texto
     estabelecido nas Fases 2-4 (~4,83:1), reusado aqui em vez de repetir a falha. */
  color: #6b7280;
  margin: 0 0 10px;
}
.ihgp-index-nav > nav .ihgp-index-list {
  display: flex;
  flex-direction: column;
  border-left: 2px solid #eceef3;
  padding-left: 16px;
  margin: 0;
  list-style: none;
}
.ihgp-index-nav > nav .ihgp-index-list a {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #4b5563;
  padding: 7px 0;
  text-decoration: none;
}
.ihgp-index-nav > nav .ihgp-index-list a:hover,
.ihgp-index-nav > nav .ihgp-index-list a:focus-visible {
  color: var(--azul-link-hover);
}
@media (max-width: 768px) {
  .ihgp-index-nav {
    grid-template-columns: 1fr;
  }
  .ihgp-index-nav > nav {
    position: static;
  }
}
