/* ═══════════════════════════════════════════════════════════════
   Menú superior común — lo comparten la app (index.html) y las
   páginas de la web pública (public/web/*.html).
   Vivía embebido en index.html; se extrajo al traer la web a código
   (docs/SALIDA_DE_WORDPRESS.md) para que no diverjan.
   ═══════════════════════════════════════════════════════════════ */
.efs-topbar { position: fixed; top: 0; left: 0; right: 0; height: 64px; z-index: 50;
  background: #1b1464; color: #fff; font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500;
  border-bottom: 1px solid rgba(255,255,255,0.08); }
.efs-topbar__inner { max-width: 1280px; height: 100%; margin: 0 auto; padding: 0 1.25rem;
  display: flex; align-items: center; gap: 2rem; }
.efs-topbar__brand { display: inline-flex; align-items: center; gap: .5rem;
  color: #fff; text-decoration: none; font-weight: 800; letter-spacing: -0.01em; white-space: nowrap; }
.efs-topbar__brand:hover { color: #fbff12; }
.efs-topbar__logo { height: 44px; width: auto; flex: 0 0 auto; display: block; }
.efs-topbar__nav { flex: 1; display: flex; }
.efs-topbar__menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.5rem; }
.efs-topbar__menu a { color: rgba(255,255,255,0.78); text-decoration: none;
  padding: .25rem 0; border-bottom: 2px solid transparent; transition: color .15s, border-color .15s; font-size: 14px; }
.efs-topbar__menu a:hover { color: #fff; }
.efs-topbar__menu .is-current > a,
.efs-topbar__menu .current-menu-item > a { color: #fff; border-bottom-color: #fbff12; }
.efs-topbar__cta { margin-left: auto; }
.efs-topbar__login { display: inline-flex; align-items: center; gap: .4rem;
  padding: .35rem .85rem; background: #fbff12; color: #1b1464;
  border-radius: 6px; text-decoration: none; font-weight: 700; font-size: 13px; transition: transform .15s; }
.efs-topbar__login:hover { transform: translateY(-1px); }
.efs-topbar__toggle { display: none; background: none; border: 0; color: #fff; cursor: pointer;
  padding: .25rem; line-height: 0; }
.efs-topbar__toggle .material-symbols-outlined { font-size: 26px; }
/* Ocho entradas de menú no caben por debajo de ~1024px: antes de que se corten,
   la navegación pasa a plegable. Estaba en 720px y entre 721 y 1000px el menú
   se quedaba cortado por la derecha (Movilidades y EU Vision desaparecían). */
@media (max-width: 1024px) {
  .efs-topbar__inner { gap: .5rem; padding: 0 .75rem; }
  .efs-topbar__brand .efs-topbar__name { display: none; }
  .efs-topbar__toggle { display: inline-flex; align-items: center; }
  .efs-topbar__nav { position: absolute; top: 64px; left: 0; right: 0; flex: none; display: none;
    background: #1b1464; border-bottom: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 8px 24px rgba(0,0,0,0.25); }
  .efs-topbar__nav.is-open { display: block; }
  .efs-topbar__menu { flex-direction: column; gap: 0; padding: .25rem 0; }
  .efs-topbar__menu li { padding: 0 1.25rem; }
  .efs-topbar__menu a { display: block; padding: .7rem 0; border-bottom: none; }
  .efs-topbar__menu .is-current > a,
  .efs-topbar__menu .current-menu-item > a { border-bottom: none; color: #fbff12; }
}

/* Las páginas de la web pública no son la SPA: el menú es fijo y hay que
   dejarle sitio. La app ya lo compensa por su cuenta. */
.efs-has-topbar { padding-top: 64px; }
