/* ==========================================================
   dimosTV Design System
   DS5.1 — Motion & Microinteractions Clean
   Same DS5 motion, but WITHOUT modal dialog transform overrides.
========================================================== */

:root {
    --dtv-motion-enter-distance: 18px;
    --dtv-motion-enter-duration: .42s;
    --dtv-motion-enter-ease: cubic-bezier(.2, .8, .2, 1);

    --dtv-motion-hover-lift: -6px;
    --dtv-motion-press-scale: .98;
}

/* Section reveal */
.dtv-motion-ready .dtv-motion-reveal {
    opacity: 0;
    transform: translateY(var(--dtv-motion-enter-distance));
    transition:
        opacity var(--dtv-motion-enter-duration) var(--dtv-motion-enter-ease),
        transform var(--dtv-motion-enter-duration) var(--dtv-motion-enter-ease);
    will-change: opacity, transform;
}

.dtv-motion-ready .dtv-motion-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Shared hover lift */
.dtv-video-card,
.dtv-continue-card,
.dtv-live-strip,
.dtv-front-hero-card {
    will-change: transform;
}

.dtv-video-card:hover,
.dtv-video-card:focus-within,
.dtv-continue-card:hover,
.dtv-continue-card:focus-visible {
    transform: translateY(var(--dtv-motion-hover-lift)) !important;
}

/* Press feedback */
.dtv-video-card__link:active,
.dtv-continue-card:active,
.dtv-btn:active,
.dtv-carousel-arrow:active,
.dtv-live-strip__watch:active {
    transform: scale(var(--dtv-motion-press-scale)) !important;
}

/* Button microinteraction */
.dtv-btn,
.dtv-live-strip__watch,
.dtv-front-hero-cta,
.dtv-video-card__play,
.dtv-continue-card__play,
.dtv-carousel-arrow {
    transition:
        transform var(--dtv-motion-normal),
        background var(--dtv-motion-normal),
        color var(--dtv-motion-normal),
        box-shadow var(--dtv-motion-normal),
        opacity var(--dtv-motion-normal) !important;
}

/* Carousel */
.dtv-carousel-row {
    scroll-behavior: smooth;
}

.dtv-carousel-row.is-dragging {
    scroll-behavior: auto !important;
}

/* Live strip subtle breathing */
.dtv-live-strip {
    animation: dtvLiveStripGlow 6s ease-in-out infinite;
}

@keyframes dtvLiveStripGlow {
    0%, 100% {
        box-shadow:
            0 28px 80px rgba(15,23,42,.22),
            inset 0 0 0 1px rgba(255,255,255,.04);
    }

    50% {
        box-shadow:
            0 30px 90px rgba(15,23,42,.26),
            0 0 42px rgba(204,0,0,.08),
            inset 0 0 0 1px rgba(255,255,255,.05);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .dtv-motion-ready .dtv-motion-reveal,
    .dtv-motion-ready .dtv-motion-reveal.is-visible,
    .dtv-live-strip {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }

    .dtv-video-card:hover,
    .dtv-video-card:focus-within,
    .dtv-continue-card:hover,
    .dtv-continue-card:focus-visible {
        transform: none !important;
    }
}
