/* Theme Transition Styles */
.theme-transitioning,
.theme-transitioning * {
    transition: background-color 0.3s ease, 
                color 0.3s ease, 
                border-color 0.3s ease, 
                box-shadow 0.3s ease !important;
}

/* Smooth transitions for theme switching */
:root {
    transition: background-color 0.3s ease, color 0.3s ease;
}

body {
    transition: background-color 0.3s ease, color 0.3s ease;
}

.card {
    transition: background-color 0.3s ease, 
                border-color 0.3s ease, 
                box-shadow 0.3s ease;
}

.btn {
    transition: background-color 0.3s ease, 
                border-color 0.3s ease, 
                color 0.3s ease;
}

/* Disable only theme-related transitions during page load, preserve animations */
.preload * {
    transition-property: background-color, color, border-color, box-shadow !important;
    transition-duration: 0s !important;
}

/* Ensure spinner animations are preserved during preload */
.preload .spinner-border,
.preload .dz-loading-spinner,
.preload [class*="spinner"],
.preload [class*="loading"] {
    animation: unset !important;
}

/* Re-enable spinner animation specifically */
.spinner-border {
    animation: spinner-border 0.75s linear infinite !important;
}

.dz-loading-spinner {
    animation: spinner-border 0.75s linear infinite !important;
}

/* Ensure Bootstrap spinner keyframes are available */
@keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}