/*********** Geral ***********/
* {
  padding: 0;
  margin: 0;
  font-family: Verdana, Arial, Helvetica;
  font-size: 1em;
  box-sizing: border-box;
}

body {
  background-color: #f8f9fa;
  overflow: -moz-scrollbars-vertical;
}

a {
  color: #4351bb !important;
  text-decoration: none;
}

.footer {
  color: #4351bb !important;
  font-weight: bold;
}

a:hover {
  text-decoration: underline;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

th {
  text-align: left;
}

p {
  padding-top: 1em;
}

ol {
  padding-left: 2rem;
}

/*********** Layout & Estrutura ***********/
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.top-image {
  width: 100%;
  height: auto;
}

/*********** Menu superior (desktop) ***********/
.menu-topo-1,
.menu-topo-2 {
  padding: 0.75rem 1rem;
  list-style: none;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  width: 100%;
}

.menu-topo-1 {
  background-color: #f6b426;
  justify-content: flex-start;
  margin-top: 0rem;
  margin-left: 0.75rem;
  margin-right: 4rem;
}

.menu-topo-2 {
  background-color: #d3d3d3d7;
  justify-content: flex-end;
  margin-bottom: 0rem;
  margin-left: 0.75rem;
  margin-right: 4rem;
}

.menu-topo-1 li,
.menu-topo-2 li {
  list-style: none;
}

.menu-topo-1 a,
.menu-topo-2 a {
  color: #4351bb !important;
  font-weight: bold;
  text-decoration: none;
}

.menu-topo-1 a:hover,
.menu-topo-2 a:hover {
  text-decoration: underline;
}

/*********** Menu lateral esquerdo ***********/
/* Estilo base do menu lateral */

.menu-lateral {
  background-color: #cde4fb; /* azul claro */
  padding: 1rem;
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  box-sizing: border-box;
  border-radius: 4px;
}
.menu-lateral li {
  list-style: none;
  background-color: #e6f0fb; /* azul bem claro nos itens individuais */
  padding: 0.5rem 1rem;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
.menu-lateral a {
  color: #212529 !important;
  font-weight: bold;
  text-decoration: none;
  display: block;
}
.menu-lateral ul.sub-menu {
  margin-left: 10px; /* ou 0, se quiser alinhar quase totalmente */
  padding-left: 0;   /* remove o padding padrão */
}

.menu-lateral ul.sub-menu li {
  padding-left: 10px; /* opcional, para um leve recuo visual */
}

.menu-lateral a:hover {
  text-decoration: underline;
  background-color: #d0e6f9; /* azul um pouco mais escuro no hover */
  border-radius: 4px;
}

.menu-lateral-principal {
  background-color: #cde4fb; /* azul claro */
  padding: 1rem;
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  box-sizing: border-box;
  height: 100%; /* preenche a altura do container */
}

/* Estilo geral para todos os títulos de menus laterais */
.menu-lateral-titulo {
  font-weight: bold;
  background-color: #a4c8e1; /* azul mais escuro que o fundo do menu lateral */
  color: #000;
  padding: 0.25rem 0.75rem;
  margin-bottom: 0rem;
  border-radius: 4px;
  font-size: 1rem;
}

/* Estilo específico para cada menu lateral */
.menu-lateral-titulo.principal {
  background-color: #93bde0; /* azul um pouco mais escuro */
}

.menu-lateral-titulo.acervo {
  background-color: #7fb2dc;
}

.menu-lateral-titulo.pesquisa {
  background-color: #6aa8d8;
}

/* Remove bolinhas */
.menu-lateral-principal li {
  list-style: none;
}

/* Links */
.menu-lateral-principal a {
  color: #212529 !important;
  font-weight: bold;
  text-decoration: none;
}

.menu-lateral-principal a:hover {
  text-decoration: underline;
}

/* Corrige margens dos títulos dos menus laterais */
.menu-lateral-titulo {
  margin-top: 0.25;               /* Remove espaço antes do primeiro título */
  margin-bottom: 0.25rem;
}

/* Espaçamento entre blocos de menus subsequentes */
.menu-lateral-titulo + .menu-lateral {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;       /* Espaço abaixo do menu antes do próximo título */
}


/*********** Destaques (bloco interno) ***********/
.destaques {
  background-color: #f5f5f5;
  padding: 1rem;
}

/*********** Rodapé ***********/
footer {
  background-color: #ddd;
  text-align: center;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.footer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

footer small {
  display: block;
  margin-top: 0.5rem;
  color: #555;
  font-size: 0.9rem;
  font-weight: 400;
  font-style: italic;
  user-select: none;
}

.footer-menu li {
  list-style: none; /* redundante, mas garante remoção total */
}

.footer-menu a {
  color: #007bff;            /* Azul padrão Bootstrap */
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-menu a:hover {
  text-decoration: underline;
  color: #0056b3;            /* Azul mais escuro no hover */
}

.thumbnail-img {
  width: 120px;
  height: 90px;
  object-fit: cover;
  object-position: center;
}
