<style>
.video-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    width: 100%;
}

.video-card{
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    cursor: pointer;
    background: #000;
}}
.video-card:hover{
    transform: scale(1.03);
    z-index: 10;
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
}
/* IMAGE */
.video-poster{
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

/* INFO SECTION */
.video-info{
    padding: 10px;
}
.video-title{
    font-size: 0.95rem;
    font-weight: 600;
    color: white;
    line-height: 1.3;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* SUBCATEGORY TITLE */
.section-title{
    color: #fff;
    font-weight: 700;
}
/* ============================= */
/* VIDEO CARD */
/* ============================= */
.video-card{
    width:100%;
    height:300px;
    border-radius:14px;
    overflow:hidden;
    cursor:pointer;
    position:relative;
    transition:all .3s ease;
}
.video-card:hover{
    transform:scale(1.03);
    z-index:50;
    box-shadow:0 25px 50px rgba(0,0,0,.7);
}

/* Thumbnail wrapper */
.thumb-wrapper{
    position:relative;
}

/* Image */
.video-thumb{
    width:100%;
    height:170px;
    object-fit:cover;
}

/* Dark cinematic overlay */
.card-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.85),
        rgba(0,0,0,.2),
        rgba(0,0,0,0)
    );
}

/* Play button */
.play-button{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 55px;
    height: 55px;
    border-radius: 50%;

    background: rgba(0,0,0,0.6);
    color: white;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 20px;

    z-index: 10;   /* IMPORTANT */
}

.video-card:hover .play-button{
    opacity:1;
}

/* Quality badge */
.quality-badge{
    position:absolute;
    top:10px;
    left:10px;
    background:#e50914;
    color:#fff;
    font-size:11px;
    padding:4px 8px;
    border-radius:4px;
    font-weight:700;
}

/* Views badge */
.views-badge {
    z-index: 15;
}

/* Info section */
.video-info{
    padding:12px;
    background:#0f172a;
}

.video-title{
    font-size:0.95rem;
    font-weight:700;
    color:#fff;
    line-height:1.3;
    margin-bottom:6px;

    /* prevent overflow like Netflix */
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.video-meta{
    font-size:0.8rem;
    color:#94a3b8;
}
/* Wrapper */
.poster-wrapper{
    position: relative;
    width: 100%;
    height: 310px;
    overflow: hidden;
    border-radius: 12px;
}
/* FULL COVER IMAGE */
.video-poster{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 0;
}
/* DARK GRADIENT OVERLAY */
.poster-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.85),
        rgba(0,0,0,0.3),
        rgba(0,0,0,0)
    );
    z-index: 5;
}

/* TITLE ON IMAGE */
.poster-title{
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 10px;

    color: #fff;
    font-size: 14px;
    font-weight: 600;

    z-index: 10;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;

    text-shadow: 0 2px 10px rgba(0,0,0,0.8);
}
/* OVERLAY */
.poster-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.85),
        rgba(0,0,0,0.3),
        rgba(0,0,0,0)
    );
    z-index: 1;
}
/* PLAY BUTTON */
.play-button {
    z-index: 15;
}

.video-card:hover .play-button{
    opacity:1;
}
.hd-badge{
    position: absolute;
    top: 10px;
    left: 10px;

    background: #e50914;
    color: white;

    font-size: 11px;
    font-weight: 800;

    padding: 4px 8px;
    border-radius: 4px;

    z-index: 10;   /* IMPORTANT */
}
.video-grid{
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
}
</style>