/**
 * Menú Hamburguesa Funcional - CSS Agresivo
 * Sobrescribe todos los estilos de Elementor
 */

/* IMPORTANTE: !important para sobrescribir Elementor */

/* El contenedor off-canvas */
#off-canvas-1d5554f {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 99999 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transition: visibility 0s 0.3s, opacity 0.3s ease !important;
}

/* Cuando está activo */
#off-canvas-1d5554f.active {
    visibility: visible !important;
    opacity: 1 !important;
    transition: visibility 0s 0s, opacity 0.3s ease !important;
}

/* Overlay - fondo oscuro */
.e-off-canvas__overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.7) !important;
    cursor: pointer !important;
}

/* Contenedor principal del menú */
.e-off-canvas__main {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    height: 100% !important;
    width: 300px !important;
    max-width: 80vw !important;
    transform: translateX(100%) !important;
    transition: transform 0.3s ease-in-out !important;
    z-index: 100000 !important;
}

/* Cuando el menú está activo */
#off-canvas-1d5554f.active .e-off-canvas__main {
    transform: translateX(0) !important;
}

/* Contenido del menú */
.e-off-canvas__content {
    height: 100% !important;
    overflow-y: auto !important;
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.3) !important;
}

/* Responsive */
@media (max-width: 480px) {
    .e-off-canvas__main {
        width: 250px !important;
    }
}

@media (min-width: 481px) and (max-width: 768px) {
    .e-off-canvas__main {
        width: 280px !important;
    }
}

@media (min-width: 769px) {
    .e-off-canvas__main {
        width: 320px !important;
    }
}
