.video-card {
    transition: transform 0.2s;
}

.video-card:hover {
    transform: translateY(-5px);
}

.video-card .card-img-top {
    aspect-ratio: 16/9;
    object-fit: cover;
}

.video-card .card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 2.5rem;
}

/* Additional styles for sprite previews */
.card-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/9;
}

.preview-loading {
    z-index: 10;
}

.click-for-more-overlay {
    z-index: 20;
}

.rainbow-border-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 4px solid transparent;
    border-image: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet) 1;
    pointer-events: none;
    z-index: 2;
    animation: rainbow-border 2s linear infinite;
}

@keyframes rainbow-border {
    0% { border-image: linear-gradient(0deg, red, orange, yellow, green, blue, indigo, violet) 1; }
    20% { border-image: linear-gradient(72deg, red, orange, yellow, green, blue, indigo, violet) 1; }
    40% { border-image: linear-gradient(144deg, red, orange, yellow, green, blue, indigo, violet) 1; }
    60% { border-image: linear-gradient(216deg, red, orange, yellow, green, blue, indigo, violet) 1; }
    80% { border-image: linear-gradient(288deg, red, orange, yellow, green, blue, indigo, violet) 1; }
    100% { border-image: linear-gradient(360deg, red, orange, yellow, green, blue, indigo, violet) 1; }
}