/* Enterprise Skeleton Shimmer & Image Loader Animations for Kitastream */

@keyframes skeleton-shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

@keyframes skeleton-pulse {
    0%, 100% {
        opacity: 0.6;
    }
    50% {
        opacity: 0.3;
    }
}

/* Skeleton Container Base */
.skeleton-loader,
.skeleton-card,
.skeleton-thumb {
    position: relative;
    overflow: hidden;
    background: #141414;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.03) 0%,
        rgba(255, 255, 255, 0.08) 50%,
        rgba(255, 255, 255, 0.03) 100%
    );
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.8s infinite linear;
    border-radius: 8px;
}

/* Poster Card Loading Skeleton */
.video-item,
.video-shows-item,
.video-thumb,
.movie-grid-item,
.latest-movies-thumb {
    position: relative;
    background-color: #121212;
    border-radius: 8px;
    overflow: hidden;
}

/* Image Loading State */
img.lazy-skeleton {
    opacity: 0;
    transition: opacity 0.4s ease-in-out, transform 0.3s ease;
    will-change: opacity, transform;
}

img.lazy-skeleton.loaded {
    opacity: 1;
}

/* Image wrapper skeleton effect before load */
.img-skeleton-wrapper {
    position: relative;
    width: 100%;
    background: linear-gradient(
        90deg,
        #1c1c1e 0%,
        #2c2c2e 50%,
        #1c1c1e 100%
    );
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.6s infinite ease-in-out;
    border-radius: 6px;
    overflow: hidden;
}

/* Banner / Hero Skeleton */
.hero-skeleton {
    width: 100%;
    height: 420px;
    background: linear-gradient(
        90deg,
        #0f0f11 0%,
        #1a1a1f 50%,
        #0f0f11 100%
    );
    background-size: 200% 100%;
    animation: skeleton-shimmer 2s infinite linear;
    border-radius: 12px;
}

/* Video Player Loading Placeholder */
.player-skeleton {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #0a0a0c;
    background: linear-gradient(
        110deg,
        #0d0d11 20%,
        #1c1c24 40%,
        #0d0d11 60%
    );
    background-size: 200% 100%;
    animation: skeleton-shimmer 2s infinite linear;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7);
}

.player-skeleton::after {
    content: '';
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 3px solid rgba(255, 0, 21, 0.4);
    border-top-color: #ff0015;
    animation: spin 1s infinite linear;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Video Player Watermark Logo Sizing & Elegance */
img[src*="logo_2_ks"],
img[src*="upload/logo"],
.fw-logo img,
.player-logo img,
.vjs-logo img,
.vjs-watermark img {
    max-height: 32px !important;
    max-width: 130px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    opacity: 0.85 !important;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.6));
    transition: opacity 0.3s ease, transform 0.3s ease;
}

img[src*="logo_2_ks"]:hover,
img[src*="upload/logo"]:hover {
    opacity: 1 !important;
    transform: scale(1.05);
}
