/* ==========================================================================
   Menu principal moderno (mismo estilo que el menu de ticketing)
   Se carga desde funciones/plantillas.php mientras MENU_MODERNO sea true.
   Para volver al estilo anterior: define('MENU_MODERNO', false);
   ========================================================================== */

/* Barra solida y contenido por debajo de ella (ya no se solapan) */
html { scroll-padding-top: 64px; }
body { padding-top: 56px; }

#mainNav.navbar-custom {
  background: #212529;
  min-height: 56px;
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
}

/* Marca */
#mainNav .navbar-brand {
  height: 56px;
  padding: 0 15px;
  line-height: 56px;
  font-size: 20px;
  font-weight: 500;
  color: #fff;
}

/* Enlaces */
#mainNav .navbar-nav { letter-spacing: 0; }
#mainNav .navbar-nav > li > a {
  padding: 18px 10px;
  line-height: 20px;
  font-size: 15px;
  color: rgba(255, 255, 255, .55);
  background: transparent;
}
#mainNav .navbar-nav > li > a:hover,
#mainNav .navbar-nav > li > a:focus,
#mainNav .navbar-nav > .open > a,
#mainNav .navbar-nav > .open > a:hover,
#mainNav .navbar-nav > .open > a:focus {
  color: rgba(255, 255, 255, .85);
  background: transparent;
}
/* Boton Soporte destacado */
#mainNav .navbar-nav > li > a.dropdown-soporte,
#mainNav .navbar-nav > .open > a.dropdown-soporte {
  color: #fff;
  background: rgba(255, 0, 0, .3);
}
#mainNav .navbar-nav > li > a.dropdown-soporte:hover,
#mainNav .navbar-nav > li > a.dropdown-soporte:focus,
#mainNav .navbar-nav > .open > a.dropdown-soporte:hover,
#mainNav .navbar-nav > .open > a.dropdown-soporte:focus {
  color: #fff;
  background: rgba(255, 0, 0, .45);
}

/* Desplegables: tarjeta blanca redondeada */
#mainNav .dropdown-menu {
  margin-top: 0;
  padding: 8px;
  min-width: 260px;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .12);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
}
#mainNav .dropdown-menu > li > a {
  padding: 7px 12px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.4;
  color: #212529;
  white-space: normal;
  background: transparent;
}
#mainNav .dropdown-menu > li > a:hover,
#mainNav .dropdown-menu > li > a:focus {
  color: #000;
  background: #e9ecef;
}
#mainNav .dropdown-menu .glyphicon { width: 1.4em; color: #6c757d; }
#mainNav .dropdown-menu .dropdown-header {
  padding: 8px 12px 4px;
  margin: 0;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .05em;
  text-align: left;
  text-transform: uppercase;
  color: #6c757d;
}
#mainNav .dropdown-menu .divider,
#mainNav .dropdown-menu > hr {
  height: 1px;
  margin: 6px 0;
  border: 0;
  background: #e9ecef;
}

/* Boton de menu en movil */
#mainNav .navbar-toggle {
  margin: 10px 15px 10px 0;
  padding: 6px 12px;
  font-size: 14px;
  text-transform: none;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 6px;
}
#mainNav .navbar-toggle:hover,
#mainNav .navbar-toggle:focus { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .5); }

/* Portadas de producto y carrusel: arrancan debajo de la barra */
.producto { padding-top: 100px; }
.empresa { padding-top: 50px; }
.carousel-caption { margin-top: 160px; }

/* Entre 768 y 1199 px no cabe el nombre junto a todos los enlaces */
@media (min-width: 768px) and (max-width: 1199px) {
  #mainNav .navbar-brand { display: none; }
  #mainNav .navbar-nav > li > a { padding-left: 8px; padding-right: 8px; font-size: 14px; }
}
@media (min-width: 768px) {
  #mainNav .navbar-right .dropdown-menu { min-width: 340px; }
}

/* Movil: lista desplegable a pantalla completa, sin tarjeta */
@media (max-width: 767px) {
  #mainNav .navbar-collapse {
    max-height: calc(100vh - 56px);
    overflow-y: auto;
    border-top: 1px solid rgba(255, 255, 255, .1);
    box-shadow: none;
  }
  #mainNav .navbar-nav { margin: 0 -15px; }
  #mainNav .navbar-nav > li > a { padding: 12px 15px; }
  #mainNav .navbar-nav .open .dropdown-menu {
    max-height: none;
    margin: 0;
    padding: 0 0 6px 12px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  #mainNav .navbar-nav .open .dropdown-menu > li > a { color: rgba(255, 255, 255, .75); }
  #mainNav .navbar-nav .open .dropdown-menu > li > a:hover,
  #mainNav .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background: rgba(255, 255, 255, .08); }
  #mainNav .navbar-nav .open .dropdown-menu .glyphicon { color: rgba(255, 255, 255, .5); }
  #mainNav .navbar-nav .open .dropdown-menu .dropdown-header { color: rgba(255, 255, 255, .5); }
  #mainNav .navbar-nav .open .dropdown-menu .divider,
  #mainNav .navbar-nav .open .dropdown-menu > hr { background: rgba(255, 255, 255, .12); }
  .producto { padding-top: 50px; }
  .carousel-caption { margin-top: 120px; }
}
