.yvf-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

@media(max-width:992px){
    .yvf-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:576px){
    .yvf-grid{
        grid-template-columns:max-content;
    }
}

.yvf-item{
    background:#000;
    border-radius:12px;
    overflow:hidden;
}

.yvf-img-wrap{
    position:relative;
}

.yvf-img-wrap img{
    width:100%;
    display:block;
    transition:.4s;
}

.yvf-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.9),
        rgba(0,0,0,.2)
    );
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:15px;
    opacity:0;
    transition:.3s;
}

.yvf-title{
    color:#fff;
    font-size:15px;
    font-weight:600;
}

.yvf-play{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    color:#fff;
}
.yvf-play i{color: #fff;}

.yvf-item:hover img{
    transform:scale(1.08);
}

.yvf-item:hover .yvf-overlay{
    opacity:1;
}

#yvf-loader{
    text-align:center;
    padding:20px;
}

#yvf-end-message{
    display:none;
    text-align:center;
    margin-top:15px;
}

.yvf-spinner{
    width:30px;
    height:30px;
    border:3px solid #ccc;
    border-top:3px solid #000;
    border-radius:50%;
    animation:yvf-spin 1s linear infinite;
    margin:auto;
}

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