#navbar-main {
  background-color: var(--c-blue);
  padding-top: 0px;
  padding-bottom: 0 !important; /* Remove o padding padrão para permitir que o ribbon encoste no fundo */
  z-index: 1040;
  position: relative;
  overflow: visible;
}

#navbar-main .overlay {
  position: absolute;
  opacity: .8;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: auto 64px;
}

#navbar-main .navbar-main-content {
  z-index: 2;
  /*position: relative;*/
}

#navbar-main .navbar-brand {
  padding-top: 0;
  padding-bottom: 0;
}

#navbar-main .navbar-brand img {
  max-height: 78px;

}

#navbar-main .navbar-toggler {
  border-color: #FFF;
  padding: .5rem .75rem;
}

#navbar-main .nav-icon {
  color: #FFF;
}

#navbar-main .navbar-nav {
  display: flex;
  flex-grow: 1;
}

#navbar-main .navbar-nav .nav-item {
  padding: .5rem 0;
  position: relative;
}

#navbar-main .navbar-nav .nav-item .nav-link.nav-link-external::after {
  position: absolute;
  top: 5px;
  font-size: 60%;
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  padding: .25rem;
  color: var(--c-dark-gray);
  -webkit-font-smoothing: antialiased;
  opacity: 1;
  content: "\f08e";
}

#navbar-main .navbar-nav .nav-item .nav-link {
  font-weight: 600;
}

#navbar-main .navbar-nav .nav-item .nav-link:hover {
  color: var(--c-blue);
}

#navbar-main .btn-nav {
  color: #FFF;
  border-color: var(--c-light-blue);
  background-color: var(--c-light-blue);
  padding: .5rem 1rem;
}

#navbar-main .btn-nav:hover {
  color: #FFF;
  border-color: var(--c-dark-blue);
  background-color: var(--c-dark-blue);
}

#navbar-main .btn-nav .btn-quick {
  color: #FFF;
  border-color: var(--c-dark-gray);
  background-color: var(--c-dark-gray);
}

#navbar-main .megamenu .megamenu-col .col-title {
  color: var(--c-dark-blue);
  font-weight: bold;
}

#navbar-main .megamenu .megamenu-col .col-icon {
  color: var(--c-dark-gray);
  padding-right: .25rem;
}

#navbar-main .megamenu .megamenu-col .col-list-item .badge {
  padding: .25rem .5rem;
  font-size: .8rem;
}

#navbar-main .menu-col-container a.menu-col-header {
  text-decoration: none;
  padding: .5rem 1.25rem;
  display: flex;
  align-items: center;
}

#navbar-main .menu-col-container a.menu-col-header .menu-col-header-text {
  display: flex;
  flex-direction: column;
}

#navbar-main .menu-col-container a.menu-col-header .menu-col-header-text .title {
  color: var(--c-dark-blue);
}

#navbar-main .menu-col-container a.menu-col-header .menu-col-header-text .title::after {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: .9rem;
  padding: .25rem;
  color: var(--c-base-gray);
  -webkit-font-smoothing: antialiased;
  content: "\f061";
}

#navbar-main .menu-col-container a.menu-col-header .menu-col-header-text .subtitle {
  font-size: .95rem;
  opacity: .85;
  font-weight: normal;
}

#navbar-main .menu-col-container a.menu-col-header:hover .menu-col-header-text .title {
  font-weight: bold;
}

#navbar-main .menu-col-container a.menu-col-header:hover .menu-col-header-text .subtitle {
  opacity: 1;
  color: var(--c-base-gray);
  font-weight: 500;
}

#navbar-main .menu-col-container a.menu-col-header:hover .menu-col-header-image .icon-circle {
  background-color: var(--c-dark-blue);
}

#navbar-main .menu-col-container .menu-col-body ul.menu-col-list li {
  background-color: #f4f4f4;
  padding: .25rem 5rem;
  margin: .75rem 0;
  border-radius: .25rem;
}

#navbar-main .menu-col-container .menu-col-body ul.menu-col-list li::before {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: .9rem;
  padding: .25rem;
  color: var(--c-light-blue);
  -webkit-font-smoothing: antialiased;
  content: "\f005";
}

#navbar-main .menu-col-container .menu-col-body ul.menu-col-list li:hover {
  background-color: #eee;
  color: var(--c-dark-blue);
}

#navbar-main .menu-col-container .menu-col-body ul.menu-col-list li:hover::before {
  color: var(--c-blue);
}

#navbar-main .menu-services-pills>.nav-link {
  position: relative;
  display: flex;
  align-items: center;
}

#navbar-main .menu-services-pills>.nav-link:hover {
  color: var(--c-dark-blue) !important;
}

#navbar-main .menu-services-pills>.nav-link.nav-link-external::after {
  color: var(--c-dark-gray) !important;
  position: unset !important;
  padding: 0 .5rem !important;
}

#navbar-main .menu-services-pills>.nav-link .icon {
  padding-right: .5rem;
  color: var(--c-dark-gray);
}

