/* =============================================================
   JURÍDICO VIRTUAL — MENÚ MÓVIL GLOBAL
   Esta hoja se carga al final en todas las páginas.
   ============================================================= */

@media (max-width: 920px) {
  #main-header,
  #main-header.scrolled {
    background: rgba(249,251,252,.99) !important;
    border-bottom: 1px solid #d7e1e6 !important;
    box-shadow: 0 8px 24px rgba(7,31,46,.07) !important;
    backdrop-filter: blur(14px);
  }

  #main-header .navbar {
    min-height: 76px !important;
    padding: 10px 18px !important;
  }

  #main-header .logo,
  #main-header .nav-toggle {
    position: relative !important;
    z-index: 1004 !important;
  }

  #main-header .nav-toggle,
  #main-header .nav-toggle.open {
    display: flex !important;
    width: 46px !important;
    height: 46px !important;
    margin-left: auto !important;
    border: 1px solid #c8d7de !important;
    border-radius: 12px !important;
    background: #f7fafb !important;
  }

  #main-header .nav-toggle span,
  #main-header .nav-toggle.open span {
    background: #143f56 !important;
  }

  #main-header .nav-links#nav-menu {
    display: none !important;
    position: fixed !important;
    inset: 76px 0 0 !important;
    width: 100% !important;
    height: calc(100dvh - 76px) !important;
    margin: 0 !important;
    padding: 18px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    overflow-y: auto !important;
    background:
      radial-gradient(circle at 88% 4%,rgba(93,165,197,.16),transparent 26%),
      linear-gradient(155deg,#071f2e,#0b3045) !important;
    z-index: 1001 !important;
  }

  #main-header .nav-links#nav-menu.open {
    display: flex !important;
    animation: globalMobileMenuIn .24s ease-out both;
  }

  #main-header .nav-links#nav-menu li {
    width: 100% !important;
    opacity: 1 !important;
    transform: none !important;
    text-align: left !important;
  }

  #main-header .nav-links#nav-menu li a,
  #main-header .nav-links#nav-menu li a:hover,
  #main-header .nav-links#nav-menu li a.active {
    display: flex !important;
    align-items: center !important;
    min-height: 50px !important;
    padding: 12px 15px !important;
    border: 1px solid transparent !important;
    border-bottom-color: rgba(255,255,255,.11) !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255,255,255,.92) !important;
    opacity: 1 !important;
    font-size: .94rem !important;
    font-weight: 700 !important;
    text-align: left !important;
    text-shadow: none !important;
  }

  #main-header .nav-links#nav-menu li a:hover,
  #main-header .nav-links#nav-menu li a.active {
    border-color: rgba(139,197,221,.22) !important;
    background: rgba(255,255,255,.075) !important;
    color: #fff !important;
  }

  #main-header .nav-links#nav-menu li a:not(.nav-cta)::after {
    display: none !important;
  }

  #main-header .nav-links#nav-menu li a.nav-cta,
  #main-header .nav-links#nav-menu li a.nav-cta:hover {
    justify-content: center !important;
    margin-top: 7px !important;
    border-color: #4385a5 !important;
    background: #286b8d !important;
    color: #fff !important;
  }

  /* Redes visibles en escritorio, excluidas del panel desplegable móvil. */
  #main-header .desktop-only-social,
  #main-header .desktop-only-social.open,
  #main-header .nav-social,
  #main-header .nav-social.open {
    display: none !important;
  }
}

@keyframes globalMobileMenuIn {
  from { opacity: 0; transform: translateY(-7px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  #main-header .nav-links#nav-menu.open {
    animation: none !important;
  }
}
