/* =========================
   GALLERY
========================= */

.gallery-section{
    padding:35px 4% 90px;
    background:#f7f7f7;
}

.gallery-section p{
    text-align:center;
    color:#666;
    font-size:17px;
    margin-top:12px;
}

.gallery-section .section-title{
    margin-bottom:20px;
}

.gallery-section .section-title h2{
    margin-bottom:8px;
}

.gallery-section .title-line{
    margin:10px auto;
}
/* =========================
   FILTERS
========================= */

/* =========================
   FILTERS
========================= */

.gallery-filters{

    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:70px;
    flex-wrap:wrap;

    margin:18px 0 45px;

}

.filter-group{

    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;

}

.filter-heading{

    font-size:20px;
    font-weight:700;
    color:#0f172a;
    margin:0;

}

.filter-buttons{

    display:flex;
    gap:14px;
    flex-wrap:wrap;
    justify-content:center;

}

.filter-btn,
.media-btn{

    border:none;
    background:white;
    color:#0f172a;

    padding:12px 24px;

    border-radius:40px;

    cursor:pointer;

    font-size:15px;
    font-weight:600;

    display:flex;
    align-items:center;
    gap:8px;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

    transition:.3s;

}

.filter-btn:hover,
.media-btn:hover,
.filter-btn.active,
.media-btn.active{

    background:#d4af37;
    color:#0f172a;

}

/* =========================
   GALLERY GRID
========================= */

.gallery-grid{

    column-count:4;

    column-gap:18px;

}

.gallery-item{

    position:relative;

    margin-bottom:18px;

    overflow:hidden;

    border-radius:18px;

    background:white;

    cursor:pointer;

    break-inside:avoid;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.35s;

}

.gallery-item:hover{

    transform:translateY(-6px);

}

.gallery-item img,
.gallery-item video{

    width:100%;

    display:block;

    transition:.45s;

}

.gallery-item:hover img,
.gallery-item:hover video{

    transform:scale(1.04);

}



/* =========================
   VIDEO PLAY ICON
========================= */

.video-icon{

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:65px;
    height:65px;

    border-radius:50%;

    background:rgba(0,0,0,.55);

    display:flex;
    justify-content:center;
    align-items:center;

    color:white;

    font-size:22px;

    pointer-events:none;

}



/* =========================
   LIGHTBOX
========================= */

.lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.92);

    display:flex;

    justify-content:center;
    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:99999;

}

.lightbox.show{

    opacity:1;

    visibility:visible;

}

.lightbox-content{

    width:90%;
    max-width:1100px;
    max-height:90vh;

    display:flex;
    justify-content:center;
    align-items:center;

}

.lightbox-content img{

    max-width:100%;
    max-height:88vh;

    border-radius:16px;

}

.lightbox-content video{

    width:100%;
    max-height:88vh;

    border-radius:16px;

}



/* =========================
   CLOSE BUTTON
========================= */

.close-lightbox{

    position:absolute;

    top:25px;
    right:35px;

    color:white;

    font-size:36px;

    cursor:pointer;

    transition:.3s;

}

.close-lightbox:hover{

    color:#d4af37;

}






/* =========================
   RESPONSIVE
========================= */

@media(max-width:1200px){

    .gallery-grid{

        column-count:3;

    }

}

@media(max-width:900px){

    .gallery-grid{
        column-count:2;
    }

    .gallery-filters{
        display:flex;
        flex-direction:row;
        justify-content:center;
        align-items:flex-start;
        gap:25px;
        flex-wrap:nowrap;
    }

    .filter-group{
        flex:1;
        align-items:center;
    }

}
@media(max-width:600px){

    .gallery-section{
        padding:35px 4% 70px;
    }

    .gallery-grid{

        column-count:2;
        column-gap:12px;

    }

    .gallery-item{

        margin-bottom:12px;

    }

    .gallery-filters{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:25px;
    flex-wrap:nowrap;
}

.filter-group{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:auto;
    flex:none;
}

.filter-buttons{
    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    flex-wrap:nowrap;
    gap:8px;
}

.filter-btn,
.media-btn{
    padding:9px 12px;
    font-size:12px;
}

.gallery-item{

    border-radius:12px;

}
    

}