/* Master Gamer Technology – Navegación adaptable v5.3
 * El JavaScript marca exclusivamente el menú real con .mg-v4-root.
 * No afecta a escritorio ni al resto de los componentes de la página.
 */
@media (max-width: 1024px) {
  html body .mg-v4-shell {
    box-sizing: border-box !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
  }
  html body .mg-v4-shell::before,
  html body .mg-v4-shell::after {
    box-shadow: none !important;
    border-color: transparent !important;
  }

  html body ul.mg-v4-root.mg-v4-root {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-content: start !important;
    align-items: start !important;
    gap: 5px !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 5px !important;
    border: 1px solid #36483b !important;
    border-radius: 16px !important;
    background: #1d2122 !important;
    box-shadow: none !important;
    list-style: none !important;
    overflow: visible !important;
  }

  html body ul.mg-v4-root.mg-v4-root > li {
    box-sizing: border-box !important;
    position: relative !important;
    display: block !important;
    float: none !important;
    clear: none !important;
    grid-column: auto !important;
    min-width: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #3b4241 !important;
    border-radius: 9px !important;
    background: #303536 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    list-style: none !important;
  }

  html body ul.mg-v4-root.mg-v4-root > li.mg-v4-full,
  html body ul.mg-v4-root.mg-v4-root > li.mg-v4-open {
    grid-column: 1 / -1 !important;
  }

  html body ul.mg-v4-root.mg-v4-root li > a:not(.mg-v4-viewall-link) {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    color: #f4f6f5 !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    background: transparent !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body ul.mg-v4-root.mg-v4-root > li.mg-v4-home > a {
    background: #206d1c !important;
    border: 1px solid #3b9033 !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > a,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > a:hover {
    background: #264229 !important;
    color: #fff !important;
  }

  /* Botón padre: toda la superficie abre o cierra el submenú. */
  html body ul.mg-v4-root.mg-v4-root li > a.mg-v4-parent-link {
    padding-left: 8px !important;
    padding-right: 31px !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }
  html body ul.mg-v4-root.mg-v4-root .mg-v4-chevron {
    box-sizing: border-box !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    right: 11px !important;
    width: 8px !important;
    height: 8px !important;
    margin: -5px 0 0 !important;
    padding: 0 !important;
    border: solid #90e76f !important;
    border-width: 0 2px 2px 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    transform: rotate(45deg) !important;
    pointer-events: none !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > a > .mg-v4-chevron {
    transform: translateY(4px) rotate(225deg) !important;
  }

  /* Evitar flechas duplicadas generadas con pseudoelementos del tema. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a.mg-v4-parent-link::before,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a.mg-v4-parent-link::after {
    content: none !important;
    display: none !important;
  }

  /* Oculta los toggles originales solo en este menú: evita dos flechas. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > :is(button, .dropdown-toggle, .submenu-toggle, .sub-menu-toggle, .ast-menu-toggle, .submenu-expand, .sub-arrow),
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a > :is(.sub-arrow, .dropdown-toggle, .menu-arrow, .ast-icon, .indicator, .caret) {
    display: none !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-no-icon > a > :is(i, svg, .menu-icon, .elementor-icon, .fa, .fas, .far),
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-no-icon > a::before {
    display: none !important;
    content: none !important;
  }

  /* Cerrados: no ocupan espacio, aunque el tema use display:inline. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > .mg-v4-submenu {
    box-sizing: border-box !important;
    display: none !important;
    visibility: hidden !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* ABIERTOS: se distribuyen en dos columnas, a ancho completo. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > .mg-v4-submenu {
    box-sizing: border-box !important;
    position: static !important;
    display: grid !important;
    visibility: visible !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 5px !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    inset: auto !important;
    margin: 0 !important;
    padding: 5px !important;
    border: 0 !important;
    border-top: 1px solid #3f6245 !important;
    border-radius: 0 !important;
    background: #232a29 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    overflow: visible !important;
    list-style: none !important;
    z-index: auto !important;
  }

  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > .mg-v4-submenu > li {
    box-sizing: border-box !important;
    display: block !important;
    position: relative !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #404b47 !important;
    border-radius: 7px !important;
    background: #343b3a !important;
    box-shadow: none !important;
    overflow: hidden !important;
    list-style: none !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > .mg-v4-submenu > li.mg-v4-open,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > .mg-v4-submenu > li.mg-v4-viewall {
    grid-column: 1 / -1 !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > .mg-v4-submenu > li > a {
    min-height: 40px !important;
    padding: 7px 8px !important;
    font-size: 12px !important;
    line-height: 1.18 !important;
  }
  html body ul.mg-v4-root.mg-v4-root .mg-v4-viewall > a.mg-v4-viewall-link {
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 33px !important;
    margin: 0 !important;
    padding: 6px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    color: #9ce783 !important;
    background: #253229 !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }
  html body ul.mg-v4-root.mg-v4-root li:is(:hover,:active) > a {
    box-shadow: none !important;
  }
}

/* ===================== v5: detalles personalizados ===================== */
@media (max-width: 1024px) {
  html body ul.mg-v4-root.mg-v4-root {
    gap: var(--mg-v5-gap, 4px) !important;
    padding: var(--mg-v5-gap, 4px) !important;
    grid-template-columns: repeat(var(--mg-v5-cols, 2), minmax(0, 1fr)) !important;
    border: 1px solid color-mix(in srgb, var(--mg-v5-accent, #8ded70) 23%, #343b3b) !important;
    border-radius: var(--mg-v5-radius, 13px) !important;
    background: var(--mg-v5-panel, #1d2122) !important;
    isolation: isolate !important;
    overflow: hidden !important;
  }
  html body .mg-v4-shell {
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  html body ul.mg-v4-root.mg-v4-root > li {
    border: 1px solid #39433d !important;
    border-radius: max(5px, calc(var(--mg-v5-radius, 13px) - 6px)) !important;
    background: var(--mg-v5-item, #303536) !important;
    box-shadow: none !important;
  }
  html body ul.mg-v4-root.mg-v4-root li > a:not(.mg-v4-viewall-link) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    vertical-align: middle !important;
    min-height: var(--mg-v5-row, 40px) !important;
    padding: 5px 7px !important;
    font-size: var(--mg-v5-font, 13px) !important;
    font-weight: 600 !important;
    line-height: 1.16 !important;
    letter-spacing: 0 !important;
    color: var(--mg-v5-text, #f5f7f5) !important;
    word-break: normal !important;
  }
  html body ul.mg-v4-root.mg-v4-root li > a.mg-v4-parent-link {
    padding: 5px 7px !important;
  }
  /* Sin chevrons personalizados ni flechas nativas, toda la superficie sigue abriendo. */
  html body ul.mg-v4-root.mg-v4-root .mg-v4-chevron,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a svg,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a .dropdown-toggle,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a .menu-arrow,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a .sub-arrow,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a i,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a .caret,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > button {
    display: none !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a::before,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-has-sub > a::after {
    content: none !important;
    display: none !important;
  }
  html body ul.mg-v4-root.mg-v4-root > li.mg-v4-home > a {
    background: var(--mg-v5-selected, #237a25) !important;
  }
  /* Abierto = verde oscuro. Ruta seleccionada = verde más marcado. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > a.mg-v4-parent-link {
    background: #315139 !important;
    color: #fff !important;
    box-shadow: inset 0 -2px 0 var(--mg-v5-accent, #8ded70) !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v5-path > a,
  html body ul.mg-v4-root.mg-v4-root li.mg-v5-path.mg-v4-open > a {
    background: #2b612e !important;
    border-left: 3px solid var(--mg-v5-accent, #8ded70) !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v5-current > a,
  html body ul.mg-v4-root.mg-v4-root li.mg-v5-current.mg-v4-open > a {
    color: white !important;
    background: var(--mg-v5-selected, #237a25) !important;
    border: 1px solid var(--mg-v5-accent, #8ded70) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10) !important;
    font-weight: 700 !important;
  }
  /* El fondo de cada submenú es deliberadamente más claro que el padre. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu {
    gap: var(--mg-v5-gap, 4px) !important;
    grid-template-columns: repeat(var(--mg-v5-cols, 2), minmax(0, 1fr)) !important;
    margin: 0 !important;
    padding: var(--mg-v5-gap, 4px) !important;
    border-top: 2px solid var(--mg-v5-accent, #8ded70) !important;
    border-bottom: 1px solid #4f5f57 !important;
    border-radius: 0 0 7px 7px !important;
    background: var(--mg-v5-submenu, #414c49) !important;
    overflow: visible !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li {
    border: 1px solid #68746d !important;
    border-radius: 7px !important;
    background: var(--mg-v5-subitem, #545f5b) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li > a:not(.mg-v4-viewall-link) {
    min-height: max(36px, calc(var(--mg-v5-row, 40px) - 3px)) !important;
    padding: 5px 6px !important;
    font-size: max(11px, calc(var(--mg-v5-font, 13px) - 1px)) !important;
    line-height: 1.15 !important;
    background: transparent !important;
  }
  /* Restablecer el verde activo del submenú: más específico que la regla anterior. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li.mg-v5-current > a,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li.mg-v5-path > a {
    color: white !important;
    background: var(--mg-v5-selected, #237a25) !important;
    border: 1px solid var(--mg-v5-accent, #8ded70) !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li.mg-v4-open > a {
    color: white !important;
    background: #386245 !important;
    box-shadow: inset 0 -2px 0 var(--mg-v5-accent, #8ded70) !important;
  }
  html body ul.mg-v4-root.mg-v4-root ul.mg-v4-submenu ul.mg-v4-submenu {
    background: #68726b !important;
    border-top-color: var(--mg-v5-accent, #8ded70) !important;
  }
  html body ul.mg-v4-root.mg-v4-root ul.mg-v4-submenu ul.mg-v4-submenu > li {
    background: #626e67 !important;
    border-color: #7b877d !important;
  }
  html body ul.mg-v4-root.mg-v4-root ul.mg-v4-submenu ul.mg-v4-submenu > li.mg-v5-current > a {
    background: var(--mg-v5-selected, #237a25) !important;
    border-color: var(--mg-v5-accent, #8ded70) !important;
  }
  html body ul.mg-v4-root.mg-v4-root .mg-v4-viewall > a.mg-v4-viewall-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 5px 6px !important;
    border-radius: 6px !important;
    color: var(--mg-v5-accent, #8ded70) !important;
    background: #253b2b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }
  html body ul.mg-v4-root.mg-v4-root > li.mg-v4-home:not(.mg-v5-current) > a { background: transparent !important; border: 0 !important; }
  /* Original invisible pero reserva el espacio en su posición: evita salto de página. */
  html body ul.mg-v4-root.mg-v5-origin-hidden {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Barra flotante y menú desplegado fuera de la cabecera del tema.
   Visibilidad decidida por JS al pasar al contenido. */
#mg-v5-toolbar {
  display: none !important;
  position: fixed !important;
  top: max(5px, env(safe-area-inset-top, 0px)) !important;
  left: 7px !important;
  right: 7px !important;
  z-index: 2147483002 !important;
  box-sizing: border-box !important;
  min-height: 46px !important;
  padding: 4px 5px !important;
  gap: 5px !important;
  flex-direction: row !important;
  align-items: stretch !important;
  border: 1px solid var(--mg-v5-accent, #8ded70) !important;
  border-radius: 12px !important;
  background: var(--mg-v5-panel, #1d2122) !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.30) !important;
  font-family: inherit !important;
}
body.mg-v5-collapsed #mg-v5-toolbar { display: flex !important; }
#mg-v5-toolbar .mg-v5-current-link {
  flex: 1 1 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding: 3px 7px !important;
  color: #fff !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  background: #2b5132 !important;
  white-space: normal !important;
}
#mg-v5-toolbar .mg-v5-current-link[aria-disabled="true"] { cursor: default !important; }
#mg-v5-toolbar .mg-v5-toggle {
  flex: 0 0 auto !important;
  min-width: 81px !important;
  min-height: 36px !important;
  padding: 5px 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--mg-v5-selected, #237a25) !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  cursor: pointer !important;
}
#mg-v5-toolbar :is(button, a):focus-visible { outline: 2px solid var(--mg-v5-accent, #8ded70) !important; outline-offset: 2px !important; }
#mg-v5-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483001 !important;
  box-sizing: border-box !important;
  background: rgba(0,0,0,.68) !important;
  padding: calc(max(5px, env(safe-area-inset-top, 0px)) + 55px) 7px 10px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}
body.mg-v5-overlay-open #mg-v5-overlay { display: block !important; }
#mg-v5-overlay > ul.mg-v4-root.mg-v4-root {
  visibility: visible !important;
  pointer-events: auto !important;
  width: min(100%, 660px) !important;
  max-width: 660px !important;
  margin: 0 auto !important;
}
@media (min-width: 1025px) {
  /* Opcional: acento sutil en escritorio, sin convertirlo a grid ni mover enlaces. */
  html body .mg-v5-desktop-root > li:is(.current-menu-item,.current_page_item,.current-menu-ancestor,.current-menu-parent) > a {
    color: var(--mg-v5-accent, #8ded70) !important;
    border-radius: 5px !important;
    box-shadow: inset 0 -2px var(--mg-v5-accent, #8ded70) !important;
  }
  html body .mg-v5-desktop-root > li > a:hover { color: var(--mg-v5-accent, #8ded70) !important; }
}
@media (prefers-reduced-motion: reduce) {
  #mg-v5-toolbar, #mg-v5-overlay { transition: none !important; }
}

/* ============ v5.1: plegado real sin bloquear el contenido ============
   .mg-v4-shell se marca únicamente cuando la envoltura contiene el menú.
   Ocultar la raíz Y su envoltura evita los marcos vacíos del constructor. */
html body.mg-v5-collapsed .mg-v4-shell.mg-v51-hide-shell {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
html body.mg-v5-collapsed ul.mg-v4-root.mg-v5-origin-hidden {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
/* Modal independiente: no ocultar el menú trasladado a overlay al abrirlo. */
body.mg-v5-overlay-open #mg-v5-overlay > ul.mg-v4-root {
  display: grid !important;
  visibility: visible !important;
  height: auto !important;
}

/* La sección del producto/categoría ocupa una sola línea a altura constante.
   No se mueve la segunda fila ni se fuerza un tamaño ilegible de letra. */
#mg-v5-toolbar .mg-v5-current-link {
  display: block !important;
  align-content: center !important;
  align-self: center !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  line-height: 30px !important;
  padding: 4px 8px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: clamp(11px, 3vw, 13px) !important;
}
#mg-v5-toolbar .mg-v5-current-link.mg-v51-long-label {
  font-size: clamp(10px, 2.65vw, 12px) !important;
}
#mg-v5-toolbar .mg-v5-current-link.mg-v51-very-long-label {
  font-size: 10px !important;
}
#mg-v5-toolbar .mg-v5-toggle {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
}
/* Diseño de escritorio, sin convertir la barra original en cuadrícula. */
@media (min-width: 768px) {
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root > li > a {
    border-radius: 7px !important;
    transition: background-color .16s ease, color .16s ease, box-shadow .16s ease !important;
  }
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root > li > a:hover,
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root > li > a:focus-visible,
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root > li:is(.current-menu-item,.current_page_item,.current-menu-parent,.current-menu-ancestor) > a {
    color: var(--mg-v5-accent, #8ded70) !important;
    background-color: rgba(62,129,61,.24) !important;
    box-shadow: inset 0 -2px 0 var(--mg-v5-accent, #8ded70) !important;
  }
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root ul:is(.sub-menu,.children) {
    border: 1px solid #47684b !important;
    border-radius: 9px !important;
    background: #242b29 !important;
    box-shadow: 0 9px 22px rgba(0,0,0,.27) !important;
  }
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root ul:is(.sub-menu,.children) li > a {
    color: #f5f7f5 !important;
    border-radius: 6px !important;
    transition: background-color .16s ease, color .16s ease !important;
  }
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root ul:is(.sub-menu,.children) li > a:hover,
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root ul:is(.sub-menu,.children) li > a:focus-visible,
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root ul:is(.sub-menu,.children) li:is(.current-menu-item,.current_page_item,.current-menu-ancestor) > a {
    color: #fff !important;
    background: #28672e !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body.mg-v51-desktop-enabled ul.mg-v5-desktop-root a { transition: none !important; }
}

/* ============ v5.2: acceso rápido + compactación + submenús oscuros ============ */
@media (max-width: 1024px) {
  html body ul.mg-v4-root.mg-v4-root {
    gap: var(--mg-v5-gap, 2px) !important;
    padding: 2px !important;
    border-radius: max(8px, var(--mg-v5-radius, 13px)) !important;
  }
  /* Conservar los cuatro elementos originales para selección y enlaces sin duplicarlos en pantalla. */
  html body ul.mg-v4-root.mg-v4-root > li.mg-v52-quick-item { display: none !important; }
  html body ul.mg-v4-root.mg-v4-root > li.mg-v52-shortcuts {
    display: block !important;
    grid-column: 1 / -1 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
  }
  html body ul.mg-v4-root.mg-v4-root .mg-v52-shortcut-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: var(--mg-v5-gap, 2px) !important;
    width: 100% !important;
  }
  html body ul.mg-v4-root.mg-v4-root .mg-v52-shortcut-grid > a.mg-v52-shortcut {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: var(--mg-v5-row, 34px) !important;
    min-height: var(--mg-v5-row, 34px) !important;
    max-height: var(--mg-v5-row, 34px) !important;
    padding: 3px !important;
    margin: 0 !important;
    border: 1px solid #39433d !important;
    border-radius: 7px !important;
    background: var(--mg-v5-item, #303536) !important;
    color: var(--mg-v5-text, #f5f7f5) !important;
    box-shadow: none !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-align: center !important;
    transition: none !important;
  }
  html body ul.mg-v4-root.mg-v4-root .mg-v52-shortcut-grid > a.mg-v52-shortcut svg {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    fill: none !important;
    stroke: currentColor !important;
    flex: 0 0 19px !important;
    margin: 0 !important;
  }
  html body ul.mg-v4-root.mg-v4-root .mg-v52-shortcut-grid > a:is(.mg-v52-shortcut-active,:focus-visible) {
    background: var(--mg-v5-selected, #237a25) !important;
    border-color: var(--mg-v5-accent, #8ded70) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.13) !important;
  }
  html body ul.mg-v4-root.mg-v4-root > li:not(.mg-v52-shortcuts),
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li {
    border-radius: 6px !important;
  }
  html body ul.mg-v4-root.mg-v4-root li > a:not(.mg-v4-viewall-link):not(.mg-v52-shortcut) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
    min-height: var(--mg-v5-row, 34px) !important;
    height: auto !important;
    padding: 3px 5px !important;
    margin: 0 !important;
    line-height: 1.12 !important;
    font-size: var(--mg-v5-font, 12px) !important;
    text-align: center !important;
    vertical-align: middle !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu {
    padding: 2px !important;
    gap: var(--mg-v5-gap, 2px) !important;
    border-top: 2px solid var(--mg-v5-accent, #8ded70) !important;
    background: var(--mg-v5-submenu, #414c49) !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li {
    background: var(--mg-v5-subitem, #303536) !important;
    border: 1px solid #58655c !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li > a:not(.mg-v4-viewall-link) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--mg-v5-row, 34px) !important;
    padding: 3px 5px !important;
    color: #f7faf7 !important;
    background: transparent !important;
    font-size: max(11px, calc(var(--mg-v5-font, 12px) - 1px)) !important;
    line-height: 1.12 !important;
  }
  /* Resaltados: ganan a la regla de contraste de los submenús. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li.mg-v5-current > a:not(.mg-v4-viewall-link) {
    color: #fff !important;
    background: var(--mg-v5-selected, #237a25) !important;
    border: 1px solid var(--mg-v5-accent, #8ded70) !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li.mg-v5-path > a:not(.mg-v4-viewall-link) {
    color: #fff !important;
    background: #315b37 !important;
    box-shadow: inset 0 -2px var(--mg-v5-accent, #8ded70) !important;
  }
  html body ul.mg-v4-root.mg-v4-root .mg-v4-viewall > a.mg-v4-viewall-link {
    min-height: 30px !important;
    padding: 3px 4px !important;
  }
}

/* ============ v5.3: barra compacta con ruta + producto ============ */
#mg-v5-toolbar .mg-v5-current-link {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 0 !important;
  overflow: hidden !important;
  min-height: 38px !important;
  height: 38px !important;
  max-height: 38px !important;
  padding: 2px 7px !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: normal !important;
  min-width: 0 !important;
}
#mg-v5-toolbar .mg-v5-current-link .mg-v53-route,
#mg-v5-toolbar .mg-v5-current-link .mg-v53-product {
  box-sizing: border-box !important;
  display: block !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
  font-family: inherit !important;
  text-align: center !important;
}
#mg-v5-toolbar .mg-v5-current-link .mg-v53-route {
  font-weight: 700 !important;
  font-size: clamp(10px, 2.75vw, 13px) !important;
  line-height: 16px !important;
  color: #f6fcf6 !important;
}
#mg-v5-toolbar .mg-v5-current-link .mg-v53-product {
  font-size: clamp(9px, 2.35vw, 11px) !important;
  font-weight: 500 !important;
  line-height: 13px !important;
  color: #e4efd9 !important;
  opacity: .95 !important;
}
#mg-v5-toolbar .mg-v5-current-link.mg-v51-long-label .mg-v53-route {font-size: clamp(9px, 2.55vw, 12px) !important;}
#mg-v5-toolbar .mg-v5-current-link.mg-v51-very-long-label .mg-v53-route {font-size: 10px !important;}
/* Oculta la franja trasera de la navegación, no el encabezado con logo,
   redes o buscador. Se aplica sólo a envolturas verificadas por el script. */
@media (max-width: 1024px) {
  html body.mg-v5-collapsed .mg-v53-nav-shell.mg-v51-hide-shell {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  html body.mg-v5-collapsed .mg-v53-nav-shell.mg-v51-hide-shell::before,
  html body.mg-v5-collapsed .mg-v53-nav-shell.mg-v51-hide-shell::after {
    display: none !important;
    content: none !important;
  }
  /* Cuando se recoge, evita banda negra pseudo-fondo del menú. */
  html body.mg-v5-collapsed ul.mg-v4-root.mg-v5-origin-hidden,
  html body.mg-v5-collapsed ul.mg-v4-root.mg-v5-origin-hidden::before,
  html body.mg-v5-collapsed ul.mg-v4-root.mg-v5-origin-hidden::after {
    display: none !important;
    box-shadow: none !important;
  }
  html:has(body.mg-v5-collapsed) { overscroll-behavior-y: contain; }
}


/* ============ v5.4 — contraste y navegación sin regresiones ============ */
@media (max-width: 1024px) {
  /* Solo el menú administrado por este plugin: no afecta otras cuadrículas. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li:not(.mg-v4-viewall),
  html body ul.mg-v4-root.mg-v4-root ul.mg-v4-submenu ul.mg-v4-submenu > li {
    background: var(--mg-v5-subitem, #cbd3ce) !important;
    border-radius: max(5px, calc(var(--mg-v5-radius, 13px) - 7px)) !important;
    border: 1px solid rgba(15,24,22,.16) !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li > a:not(.mg-v4-viewall-link),
  html body ul.mg-v4-root.mg-v4-root ul.mg-v4-submenu ul.mg-v4-submenu > li > a:not(.mg-v4-viewall-link) {
    background: transparent !important;
    color: var(--mg-v5-subtext, #111817) !important;
    text-shadow: none !important;
  }
  /* El nivel seleccionado y toda su ruta siempre destacan sobre el gris. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v5-current > a:not(.mg-v4-viewall-link),
  html body ul.mg-v4-root.mg-v4-root li.mg-v5-current.mg-v4-open > a,
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-open > ul.mg-v4-submenu > li.mg-v5-current > a,
  html body ul.mg-v4-root.mg-v4-root ul.mg-v4-submenu ul.mg-v4-submenu > li.mg-v5-current > a {
    color: #fff !important;
    background: var(--mg-v5-selected, #237a25) !important;
    border: 1px solid var(--mg-v5-accent, #8ded70) !important;
  }
  html body ul.mg-v4-root.mg-v4-root li.mg-v5-path > a,
  html body ul.mg-v4-root.mg-v4-root li.mg-v5-path.mg-v4-open > a,
  html body ul.mg-v4-root.mg-v4-root ul.mg-v4-submenu li.mg-v5-path > a {
    color: #fff !important;
    background: #315b37 !important;
    border-left: 3px solid var(--mg-v5-accent, #8ded70) !important;
  }
  /* Mientras una URL nueva carga se visualiza el toque de inmediato. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v54-pending > a,
  html body ul.mg-v4-root.mg-v4-root li.mg-v54-pending > a:not(.mg-v4-viewall-link),
  html body ul.mg-v4-root.mg-v4-root li.mg-v54-pending > ul.mg-v4-submenu,
  html body ul.mg-v4-root.mg-v4-root .mg-v52-shortcuts a.mg-v52-shortcut[data-mg-navigating="true"] {
    background: var(--mg-v5-selected, #237a25) !important;
    color: #fff !important;
    border-color: var(--mg-v5-accent, #8ded70) !important;
  }
  /* «Ver todo» ya no forma parte del menú; tampoco puede reaparecer en una
     carga con restos de marcado antiguo. */
  html body ul.mg-v4-root.mg-v4-root li.mg-v4-viewall { display: none !important; }
}
