/*=========================================
        GALLERY FILTER SECTION
=========================================*/

.gallery-filter-section{
    padding:0px 0 70px;
    background:#f0f0f0;
}

.gallery-filter-header{
    text-align:center;
    max-width:850px;
    margin:0 auto 45px;
}

.gallery-filter-header span{
    display:inline-block;
    color:#ff6b00;
    font-size:15px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:12px;
}

.gallery-filter-header h2{
    font-size:48px;
    font-weight:800;
    color:#0C4DA2;
    margin-bottom:20px;
}

.gallery-filter-header p{
    font-size:17px;
    color:#666;
    line-height:1.8;
}

.gallery-filter-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
}

.filter-btn{
    border:2px solid #0C4DA2;
    background:#fff;
    color:#0C4DA2;
    padding:14px 28px;
    border-radius:50px;
    font-size:16px;
    font-weight:700;
    display:flex;
    align-items:center;
    gap:10px;
    transition:.35s ease;
}

.filter-btn i{
    font-size:18px;
}

.filter-btn:hover,
.filter-btn.active{
    background:#ff6b00;
    color:#fff;
    border-color:#ff6b00;
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(255,107,0,.25);
}

/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:991px){

.gallery-filter-header h2{
    font-size:40px;
}

}

@media(max-width:768px){

.gallery-filter-section{
    padding:0px 0 60px;
}

.gallery-filter-header h2{
    font-size:32px;
}

.gallery-filter-header p{
    font-size:15px;
}

.filter-btn{
    width:100%;
    justify-content:center;
}

}

@media(max-width:576px){

.gallery-filter-header h2{
    font-size:28px;
}

.filter-btn{
    padding:12px 20px;
    font-size:15px;
}

}
/*=========================================
        GALLERY GRID SECTION
=========================================*/

.gallery-grid-section{
    padding:20px 0 100px;
    background:#f0f0f0;
}

/*=========================================
        GALLERY GRID
=========================================*/

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

/*=========================================
        GALLERY ITEM
=========================================*/

.gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    background:#fff;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.4s ease;
}

.gallery-item:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.15);
}

.gallery-item a{
    display:block;
    position:relative;
    overflow:hidden;
}

.gallery-item img{
    width:100%;
    height:300px;
    object-fit:cover;
    display:block;
    transition:.5s ease;
}

/*=========================================
        OVERLAY
=========================================*/

.gallery-overlay{
    position:absolute;
    inset:0;
    background:rgba(12,77,162,.75);
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    transition:.35s ease;
}

.gallery-overlay i{
    width:70px;
    height:70px;
    background:#ff6b00;
    color:#fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:28px;
    transform:scale(.6);
    transition:.35s;
}

.gallery-item:hover img{
    transform:scale(1.1);
}

.gallery-item:hover .gallery-overlay{
    opacity:1;
}

.gallery-item:hover .gallery-overlay i{
    transform:scale(1);
}

/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:1200px){

.gallery-grid{
    grid-template-columns:repeat(3,1fr);
}

}

@media(max-width:991px){

.gallery-grid-section{
    padding:20px 0 80px;
}

.gallery-grid{
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.gallery-item img{
    height:260px;
}

}

@media (max-width:768px){

.gallery-filter-buttons{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    width:100%;
}

.filter-btn{
    width:100%;
    min-width:0;          /* Important */
    padding:10px 6px;
    font-size:12px;
    font-weight:600;
    justify-content:center;
    text-align:center;
    white-space:normal;   /* Allows text to wrap */
    line-height:1.3;
    border-radius:12px;
}

.filter-btn i{
    display:none;
}

}
/*=========================================
        SMALL MOBILE (576px)
=========================================*/

@media (max-width:576px){

.gallery-grid-section .container{
    padding-left:15px;
    padding-right:15px;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.gallery-item img{
    width:100%;
    height:150px;
    object-fit:cover;
}

}
.gallery-filter-section,
.gallery-grid-section{
    background:#173a50;
}
.gallery-grid-section{
    padding:20px 0 100px;
    background:#173a50;
    position:relative;
}

.gallery-grid-section::after{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:0;
    width:100%;          /* Adjust width as needed */
    height:2px;
    background:rgba(255,255,255,0.2); /* White separator */
}