/* 
 * Estilos responsivos para el sitio
 */

/* Estilos adicionales para manejar la duplicación de elementos */

/* Mostrar elementos responsivos en pantallas medianas y pequeñas */
@media (max-width: 992px) {
  .header-right-elements {
    display: none !important;
  }

  /* Ocultar el logo original en pantallas medianas y pequeñas */
  .col-header-left {
    display: none !important;
  }

  /* Mostrar el logo responsivo */
  .col-header-left-responsive {
    display: block !important;
  }
}

/* Asegurar que el logo sea visible en pantallas grandes */
@media (min-width: 993px) {
  .col-header-left {
    display: block !important;
  }

  .col-header-left-responsive {
    display: none !important;
  }
}

/* Pantallas grandes (superiores a 992px) */
@media (min-width: 993px) {
  /* Ocultar elementos responsivos en pantallas grandes */
  .col-header-left-responsive,
  .language-selector-responsive,
  .corporate-menu-responsive,
  .cart-nav-responsive,
  .search-container-responsive,
  .contact-form-container-responsive,
  .personal-area-responsive,
  .mobile-first-row,
  .mobile-second-row,
  .mobile-third-row {
    display: none !important;
  }

  /* Estructura principal para pantallas grandes */
  .header-main-container {
    margin-bottom: 0;
    padding: 0px 20px;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
  }

  /* Ocultar contenedores responsivos en pantallas grandes */
  .first-row-container,
  .second-row-container,
  .third-row-container {
    display: none !important;
  }

  /* Primera fila: Logo + elementos de la derecha */
  .header-main-container > .row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 15px;
    padding: 0;
  }

  /* Logo a la izquierda */
  .col-header-left {
    order: 1;
    flex: 0 0 auto;
    display: block !important;
    /* margin-right: auto; */
  }

  /* Asegurar que el logo sea visible */
  .col-header-left img,
  .col-header-left .logo,
  .col-header-left a,
  .col-header-left * {
    display: block !important;
    /* max-height: 60px; */
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Forzar visibilidad del hook del logo */
  .col-header-left {
    /* min-width: 150px !important; */
    /* height: auto !important;
    overflow: visible !important; */
    /* margin-left: 15px !important;
    margin-right: 20px !important; */
    width: 147px;
    height: 46px;
  }

  /* Forzar visibilidad de todos los elementos del logo */
  .col-header-left .logo-link,
  .col-header-left .logo-standard,
  .col-header-left .logo-premium {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 300px !important;
    width: 147px;
    height: 46px !important;
  }

  /* .logo-premium {
    width: 250px;
  } */

  /* Elementos de la derecha */
  .header-right-elements {
    order: 2;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-left: auto;
  }

  /* Elementos individuales de la derecha - orden natural del template */
  .language-selector,
  .corporate-menu,
  .personal-area,
  .cart-nav {
    display: inline-flex !important;
    margin: 0 10px;
  }

  /* Estilos de texto para elementos de navegación superior */
  .language-selector .iso,
  .corporate-menu #vivofacil-corporativo,
  .personal-area #area-personal {
    font-size: 25px !important;
    font-weight: 400 !important;
    color: #02648f !important;
  }

  /* Ocultar búsqueda y contacto de la primera fila completamente */
  .header-right-elements .search-container,
  .header-right-elements .contact-form-container,
  .header-right-elements .header-search-btn-w,
  .header-right-elements .contacto-container {
    display: none !important;
  }

  /* Segunda fila: Mega menú con acciones */
  .mega-menu-with-actions {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    /* width: 100vw !important; */
    margin-top: 0 !important;
    padding: 10px 15px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  /* Sección del mega menú */
  .mega-menu-section {
    flex: 1 !important;
    margin-right: 20px !important;
    max-width: calc(100% - 150px) !important;
  }

  /* Sección de acciones (búsqueda y contacto) */
  .menu-actions-section {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    padding-left: 20px !important;
    padding-right: 26px !important;
    padding-top: 15px !important;
    justify-content: flex-end !important;
  }

  /* Contenedores específicos para búsqueda y contacto en el menú */
  .search-container-menu,
  .contact-form-container-menu {
    display: inline-flex !important;
  }

  /* Estilos específicos para los elementos en la sección de acciones */
  .menu-actions-section .header-btn-w {
    width: 40px !important;
    height: 40px !important;
    border: 2px solid #02648f !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }

  .menu-actions-section .contacto-container {
    display: inline-flex !important;
    flex-shrink: 0 !important;
  }

  .menu-actions-section .contacto-container .btn {
    white-space: nowrap !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
    min-width: auto !important;
  }

  /* Asegurar que los botones estén bien alineados verticalmente */
  .menu-actions-section > * {
    align-self: center !important;
  }

  /* Estilos para el contador del carrito */
  .cart-products-count-top-menu {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #fe5000;
    color: white;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    /* align-items: center; */
    justify-content: center;
    font-size: 13px;
    font-weight: 400;
    flex-wrap: nowrap;
    align-content: center !important;
    align-items: flex-end;
  }

  /* Mega menú dentro de su sección */
  .mega-menu-section .custom-mega-menu {
    display: block !important;
    position: relative;
    width: 100%;
    margin-top: 0;
  }

  /* Contenedor principal del mega menú - estructura vertical */
  .mega-menu-section .custom-mega-menu {
    display: block !important;
    position: relative !important;
    width: 100%;
  }

  /* Contenedor separado para todos los submenús nivel 2 */
  .submenu-level-2-container {
    position: relative !important;
    width: 100% !important;
    margin-top: 10px !important;
    height: auto !important;
    /* overflow: hidden !important; */
  }

  /* Ocultar específicamente los submenús que no son el primero */
  .submenu-level-2-container .submenu-level-2:not([data-parent="0"]) {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Ocultar cualquier contenido de texto suelto que pueda estar apareciendo */
  .mega-menu-section::after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    overflow: hidden;
  }

  /* Asegurar que no haya contenido flotante */
  .mega-menu-section {
    overflow: hidden !important;
    position: relative !important;
  }

  /* Primera subfila: Menú nivel 1 (Particulares, Empresas, Autónomos) */
  .main-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-bottom: 10px !important;
    order: 1 !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
  }

  /* Elementos del menú nivel 1 */
  .menu-item.level-1 {
    display: block !important;
    margin-right: 20px !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    flex-shrink: 0 !important;
    position: static !important;
  }

  /* Los elementos nivel 1 ahora están completamente separados */

  .menu-link {
    position: relative;
    font-weight: 400;
    font-size: 25px;
    text-decoration: none;
    color: #02648f !important;
    display: inline-block;
    padding: 0.5rem 0;
    transition: color 0.2s ease;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
  }

  .menu-item.level-1.active .menu-link {
    /* border-bottom: 2px solid #fe5000; */
    color: #fe5000;
  }

  /* Segunda subfila: Submenús nivel 2 (Hogar, Salud, Cuidados, etc.) */
  .submenu-level-2-container .submenu-level-2 {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 999;
    margin-top: 0;
    float: none !important;
    clear: none !important;
  }

  /* Forzar que todos los submenús estén ocultos */
  .submenu-level-2-container .submenu-level-2 {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
  }

  /* Mostrar solo el primer submenu por defecto */
  .submenu-level-2-container .submenu-level-2[data-parent="0"] {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
  }

  /* Mostrar submenu activo basado en data-parent */
  .submenu-level-2-container .submenu-level-2.active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
  }

  /* Contenedor de elementos nivel 2 */
  .submenu-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px;
    padding: 10px 0;
    flex-wrap: wrap;
  }

  /* Elementos individuales nivel 2 */
  .submenu-item.level-2 {
    display: inline-block !important;
    padding: 5px !important;
    margin: 0 1px !important;
    transition: background-color 0.2s ease !important;
  }

  .submenu-link {
    position: relative;
    font-weight: 400;
    font-size: 25px;
    text-decoration: none;
    color: #02648f !important;
    display: inline-block;
    padding: 0 !important;
    transition: color 0.2s ease;
    white-space: nowrap;
  }

  .submenu-item.level-2:hover {
    background-color: #fe5000 !important;
    border-radius: 5px 5px 0 0 !important;
  }

  .submenu-item.level-2:hover .submenu-link {
    color: white !important;
  }
}

