/* ———————————————————— */
/*  MENÚ PRINCIPAL – FULL RESPONSIVE, MINIMAL Y SIN VIÑETAS  */
/* ———————————————————— */

/* GENÉRICO */
.navigation-primary {
  display: inline-block !important;
  width: 100% !important;
  text-align: center !important;
}

.navigation-primary a,
.navigation-primary .menu-parent {
  position: relative !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 30px !important;
  transition: color .3s !important;
  -webkit-font-smoothing: antialiased !important;
  text-decoration: none !important;
  color: #fff !important;
}

.navigation-primary .menu-link {
  text-transform: capitalize !important;
}

.navigation-primary .submenu,
.navigation-primary .submenu li { 
  list-style: none !important; 
}

/* Asegurar que los checkboxes estén completamente ocultos */
.submenu-toggle { 
  display: none !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  visibility: hidden !important;
}

/* NIVEL 1 – TOP BAR */
.navigation-primary .submenu.level-1 {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* Center content of ALL menu links - FORCED CENTERING */
.navigation-primary .submenu.level-1 .menu-link {
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Specific rules for menu parent spans */
.navigation-primary .menu-link.menu-parent {
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Force uniform spacing and centering for all level-1 menu items */
.navigation-primary .submenu.level-1 > li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 15px 16px !important;
  text-transform: uppercase !important;
  position: relative !important;
  min-height: 50px !important;
  box-sizing: border-box !important;
}

/* Ensure ALL menu links (both <a> and <span>) fill their containers and center content */
.navigation-primary .submenu.level-1 > li > .menu-link,
.navigation-primary .submenu.level-1 > li > .menu-parent {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
}


.navigation-primary .submenu.level-1 > li.has-submenu {
  border-radius: 4px !important;
  transition: background-color 0.2s ease !important;
}

.navigation-primary .submenu.level-1 > li.has-submenu:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

.navigation-primary .submenu.level-1 > li > a:after,
.navigation-primary .submenu.level-1 > li > .menu-parent:after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -7px !important;
  width: 0 !important;
  height: 2px !important;
  background: currentColor !important;
  opacity: .6 !important;
  transition: width .4s ease !important;
}

.navigation-primary .submenu.level-1 > li:hover > a:after,
.navigation-primary .submenu.level-1 > li:hover > .menu-parent:after,
.navigation-primary .submenu.level-1 > li > a.active-item:after,
.navigation-primary .submenu.level-1 > li > .menu-parent.active-item:after {
  width: 100% !important;
}

/* NIVEL 2 – DESKTOP (Enterprise Tech Design) */
.navigation-primary .submenu.level-2 {
  position: fixed !important;
  top: calc(var(--header-height, 80px) + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: grid !important;
  grid-auto-rows: auto !important;
  gap: 0 !important;
  min-width: 265px !important;
  min-height: 160px !important;
  padding: 0 !important;
  background: #ffffff !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.15), 0 0 0 1px rgba(0,0,0,.05) !important;
  border-radius: 12px !important;
  border: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all .3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 200 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Mostrar submenús con clic (usando checkbox hidden) */
.navigation-primary .submenu.level-1 > li.has-submenu > input.submenu-toggle:checked ~ .submenu.level-2 {
  opacity: 1 !important;
  visibility: visible !important;
}

.navigation-primary li.has-submenu > input.submenu-toggle:checked ~ .submenu {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Títulos de sección Enterprise - Minimalist & Professional */
.navigation-primary .submenu.level-2 > li > .menu-link {
  display: block !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 0 0 12px 0 !important;
  color: #1e293b !important;
  border: none !important;
  margin-bottom: 16px !important; 
  background: transparent !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  line-height: 1.3 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  pointer-events: auto !important;
  z-index: 12 !important;
  position: relative !important;
  transition: color .2s ease !important;
  border-bottom: 2px solid #ed741b !important;
  padding-bottom: 8px !important;
}

.navigation-primary .submenu.level-2 > li > .menu-link:hover {
  color: #ed741b !important;
}

/* Columnas Enterprise - Sistema Grid */
.navigation-primary .submenu.level-2 > li {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 24px 20px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border: none !important;
  position: relative !important;
  width: 265px !important;
  min-width: 265px !important;
  max-width: 265px !important;
}

/* Items de navegación Enterprise */
.navigation-primary .submenu.level-3 {
  position: static !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  list-style: none !important;
}

.navigation-primary .submenu.level-3 li {
  padding: 0 !important;
  margin: 0 0 1px 0 !important;
  list-style: none !important;
}

.navigation-primary .submenu.level-3 .menu-link {
  display: block !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 10px 0 !important;
  width: 100% !important;
  text-align: left !important;
  color: #64748b !important;
  border-radius: 0 !important;
  transition: color .2s ease !important;
  text-decoration: none !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  pointer-events: auto !important;
  z-index: 15 !important;
  position: relative !important;
  border: none !important;
  border-left: 2px solid transparent !important;
  padding-left: 12px !important;
  margin-bottom: 2px !important;
  background: transparent !important;
  letter-spacing: 0 !important;
}

.navigation-primary .submenu.level-3 .menu-link:hover {
  color: #ed741b !important;
  border-left-color: #ed741b !important;
}

/* ═══════════════════════════════════════════════════
   MEJORAS PARA EL MENÚ MOBILE - UX/UI OPTIMIZADO
   ═══════════════════════════════════════════════════ */

/* ESTILOS PARA EL BOTÓN DE CERRAR MOBILE */
.mobile-menu-close {
  display: none !important;
  position: fixed !important;
  top: 24px !important;
  right: 24px !important;
  width: 44px !important;
  height: 44px !important;
  background: #e43c13 !important;
  border: none !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  z-index: 1001 !important;
  backdrop-filter: blur(4px) !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(237, 116, 27, 0.3) !important;
}

.mobile-menu-close:hover {
  background: rgba(212, 94, 7, 1) !important;
  transform: scale(1.1) !important;
  box-shadow: 0 6px 20px rgba(237, 116, 27, 0.4) !important;
}

.mobile-menu-close span {
  display: block !important;
  width: 18px !important;
  height: 2px !important;
  background: #fff !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 1px !important;
}

.mobile-menu-close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}

.mobile-menu-close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

@media (max-width: 767px) {
  .header__navigation {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: linear-gradient(135deg, #eb5411 0%, #eb5411 30%, #e43c13 60%, #e43c13 100%) !important;
    backdrop-filter: blur(8px) !important;
    z-index: 999 !important;
    padding: 100px 24px 40px !important;
    box-sizing: border-box !important;
    animation: slideInDown 0.3s ease-out !important;
  }
  
  .header__navigation.open {
    display: block !important;
  }

  .header__navigation.open .submenu.level-1 {
    display: block !important;
    text-align: left !important;
    max-width: 500px !important;
    margin: 0 auto !important;
  }

  .header__navigation.open .mobile-menu-close {
    display: block !important;
  }

  .menu-parent {
    cursor: pointer !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    padding: 18px 24px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin-bottom: 0 !important;
    transition: none !important;
    box-shadow: none !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
  }

  .menu-parent::after {
    content: "+" !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    transition: transform 0.2s ease !important;
    position: relative !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
  }

  input.submenu-toggle:checked + label + .menu-parent::after {
    transform: rotate(45deg) !important;
    color: #ffffff !important;
  }

  input.submenu-toggle:checked + label + .submenu.level-2 {
    display: block !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    margin: 8px 0 16px 0 !important;
    position: static !important;
    background: rgba(0, 0, 0, 0.15) !important;
    backdrop-filter: blur(10px) !important;
    border-radius: 8px !important;
    padding: 20px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  input.submenu-toggle:checked + label + .submenu.level-3 {
    display: block !important;
    width: 100% !important;
    margin-top: 8px !important;
  }

  .navigation-primary .submenu.level-1 > li,
  .navigation-primary .submenu.level-2 > li,
  .navigation-primary .submenu.level-3 > li {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    margin-bottom: 4px !important;
  }

  /* Títulos de categorías mobile */
  .navigation-primary .submenu.level-2 > li > .menu-link {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    padding: 0 0 12px 0 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 0 !important;
    margin-bottom: 16px !important;
    transition: none !important;
    display: block !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    box-shadow: none !important;
    line-height: 1.3 !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /* Links de items mobile */
  .navigation-primary .submenu.level-3 .menu-link {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    padding: 12px 0 !important;
    background: transparent !important;
    border: none !important;
    margin-bottom: 0 !important;
    transition: color 0.2s ease !important;
    display: block !important;
    text-decoration: none !important;
    box-shadow: none !important;
    line-height: 1.5 !important;
    position: relative !important;
    letter-spacing: 0 !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .navigation-primary .submenu.level-3 .menu-link:active {
    color: #ffffff !important;
  }

  .navigation-primary .submenu.level-2,
  .navigation-primary .submenu.level-3 {
    display: none !important;
  }

  @keyframes slideInDown {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes slideInUp {
    from {
      transform: translateY(20px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  .navigation-primary .submenu.level-1 {
    padding: 0 !important;
  }

  .navigation-primary .submenu.level-1 > li {
    padding: 0 !important;
    border-bottom: none !important;
  }
}

@media (min-width: 768px) {
  .menu-parent {
    cursor: pointer !important;
  }


  /* ELIMINAR TODAS LAS REGLAS DE HOVER PARA SUBMENÚS */
  .navigation-primary .submenu.level-1 > li.has-submenu:hover > .submenu.level-2 {
    opacity: 0 !important;
    visibility: hidden !important;
  }
  
  .menu-arrow {
    display: none !important;
  }
  
  .navigation-primary .submenu.level-1 > li.has-submenu > .menu-parent {
    cursor: pointer !important;
  }
  
  .navigation-primary li.has-submenu > label.menu-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    height: 100% !important;
    cursor: pointer !important;
    z-index: 10 !important;
    opacity: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .navigation-primary li.has-submenu > .menu-parent {
    position: relative !important;
    z-index: 5 !important;
    pointer-events: none !important;
    user-select: none !important;
  }

  .navigation-primary li.has-submenu > input.submenu-toggle:checked ~ .submenu.level-2 {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
  }

  .navigation-primary .submenu.level-3 {
    display: none !important;
  }
  
  .navigation-primary li.has-submenu > input.submenu-toggle:checked ~ .submenu.level-2 .submenu.level-3 {
    display: block !important;
  }

  .navigation-primary .submenu.level-2 {
    transform: translateX(-50%) translateY(0px) !important;
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease !important;
  }

  /* Sistema Enterprise - Layout inteligente auto-adaptativo */
  
  /* El contenedor se ajusta automáticamente al contenido */
  .navigation-primary .submenu.level-2 {
    width: fit-content !important;
    min-width: 265px !important;
    max-width: 1060px !important;
  }
  
  /* Grid con anchos exactos - Sin columnas fantasma - ALTA ESPECIFICIDAD */
  
  /* Para 1 elemento - MÁXIMA PRIORIDAD */
  .navigation-primary .submenu.level-1 > li.has-submenu > input.submenu-toggle:checked ~ .submenu.level-2:has(li:nth-child(1):nth-last-child(1)) {
    grid-template-columns: 265px !important;
    width: 265px !important;
    max-width: 265px !important;
    min-width: 265px !important;
  }
  
  /* Para 2 elementos */
  .navigation-primary .submenu.level-2:has(li:nth-child(2):nth-last-child(1)) {
    grid-template-columns: 265px 265px !important;
    width: 530px !important;
    max-width: 530px !important;
    min-width: 530px !important;
  }
  
  /* Para 3 elementos - REGLA GENÉRICA CON ALTA ESPECIFICIDAD */
  .navigation-primary .submenu.level-2.level-2:has(li:nth-child(3):nth-last-child(1)) {
    grid-template-columns: 265px 265px 265px !important;
    width: 795px !important;
    max-width: 795px !important;
    min-width: 795px !important;
  }
  
  /* Para 3 elementos - MÁXIMA PRIORIDAD */
  .navigation-primary .submenu.level-1 > li.has-submenu > input.submenu-toggle:checked ~ .submenu.level-2:has(li:nth-child(3):nth-last-child(1)) {
    grid-template-columns: 265px 265px 265px !important;
    width: 795px !important;
    max-width: 795px !important;
    min-width: 795px !important;
  }
  
  /* Para 4 elementos - TODOS EN LA PRIMERA FILA */
  .navigation-primary .submenu.level-2:has(li:nth-child(4):nth-last-child(1)) {
    grid-template-columns: 265px 265px 265px 265px !important;
    grid-template-rows: auto !important;
    width: 1060px !important;
    max-width: 1060px !important;
    min-width: 1060px !important;
  }
  
  /* Forzar que los 4 elementos estén en la primera fila */
  .navigation-primary .submenu.level-2:has(li:nth-child(4):nth-last-child(1)) > li:nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  
  .navigation-primary .submenu.level-2:has(li:nth-child(4):nth-last-child(1)) > li:nth-child(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  
  .navigation-primary .submenu.level-2:has(li:nth-child(4):nth-last-child(1)) > li:nth-child(3) {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }
  
  .navigation-primary .submenu.level-2:has(li:nth-child(4):nth-last-child(1)) > li:nth-child(4) {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }
  
  /* Para 5+ elementos - 4 columnas con auto-wrap */
  .navigation-primary .submenu.level-2:has(li:nth-child(5)) {
    grid-template-columns: 265px 265px 265px 265px !important;
    grid-auto-rows: auto !important;
    width: 1060px !important;
    max-width: 1060px !important;
    min-width: 1060px !important;
  }
  
  /* Regla por defecto para casos no especificados (fallback) */
  .navigation-primary .submenu.level-2:not(:has(li:nth-child(1):nth-last-child(1))):not(:has(li:nth-child(2):nth-last-child(1))):not(:has(li:nth-child(3):nth-last-child(1))):not(:has(li:nth-child(4):nth-last-child(1))) {
    grid-template-columns: 265px 265px 265px 265px !important;
    width: 1060px !important;
    max-width: 1060px !important;
    min-width: 1060px !important;
  }
  
  /* Forzar posicionamiento para 5+ elementos - primeros 4 en fila 1 */
  .navigation-primary .submenu.level-2:has(li:nth-child(5)) > li:nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  
  .navigation-primary .submenu.level-2:has(li:nth-child(5)) > li:nth-child(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  
  .navigation-primary .submenu.level-2:has(li:nth-child(5)) > li:nth-child(3) {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }
  
  .navigation-primary .submenu.level-2:has(li:nth-child(5)) > li:nth-child(4) {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }
  
  /* Del 5to elemento en adelante van en la segunda fila */
  .navigation-primary .submenu.level-2:has(li:nth-child(5)) > li:nth-child(5) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  
  .navigation-primary .submenu.level-2:has(li:nth-child(6)) > li:nth-child(6) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  
  .navigation-primary .submenu.level-2:has(li:nth-child(7)) > li:nth-child(7) {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }
  
  .navigation-primary .submenu.level-2:has(li:nth-child(8)) > li:nth-child(8) {
    grid-column: 4 !important;
    grid-row: 2 !important;
  }
  
  /* Separador visual SOLO para segunda fila (elemento 5 en adelante) */
  .navigation-primary .submenu.level-2:has(li:nth-child(5)) > li:nth-child(n+5) {
    border-top: 1px solid #f1f5f9 !important;
    padding-top: 32px !important;
    margin-top: 8px !important;
  }
  
  /* Asegurar que los primeros 4 elementos NO tengan separador */
  .navigation-primary .submenu.level-2 > li:nth-child(-n+4) {
    border-top: none !important;
    padding-top: 24px !important;
    margin-top: 0 !important;
  }
  
  /* Asegurar que el contenido no se desborde */
  .navigation-primary .submenu.level-2 > li > .menu-link,
  .navigation-primary .submenu.level-3 .menu-link {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
  }
  
  /* Responsive para pantallas medianas */
  @media (max-width: 1400px) {
    /* Para 1 elemento - ALTA ESPECIFICIDAD */
    .navigation-primary .submenu.level-1 > li.has-submenu > input.submenu-toggle:checked ~ .submenu.level-2:has(li:nth-child(1):nth-last-child(1)) {
      width: min(265px, 95vw) !important;
      max-width: min(265px, 95vw) !important;
      min-width: min(265px, 95vw) !important;
      grid-template-columns: min(265px, 95vw) !important;
    }
    
    /* Para 2 elementos */
    .navigation-primary .submenu.level-2:has(li:nth-child(2):nth-last-child(1)) {
      width: min(530px, 95vw) !important;
      max-width: min(530px, 95vw) !important;
      min-width: min(530px, 95vw) !important;
      grid-template-columns: minmax(200px, 1fr) minmax(200px, 1fr) !important;
    }
    
    /* Para 3 elementos - ALTA ESPECIFICIDAD */
    .navigation-primary .submenu.level-1 > li.has-submenu > input.submenu-toggle:checked ~ .submenu.level-2:has(li:nth-child(3):nth-last-child(1)),
    .navigation-primary .submenu.level-2.level-2:has(li:nth-child(3):nth-last-child(1)) {
      width: min(795px, 95vw) !important;
      max-width: min(795px, 95vw) !important;
      min-width: min(795px, 95vw) !important;
      grid-template-columns: repeat(3, minmax(200px, 1fr)) !important;
    }
    
    /* Para 4+ elementos */
    .navigation-primary .submenu.level-2:has(li:nth-child(4):nth-last-child(1)),
    .navigation-primary .submenu.level-2:has(li:nth-child(5)) {
      width: min(1060px, 95vw) !important;
      max-width: min(1060px, 95vw) !important;
      min-width: min(1060px, 95vw) !important;
      grid-template-columns: repeat(4, minmax(200px, 1fr)) !important;
    }
    
    .navigation-primary .submenu.level-2 > li {
      min-width: 200px !important;
      width: 100% !important;
    }
  }
  
  /* Responsive para pantallas pequeñas - cambiar a 2 columnas */
  @media (max-width: 900px) {
    .navigation-primary .submenu.level-2 {
      grid-template-columns: repeat(2, 1fr) !important;
      max-width: 95vw !important;
    }
    
    /* Override para todos los casos en pantallas pequeñas */
    .navigation-primary .submenu.level-2:has(li:nth-child(1):nth-last-child(1)),
    .navigation-primary .submenu.level-2:has(li:nth-child(2):nth-last-child(1)),
    .navigation-primary .submenu.level-2:has(li:nth-child(3):nth-last-child(1)),
    .navigation-primary .submenu.level-2:has(li:nth-child(4):nth-last-child(1)),
    .navigation-primary .submenu.level-2:has(li:nth-child(5)) {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }
}

/* REGLA ESPECÍFICA PARA 4 ELEMENTOS EN PANTALLAS 1200px+ */
@media (min-width: 1200px) {
  .navigation-primary .submenu.level-1 > li.has-submenu > input.submenu-toggle:checked ~ .submenu.level-2:has(li:nth-child(4):nth-last-child(1)) {
    grid-template-columns: 265px 265px 265px 265px !important;
    width: 1060px !important;
    max-width: 1060px !important;
    min-width: 1060px !important;
    background: #ffffff !important;
    position: fixed !important;
    top: calc(var(--header-height, 80px) + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.15), 0 0 0 1px rgba(0,0,0,.05) !important;
    border-radius: 12px !important;
    z-index: 200 !important;
  }
}

/* ACCESIBILIDAD & INLINE EDIT */
.navigation-primary li.focus > .submenu.level-2 {
  opacity: 1 !important;
  visibility: visible !important;
}

.hs-inline-edit .navigation-primary .submenu.level-1 > li.has-submenu:hover > .submenu.level-2 {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* CORRECCIÓN ESPECÍFICA PARA 3 ELEMENTOS - MÁXIMA PRIORIDAD */
@media (min-width: 768px) {
  .navigation-primary .submenu.level-2:has(li:nth-child(3):nth-last-child(1)) {
    grid-template-columns: 265px 265px 265px !important;
    width: 795px !important;
    max-width: 795px !important;
    min-width: 795px !important;
  }
}

.header__language-switcher.open,
.header__navigation.open {
  background-color: transparent !important;
}

body.mobile-menu-open {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
}

@media (max-width: 767px) {
  .header__close--toggle.show {
    display: none !important;
  }
}
.header__search--toggle.hide {
   
    z-index: 10 !important;
}

/*Modificaciones large promo*/

.large-promo {
  padding: 101px 12%; !important
}

/* ========================================== */
/* SOLUCIÓN JAVASCRIPT PARA DETECCIÓN AUTOMÁTICA */
/* ========================================== */

/* Clases auxiliares para JavaScript */
.navigation-primary .submenu.level-2.has-1-col {
  grid-template-columns: 265px !important;
  width: 265px !important;
}

.navigation-primary .submenu.level-2.has-2-cols {
  grid-template-columns: 265px 265px !important;
  width: 530px !important;
}

.navigation-primary .submenu.level-2.has-3-cols {
  grid-template-columns: 265px 265px 265px !important;
  width: 795px !important;
  max-width: 795px !important;
  min-width: 795px !important;
}

.navigation-primary .submenu.level-2.has-4-cols,
.navigation-primary .submenu.level-2.has-5plus-cols {
  grid-template-columns: 265px 265px 265px 265px !important;
  width: 1060px !important;
  max-width: 1060px !important;
  min-width: 1060px !important;
}