/* Altura base y utilidades */
:root { --nav-h:72px; }
html,body{margin:0;padding:0;}
.nav-offset{ padding-top: var(--nav-h); }           /* para páginas SIN banner */

/* ----- NAVBAR ----- */
.nav-glass{
  position:fixed; top:0; left:0; right:0; z-index:1030;
  height:var(--nav-h);
  display:flex; align-items:center;
  background: transparent;               /* TRANSPARENTE al cargar */
  backdrop-filter: none;
  border-bottom: none;
  box-shadow:none;
  transition: background .25s ease, backdrop-filter .25s ease,
              box-shadow .25s ease, border-color .25s ease;
}

/* Efecto cuando debe ser sólida (glass + gradiente) */
.nav-glass.is-solid{
  backdrop-filter: blur(12px) saturate(140%);
  background: rgba(8,8,8,.72);
  border-bottom: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.nav-glass::after{ content:""; display:none; }
.nav-glass.is-solid::after{
  /* barrido de gradiente sutil */
  display:block; position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(90deg,
    rgba(156,92,255,.18) 0%,
    rgba(0,0,0,0) 35%,
    rgba(255,122,89,.18) 70%,
    rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(#000, transparent 85%);
}

/* Links */
.navbar .nav-link{
  color: rgba(255,255,255,.9);
  padding:.75rem .9rem; position:relative;
}
.navbar .nav-link:hover{ color:#fff; }
.navbar .nav-link::after{
  content:""; position:absolute; left:.9rem; right:.9rem; bottom:.35rem;
  height:2px; border-radius:2px; transform:scaleX(0);
  background: linear-gradient(90deg, var(--grad1,#ff7a59), var(--grad2,#9c5cff));
  transition: transform .25s ease;
}
.navbar .nav-link:hover::after{ transform:scaleX(1); }

/* Dropdown estilo glass */
.dropdown-menu.dropdown-glass{
  background: rgba(8,8,8,.92);
  backdrop-filter: blur(12px);
  border:1px solid rgba(255,255,255,.08);
  box-shadow: 0 18px 40px rgba(0,0,0,.45);
}
.dropdown-glass .dropdown-item{ color:#e6e6ef; }
.dropdown-glass .dropdown-item:hover{ background: rgba(255,255,255,.06); }

/* Botón blanco */
.btn-pill{ padding:.55rem 1rem; border-radius:999px; }

/* En móvil: al abrir el menú la nav debe ser sólida para legibilidad */
@media (max-width: 991.98px){
  .nav-glass.is-forced-solid,
  .nav-glass.is-solid{ background: rgba(8,8,8,.88); }
}

/* ---- cuando hay banner debajo, NO queremos offset ---- */
body.has-hero.nav-offset{ padding-top: 0 !important; }
