
#mobile-menu-toggle{ display:none !important; }
/* === Mobile Menu (universal) === */
:root{
  --mm-bg: rgba(0,0,0,0.5);
  --mm-panel-bg: #fff;
  --mm-shadow: 0 10px 30px rgba(0,0,0,.15);
  --mm-z: 9999;
}

#mobile-menu-toggle{}

@media (max-width: 991px){
  #mobile-menu-toggle{}
}

#mobile-panel{
  position: fixed; inset: 0; z-index: var(--mm-z);
  display: none; background: var(--mm-bg);
}
body.menu-open #mobile-panel{ display:block; }

#mobile-panel .mm-sheet{
  position: absolute; top:0; bottom:0; right:0; width:min(88vw,360px);
  background: var(--mm-panel-bg); box-shadow: var(--mm-shadow);
  transform: translateX(100%); transition: transform .28s ease;
  -webkit-overflow-scrolling: touch; overflow:auto;
}
body.menu-open #mobile-panel .mm-sheet{ transform: translateX(0); }

#mobile-panel .mm-head{
  position: sticky; top:0; background:#fff; padding:1rem 1.25rem; border-bottom:1px solid #eee;
  display:flex; align-items:center; justify-content:space-between;
}
#mobile-panel .mm-body{ padding:.5rem 1rem 2rem; }
#mobile-panel .mm-nav{ list-style:none; margin:0; padding:0; }
#mobile-panel .mm-nav li{ border-bottom:1px solid #f2f2f2; }
#mobile-panel .mm-nav a{
  display:block; padding:1rem .5rem; text-decoration:none;
}
#mobile-panel .mm-foot{ padding:1rem; border-top:1px solid #eee; }

/* Touch targets */
.mm-icon-btn{ width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border:0; background:transparent; cursor:pointer; }

/* Prevent background scroll */
body.menu-open{ overflow:hidden; touch-action:none; }


/* Visually hidden (for screen readers only) */
.sr-only{
  position:absolute !important;width:1px !important;height:1px !important;
  padding:0 !important;margin:-1px !important;overflow:hidden !important;
  clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;
}

/* Botón toggle fijo en móvil (evita que aparezca a la izquierda) */
@media (max-width: 991px){
  #mobile-menu-toggle{
    position: fixed; top: 14px; right: 14px; z-index: 2147483643;
    padding: .5rem; line-height:1;
  }
}

/* Ocultar togglers nativos comunes para evitar doble ícono (solo en móvil) */
@media (max-width: 991px){
  header .navbar-toggle,
  header .navbar-toggler,
  header .menu-toggle,
  header .hamburger,
  header .hamburger-btn,
  header [data-menu-btn]{
    display:none !important;
  }
}

/* Súper capa para el panel y el scrim */
#mobile-panel{ z-index: 2147483646; will-change: transform; contain: paint; }
body.menu-open #mobile-panel{ display:block; }

@media (max-width: 991px){ #mobile-menu-toggle{ color:#111; background:transparent; } }


@media (max-width: 991px){
  #mobile-menu-toggle{
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 12px) !important;
    right: calc(env(safe-area-inset-right, 0px) + 12px) !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 44px !important; height: 44px !important;
    align-items: center !important; justify-content: center !important;
    color: #111 !important;
    background: rgba(255,255,255,0.96) !important;
    border-radius: 9999px !important;
    box-shadow: 0 4px 18px rgba(0,0,0,.12) !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
  }
}
