/* Modal Management CSS - Gestione corretta delle modali sovrapposte */

/* Assicura che le modali sovrapposte abbiano il z-index corretto */
.modal {
    z-index: 1050;
}

.modal.fade.in {
    z-index: 1050;
}

/* Gestione del backdrop per modali sovrapposte */
.modal-backdrop {
    z-index: 1040;
}

.modal-backdrop.fade.in {
    z-index: 1040;
}

/* Assicura che il body mantenga lo scrolling corretto */
body.modal-open {
    overflow: hidden;
    padding-right: 17px; /* Compensa la larghezza della scrollbar */
}

/* Previene problemi con modali sovrapposte */
.modal.fade {
    transition: opacity 0.15s linear;
}

.modal.fade.in {
    opacity: 1;
}

/* Gestione specifica per modali sovrapposte */
.modal-stacked {
    z-index: 1060 !important;
}

.modal-stacked + .modal-backdrop {
    z-index: 1050 !important;
}

/* Correzione per il scrolling interno delle modali */
.modal-dialog {
    pointer-events: auto;
}

/* Mantieni il comportamento originale Bootstrap - scroll del browser, non interno */
.modal-body {
    overflow-y: visible;
}

/* Assicurati che le modali molto alte usino lo scroll del browser */
.modal {
    overflow-y: auto;
}

/* Gestione responsive per modali sovrapposte su dispositivi mobili */
@media (max-width: 767px) {
    .modal-dialog {
        margin: 10px;
        width: auto;
    }
    
    /* Rimuoviamo anche qui la regola problematica */
    /* .modal-body {
        max-height: calc(100vh - 150px);
    } */
}

/* Animazioni fluide per apertura/chiusura modali */
.modal.fade {
    -webkit-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear;
}

.modal.fade .modal-dialog {
    -webkit-transition: -webkit-transform 0.15s ease-out;
    -o-transition: -o-transform 0.15s ease-out;
    transition: transform 0.15s ease-out;
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    -o-transform: translate(0, -25%);
    transform: translate(0, -25%);
}

.modal.in .modal-dialog {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
}

/* Correzione per scroll delle select nei modal */
.modal .select2-container--default .select2-results__option {
    padding: 6px 12px;
}

.modal .select2-dropdown {
    z-index: 9999;
}

/* Assicura che i tooltip e popover abbiano z-index superiore alle modali */
.tooltip, .popover {
    z-index: 2000;
}

/* Gestione del focus per modali sovrapposte */
.modal[tabindex="-1"]:focus {
    outline: 0;
}