/* Custom animations */
@keyframes float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.float-animation {
    animation: float 3s ease-in-out infinite;
}

/* Smooth transitions for interactive elements */
button, a, .card {
    transition: all 0.3s ease;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #7dd3fc;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #0ea5e9;
}

/* Additional utility classes */
.hover-scale {
    transition: transform 0.3s ease;
}

.hover-scale:hover {
    transform: scale(1.03);
}

.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.gradient-primary {
    background-image: linear-gradient(to right, #0ea5e9, #a855f7);
}

.gradient-secondary {
    background-image: linear-gradient(to right, #a855f7, #0ea5e9);
}