
@tailwind base;
@tailwind components;
@tailwind utilities;

@keyframes fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fade-in-down {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scale-in {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@layer utilities {
    .animate-fade-in {
        animation: fade-in 1s ease-out forwards;
    }
    .animate-fade-in-down {
        animation: fade-in-down 0.8s ease-out forwards;
    }
    .animate-fade-in-up {
        animation: fade-in-up 0.8s ease-out forwards;
    }
    .animate-scale-in {
        animation: scale-in 0.6s ease-out forwards;
    }
    .animate-bounce-slow {
        animation: bounce 3s infinite;
    }
}

.hero-background {
    transition-duration: 5000ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    background-size: cover;
    background-position: center;
}

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

.hero-overlay {
    transition: opacity 0.5s ease;
}

article, .card {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

article:hover, .card:hover {
    transform: scale(1.03);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.group:hover .group-hover-underline {
    text-decoration: underline;
}

.group:hover .group-hover-translate-x-1 {
    transform: translateX(4px);
}