/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideIn {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.fade-in {
    animation: fadeIn 0.6s ease-out forwards;
}

.slide-in {
    animation: slideIn 0.4s ease-out;
}

/* Smooth transitions for interactive elements */
a, button, .btn, .nav-link, .card {
    transition: all var(--transition-fast);
}

/* Loading state */
.loading {
    animation: pulse 1.5s ease-in-out infinite;
}