/* ============================================================
   DazyDay — animations
   All animations are opt-in via Customizer and always respect
   prefers-reduced-motion.
   ============================================================ */

@media (prefers-reduced-motion: no-preference) {
    .dazyday-card {
        transition:
            transform var(--dazyday-transition),
            box-shadow var(--dazyday-transition),
            opacity var(--dazyday-transition);
    }

    .dazyday-card--title:hover,
    .poster-card:hover {
        transform: translateY(-4px);
    }

    .dazyday-card--person:hover,
    .celebrity-card:hover {
        transform: translateY(-4px);
    }

    .dazyday-card__media img,
    .poster-wrap img {
        transition: transform 350ms ease;
    }

    .dazyday-card--title:hover .dazyday-card__media img,
    .poster-card:hover .poster-wrap img {
        transform: scale(1.05);
    }

    .dazyday-btn {
        transition:
            background 200ms ease,
            color 200ms ease,
            border-color 200ms ease,
            box-shadow 200ms ease,
            transform 200ms ease;
    }

    .dazyday-btn:active {
        transform: scale(0.98);
    }

    .dazyday-hero__bg {
        animation: dazyday-slow-zoom 20s ease-out both;
    }

    @keyframes dazyday-slow-zoom {
        from { transform: scale(1.06); }
        to   { transform: scale(1); }
    }
}

/* When animations are disabled via Customizer, this body class
   suppresses them regardless of the user's OS preference. */
body.dazyday-animations-off *,
body.dazyday-animations-off *::before,
body.dazyday-animations-off *::after {
    animation-duration: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0ms !important;
}

/* Always respect reduced-motion. */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}