.gallery-section{
    padding:80px 0;
    background:#f7f7f7;
}

.gallery-section .container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

.gallery-section h1{
    text-align:center;
    font-size:42px;
    color:#0d2b52;
    margin-bottom:50px;
    font-family:"Zalando Sans Expanded", sans-serif;
}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

}

.gallery-card{

    background:#fff;

    border-radius:10px;

    overflow:hidden;

    box-shadow:0 5px 20px rgba(0,0,0,.1);

    transition:.3s;

}

.gallery-card:hover{

    transform:translateY(-8px);

}

.gallery-card img{

    width:100%;

    height:260px;

    object-fit:cover;

}

.gallery-content{

    padding:20px;

}

.gallery-content h3{

    text-align:center;

    color:#002b5c;

    font-size:20px;

}
/* ===========================
CATEGORY FILTER
=========================== */

.gallery-filter{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:15px;

margin:35px 0;

}

.gallery-filter a{

text-decoration:none;

padding:12px 24px;

border-radius:30px;

background:#f1f3f5;

color:#003a78;

font-weight:600;

transition:.3s;

border:2px solid transparent;

}

.gallery-filter a:hover{

background:#003a78;

color:#fff;

}

.gallery-filter a.active{

background:#003a78;

color:#fff;

}
/* ===========================
IMAGE MODAL
=========================== */

.image-modal{

    display:none;

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,.92);

    z-index:99999;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    animation:fadeIn .3s;

}

.modal-image{

    max-width:90%;

    max-height:80vh;

    border-radius:10px;

    box-shadow:0 10px 40px rgba(0,0,0,.5);

}

.modal-caption{

    margin-top:20px;

    color:#fff;

    font-size:20px;

    text-align:center;

    font-family:'Ubuntu',sans-serif;

}

.close-modal{

    position:absolute;

    top:25px;

    right:40px;

    font-size:50px;

    color:#fff;

    cursor:pointer;

    transition:.3s;

}

.close-modal:hover{

    color:#d9d9d9;

    transform:scale(1.2);

}

.gallery-card img{

    cursor:pointer;

}

@keyframes fadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

@media(max-width:768px){

.modal-image{

    max-width:95%;

    max-height:70vh;

}

.close-modal{

    right:20px;

    font-size:40px;

}

.modal-caption{

    font-size:17px;

}

}