@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Merriweather+Sans:wght@400;700&family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root {
  /* Identidade Visual UFPA */
  --ufpa-color-primary: rgb(191, 23, 43);
  --ufpa-color-hover: #9b1322;
  --ufpa-color-header: #720E1A; /* Vermelho escuro para destacar o botão de busca */

  /* Tipografia */
  --bs-body-font-family: 'Open Sans', sans-serif !important;
  --bs-heading-font-family: 'Merriweather Sans', sans-serif !important;
  --cassiopeia-font-family-body: 'Open Sans', sans-serif !important;
  --cassiopeia-font-family-headings: 'Merriweather Sans', sans-serif !important;

  /* Integração com o Bootstrap 5 e Joomla Core */
  --bs-primary: var(--ufpa-color-primary);
  --bs-link-color: var(--ufpa-color-primary);
  --bs-link-hover-color: var(--ufpa-color-hover);
  --link-color: var(--ufpa-color-primary);
  --link-hover-color: var(--ufpa-color-hover);
}

/* ==========================================
   TIPOGRAFIA BASE
========================================== */
body {
  font-family: var(--bs-body-font-family);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.navbar-brand, .site-description, .item-title {
  font-family: var(--bs-heading-font-family) !important;
  font-weight: 700;
}

/* ==========================================
   TOPO E RODAPÉ
========================================== */
header, .header, .container-header {
  background-color: var(--ufpa-color-header) !important;
  padding-bottom: 0 !important; /* Remove o espaço inferior nativo */
  margin-bottom: 0 !important;
}

footer, .footer {
  background-color: var(--ufpa-color-header) !important;
  color: #ffffff;
}

/* ==========================================
   LINKS GERAIS
========================================== */
a, a:hover {
  text-decoration: none !important;
}

main a {
  color: var(--bs-link-color);
}

/* ==========================================
   BOTÕES
========================================== */
.btn-primary, 
.btn-secondary, 
button[type="submit"], 
.mod-search__button {
  background-color: var(--ufpa-color-primary) !important;
  border-color: var(--ufpa-color-primary) !important;
  color: #ffffff !important;
  transition: background-color 0.3s ease;
}

.btn-primary:hover, 
.btn-primary:focus,
.btn-secondary:hover,
button[type="submit"]:hover,
.mod-search__button:hover {
  background-color: var(--ufpa-color-hover) !important;
  border-color: var(--ufpa-color-hover) !important;
  color: #ffffff !important;
}

/* ==========================================
   TAGS E BADGES
========================================== */
.badge, 
.tag-body .label,
.tags .tag-list li a {
  background-color: var(--ufpa-color-primary) !important;
  color: #ffffff !important;
  border: none;
  padding: 0.35em 0.65em;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: background-color 0.3s ease;
}

.tags .tag-list li a:hover,
.badge:hover {
  background-color: var(--ufpa-color-hover) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.tags .tag-list li a span {
  color: #ffffff !important;
}

.tag-list li a.btn-info,
.tag-list0 li a.btn-info,
li.list-inline-item a.btn-info {
    background-color: var(--ufpa-color-primary) !important;
    border-color: var(--ufpa-color-primary) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.tag-list li a.btn-info:hover,
.tag-list0 li a.btn-info:hover,
li.list-inline-item a.btn-info:hover {
    background-color: var(--ufpa-color-hover) !important;
    border-color: var(--ufpa-color-hover) !important;
    color: #ffffff !important;
}

/* ==========================================
   IMAGENS DO CONTEÚDO
========================================== */
main img,
.com-content-article img,
.item-image img,
.blog-items img {
  border-radius: 8px !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); 
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

main img:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

main img[width="16"],
main img[width="24"],
.mod-articles-news__item-image img {
  border-radius: 4px !important;
}

/* ==========================================
   CORREÇÃO E ESTILIZAÇÃO DO MENU PRINCIPAL
========================================== */

/* 1. Força o menu a aparecer em telas grandes */
@media (min-width: 992px) {
    .container-nav .collapse {
        display: flex !important;
        visibility: visible !important;
    }
    
    .container-nav .mod-menu li {
        position: relative;
    }
    
    .container-nav .mod-menu li:hover > ul {
        display: block !important;
    }
}

/* Garante que a área de navegação não tenha sobras embaixo */
.container-nav {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* 2. Ajuste de Tamanho e Altura (Links e Botões de Submenu) */
.container-nav .mod-menu > li > a,
.container-nav .mod-menu > li > button,
.container-nav .mod-menu > li > .mm-inner > a,
.container-nav .mod-menu > li > .mm-inner > button {
    color: #ffffff !important;
    font-size: 0.9rem !important; 
    padding: 6px 12px !important; 
    border-radius: 4px;
    background: transparent; 
    border: none;
    transition: background-color 0.3s;
    display: inline-block;
}

/* 3. O Hover Corrigido: Aciona quando passa o mouse no <li> inteiro */
.container-nav .mod-menu > li:hover > a,
.container-nav .mod-menu > li:hover > button,
.container-nav .mod-menu > li:hover > .mm-inner > a,
.container-nav .mod-menu > li:hover > .mm-inner > button {
    background-color: var(--ufpa-color-hover) !important;
    color: #ffffff !important;
    text-decoration: none;
}

/* 4. Submenus (Dropdowns) Proporcionais */
.container-nav .mod-menu ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    z-index: 1050;
    padding: 5px 0;
    background-color: var(--ufpa-color-header);
    border-top: 3px solid var(--ufpa-color-primary);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    border-radius: 0 0 4px 4px;
    list-style: none;
    margin: 0;
}

.container-nav .mod-menu ul li a {
    color: #ffffff !important;
    padding: 8px 15px; 
    display: block;
    font-size: 0.85rem; 
}

.container-nav .mod-menu ul li a:hover {
    background-color: var(--ufpa-color-hover) !important;
    text-decoration: none;
}

/* Ajuste de alinhamento da caixa de pesquisa */
.container-header .container-search {
    margin-top: 0;
    margin-bottom: .5em;
}