body {
    background: white;
    font-family: "Open Sans", sans-serif !important; /* Forcei o Open Sans */
    color: #333;
}

.main.hero {
  min-height: 420px;
  background: url("/images/bg-2.jpg") center / cover no-repeat;
  position: relative; /* importante p/ o ::before */
}

.main.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(to right, rgba(219, 90, 154, 0.8), rgba(0, 132, 255, 0.7));
  pointer-events: none;
}

.main.hero > .container {
  position: relative;
  z-index: 1;
}

/* Adicionei .hero antes para garantir que só afete a home e não quebre outras páginas */
.hero .row.justify-content-center.g-4 {
    /* Espaçamento interno (deixei igual em cima e embaixo para ficar bonito) */
    padding-bottom: 20px;     
    background: rgba(237, 20, 91, 0.8);
    border-radius: 10px;    
    max-width: 90%;      /* Garante que não estoure a tela em celulares */
    margin: 20px auto 0 auto; /* O 'auto' nas laterais faz ela ficar no centro */
}

/* Remove qualquer fundo padrão que o CKAN coloque na busca */
.homepage .hero .module-search,
.homepage .hero .box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.search-form .search-input-group {
    margin-top: 1rem;
}

/* Efeito ao passar o mouse nos números da Home */
.stats-hover {
    transition: all 0.3s ease;
}

/* Efeito Hover nos botões de estatística */
.stats-hover:hover {
    background: rgba(255,255,255,0.2) !important;
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* Garante que o input da busca não tenha bordas estranhas */
.hero input.form-control:focus {
    box-shadow: none;
    border-color: #fff;
}

/* --- AJUSTES DO HEADER NOVO --- */

/* Força a cor dos links do menu principal */
.navbar-nav .nav-item .nav-link {
    color: #0e4775 !important; /* Azul Governo */
    font-weight: 600 !important;
    text-transform: uppercase;
    font-size: 14px;
    padding: 10px 15px;
}

.navbar-nav .nav-item .nav-link:hover,
.navbar-nav .nav-item.active .nav-link {
    color: #007356 !important; /* Verde ES */
    background: transparent !important; /* Remove fundo cinza padrão se houver */
}

/* Ajuste da barra preta do topo */
.account-masthead a:hover {
    text-decoration: underline;
    opacity: 0.9;
}

/* Logo "Dados Abertos" construído com texto (para não depender de imagem) */
.navbar-brand i.fa-cube {
    font-size: 1.2em;
}

/* Remove padding extra que o CKAN coloca no body */
.masthead {
    margin-bottom: 0 !important;
}

/* =========================================
   CORREÇÃO DO MENU PRINCIPAL (NAV)
   ========================================= */

/* 1. Fonte mais visível e grossa (Igual antigo) */
.navbar-nav .nav-item .nav-link {
    color: #0e4775 !important;
    font-weight: 700 !important; /* Mais grosso */
    font-size: 15px;             /* Um pouco maior */
    text-transform: uppercase;
    padding: 15px 20px !important; /* Espaçamento maior para o clique */
    transition: all 0.2s ease;
}

/* 2. Hover (Passar o mouse) - Muda cor e sublinha */
.navbar-nav .nav-item .nav-link:hover {
    color: #007356 !important; /* Verde ES */
    text-decoration: underline !important;
    text-underline-offset: 5px; /* Distância do sublinhado */
}

/* 3. Item Ativo (Página atual) - Fundo suave */
.navbar-nav .nav-item.active .nav-link,
.navbar-nav .nav-item .nav-link.active {
    background-color: #eaeff5 !important; /* Fundo cinza/azul suave do antigo */
    color: #0e4775 !important;
    border-radius: 4px; /* Leve arredondamento */
}

.navbar-nav li a {
    font-size: 0.95rem;
    text-transform: uppercase;
    font-weight: 600;
    color: #0e4775;
}

@media (max-width: 991.98px) {
    #main-navigation-toggle .navbar-nav {
        margin-top: 12px;
    }
}

