/* Flash Messages Custom Styles */

.flash-messages-container {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Auto-dismiss animation */
@keyframes fadeOut {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(0.95);
    }
}

.alert.alert-dismissing {
    animation: fadeOut 0.3s ease-out forwards;
}

/* ==================== Modal 按钮布局修复 ==================== */
/* 修复modal按钮布局问题：换行时的间距和右侧对齐 */
.modal-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

.modal-footer > .btn,
.modal-footer > button {
    margin: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    flex-shrink: 0;
}

/* 当按钮换行时，确保有垂直间距 */
@media (max-width: 576px) {
    .modal-footer {
        flex-direction: column !important;
        width: 100%;
    }
    
    .modal-footer > .btn,
    .modal-footer > button {
        width: 100%;
    }
}

/* 减少modal-body底部和modal-footer之间的间距 */
.modal-body {
    padding-bottom: 0.75rem !important;
}

