.ple-grid{
    display:grid;
    gap:30px;
}

.ple-grid.columns-2{
    grid-template-columns:
    repeat(2,1fr);
}

.ple-grid.columns-3{
    grid-template-columns:
    repeat(3,1fr);
}

.ple-grid.columns-4{
    grid-template-columns:
    repeat(4,1fr);
}

@media(max-width:1024px){

    .ple-grid{
        grid-template-columns:
        repeat(2,1fr)!important;
    }
}

@media(max-width:767px){

    .ple-grid{
        grid-template-columns:
        1fr!important;
    }
}

.ple-card{

    background:#fff;

    border-radius:12px;

    overflow:hidden;

    cursor:pointer;

    transition:.3s;

    box-shadow:
    0 8px 24px rgba(0,0,0,.08);
}

.ple-card:hover{

    transform:
    translateY(-5px);
}

.ple-thumb img{

    width:100%;

    display:block;

    aspect-ratio:3/4;

    object-fit:cover;
}

.ple-content{

    padding:20px;
}

.ple-content h3{

    margin:0 0 10px;

    font-size:18px;

    line-height:1.4;
}

.ple-content p{

    margin:0;

    font-size:14px;

    color:#666;
}

#ple-modal{

    position:fixed;

    inset:0;

    display:none;

    z-index:999999;
}

#ple-modal.active{

    display:block;
}

.ple-overlay{

    position:absolute;

    inset:0;

    background:#000;
}

#ple-viewer{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    border:none;

    background:#fff;
}

.ple-close{

    position:absolute;

    right:20px;

    top:20px;

    width:50px;

    height:50px;

    border:none;

    border-radius:50%;

    font-size:32px;

    cursor:pointer;

    z-index:20;

    background:#fff;
}