.masthead {
    background: #ffffff !important;    /* Força a cor branca */
    background-image: none !important; /* Remove a imagem bg.png */    
}

/* =========================================
   RODAPÉ (ESTRUTURA DUPLA)
   ========================================= */

/* 1. Parte Escura (Footer Principal) */
.site-footer {
    background-color: #343a40 !important;
    color: #fff !important;
    padding: 50px 0;
    margin-top: 0;
}

.site-footer a {
    color: #ddd !important;
}

/* 2. Parte Clara (Prodest) */
.section.rodape {
    background-color: #f9f9f9; /* Fundo cinza bem claro */
    border-top: 1px solid #e5e5e5;
    color: #333;
    font-size: 13px;
    padding: 15px 0;
}

.footer-content p {
    margin: 0;
    color: #555;
}

.footer-content strong {
    color: #333;
    font-weight: 700;
}

.module-content .dataset-list .dataset-item:last-child {
    padding-bottom: 20px;
}






















/* Efeito Hover nos Cards de Organização */
.organization-card-hover {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.organization-card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
    border: 1px solid #0e4775 !important; /* Borda azul ao passar o mouse */
}

/* =========================================
   CORES DOS ÍCONES DE FORMATO (FILTROS)
   ========================================= */

/* PDF - Vermelho */
.fa-pdf { color: #e0051e !important; }

/* Excel (XLS, XLSX) - Verde */
.fa-xls, .fa-xlsx, .fa-csv { color: #2db55d !important; }

/* Texto / JSON / XML - Tons de Laranja/Azul */
.fa-json, .fa-xml { color: #ef7100 !important; }
.fa-txt, .fa-text { color: #74cbec !important; }

/* Zip / Rar - Cinza */
.fa-zip, .fa-rar { color: #686868 !important; }

/* HTML / API - Azul */
.fa-html, .fa-api { color: #55a1ce !important; }

/* RDF / Linked Data */
.fa-rdf, .fa-ntriples, .fa-turtle { color: #0b4498 !important; }

/* =========================================
   ACESSIBILIDADE: TAMANHO DA FONTE
   ========================================= */
/* A mágica do Bootstrap 5:
   Ao mudar o font-size do HTML (root), todos os elementos 
   que usam 'rem' (h1, p, btn, nav) escalam automaticamente!
*/

html { font-size: 16px; transition: font-size 0.2s ease; } /* Padrão */

html.xx-small { font-size: 12px; }
html.x-small  { font-size: 14px; }
html.small    { font-size: 16px; } /* Padrão */
html.medium   { font-size: 18px; }
html.large    { font-size: 20px; }
html.x-large  { font-size: 24px; }


/* =========================================
   MODO ALTO CONTRASTE
   ========================================= */

/* Aplica em TUDO quando a classe .contraste estiver no HTML */
html.contraste body,
html.contraste .main,
html.contraste .site-footer,
html.contraste .section.rodape,
html.contraste .account-masthead,
html.contraste .navbar,
html.contraste .card,
html.contraste .list-group-item,
html.contraste .bg-light,
html.contraste .bg-white {
    background-color: #000000 !important;
    background-image: none !important;
    color: #FFFF00 !important;
    border-color: #FFFF00 !important;
}

/* Força a cor dos textos e ícones */
html.contraste a,
html.contraste h1, html.contraste h2, html.contraste h3, 
html.contraste p,
html.contraste .nav-link,
html.contraste .text-muted,
html.contraste .text-secondary,
html.contraste .fa, html.contraste .fas, html.contraste .fab {
    color: #FFFF00 !important;
    fill: #FFFF00 !important;
}

/* Botões */
html.contraste .btn {
    background-color: #000 !important;
    color: #FFFF00 !important;
    border: 2px solid #FFFF00 !important;
}
html.contraste .btn:hover {
    background-color: #FFFF00 !important;
    color: #000 !important;
}

/* Inputs */
html.contraste input.form-control {
    background-color: #000 !important;
    color: #FFFF00 !important;
    border: 1px solid #FFFF00 !important;
}
html.contraste input.form-control::placeholder {
    color: #FFFF00 !important;
    opacity: 0.7;
}


/* =========================================
   ESTILOS DOS CARDS DE GRUPOS (GRID DA HOME)
   ========================================= */

/* Ajuste do espaçamento do Grid */
.home-groups-wrapper .row {
    margin-bottom: 40px;
}

/* O Card do Grupo (A caixinha) */
.group-card-hover {
    transition: all 0.3s ease; /* Animação suave */
    border: 1px solid #e1e4e8 !important; /* Borda cinza clara */
    border-radius: 6px; /* Cantos levemente arredondados */
    background-color: #fff; /* Fundo branco */
    /* Garante altura igual para todos */
    display: flex; 
    flex-direction: column;
    justify-content: center;
}

/* Efeito Hover (Ao passar o mouse) */
.group-card-hover:hover {
    transform: translateY(-5px); /* O card sobe 5 pixels */
    box-shadow: 0 8px 15px rgba(14, 71, 117, 0.15) !important; /* Sombra azulada suave */
    border-color: #0e4775 !important; /* Borda fica Azul Governo */
    z-index: 2;
}

/* Estilo do Ícone (Trator, Pasta, etc) */
.group-card-hover i {
    color: #0e4775; /* Azul Governo Padrão */
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Quando passa o mouse no card, o ícone muda */
.group-card-hover:hover i {
    color: #007356; /* Muda para Verde ES */
    transform: scale(1.1); /* Ícone cresce 10% */
}

/* Título do Grupo */
.group-card-hover .card-title {
    color: #444;
    font-size: 0.8rem; /* Tamanho bom para caber 6 na linha */
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 10px;
    margin-bottom: 5px;
    line-height: 1.3;
    min-height: 32px; /* Altura mínima para alinhar títulos de 1 ou 2 linhas */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Contador (Quantidade de datasets) */
.group-card-hover small {
    color: #888;
    font-size: 0.75rem;
    font-weight: 600;
}

/* =========================================
   AJUSTE DE RESPONSIVIDADE (MOBILE)
   ========================================= */
/* No celular, diminui um pouco o padding para caber melhor */
@media (max-width: 768px) {
    .group-card-hover .card-body {
        padding: 15px 5px !important;
    }
    
    .group-card-hover i {
        font-size: 2em !important; /* Ícone menor no celular */
    }
}

/* Remove margens extras que possam atrapalhar o grid */
.module-content {
    padding: 0;
    background: transparent !important;
    border: none !important;
}

/* Garante espaçamento entre as linhas se tiver muitos grupos */
.row.g-4 {
    margin-top: 10px;
    margin-bottom: 30px;
}

.page_primary_action {
    margin-bottom: 20px;
    margin-top: 20px;
}

.form-actions {
    margin-bottom: 20px;
}


/* =========================================
   FILTROS LATERAIS - ESTILO "RETRO-MODERNO"
   ========================================= */

/* O Container do Filtro */
.facet-card {
    background-color: #fff;
    border-radius: 0 !important;
    margin-bottom: 20px !important;
    border: 1px solid #dcdcdc !important; /* Borda geral suave */
}

/* 1. CABEÇALHO (Mais Escuro e Grosso) */
.facet-header {
    background-color: #e9ecef !important; /* Cinza mais escuro que antes */
    color: #333 !important;               /* Texto quase preto */
    font-size: 0.85rem;
    font-weight: 800 !important;          /* PESO EXTRA BOLD (Pedido) */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 12px 15px;
    border-bottom: 1px solid #d1d1d1 !important; /* Linha divisória mais forte */
    border-radius: 0 !important;
    cursor: pointer;
}

.facet-header:hover {
    background-color: #e2e6ea !important; /* Efeito hover leve no header */
}

.facet-header .fa-filter {
    color: #333;
}

/* 2. ITENS DA LISTA */
.facet-link {
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 9px 15px;
    color: #444;
    transition: all 0.2s ease;
    background: #fff;
    font-size: 0.9rem;
}

.facet-link:last-child {
    border-bottom: none !important;
}

/* Contador Normal (Cinza) */
.facet-count {
    font-weight: 600;
}

/* --- ESTADOS INTERATIVOS --- */

.facet-link:hover {
    background-color: #f8f9fa;
    color: #0e4775;
    text-decoration: none;
}

/* 3. ITEM ATIVO (Cinza Escuro + Texto Branco) */
.facet-link.active {
    background-color: #79838b !important; /* Tom cinza escuro elegante */
    color: #ffffff !important;
    font-weight: 700;
    border-color: #79838b !important;
}

/* Contador quando ATIVO (Fica Branco) */
.facet-link.active .facet-count {
    color: #ffffff !important; 
    opacity: 0.9;
}

/* Ícone de fechar (X) */
.remove-filter-icon {
    font-size: 1rem;
    cursor: pointer;
}
.remove-filter-icon:hover {
    opacity: 0.8;
}

/* Ícones de Formato (Excel, PDF...) */
.facet-link:not(.active) .fa-xls, 
.facet-link:not(.active) .fa-xlsx, 
.facet-link:not(.active) .fa-csv { color: #2db55d; }
.facet-link:not(.active) .fa-pdf { color: #e0051e; }
.facet-link:not(.active) .fa-json { color: #ef7100; }
.facet-link:not(.active) .fa-xml { color: #ef7100; }
.facet-link:not(.active) .fa-zip { color: #686868; }

/* Ícones ficam brancos no ativo */
.facet-link.active i {
    color: #fff !important;
}

/* Link Mostrar Mais */
.show-more-link {
    color: #555 !important;
    font-size: 0.8rem;
}
.show-more-link:hover {
    color: #000 !important;
    text-decoration: underline !important;
}

/* =========================================
   ALTO CONTRASTE (.contraste)
   ========================================= */
body.contraste .facet-header {
    background: #333 !important;
    color: #FFFF00 !important;
    border: 1px solid #FFFF00 !important;
}
body.contraste .facet-card {
    border: 1px solid #FFFF00 !important;
}
body.contraste .facet-link.active {
    background: #FFFF00 !important;
    color: #000 !important;
}
body.contraste .facet-link.active .facet-count,
body.contraste .facet-link.active .remove-filter-icon {
    color: #000 !important;
}

/* =========================================
   CUSTOM ADICIONAIS
   ========================================= */

.module-social.mt-4 {
    padding: 15px;
    margin: 0px !important;
}

h1.page-heading {
    margin-top: 10px;
}

ul.d-flex.flex-wrap.gap-1.justify-content-end {
    margin: 0px !important;
    margin-top: 15px !important;
}

.module-content:has(a.btn.btn-default.btn-sm) {
    padding: 10px; 
}

.module-content:has(small){
	margin-top: 10px; 
}


/* ==========================================================================
   PALETA DE CORES DEFINITIVA (Minimalista nos Filtros / Sólida nas Etiquetas)
   ========================================================================== */

/* --- 1. PDF (Vermelho) --- */
/* No Filtro: Apenas o ícone fica vermelho */
.facet-link:not(.active) .fa-pdf { color: #e0051e !important; }
/* Na Etiqueta: Fundo vermelho sólido */
.label[data-format=pdf], .label[data-format*=pdf] {
    background-color: #e0051e !important; color: #fff !important; border: none !important;
}

/* --- 2. WORD / DOC (Azul) --- */
.facet-link:not(.active) .fa-doc, 
.facet-link:not(.active) .fa-docx, 
.facet-link:not(.active) .fa-odt { color: #2b579a !important; }

.label[data-format=doc], .label[data-format*=doc],
.label[data-format=docx], .label[data-format*=docx],
.label[data-format=odt], .label[data-format*=odt] {
    background-color: #2b579a !important; color: #fff !important; border: none !important;
}

/* --- 3. EXCEL / CSV (Verde) --- */
.facet-link:not(.active) .fa-xls, 
.facet-link:not(.active) .fa-xlsx, 
.facet-link:not(.active) .fa-csv { color: #217346 !important; }

.label[data-format=xls], .label[data-format*=xls],
.label[data-format=xlsx], .label[data-format*=xlsx],
.label[data-format=csv], .label[data-format*=csv] {
    background-color: #217346 !important; color: #fff !important; border: none !important;
}

/* --- 4. POWERPOINT (Laranja) --- */
.facet-link:not(.active) .fa-ppt, 
.facet-link:not(.active) .fa-pptx { color: #d24726 !important; }

.label[data-format=ppt], .label[data-format*=ppt],
.label[data-format=pptx], .label[data-format*=pptx] {
    background-color: #d24726 !important; color: #fff !important; border: none !important;
}

/* --- 5. GEO / MAPAS (Teal / Verde Água) --- */
/* Shapefiles, KML, GeoJSON, WMS */
.facet-link:not(.active) .fa-shp, 
.facet-link:not(.active) .fa-kml, 
.facet-link:not(.active) .fa-kmz, 
.facet-link:not(.active) .fa-geojson,
.facet-link:not(.active) .fa-wms { color: #008080 !important; }

.label[data-format=shp], .label[data-format*=shp],
.label[data-format=kml], .label[data-format*=kml],
.label[data-format=kmz], .label[data-format*=kmz],
.label[data-format=geojson], .label[data-format*=geojson],
.label[data-format=wms], .label[data-format*=wms] {
    background-color: #008080 !important; color: #fff !important; border: none !important;
}

/* --- 6. DESENVOLVIMENTO (Laranja/Amarelo) --- */
/* JSON, XML */
.facet-link:not(.active) .fa-json, 
.facet-link:not(.active) .fa-xml { color: #e67e22 !important; }

.label[data-format=json], .label[data-format*=json],
.label[data-format=xml], .label[data-format*=xml] {
    background-color: #e67e22 !important; color: #fff !important; border: none !important;
}

/* --- 7. WEB / API (Azul Claro) --- */
/* HTML, API */
.facet-link:not(.active) .fa-html, 
.facet-link:not(.active) .fa-api { color: #3498db !important; }

.label[data-format=html], .label[data-format*=html],
.label[data-format=api], .label[data-format*=api] {
    background-color: #3498db !important; color: #fff !important; border: none !important;
}

/* --- 8. COMPACTADOS (Cinza Escuro) --- */
/* ZIP, RAR */
.facet-link:not(.active) .fa-zip, 
.facet-link:not(.active) .fa-rar { color: #6c757d !important; }

.label[data-format=zip], .label[data-format*=zip],
.label[data-format=rar], .label[data-format*=rar] {
    background-color: #6c757d !important; color: #fff !important; border: none !important;
}

/* --- 9. IMAGENS (Roxo) --- */
/* JPG, PNG, GIF */
.facet-link:not(.active) .fa-jpg, 
.facet-link:not(.active) .fa-png,
.facet-link:not(.active) .fa-gif { color: #9b59b6 !important; }

.label[data-format=jpg], .label[data-format*=jpg],
.label[data-format=png], .label[data-format*=png],
.label[data-format=gif], .label[data-format*=gif] {
    background-color: #9b59b6 !important; color: #fff !important; border: none !important;
}

/* --- AJUSTES GERAIS DE HOVER --- */

/* No Filtro: Ao passar o mouse, o ícone mantém a cor, o texto fica azul (padrão do tema) */
.facet-link:hover .fa-pdf { color: #e0051e !important; }
.facet-link:hover .fa-doc { color: #2b579a !important; }
.facet-link:hover .fa-xls { color: #217346 !important; }
/* (Repetir se necessário para outros, mas geralmente herda bem) */

/* Nas Etiquetas: Efeito de escurecer levemente ao passar o mouse */
a.label[data-format]:hover {
    filter: brightness(0.9);
    text-decoration: none !important;
    opacity: 1 !important;
}

/* Ícones Brancos quando ATIVO no Filtro */
/* Quando o filtro está selecionado (fundo cinza escuro), todos os ícones ficam brancos */
.facet-link.active i {
    color: #fff !important;
}


/* ==========================================================================
   CORES DOS BADGES (ETIQUETAS) NA LISTAGEM DE DADOS - CORRIGIDO
   Focado na classe .badge que aparece no seu HTML
   ========================================================================== */

/* 1. Regra Geral para limpar o estilo padrão cinza */
.dataset-resources li a.badge,
.badge[data-format] {
    color: #fff !important;
    text-shadow: none !important;
    opacity: 0.9;
    border: none !important;
    font-weight: 700 !important;
}

/* Efeito Hover */
.dataset-resources li a.badge:hover,
.badge[data-format]:hover {
    opacity: 1 !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* --- GRUPO 1: DOC / WORD (Azul Word) --- */
.dataset-resources li a[data-format^="doc"],
.badge[data-format^="doc"],
.badge[data-format^="word"],
.badge[data-format="odt"] {
    background-color: #2b579a !important;
}

/* --- GRUPO 2: PDF (Vermelho) --- */
.dataset-resources li a[data-format="pdf"],
.badge[data-format="pdf"] {
    background-color: #e0051e !important;
}

/* --- GRUPO 3: EXCEL / CSV (Verde) --- */
.dataset-resources li a[data-format^="xls"],
.badge[data-format^="xls"],
.badge[data-format="csv"],
.badge[data-format="ods"] {
    background-color: #217346 !important;
}

/* --- GRUPO 4: POWERPOINT (Laranja) --- */
.dataset-resources li a[data-format^="ppt"],
.badge[data-format^="ppt"] {
    background-color: #d24726 !important;
}

/* --- GRUPO 5: JSON / XML (Laranja Código) --- */
.dataset-resources li a[data-format="json"],
.dataset-resources li a[data-format="xml"],
.badge[data-format="json"],
.badge[data-format="xml"] {
    background-color: #e67e22 !important;
}

/* --- GRUPO 6: GEO / MAPAS (Verde Água) --- */
.dataset-resources li a[data-format="kml"],
.dataset-resources li a[data-format="shp"],
.badge[data-format="kml"],
.badge[data-format="kmz"],
.badge[data-format="shp"],
.badge[data-format="geojson"],
.badge[data-format="wms"] {
    background-color: #008080 !important;
}

/* --- GRUPO 7: API / HTML (Azul Claro) --- */
.dataset-resources li a[data-format="api"],
.dataset-resources li a[data-format="html"],
.badge[data-format="api"],
.badge[data-format="html"] {
    background-color: #3498db !important;
}

/* --- GRUPO 8: COMPACTADOS (Cinza Escuro) --- */
.dataset-resources li a[data-format="zip"],
.dataset-resources li a[data-format="rar"],
.badge[data-format="zip"],
.badge[data-format="rar"] {
    background-color: #555 !important;
}


/* =========================================
   BARRA DE TOPO (GOVERNO) - AJUSTADO
   ========================================= */

.account-masthead {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 12px;
    font-weight: 400 !important; /* Fonte Normal (sem negrito) */
    line-height: 1.2;
}

/* Links do Topo */
.top-link {
    color: #fff !important;
    text-decoration: none;
    font-weight: 400 !important; /* Garante peso normal */
    opacity: 0.9;
    transition: opacity 0.2s;
}

.top-link:hover {
    opacity: 1;
    text-decoration: underline !important;
    color: #fff !important;
}

/* --- BOTÕES DE ACESSIBILIDADE --- */

.access-btn {
    display: inline-block;
    color: #fff !important;
    text-decoration: none !important;
    
    /* Borda fina e discreta */
    border: 1px solid rgba(255,255,255,0.3); 
    
    padding: 2px 6px; 
    margin-left: 4px;
    font-size: 11px;
    font-weight: 400 !important; /* Fonte Normal */
    border-radius: 0; /* Quadrado */
    transition: all 0.2s;
}

.access-btn:hover {
    background-color: rgba(255,255,255,0.15);
    border-color: #fff;
    color: #fff !important;
}

.access-btn.action-contraste {
    padding: 3px 7px;
}

/* ALTO CONTRASTE */
body.contraste .account-masthead {
    border-bottom: 1px solid #FFFF00 !important;
}
body.contraste .access-btn {
    border-color: #FFFF00 !important;
    color: #FFFF00 !important;
}
body.contraste .access-btn:hover {
    background-color: #FFFF00 !important;
    color: #000 !important;
}


/* =========================================
   MENU PRINCIPAL - ESTILOS INTERATIVOS (AZUL)
   (Hover e Item Ativo)
   ========================================= */

/* 1. Estilo Base do Link (Normal) */
.navbar-nav li a {
    color: #0e4775 !important; /* Azul Governo */
    font-weight: 700 !important;
    font-size: 15px;
    text-transform: uppercase;
    padding: 10px 18px !important;
    border-radius: 4px;
    border-bottom: 2px solid transparent; /* Espaço reservado para não pular */
    transition: all 0.2s ease-in-out;
}

/* 2. HOVER (Ao passar o mouse) */
.navbar-nav li a:hover {
    color: #0e4775 !important; /* Mantém Azul Forte */
    background-color: #f0f4f8; /* Fundo azul acinzentado muito suave */
    text-decoration: none !important;
    transform: translateY(-1px); /* Leve subida */
}

/* 3. ACTIVE (Página Atual) */
.navbar-nav li.active a {
    color: #0e4775 !important; /* Azul Governo */
    background-color: #e6f2ff; /* Fundo azul clarinho (destaque) */
    font-weight: 800 !important; /* Extra negrito */
    border-bottom: 2px solid #0e4775 !important; /* Linha azul na base */
}

/* =========================================
   AJUSTE ALTO CONTRASTE (Menu Principal)
   ========================================= */
body.contraste .navbar-nav li a {
    color: #FFFF00 !important;
    border: 1px solid transparent;
}

body.contraste .navbar-nav li a:hover {
    background-color: #333 !important;
    border: 1px solid #FFFF00 !important;
    text-decoration: underline !important;
}

body.contraste .navbar-nav li.active a {
    background-color: #FFFF00 !important;
    color: #000 !important;
    font-weight: bold !important;
    border: 1px solid #fff !important;
}

/* =========================================
   PAGINAS DE AUTORIZACAO E PERMISSAO
   ========================================= */

.auth-feedback {
    background: #fff;
    border: 1px solid #d9e1ea;
    border-left: 6px solid #0e4775;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(14, 71, 117, 0.10);
    display: flex;
    gap: 28px;
    align-items: center;
    min-height: 280px;
    padding: 32px;
}

.auth-feedback__media {
    background: #0e4775;
    border-radius: 6px;
    flex: 0 0 340px;
    padding: 34px 28px;
}

.auth-feedback__logo {
    display: block;
    width: 100%;
}

.auth-feedback__icon {
    align-items: center;
    background: #eaf2f8;
    border-radius: 50%;
    color: #0e4775;
    display: flex;
    flex: 0 0 92px;
    font-size: 2.3rem;
    height: 92px;
    justify-content: center;
    width: 92px;
}

.auth-feedback__icon span {
    font-size: 1.6rem;
    font-weight: 800;
}

.auth-feedback__body {
    max-width: 720px;
}

.auth-feedback__eyebrow {
    color: #0e4775;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.auth-feedback h1 {
    color: #1f2d3d;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 14px;
}

.auth-feedback p {
    color: #3d4b5c;
    font-size: 1rem;
    line-height: 1.6;
}

.auth-feedback__detail {
    background: #f3f6f9;
    border-left: 4px solid #b8c6d4;
    color: #384858 !important;
    margin-top: 18px;
    padding: 12px 14px;
}

.auth-feedback__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.auth-feedback__actions .btn {
    border-radius: 4px;
    font-weight: 700;
}

.auth-feedback__actions .btn-primary {
    background-color: #0e4775;
    border-color: #0e4775;
}

.auth-feedback__actions .btn-primary:hover {
    background-color: #0a3659;
    border-color: #0a3659;
}

.auth-feedback--forbidden {
    justify-content: center;
}

.auth-feedback--forbidden .auth-feedback__body {
    max-width: 760px;
}

.auth-feedback--acesso-cidadao {
    align-items: center;
    background: #0e4775;
    border-color: #0e4775;
    border-left: 0;
    box-shadow: 0 10px 30px rgba(14, 71, 117, 0.20);
    flex-direction: column;
    gap: 26px;
    justify-content: center;
    min-height: 390px;
    padding: 46px 40px;
    text-align: center;
}

.auth-feedback--acesso-cidadao .auth-feedback__media {
    background: transparent;
    flex: 0 1 auto;
    max-width: 560px;
    padding: 0;
    width: 100%;
}

.auth-feedback--acesso-cidadao .auth-feedback__body {
    max-width: 760px;
}

.auth-feedback--acesso-cidadao .auth-feedback__eyebrow {
    color: #8ed8ff;
}

.auth-feedback--acesso-cidadao h1 {
    color: #fff;
}

.auth-feedback--acesso-cidadao p {
    color: #e8f3fb;
}

.auth-feedback--acesso-cidadao .auth-feedback__detail {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.20);
    color: #fff !important;
}

.auth-feedback--acesso-cidadao .auth-feedback__actions {
    justify-content: center;
}

.auth-feedback--acesso-cidadao .auth-feedback__actions .btn-primary {
    background-color: #fff;
    border-color: #fff;
    color: #0e4775;
}

.auth-feedback--acesso-cidadao .auth-feedback__actions .btn-primary:hover {
    background-color: #e8f3fb;
    border-color: #e8f3fb;
    color: #0a3659;
}

.auth-feedback--acesso-cidadao .auth-feedback__actions .btn-default {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.55);
    color: #fff;
}

.auth-feedback--acesso-cidadao .auth-feedback__actions .btn-default:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: #fff;
    color: #fff;
}

@media (max-width: 768px) {
    .auth-feedback {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        padding: 24px;
    }

    .auth-feedback__media {
        flex: 0 1 auto;
        max-width: 100%;
        padding: 28px 22px;
        width: 100%;
    }

    .auth-feedback h1 {
        font-size: 1.55rem;
    }

    .auth-feedback--forbidden,
    .auth-feedback--acesso-cidadao {
        align-items: center;
        text-align: center;
    }
}

body.contraste .auth-feedback,
html.contraste .auth-feedback {
    background: #000 !important;
    border-color: #FFFF00 !important;
    box-shadow: none !important;
    color: #FFFF00 !important;
}

body.contraste .auth-feedback__media,
html.contraste .auth-feedback__media,
body.contraste .auth-feedback__icon,
html.contraste .auth-feedback__icon,
body.contraste .auth-feedback__detail,
html.contraste .auth-feedback__detail {
    background: #000 !important;
    border: 1px solid #FFFF00 !important;
    color: #FFFF00 !important;
}
