/* Sección: barra de navegación
   Brand Book: logo oficial sobre fondo blanco; mínimo 90 px de ancho.
   Al hacer scroll se usa el símbolo aprobado (favicon) en lugar de
   reducir el logo completo por debajo del mínimo legible. */
.site-nav {
  background: rgba(255,255,255,.97);
  backdrop-filter: saturate(160%) blur(10px);
  padding: .55rem 0;
  border-bottom: 1px solid transparent;
  transition: box-shadow .3s, border-color .3s, padding .3s;
}
.site-nav.is-scrolled { box-shadow: 0 10px 30px -22px rgba(var(--navy-rgb), .6); border-bottom-color: var(--line); padding: .35rem 0; }

.brand-full { display: block; width: 96px; height: auto; transition: opacity .25s; }
.brand-compact { display: none; align-items: center; gap: .6rem; }
.brand-compact img { width: 40px; height: 40px; }
.brand-compact span { font-weight: 800; font-size: 1rem; letter-spacing: -.01em; color: var(--brand-navy); line-height: 1.1; }
.brand-compact small { display: block; font-weight: 600; font-size: .62rem; letter-spacing: .18em; color: var(--brand-slate); text-transform: uppercase; }
.site-nav.is-scrolled .brand-full { display: none; }
.site-nav.is-scrolled .brand-compact { display: inline-flex; }

.site-nav .nav-link { color: var(--brand-navy); font-weight: 600; font-size: .95rem; position: relative; }
.site-nav .nav-link:hover, .site-nav .nav-link.active { color: var(--brand-blue); }
.site-nav .navbar-toggler { color: var(--brand-navy); }
.site-nav .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(var(--blue-rgb), .25); }
.site-nav .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2306225A' stroke-linecap='round' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
@media (min-width: 992px) {
  .site-nav .nav-link::after {
    content: ""; position: absolute; left: .5rem; right: .5rem; bottom: .15rem; height: 2px; border-radius: 2px;
    background: var(--brand-blue); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease);
  }
  .site-nav .nav-link:hover::after, .site-nav .nav-link.active::after { transform: scaleX(1); }
}
@media (max-width: 991.98px) {
  .site-nav .navbar-collapse { padding: .75rem 0 .5rem; border-top: 1px solid var(--line); margin-top: .5rem; }
}

/* Selector de idioma ES / EN */
.lang-switch { display: inline-flex; padding: 3px; border-radius: 99px; background: var(--brand-cloud); border: 1px solid var(--line); }
.lang-switch a {
  padding: .3rem .7rem; border-radius: 99px; font-size: .78rem; font-weight: 800; letter-spacing: .06em;
  color: var(--brand-slate); text-decoration: none; transition: background-color .2s, color .2s;
}
.lang-switch a:hover { color: var(--brand-navy); }
.lang-switch a.is-active { background: var(--brand-navy); color: #fff; }
@media (max-width: 991.98px) { .lang-switch { margin: .5rem 0 .25rem; } }
