/* ==========================================================
   NAVBAR MODERNO (#mainNav) — compartido por todas las páginas.
   Se carga después de los estilos de cada página: el selector
   por ID tiene prioridad sobre las reglas .navbar existentes.
   ========================================================== */
#mainNav{
  --nav-ink:#fff;
  --nav-ink-soft:rgba(255,255,255,.82);
  --nav-pill:rgba(255,255,255,.14);
  --nav-pill-border:rgba(255,255,255,.28);
  --nav-hover:rgba(255,255,255,.18);
  --nav-accent:#f9914b;
  --nav-brand:#00afb8;
}

/* Estado con scroll: barra flotante de vidrio claro */
#mainNav.scrolled{
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);
  box-shadow:0 1px 0 rgba(15,58,99,.06),0 10px 30px rgba(15,58,99,.10);
  --nav-ink:#00868d;
  --nav-ink-soft:#0f3a63;
  --nav-pill:rgba(15,58,99,.05);
  --nav-pill-border:rgba(15,58,99,.08);
  --nav-hover:rgba(0,175,184,.10);
}

/* Links */
#mainNav .nav-link{
  font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:1.25rem;
  text-transform:none;letter-spacing:.5px;color:var(--nav-ink-soft);
  padding:.5rem .95rem;border-radius:999px;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
#mainNav .nav-link::after{display:none;}
#mainNav .nav-link:hover,#mainNav .nav-link:focus-visible,
#mainNav .nav-item.dropdown.show > .nav-link{color:var(--nav-ink);background:var(--nav-hover);}
#mainNav .nav-link.active{color:var(--nav-ink);position:relative;}
#mainNav .nav-link.active::before{ /* punto indicador */
  content:'';position:absolute;left:50%;bottom:2px;width:5px;height:5px;margin-left:-2.5px;
  border-radius:50%;background:var(--nav-accent);
}
#mainNav .nav-link:focus-visible{outline:2px solid var(--nav-accent);outline-offset:2px;}

/* Chevron de dropdowns */
#mainNav .nav-item.dropdown .dropdown-toggle::before{font-size:.55rem;opacity:.7;}
#mainNav .nav-item.dropdown .dropdown-toggle.active::before{
  position:static;width:auto;height:auto;margin:0;background:none;border-radius:0;
}
#mainNav .lang-dropdown .dropdown-toggle::before{display:none;}
#mainNav .lang-dropdown .nav-link{padding:.45rem;}
#mainNav #langFlag{border-radius:50% !important;box-shadow:0 0 0 2px var(--nav-pill-border);}

/* Menús desplegables */
#mainNav .dropdown-menu{
  border:1px solid rgba(15,58,99,.06);border-radius:18px;padding:.45rem;min-width:240px;
  background:rgba(255,255,255,.92);
  box-shadow:0 24px 48px -12px rgba(15,58,99,.28),0 4px 12px rgba(15,58,99,.06);
}
#mainNav .dropdown-item,#mainNav .lang-item{
  font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:1.1rem;letter-spacing:.5px;
  color:#24425c;padding:.6rem .85rem;border-radius:12px;
}
#mainNav .dropdown-item:hover,#mainNav .dropdown-item:focus{
  background:rgba(0,175,184,.09);color:var(--nav-brand);transform:translateX(2px);
}

/* Botón hamburguesa */
#mainNav .navbar-toggler{
  border:1px solid var(--nav-pill-border);background:var(--nav-pill);
  border-radius:14px;padding:.5rem .6rem;transition:background .25s ease;
}
#mainNav .navbar-toggler:focus{box-shadow:0 0 0 3px rgba(249,145,75,.45);}
#mainNav.scrolled .navbar-toggler-icon{filter:invert(1) brightness(.35);}

/* BASE (móvil y tablet, <992px): el menú colapsa en un panel flotante claro
   que se abre con el botón hamburguesa (collapse de Bootstrap). */
