/* Modal Fixes for Bootstrap Modals */

/* Ensure modals appear above navbar and other elements */
.modal {
    z-index: 1060 !important;
}

.modal-backdrop {
    z-index: 1055 !important;
}

/* Fix modal positioning and visibility */
.modal.show {
    display: block !important;
}

.modal.fade.show {
    opacity: 1 !important;
}

/* Ensure modal dialog is properly centered */
.modal-dialog {
    z-index: 1061 !important;
}

.modal-dialog-centered {
    display: flex !important;
    align-items: center !important;
    min-height: calc(100% - 1rem) !important;
}

/* Fix modal content visibility */
.modal-content {
    position: relative !important;
    z-index: 1062 !important;
    background-color: var(--bg-primary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius-lg) !important;
    box-shadow: var(--shadow-lg) !important;
}

/* Modal header styling */
.modal-header {
    background-color: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0 !important;
}

.modal-title {
    color: var(--text-primary) !important;
    font-weight: 600 !important;
}

/* Modal body styling */
.modal-body {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* Modal footer styling */
.modal-footer {
    background-color: var(--bg-secondary) !important;
    border-top: 1px solid var(--border-color) !important;
    border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg) !important;
}

/* Close button styling */
.btn-close {
    background: none !important;
    border: none !important;
    opacity: 0.7 !important;
    transition: opacity 0.3s ease !important;
}

.btn-close:hover {
    opacity: 1 !important;
}

.btn-close:focus {
    box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25) !important;
}

/* Dark theme support */
[data-theme="dark"] .modal-content {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
}

[data-theme="dark"] .modal-header {
    background-color: #3d3d3d !important;
    border-color: #444 !important;
}

[data-theme="dark"] .modal-body {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
}

[data-theme="dark"] .modal-footer {
    background-color: #3d3d3d !important;
    border-color: #444 !important;
}

[data-theme="dark"] .modal-title {
    color: #ffffff !important;
}

/* Responsive modal fixes */
@media (max-width: 576px) {
    .modal-dialog {
        margin: 0.5rem !important;
        max-width: calc(100% - 1rem) !important;
    }
    
    .modal-dialog-centered {
        min-height: calc(100% - 1rem) !important;
    }
}

/* Fix for specific modal issues */
.modal.fade.show {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

/* Ensure modals work with glassmorphism navbar */
.modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

/* Fix backdrop click issues */
.modal-backdrop.show {
    opacity: 0.5 !important;
}

/* Animation fixes */
.modal.fade .modal-dialog {
    transition: transform 0.3s ease-out !important;
    transform: translate(0, -50px) !important;
}

.modal.show .modal-dialog {
    transform: none !important;
}

/* Ensure proper stacking context */
.modal {
    pointer-events: auto !important;
}

.modal-backdrop {
    pointer-events: auto !important;
}

/* Fix for mobile devices */
@media (max-width: 768px) {
    .modal-dialog {
        margin: 1rem !important;
    }
    
    .modal-content {
        border-radius: var(--border-radius) !important;
    }
    
    .modal-header {
        border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
    }
    
    .modal-footer {
        border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
    }
}