#navbar-main .menu-services-accordion>.accordion-item {
  border: none;
}

#navbar-main .menu-services-accordion .accordion-button {
  font-weight: 600;
  color: #444;
}

#navbar-main .menu-services-accordion .accordion-button:focus {
  box-shadow: none;
}

#navbar-main .menu-services-accordion .accordion-button:hover {
  color: var(--c-dark-blue);
}

#navbar-main .menu-services-accordion a.accordion-button {
  background-color: transparent;
  box-shadow: none;
  text-decoration: none;
  color: #444;
}

#navbar-main .menu-services-accordion a.accordion-button::after {
  background: none;
  font-size: .85rem;
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  color: var(--c-dark-gray);
  -webkit-font-smoothing: antialiased;
  content: "\f08e";
  transform: none;
}

@media (min-width: 576px) {
  /*#navbar-main .navbar-brand img {
    max-height: 84px;
  }*/
}

@media (min-width: 768px) {
  #navbar-main .navbar-brand img {
    max-height: 115px;
  }

  /* Floating Image Tablet */
  /*.navbar-floating-image img {
    width: 70px;
    height: 70px;
  }
  
  .navbar-floating-image {
    bottom: -90px;
    right: 0;
  }*/
}

/* Centralização absoluta da logo em telas menores (Mobile/Tablet) */
@media (max-width: 1399.98px) {
  #navbar-main .navbar-main-content {
    position: relative;
    min-height: 70px; /* Altura mínima para a logo no mobile */
  }
  
  #navbar-main .navbar-brand {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
  }
}

@media (min-width: 768px) and (max-width: 1399.98px) {
  #navbar-main .navbar-main-content {
    min-height: 70px; /* Altura mínima para abraçar a logo grande (115px) em tablets */
  }
}

@media (min-width: 1400px) {

  #navbar-main .navbar-nav {
    flex-grow: 0;
  }

  #navbar-main .navbar-nav > .nav-item > .nav-link {
    color: #FFF;
    position: relative;
    padding: .5rem 1rem;
    transition: background-color 0.2s ease;
  }

  /* Criação da linha amarela flutuante (Pseudo-elemento) */
  #navbar-main .navbar-nav > .nav-item > .nav-link::before {
    content: "";
    position: absolute;
    top: -15px; /* Distância exata para o topo da barra (ajustaremos se precisar) */
    left: 0;
    right: 0;
    height: 5px;
    background-color: transparent;
    border-radius: 0 0 8px 8px;
    transition: background-color 0.2s ease;
  }

  #navbar-main .navbar-nav > .nav-item > .nav-link:hover::before {
    background-color: #FFF100;
    color: #FFF;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.2), inset 0 2px 4px rgba(0,0,0,0.1), 0 10px 25px 0px rgba(255, 241, 0, 0.7); 
    transition: background-color 0.2s ease, box-shadow 0.3s ease;
  }

  #navbar-main .menu-services-pills>.nav-link {
    color: var(--c-blue) !important;
    padding: .75rem 1rem;
  }

  #navbar-main .menu-services-pills>.nav-link.active {
    color: #FFF !important;
  }

  #navbar-main .menu-services-pills>.nav-link.active .icon {
    color: #FFF !important;
  }

  #navbar-main .navbar-nav .nav-item .nav-link.nav-link-external::after {
    top: 2px;
    color: #FFF;
    right: 0;
    opacity: .85;
  }

  /* Floating Image Desktop */
  .navbar-floating-image img {
    width: 80px;
    height: 80px;
  }

  .navbar-floating-image {
    bottom: -90px;
    right: 0;
  }
  
  #navbar-main .navbar-nav .nav-item .nav-link:hover {
    color: #FFF;
  }
}

/* Espaçamento e Estilo para o Layout de Links Simples no Megamenu */
#navbar-main .menu-services-links-container {
  padding: 0rem 1.5rem; /* Ajusta o espaçamento interno para afastar das bordas */
}

#navbar-main .menu-services-links-list {
  margin: 0;
  row-gap: 0.75rem; /* Garante um espaçamento vertical harmonioso entre linhas de links */
}

#navbar-main .menu-services-link-item {
  padding: 0.25rem 0.5rem; /* Espaçamento interno de cada item na coluna */
}

#navbar-main .menu-services-link-item a {
  color: #ECEEF0; /* Tom de branco sutil para legibilidade em fundo escuro */
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  transition: all 0.2s ease-in-out;
  display: inline-block;
}

#navbar-main .menu-services-link-item a:hover {
  color: #FFF !important; /* Destaque em amarelo na interação */
  transform: translateX(4px); /* Suave animação de deslizar para a direita */
}

/* Ajuste de compatibilidade caso o dropdown esteja em Light Mode */
body:not(.dark-mode) #navbar-main .menu-services-link-item a {
  color: var(--c-deeper-gray);
}

body:not(.dark-mode) #navbar-main .menu-services-link-item a:hover {
  color: var(--c-dark-blue) !important;
}