/* core/ANIMATIONS.CSS */

/* Keyframes */
@keyframes fadeInPage {
    to {
        opacity: 1;
    }
}

/* Scroll-Reveal Base States */
.page-hero h1,
.section-title,
.section-subtitle,
.stat-card,
.contact-card,
.countdown-block,
.form-result,
.map-container,
.record-category,
.player-card,
.stat-category,
.match-card,
.timeline-item,
.form-description,
.match-sponsor-block,
.upcoming-match-name,
.search-container {
    opacity: 0;
    transform: translateY(var(--reveal-lift));
    transition: var(--t-reveal);
}

.animate-in {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .stat-card, .contact-card, .countdown-block,
    .form-result, .map-container, .record-category,
    .player-card, .stat-category, .match-card, .timeline-item,
    .modal-match-score, .goalscorers-section, .date-time-section,
    .stadium-section, .form-description, .match-sponsor-block,
    .section-title, .section-subtitle, .page-hero h1, .filter-section,
    .carousel-container, .cta-section, .toggles-container,
    .search-container, .upcoming-match-name {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }

    .ticker-track.scrolling,
    .loader .football-loader path {
        animation: none !important;
    }

    .carousel,
    .slide img {
        transition: none !important;
    }

    .modal-overlay {
        transition: opacity var(--dur-fast) var(--ease-ui), visibility var(--dur-fast) var(--ease-ui);
    }
}