/*
    CSS Navbar

*/

:root {
   /* 
    Menu Primary 
   */ 
  /* 🎨 Cores principais */
  --nav-background-color: #2c2c2c; /*  #4A3E31;*/
  --nav-border-color: #2c2c2c; /*  #4A3E31;*/
  --nav-text-color: #ffffff;

  /* ✨ Estados */
  --nav-hover-background: #2c2c2c; /* #000; */
  --nav-hover-text-color: #ffd966; /* #ccc; */
  --nav-active-background: #ffd966; /* #fff; */
  --nav-active-text-color: #000;

  /* 🔽 Dropdown */
  --nav-dropdown-background: #fff;
  --nav-dropdown-text-color: #333;

  /* ⚙️ Outros */
  --nav-font-size: 14px;
  --nav-text-transform: uppercase;

  /* 
    Menu Topo 
  */
  --topnav-background: #4A3E31; /* #2c2c2c;*/
  --topnav-text-color: #ffffff;
  --topnav-link-color: #ffffff;
  --topnav-hover-color: #ffd966;
  --topnav-hover-bg: #4A3E31; /* #444444; */
  --topnav-height: 50px;
  --topnav-font-size: 14px;
  

}

/* 
Menu Primary 
*/

.bg-color-nav {
    background-color: var(--nav-background-color, #4A3E31);
}

.navbar {
  min-height: 50px;
  margin: 0;
  border: 0px solid transparent;
}

/* Navbar principal */
.navbar-default,
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  background-color: var(--nav-background-color, #4A3E31);
  border-color: var(--nav-border-color, #000);
  color: var(--nav-text-color, #fff);
}

/* Itens de menu */
.navbar-default .navbar-nav > li > a {
  color: var(--nav-text-color, #404040);
  text-transform: var(--nav-text-transform, uppercase);
  font-size: var(--nav-font-size, 14px);
  transition: background-color 0.3s, color 0.3s;
}

/* Hover */
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: var(--nav-hover-text-color, #ccc);
  background-color: var(--nav-hover-background, #000);
}

/* Item ativo */
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: var(--nav-active-text-color, #000);
  background-color: var(--nav-active-background, #fff) !important;
}

/* Dropdown */
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  margin-left: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  background-color: var(--nav-dropdown-background, #fff);
  color: var(--nav-dropdown-text-color, #333);
}

.navbar-default .navbar-brand {
    color: var(--nav-text-color, #fff);
}
/*
 definições relacionadas à imagem do logo
*/
.navbar-default .navbar-brand img {
    max-height: 50px;
    text-align:center;
    margin-top: -15px;
}


/* menu */ 
.navbar .nav,
.navbar .collapse,
.navbar .dropup,
.navbar .dropdown {
  position: static;
}
.navbar .container {
  position: relative;
}
.navbar .dropdown-menu {
  left: auto;
}

/* 
    MEGA MENU
*/

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0px;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0px;
    margin: 2px 0px 0px;
    list-style: outside none none;
    font-size: 12px;
    text-align: left;
    background-color: #fff;
	border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
    background-clip: padding-box;
}

/* 
    TITULO DAS CAIXAS - <h3>
*/
.dropdown-menu h3 {
    border-bottom: 1px solid #eee; /*90EE90; */
    padding:2px;
	text-transform: var(--nav-text-transform, uppercase);
    font-size:1rem; 
}
/* 
    ITEM DE MENU DAS CAIXAS
*/
.dropdown-menu ul, ol {
  margin: 0 0 2px 10px;
}

@media screen and (max-width: 991px) {
    .dropdown-menu > .active > a, 
    .dropdown-menu > .active > a:hover, 
    .dropdown-menu > .active > a:focus {
        text-decoration: none;
        outline: 0px none;
        color: var(--nav-active-text-color, #000);
        background-color: var(--nav-active-background, #fff);
    }    
    .dropdown-menu {
        color: #000; /* #fff; */
        background-color: #fff;      
    }
    .navbar-default .navbar-nav .open .dropdown-menu {
        background-color: #eee; /* #FFFFE0; /* #eee; */        
    }    
    .navbar-default .navbar-nav .open .dropdown-menu > li > a {
        color: #000; /* #fff; */
        margin-left:0px;
    }
	.dropdown:hover .dropdown-menu {}
}


/* ----------------------------------------------------------------
   FORÇAR QUEBRA DO MENU (COLLAPSE) EM 1000PX
   Sobrescreve a lógica do Bootstrap 3 que usa 768px (xs/sm)
   ---------------------------------------------------------------- */

/* 1. Mídia Query para telas entre 768px e 1000px */
/* Queremos que o menu se comporte como se estivesse no modo telemóvel (colapsado) */
@media (min-width: 768px) and (max-width: 1100px) {
    
    /* Mostrar o botão hamburger */
    #navbar-main .navbar-header .navbar-toggle {
        display: block;
    }
    
    /* Esconder o menu de links principal por defeito */
    #navbar-main #navbar {
        max-height: 540px; /* Limite de altura para o menu colapsado */
        overflow-y: auto;
    }
    
    #navbar-main .navbar-collapse.collapse {
        display: none !important; /* Esconde a versão não-colapsada */
    }
    
    /* Garantir que a versão colapsada é mostrada ao clicar */
    #navbar-main .navbar-collapse.collapse.in {
        display: block !important;
    }

    /* 2. Corrigir o float da navbar-brand/logo e do botão hamburger */
    /* Isto faz com que o botão fique ao lado do logo (como nos telemóveis) */
    #navbar-main .navbar-header {
        float: none;
    }

    /* 3. Remover o float dos itens do menu colapsado */
    #navbar-main .navbar-nav {
        float: none !important;
        margin: 7.5px -15px;
    }
    
    #navbar-main .navbar-nav > li {
        float: none;
    }

    /* Garantir que o item de menu ocupa a largura toda */
    #navbar-main .navbar-nav > li > a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/* 
    🔝 MENU SUPERIOR FIXO / FULL WIDTH 
*/
.navbar-top-custom {
    width: 100%;
    margin: 0 !important;
    border: none;
    border-radius: 0;
    background-color: var(--topnav-background, #2c2c2c);
    color: var(--topnav-text-color, #fff);
    font-size:  var( --topnav-font-size, 12px );
    text-transform: var(--nav-text-transform, uppercase);
    z-index: 1031; /* ligeiramente acima do menu principal */
    min-height: var(--nav-text-transform, 40px); /* define altura mínima do navbar */
    height: var(--nav-text-height, 40px); /* --topnav-height */
}

/* remove qualquer padding interno do container */
.navbar-top-custom .container-fluid.no-padding,
.navbar-top-custom .row.no-margin {
    padding: 0;
    margin: 0;
}
.navbar-top-custom .navbar-topo {
    padding: 5px 0px;   /* padding vertical 0 para reduzir altura */
}

/* Ícone e contacto à esquerda */
.navbar-top-custom .navbar-contact {
    color: var(--topnav-text-color, #fff);
    font-weight: 500;
    padding: 5px 0px;   /* padding vertical 0 para reduzir altura */
    height:  var(--nav-text-transform, 40px);
    line-height:  var(--nav-text-transform, 40px); /* centraliza verticalmente */
    display: inline-block;
}

.navbar-top-custom .navbar-contact .glyphicon {
    margin-right: 5px;
}

/* Links do menu superior */
.navbar-top-custom .navbar-nav > li > a {
    color: var(--topnav-link-color, #fff);
    padding: 0 15px;       /* padding vertical 0 */
    height: var(--nav-text-transform, 40px);
    line-height:  var(--nav-text-transform, 40px);     /* centraliza verticalmente */
    transition: background-color 0.3s, color 0.3s;
}

/* Hover */
.navbar-top-custom .navbar-nav > li > a:hover,
.navbar-top-custom .navbar-nav > li > a:focus {
    color: var(--topnav-hover-color, #ffd966);
    background-color: var(--topnav-hover-bg, #444);
}

/* Toggle para mobile */
.navbar-top-custom .navbar-toggle {
    border-color: #fff;
    margin-top: 5px; /* centraliza botão verticalmente */
}

.navbar-top-custom .icon-bar {
    background-color: #fff;
}