/* Pantallas medianas y pequeñas (menores a 992px) */
@media (max-width: 992px) {
  /* Forzar visibilidad de elementos responsive */
  .col-header-left-responsive,
  .language-selector-responsive,
  .corporate-menu-responsive,
  .cart-nav-responsive,
  .search-container-responsive,
  .contact-form-container-responsive,
  .personal-area-responsive {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Ocultar elementos específicos para móviles en pantallas medianas */
  .mobile-first-row,
  .mobile-second-row,
  .mobile-third-row {
    display: none !important;
  }

  /* Forzar visibilidad específica del logo responsive */
  .col-header-left-responsive,
  .col-header-left-responsive *,
  .col-header-left-responsive img,
  .col-header-left-responsive a,
  .col-header-left-responsive .logo,
  .col-header-left-responsive .logo-link,
  .col-header-left-responsive .logo-standard,
  .col-header-left-responsive .logo-premium {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    max-width: 200px !important;
    height: auto !important;
  }

  /* Forzar que el contenedor del logo sea visible */
  .first-row-container .col-header-left-responsive {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 999 !important;
  }

  /* Reglas específicas para el hook displayLogo */
  .col-header-left-responsive [data-hook="displayLogo"],
  .col-header-left-responsive .hook-displayLogo,
  .col-header-left-responsive #header_logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Ocultar los nuevos contenedores de búsqueda y contacto del menú */
  .search-container-menu,
  .contact-form-container-menu,
  .menu-actions-section {
    display: none !important;
  }

  /* Contenedor principal */
  .header-main-container {
    padding: 0px 15px;
    width: 100%;
  }

  /* Ocultar estructura original */
  .header-right-elements {
    display: none !important;
  }

  /* Fila principal - contenedor flexible */
  .header-main-container > .row {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  /* Primera fila: Logo a la izquierda, elementos a la derecha */
  .first-row-container {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin-bottom: 15px !important;
    position: relative !important;
    justify-content: flex-start;
    align-content: center;
  }

  /* Contenedor real para elementos de la derecha */
  .right-elements-container {
    display: flex !important;
    align-items: center !important;
    /* gap: 20px !important; */
    margin-left: auto !important;
    margin-right: 15px !important;
    order: 999 !important;
  }

  /* Logo a la izquierda - forzar visibilidad */
  .col-header-left-responsive {
    order: 0 !important;
    flex: 0 0 auto !important;
    margin-right: auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-width: 130px !important;
    max-width: 180px !important;
    height: auto !important;
    overflow: visible !important;
    margin-left: 15px !important;
    background: transparent !important;
    z-index: 10 !important;
  }

  /* Forzar visibilidad de todos los elementos del logo */
  .col-header-left-responsive .logo-link,
  .col-header-left-responsive .logo-standard,
  .col-header-left-responsive .logo-premium,
  .col-header-left-responsive img,
  .col-header-left-responsive a,
  .col-header-left-responsive * {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 140px !important;
    height: auto !important;
    max-height: 50px !important;
  }

  /* Asegurar que el hook del logo sea visible */
  .col-header-left-responsive {
    background: transparent !important;
    z-index: 10 !important;
  }

  /* Elementos de la derecha agrupados */
  .language-selector-responsive,
  .corporate-menu-responsive,
  .cart-nav-responsive {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .cart-link {
    padding-left: 0px !important;
  }

  /* Posicionamiento específico para cada elemento */
  .language-selector-responsive {
    order: 1 !important;
  }

  .corporate-menu-responsive {
    order: 2 !important;
  }

  .cart-nav-responsive {
    order: 3 !important;
  }

  /* Estilos de texto para elementos de navegación superior */
  .language-selector-responsive .iso,
  .corporate-menu-responsive #vivofacil-corporativo,
  .personal-area-responsive #area-personal {
    font-size: 22px !important;
    font-weight: 400 !important;
    /* color: #02648f !important; */
  }

  /* Segunda fila: búsqueda, contacto, área personal */
  .second-row-container {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 15px;
    flex-direction: row;
    justify-content: flex-end;
  }

  /* Ocultar tercera fila en pantallas medianas */
  .third-row-container {
    display: none !important;
  }

  /* Búsqueda */
  .search-container-responsive {
    order: 2;
    /* margin-right: auto; */
  }

  /* Contacto */
  .contact-form-container-responsive {
    order: 1;
    margin: 0 10px;
  }

  /* Área Personal - forzar visibilidad completa */
  .personal-area-responsive {
    order: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
  }

  /* Forzar visibilidad del texto del área personal */
  .personal-area-responsive #area-personal,
  .personal-area-responsive a,
  .personal-area-responsive span,
  .personal-area-responsive * {
    /* display: inline-block !important; */
    visibility: visible !important;
    opacity: 1 !important;
    /* color: #02648f !important; */
    font-size: 22px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
  }

  /* Asegurar que el enlace del área personal sea visible */
  .personal-area-responsive .dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Tercera fila: Mega menú nivel 1 - ahora al 100% */
  .custom-mega-menu {
    width: 100% !important;
    margin-bottom: 10px !important;
    position: relative !important;
  }

  /* Forzar que el contenedor row del mega menú ocupe todo el ancho con márgenes */
  .mega-menu-row {
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
  }

  /* Forzar que el contenido del mega menú respete los márgenes */
  .mega-menu-with-actions {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Asegurar que el row padre también ocupe el 100% */
  .mega-menu-with-actions .row,
  .mega-menu-with-actions .col-12 {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mega-menu-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
  }

  .main-menu {
    display: flex;
    flex-wrap: nowrap;
    overflow: visible !important;
    padding-bottom: 5px;
    position: sticky !important;
    /* z-index: 10 !important; */
  }

  /* Asegurar que la línea azul esté debajo del nivel 1 */
  .main-menu::after {
    z-index: 15 !important;
    position: absolute !important;
    bottom: -10.5px !important;
  }

  /* Ajustar tamaño de fuente del menú nivel 1 en pantallas medianas */
  .menu-link {
    font-size: 22px !important;
  }

  /* Ajustar tamaño de botones en pantallas medianas */
  .header-btn-w {
    width: 35px !important;
    height: 35px !important;
  }

  /* Ajustar tamaño de fuente de botones */
  .contact-form-container .btn,
  .contact-form-container-responsive .btn {
    font-size: 13px !important;
    padding: 6px 12px !important;
  }

  /* Ajustar contador del carrito */
  .cart-products-count-top-menu {
    width: 20px !important;
    height: 20px !important;
    font-size: 12px !important;
  }

  /* Cuarta fila: Submenu nivel 2 - comportamiento como pantallas grandes */
  .submenu-level-2 {
    position: relative !important;
    width: 100% !important;
    left: 0 !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 5 !important;
    margin-top: 10px !important;
  }

  /* Mostrar solo el primer submenu por defecto */
  .submenu-level-2[data-parent="0"] {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Mostrar submenu cuando el item padre está activo */
  .menu-item.level-1.active .submenu-level-2 {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Contenedor de elementos nivel 2 - con wrap para múltiples filas */
  .submenu-container {
    display: flex !important;
    flex-direction: row !important;
    gap: 1px !important;
    padding: 3px 0 !important;
    max-width: none !important;
    margin: 0 !important;
    top: 0 !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    justify-content: flex-start !important;
  }

  /* Elementos nivel 2 - mantener tamaño fijo como pantallas grandes */
  .submenu-item {
    display: inline-block !important;
    /* margin: 0 2px !important; */
    padding: 2px 3px !important;
    border-radius: 5px !important;
    background: transparent !important;
    transition: background-color 0.2s ease !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    width: auto !important;
    min-width: unset !important;
  }

  /* Enlaces nivel 2 - tamaño reducido para pantallas medianas */
  .submenu-link {
    position: relative !important;
    font-weight: 400 !important;
    font-size: 22px !important;
    text-decoration: none !important;
    color: #02648f !important;
    display: inline-block !important;
    padding: 0 !important;
    transition: color 0.2s ease !important;
    white-space: nowrap !important;
    border-bottom: none !important;
  }

  /* Efectos hover nivel 2 - como pantallas grandes */
  .submenu-item:hover {
    background-color: #fe5000 !important;
    border-radius: 5px 5px 0 0 !important;
    transition: background-color 0.2s ease !important;
    width: auto !important;
    min-width: unset !important;
    flex: 0 0 auto !important;
  }

  .submenu-item:hover .submenu-link {
    color: white !important;
  }

  /* Nivel 3 - responsive con límite de ancho */
  .submenu-level-3 {
    position: fixed !important;
    /* top: auto !important; */
    /* left: auto !important; */
    background: #fe5000 !important;
    min-width: 250px !important;
    transform: none !important;
    width: auto !important;
    /* max-width: calc(100vw - 30px) !important; */
    max-width: calc(100vw - 280px) !important;
    z-index: 99999 !important;
    display: none !important;
    padding: 7px !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* Nivel 3 con una sola columna - ancho ajustado al contenido */
  .submenu-level-3[data-columns="1"] {
    width: max-content !important;
    min-width: 250px !important;
    max-width: 400px !important;
  }

  /* Contenido del nivel 3 - flexible */
  .submenu-level-3 .mega-menu-content {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    align-items: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  /* TODOS los elementos del nivel 3 en UNA SOLA COLUMNA para pantallas <992px - FORZAR SOBRE OTROS ESTILOS */
  .submenu-level-3 .mega-menu-content,
  .submenu-level-3.with-media .mega-menu-content {
    flex-direction: column !important;
    width: 320px !important;
    max-width: 320px !important;
    min-width: 320px !important;
    max-height: 400px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255, 255, 255, 0.3) transparent !important;
  }

  /* Scroll personalizado para webkit */
  .submenu-level-3 .mega-menu-content::-webkit-scrollbar {
    width: 2px !important;
  }

  .submenu-level-3 .mega-menu-content::-webkit-scrollbar-track {
    background: transparent !important;
  }

  .submenu-level-3 .mega-menu-content::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3) !important;
    border-radius: 1px !important;
  }

  .submenu-level-3 .mega-menu-content::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5) !important;
  }

  /* Ocultar flechas del scroll */
  .submenu-level-3 .mega-menu-content::-webkit-scrollbar-button {
    display: none !important;
  }

  /* TODAS las columnas del nivel 3 en UNA SOLA COLUMNA para pantallas <992px */
  .submenu-level-3 .menu-column {
    flex: 0 0 auto !important;
    width: 300px !important;
    max-width: 300px !important;
    min-width: 300px !important;
    padding: 5px 10px !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
  }

  /* TODOS los separadores ocultos para pantallas <992px */
  .submenu-level-3 .menu-column.has-divider::after {
    display: none !important;
  }

  /* TODAS las media columns con ancho fijo para pantallas <992px - FORZAR VISIBILIDAD */
  .submenu-level-3 .media-column,
  .submenu-level-3 .row-level-3 .media-column,
  .submenu-level-3.with-media .media-column,
  .submenu-level-3.with-media .row-level-3 .media-column {
    width: 300px !important;
    max-width: 300px !important;
    min-width: 300px !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    order: 999 !important;
    z-index: 10 !important;
  }

  .submenu-level-3 .media-column::before,
  .submenu-level-3 .row-level-3 .media-column::before {
    display: none !important;
  }

  /* Row del nivel 3 - layout vertical para pantallas <992px - FORZAR SOBRE OTROS ESTILOS */
  .submenu-level-3 .row-level-3,
  .submenu-level-3 .mega-menu-content .row-level-3 {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Asegurar que los menús no se desborden */
  .nav-list {
    display: flex;
    flex-wrap: nowrap;
  }

  .nav-item {
    /* white-space: nowrap; */
    margin-right: 15px;
  }

  /* Ajustes para el botón de contacto */
  .contact-form-container .btn {
    white-space: nowrap;
  }

  /* Ajustes para el área personal */
  #area-personal {
    white-space: nowrap;
  }
}

@media (min-width: 993px) {
  .submenu-level-2 {
    overflow: visible !important;
    /* Permite que el nivel 3 se muestre fuera */
    min-height: auto !important;
    /* Elimina cualquier altura fija */
  }

  .submenu-container {
    overflow: visible !important;
    /* Contenedor interno también debe permitirlo */
    position: relative;
    /* Establece contexto de apilamiento */
  }
}

@media (min-width: 993px) {
  .mega-menu-section {
    position: static !important;
    /* Elimina contexto de posicionamiento */
    overflow: visible !important;
    /* Permite contenido externo */
  }

  .submenu-level-2-container {
    position: static !important;
    overflow: visible !important;
    height: auto !important;
  }
}

@media (max-width: 993px) {
  .submenu-level-3 .media-column,
  .submenu-level-3 .row-level-3 .media-column,
  .submenu-level-3.with-media .media-column,
  .submenu-level-3.with-media .row-level-3 .media-column {
    height: auto !important;
  }

  .submenu-level-3 .mega-menu-content,
  .submenu-level-3.with-media .mega-menu-content {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 576px) {
  /* =================================================================== */
  /* ========== AJUSTES GLOBALES PARA PANTALLAS PEQUEÑAS ========== */
  /* =================================================================== */

  /* --- TAMAÑO DE FUENTE GENERAL --- */
  .language-selector-responsive a,
  .language-selector-responsive span,
  .corporate-menu-responsive a,
  .personal-area-responsive a,
  .personal-area-responsive .dropdown-item,
  .menu-link,
  .submenu-link {
    font-size: 14px !important;
  }

  /* --- TAMAÑO DEL LOGO --- */
  .col-header-left-responsive img {
    max-height: 28px !important;
  }

  /* --- TAMAÑO DE ICONOS HEADER (CARRITO, LUPA, CONTACTO) --- */
  .cart-nav-responsive .header-btn-w,
  .search-container-responsive .header-btn-w,
  .contact-form-container-responsive .header-btn-w {
    width: 20px !important;
    height: 20px !important;
  }

  .cart-nav-responsive .header-btn-w i,
  .search-container-responsive .header-btn-w i,
  .contact-form-container-responsive .header-btn-w i {
    font-size: 14px !important;
    /* Ajustar si son icon-fonts */
  }

  /* --- TAMAÑO CONTADOR CARRITO --- */
  .cart-nav-responsive .cart-products-count-top-menu {
    font-size: 7px !important;
    width: 10px !important;
    height: 10px !important;
    top: -4px !important;
    right: -4px !important;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
  }

  .col-header-left-responsive .logo-link,
  .col-header-left-responsive .logo-standard,
  .col-header-left-responsive .logo-premium,
  .col-header-left-responsive img,
  .col-header-left-responsive a,
  .col-header-left-responsive * {
    max-width: 80px !important;
  }

  .col-header-left-responsive {
    max-width: 80px !important;
    min-width: 80px !important;
  }

  .language-selector-responsive .iso,
  .corporate-menu-responsive #vivofacil-corporativo,
  .personal-area-responsive #area-personal {
    font-size: 14px !important;
  }

  .selected-lang {
    gap: 0px !important;
    padding: 0px !important;
  }

  .nav-link.dropdown-trigger {
    gap: 0px !important;
    padding: 0px !important;
  }

  .language-selector-custom {
    min-width: min-content !important;
  }

  .container {
    width: 100%;
    padding-right: 5px;
    padding-left: 5px;
    margin-right: 0px;
    margin-left: 0px;
  }

  i.fa.fa-shopping-cart {
    font-size: 14px !important;
  }

  .right-elements-container {
    gap: 0px !important;
  }

  .cart-link {
    padding: 0px !important;
  }

  .lang-dropdown {
    min-width: min-content !important;
    padding: 0px !important;
  }

  .btn-contacto {
    font-size: 14px !important;
    padding: 3px 5px !important;
    min-height: unset !important;
  }

  #header-search-btn-drop span {
    font-size: 14px !important;
  }

  /* .header-btn-w {
    margin-left: 8px !important;
  } */

  .nav-item {
    margin: 2px;
  }

  #area-personal svg {
    width: 14px !important;
    height: 10px !important;
  }

  .dropdown-arrow {
    width: 7px !important;
    height: 7px !important;
  }

  .personal-area-responsive #area-personal,
  .personal-area-responsive a,
  .personal-area-responsive span,
  .personal-area-responsive * {
    padding: 2px 3px !important;
    display: flex;
    align-content: center;
    /* flex-wrap: wrap; */
    align-items: center;
  }

  .menu-link {
    padding: 2px 5px;
    font-size: 14px;
  }

  .cart-arrow {
    margin-left: 0px !important;
    width: 7px;
  }

  .first-row-container {
    margin-bottom: 5px !important;
  }

  .right-elements-container {
    gap: 0px !important;
    margin-left: 0px !important;
    margin-right: 0px !important;
  }

  #dropdown-menu-area-presonal {
    padding: 0px;
    width: -webkit-fill-available;
    top: 23px;
    min-width: unset;
    margin: 2px 3px !important;
  }

  #dropdown-menu-area-presonal .nav-item.nav-image-item {
    padding: 5px 0px 5px;
    margin: 0px !important;
  }

  .header-main-container {
    /* padding: 0px 5px; */
    width: 100%;
  }

  .second-row-container {
    margin-bottom: 0px;
  }

  /* --- TAMAÑO FUENTE NIVELES 3 Y 4 DEL MENÚ --- */
  .submenu-level-3 .menu-link,
  .submenu-level-4 .menu-link,
  .submenu-level-3-container .submenu-link,
  .submenu-level-4-container .submenu-link {
    font-size: 14px !important;
  }

  .nivel-3-enlace {
    font-size: 14px;
  }

  .nivel-4-enlace {
    font-size: 14px;
  }

  .second-row-container {
    display: flex;
    align-items: center;
    width: 100%;
    flex-direction: row;
    /* justify-content: flex-start; */
  }

  .contacto-dropdown {
    width: auto !important;
  }

  /* --- TAMAÑO FUENTE FORMULARIO CONTACTO --- */

  .contacto-titulo {
    font-size: 14px !important;
  }

  .contacto-dropdown .form-label,
  .contacto-dropdown .form-control,
  .contacto-dropdown .btn {
    font-size: 14px !important;
  }

  .contacto-dropdown input::placeholder {
    font-size: 14px !important;
  }

  .contacto-dropdown textarea::placeholder {
    font-size: 14px !important;
  }

  .btn-llamada {
    font-size: 14px !important;
  }

  .dropdown-search {
    /* right: auto !important; */
    left: auto !important;
    width: auto !important;
  }

  .personal-area-responsive #area-personal,
  .personal-area-responsive a,
  .personal-area-responsive span,
  .personal-area-responsive * {
    font-size: 14px !important;
  }

  .nav-image {
    padding: 5px;
    width: 150px;
    height: 150px;
  }

  .submenu-level-3 .mega-menu-content,
  .submenu-level-3.with-media .mega-menu-content {
    width: 160px !important;
    max-width: 320px !important;
    min-width: 50px !important;
    height: 200px !important;
  }

  .submenu-level-3,
  .submenu-level-3[data-columns="1"] {
    width: auto !important;
    display: flex;
    min-width: 50px !important;
    max-width: 400px !important;
  }

  .submenu-level-3 .menu-column {
    max-width: 150px !important;
    min-width: 150px !important;
    padding: 2px 3px !important;
    margin-bottom: 2px !important;
  }

  .submenu-level-3 .media-column,
  .submenu-level-3 .row-level-3 .media-column,
  .submenu-level-3.with-media .media-column,
  .submenu-level-3.with-media .row-level-3 .media-column {
    width: auto !important;
    max-width: 150px !important;
    min-width: auto !important;
  }
}
