/* ================= GLOBAL ================= */
body{
    margin:0;
    font-family:'Poppins',sans-serif;
    background:#f4f6f9;
    color:#333;
}

.container{
    max-width:1400px;
    margin:auto;
    padding:80px 20px;
}

h1{
    text-align:center;
    margin-bottom:15px;
    font-size:34px;
}

.subtitle{
    text-align:center;
    color:#666;
    margin-bottom:40px;
}

/* ================= FILTER ================= */
.filter-menu{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:40px;
}

.filter-menu button{
    border:none;
    padding:10px 18px;
    border-radius:30px;
    background:#e0e4ea;
    font-size:14px;
    cursor:pointer;
    transition:.3s;
}

.filter-menu button.active,
.filter-menu button:hover{
    background:#0b1c2d;
    color:#fff;
}

/* ================= GALLERY GRID ================= */
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
}

.gallery-item{
    position:relative;
    border-radius:14px;
    overflow:hidden;
    cursor:pointer;
    background:#000;
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.gallery-item:hover img{
    transform:scale(1.08);
    opacity:.8;
}

.gallery-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:15px;
    background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.1));
    color:#fff;
    opacity:0;
    transition:.4s;
}

.gallery-item:hover .gallery-overlay{
    opacity:1;
}

.gallery-overlay h3{
    font-size:16px;
    font-weight:600;
}

/* ================= RESPONSIVE ================= */
@media(max-width:1200px){
    .gallery-grid{grid-template-columns:repeat(4,1fr);}
}
@media(max-width:992px){
    .gallery-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:600px){
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:400px){
    .gallery-grid{grid-template-columns:1fr;}
}