/**
 * Corrección del Sidebar para Dispositivos Móviles
 * Soluciona el problema de elementos montados en el menú
 * Fecha: Noviembre 2025
 */

/* ============================================
   Correcciones para dispositivos móviles
   ============================================ */

@media (max-width: 767px) {
    
    /* Asegurar que el sidebar tenga el alto correcto */
    .main-sidebar {
        position: fixed;
        height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        z-index: 1050;
    }

    /* Forzar que la sección del sidebar tenga altura automática */
    .main-sidebar .sidebar {
        padding-bottom: 50px;
        min-height: 100%;
    }

    /* Corregir el menú del sidebar */
    .sidebar-menu {
        overflow: visible !important;
        height: auto !important;
        min-height: auto !important;
    }

    /* Asegurar que cada ítem del menú tenga su espacio */
    .sidebar-menu > li {
        position: relative !important;
        display: block !important;
        clear: both !important;
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }

    /* Corregir links del menú principal */
    .sidebar-menu > li > a {
        display: block !important;
        width: 100% !important;
        padding: 12px 5px 12px 15px !important;
        position: relative !important;
        clear: both !important;
    }

    /* Corregir headers del menú */
    .sidebar-menu li.header {
        display: block !important;
        width: 100% !important;
        clear: both !important;
        position: relative !important;
        padding: 10px 25px 10px 15px !important;
        margin-top: 5px !important;
    }

    /* Corregir submenús (treeview) */
    .sidebar-menu .treeview {
        position: relative !important;
        display: block !important;
        clear: both !important;
        width: 100% !important;
    }

    /* Asegurar que los submenús tengan altura automática */
    .treeview-menu {
        display: none;
        list-style: none;
        padding: 0;
        margin: 0;
        padding-left: 5px;
        position: relative !important;
        clear: both !important;
        width: 100% !important;
        background: transparent !important;
    }

    /* Cuando el submenú está activo */
    .sidebar-menu .menu-open > .treeview-menu,
    .sidebar-menu .active > .treeview-menu {
        display: block !important;
        position: relative !important;
        clear: both !important;
    }

    /* Ítems del submenú */
    .treeview-menu > li {
        display: block !important;
        clear: both !important;
        width: 100% !important;
        position: relative !important;
        margin: 0 !important;
    }

    /* Links del submenú */
    .treeview-menu > li > a {
        display: block !important;
        width: 100% !important;
        padding: 5px 5px 5px 15px !important;
        position: relative !important;
        clear: both !important;
    }

    /* Prevenir overlapping de contenido */
    .sidebar-menu > li,
    .sidebar-menu .treeview,
    .treeview-menu > li {
        z-index: auto !important;
        transform: none !important;
        -webkit-transform: none !important;
    }

    /* Asegurar que el wrapper del sidebar tenga overflow correcto */
    .sidebar-collapse .main-sidebar {
        transform: translate(-230px, 0);
        -webkit-transform: translate(-230px, 0);
    }

    /* Cuando el sidebar está abierto */
    .sidebar-open .main-sidebar {
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
    }

    /* Prevenir que elementos flotantes causen problemas */
    .pull-right-container {
        position: absolute !important;
        right: 10px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        -webkit-transform: translateY(-50%) !important;
    }

    /* Asegurar espaciado consistente */
    .sidebar-menu > li + li {
        margin-top: 0 !important;
    }

    /* Corregir el contenido cuando el sidebar está abierto */
    .sidebar-open .content-wrapper,
    .sidebar-open .main-footer {
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
    }

    /* Prevenir scroll horizontal */
    .main-sidebar,
    .sidebar,
    .sidebar-menu {
        overflow-x: hidden !important;
    }

    /* Asegurar que el toggle funcione correctamente */
    .sidebar-toggle {
        display: block !important;
    }

    /* Resetear cualquier posicionamiento absoluto problemático */
    .sidebar-menu > li > a > span,
    .sidebar-menu > li > .treeview-menu {
        position: relative !important;
        left: auto !important;
        top: auto !important;
    }
}

/* ============================================
   Transiciones suaves para mejor UX
   ============================================ */

@media (max-width: 767px) {
    .main-sidebar {
        transition: transform 0.3s ease-in-out;
        -webkit-transition: -webkit-transform 0.3s ease-in-out;
    }

    .treeview-menu {
        transition: all 0.3s ease;
        -webkit-transition: all 0.3s ease;
    }
}

/* ============================================
   Corrección adicional para overlay
   ============================================ */

@media (max-width: 767px) {
    /* Overlay cuando el sidebar está abierto */
    .sidebar-open::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1040;
        display: block;
    }

    .sidebar-collapse::before {
        display: none;
    }
}
