/* DS7.2F.2 — Production video-card image states */

.dtv-video-card[data-dtv-card],
.dtv-video-card,
.dtv-front-card {
    content-visibility: auto;
    contain-intrinsic-size: 260px 462px;
}

.dtv-video-card--poster {
    contain-intrinsic-size: 360px 288px;
}

.dtv-video-card--landscape {
    contain-intrinsic-size: 420px 236px;
}

.dtv-video-card.is-lazy-ready,
.dtv-front-card.is-lazy-ready {
    will-change: transform;
}

.dtv-video-card img[data-dtv-lazy-image],
.dtv-video-card .dtv-video-card__media > img,
.dtv-front-card img {
    opacity: 0;
    z-index: 1;
    transition:
        opacity var(--dtv-motion-normal, .22s ease),
        transform var(--dtv-motion-slow, .34s ease),
        filter var(--dtv-motion-normal, .22s ease);
}

.dtv-video-card.is-image-loaded img[data-dtv-lazy-image],
.dtv-video-card.is-image-loaded .dtv-video-card__media > img,
.dtv-video-card img.is-image-loaded,
.dtv-front-card.is-image-loaded img,
.dtv-front-card img.is-image-loaded {
    opacity: 1;
}

.dtv-video-card.is-image-loaded .dtv-video-card__placeholder,
.dtv-front-card.is-image-loaded .dtv-video-card__placeholder {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.dtv-video-card:not(.is-image-loaded) .dtv-video-card__placeholder,
.dtv-video-card.has-image-error .dtv-video-card__placeholder {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
}

.dtv-video-card.has-image-error img[data-dtv-lazy-image],
.dtv-video-card.has-image-error .dtv-video-card__media > img,
.dtv-front-card.has-image-error img {
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
    .dtv-video-card img[data-dtv-lazy-image],
    .dtv-video-card .dtv-video-card__media > img,
    .dtv-front-card img,
    .dtv-video-card .dtv-video-card__placeholder {
        transition: none;
    }
}

/* DS7.2X — Production Polish: premium skeleton shimmer + stable image reveal */
.dtv-video-card .dtv-video-card__placeholder,
.dtv-front-card .dtv-video-card__placeholder {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: linear-gradient(110deg, rgba(255,255,255,.045), rgba(255,255,255,.08), rgba(255,255,255,.045));
}

.dtv-video-card .dtv-video-card__placeholder::after,
.dtv-front-card .dtv-video-card__placeholder::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-120%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    animation: dtvCardSkeletonShimmer 1.35s ease-in-out infinite;
}

.dtv-video-card.is-image-loaded .dtv-video-card__placeholder::after,
.dtv-front-card.is-image-loaded .dtv-video-card__placeholder::after {
    animation: none;
}

.dtv-video-card.is-image-loaded img,
.dtv-front-card.is-image-loaded img {
    filter: none;
    transform: translateZ(0);
}

@keyframes dtvCardSkeletonShimmer {
    100% { transform: translateX(120%); }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-video-card .dtv-video-card__placeholder::after,
    .dtv-front-card .dtv-video-card__placeholder::after {
        animation: none;
    }
}
