/* ==========================================
   GALLERY PAGE
========================================== */

.gallery-page{
    padding:80px 0;
    background:#f8f8f8;
}

.gallery-page .container{
    max-width:1400px;
    margin:auto;
    padding:0 20px;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:25px;
}

.gallery-card{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    cursor:pointer;
    background:#fff;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.gallery-card img{
    width:100%;
    height:320px;
    object-fit:cover;
    transition:.4s;
    display:block;
}

.gallery-card:hover img{
    transform:scale(1.08);
}

.gallery-overlay{
    position:absolute;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    background:rgba(17,24,39,.55);
    opacity:0;
    transition:.3s;
}

.gallery-card:hover .gallery-overlay{
    opacity:1;
}

.gallery-overlay h3{
    color:#fff;
    background:rgba(212,175,55,.9);
    padding:12px 25px;
    border-radius:30px;
    font-size:22px;
    font-family:'Playfair Display',serif;
}

/* Lightbox */

.lightbox{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.92);
    z-index:9999;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    padding:30px;
}

.lightbox img{
    max-width:90%;
    max-height:80vh;
    border-radius:12px;
    box-shadow:0 20px 60px rgba(0,0,0,.4);
}

#lightbox-title{
    color:#fff;
    margin-top:20px;
    font-size:24px;
    font-family:'Playfair Display',serif;
}

.close-lightbox{
    position:absolute;
    top:25px;
    right:35px;
    color:#fff;
    font-size:45px;
    cursor:pointer;
    line-height:1;
}

.no-gallery{
    width:100%;
    text-align:center;
    padding:80px 20px;
}

.no-gallery h2{
    font-size:34px;
    margin-bottom:15px;
    color:#111827;
}

.no-gallery p{
    color:#666;
    font-size:18px;
}

@media(max-width:768px){

.gallery-grid{
    grid-template-columns:1fr;
}

.gallery-card img{
    height:260px;
}

#lightbox-title{
    font-size:20px;
}

}