/* 
 * Fichier : modal-bootstrap-fixes.css
 * CORRECTION : Règles CSS pour éviter le clignotement des modals Bootstrap
 */

/* Assurer une transition fluide pour les modals */
.modal {
    transition: opacity 0.15s linear !important;
}

    .modal.fade .modal-dialog {
        transition: transform 0.15s ease-out !important;
        transform: translate(0, -50px) !important;
    }

    .modal.show .modal-dialog {
        transform: none !important;
    }

/* Éviter les z-index conflicts */
.modal-backdrop {
    z-index: 1040 !important;
}

.modal {
    z-index: 1050 !important;
}

/* Assurer que le backdrop ne clignote pas */
.modal-backdrop.fade {
    opacity: 0;
    transition: opacity 0.15s linear !important;
}

.modal-backdrop.show {
    opacity: 0.5;
}

/* Correction pour éviter les doubles scrollbars */
body.modal-open {
    overflow: hidden !important;
    padding-right: 0 !important;
}

/* Stabiliser les animations de modal */
.modal.fade {
    transition: opacity 0.15s ease-out !important;
}

    .modal.fade:not(.show) {
        opacity: 0;
    }

.modal.show {
    opacity: 1;
}

/* Éviter les conflits d'événements multiples sur les boutons */
.modal .btn {
    pointer-events: auto !important;
}

/* S'assurer que les modals ne se chevauchent pas */
.modal + .modal {
    z-index: 1055 !important;
}

    .modal + .modal .modal-backdrop {
        z-index: 1045 !important;
    }

/* Correction spécifique pour les modals de planning */
#schedule-edit-modal .modal-dialog {
    margin: 1.75rem auto !important;
}

/* Correction spécifique pour les modals d'export */
#exportModal .modal-dialog {
    margin: 1.75rem auto !important;
}

/* Prévenir les conflits avec FullCalendar et autres composants */
.fc .modal {
    z-index: 1060 !important;
}

.fc .modal-backdrop {
    z-index: 1050 !important;
}

/* Assurer la stabilité des formulaires dans les modals */
.modal form {
    position: relative;
    z-index: 1;
}

/* Éviter les glitches de transition */
.modal-dialog {
    will-change: transform;
    backface-visibility: hidden;
}

/* Correction pour les overlays de chargement */
.import-loading-overlay {
    z-index: 9999 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.8) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

    .import-loading-overlay .loading-content {
        text-align: center;
        color: white;
    }

/* Assurer que les tooltips et popovers fonctionnent dans les modals */
.modal .tooltip {
    z-index: 1070 !important;
}

.modal .popover {
    z-index: 1070 !important;
}