#mainNav .navbar-collapse{
  background:rgba(255,255,255,.97) !important;border-radius:20px;
  margin-top:.8rem;padding:.6rem;border:1px solid rgba(15,58,99,.06);
  box-shadow:0 24px 48px -12px rgba(15,58,99,.3);
  max-height:calc(100vh - 110px);overflow-y:auto;
}
#mainNav .navbar-collapse .nav-link{color:#24425c;font-size:1.3rem;padding:.75rem 1rem;border-radius:14px;}
#mainNav .navbar-collapse .nav-link:hover,#mainNav .navbar-collapse .nav-item.dropdown.show > .nav-link{background:rgba(0,175,184,.08);color:var(--nav-brand);}
#mainNav .navbar-collapse .nav-link.active{color:var(--nav-brand);background:rgba(0,175,184,.08);}
#mainNav .navbar-collapse .nav-link.active::before{left:.45rem;top:50%;bottom:auto;margin:-2.5px 0 0;}
#mainNav .navbar-collapse .dropdown-toggle{justify-content:space-between;}
#mainNav .navbar-collapse .dropdown-menu{
  box-shadow:none;border:none;background:rgba(15,58,99,.03);margin:.2rem 0 .4rem !important;
}
/* Móvil chico (<480px): botón hamburguesa un poco más compacto */
#mainNav .navbar-toggler{padding:.4rem .5rem;}

/* ≥480px: hamburguesa en su tamaño original */
@media (min-width:480px){
  #mainNav .navbar-toggler{padding:.5rem .6rem;}
}

/* Escritorio: links sueltos, sin cápsula ni subrayado */
@media (min-width:992px){
  #mainNav .navbar-nav{gap:.15rem !important;}
  #mainNav .navbar-nav > .nav-item > .nav-link{border-radius:0;background:none !important;}
  #mainNav .navbar-nav > .nav-item > .nav-link::after{display:none !important;}
  #mainNav .navbar-nav > .nav-item > .nav-link.active::before{display:none;}
  #mainNav .dropdown-menu{margin-top:12px !important;}
  #mainNav .nav-link{transition:background .25s ease,color .25s ease,font-size .35s ease;}
  #mainNav.scrolled .navbar-nav > .nav-item > .nav-link{font-size:1.1rem;}

  /* ≥992px: se deshace el panel móvil y el menú vuelve a ser la barra horizontal original */
  #mainNav .navbar-collapse{
    background:none !important;border-radius:0;margin-top:0;padding:0;border:0;
    box-shadow:none;max-height:none;overflow:visible;
  }
  #mainNav .navbar-collapse .nav-link{color:var(--nav-ink-soft);font-size:1.25rem;padding:.5rem .95rem;}
  #mainNav .navbar-collapse .lang-dropdown .nav-link{padding:.45rem;}
  #mainNav .navbar-collapse .nav-link:hover,#mainNav .navbar-collapse .nav-link:focus-visible,
  #mainNav .navbar-collapse .nav-item.dropdown.show > .nav-link,
  #mainNav .navbar-collapse .nav-link.active{color:var(--nav-ink);}
  #mainNav .navbar-collapse .dropdown-toggle{justify-content:flex-start;}
  #mainNav .navbar-collapse .dropdown-menu{
    border:1px solid rgba(15,58,99,.06);background:rgba(255,255,255,.92);margin:12px 0 0 !important;
    box-shadow:0 24px 48px -12px rgba(15,58,99,.28),0 4px 12px rgba(15,58,99,.06);
  }
}

@media (prefers-reduced-motion:reduce){
  #mainNav,#mainNav *{transition:none !important;animation:none !important;}
}

/* Logo alternativo al hacer scroll */
#mainNav .navbar-brand .logo-scrolled{display:none;}
#mainNav.scrolled .navbar-brand img:not(.logo-scrolled){display:none;}
#mainNav.scrolled .navbar-brand .logo-scrolled{display:inline-block;}
