/* ==========================================
   GALLERY
========================================== */

.gallery-section{

    padding:100px 0;

    background:var(--cream);

}

.gallery-section h2{

    color:var(--primary);

    font-size:52px;

    font-weight:800;

    margin-bottom:20px;

}

.gallery-section .section-description{

    max-width:720px;

    margin:0 auto 60px;

    color:var(--text-secondary);

    line-height:1.8;

}

/* ==========================================
   GRID
========================================== */

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

}

@media(max-width:991px){

    .gallery-grid{

        grid-template-columns:1fr;

    }

}

/* ==========================================
   CARD
========================================== */

.gallery-card{

    background:#FFFFFF;

    border-radius:28px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

}

.gallery-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 70px rgba(0,0,0,.12);

}

/* Disable masonry sizes for now */

.gallery-card.large,
.gallery-card.small,
.gallery-card.wide,
.gallery-card.tall{

    grid-column:auto;

    grid-row:auto;

}

/* ==========================================
   IMAGE
========================================== */

.gallery-image{

    position:relative;

    height:320px;

    overflow:hidden;

    background:#F8F5EE;

}

.gallery-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s ease;

}

.gallery-card:hover .gallery-image img{

    transform:scale(1.08);

}

/* ==========================================
   BADGES
========================================== */

.featured-tag{

    position:absolute;

    top:20px;

    left:20px;

    background:var(--primary);

    color:#FFFFFF;

    padding:8px 16px;

    border-radius:999px;

    font-size:13px;

    font-weight:700;

    z-index:3;

}

.instagram-tag{

    position:absolute;

    top:20px;

    right:20px;

    width:42px;

    height:42px;

    border-radius:50%;

    background:#FFFFFF;

    color:var(--primary);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

    z-index:3;

}

/* ==========================================
   OVERLAY
========================================== */

.gallery-overlay{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:28px;

    background:linear-gradient(

        transparent 25%,

        rgba(0,0,0,.78)

    );

    color:#FFFFFF;

}

.gallery-category{

    display:inline-block;

    width:max-content;

    background:var(--sand);

    color:var(--primary);

    padding:8px 18px;

    border-radius:999px;

    font-size:13px;

    font-weight:700;

    margin-bottom:16px;

}

.gallery-overlay h4{

    font-size:24px;

    font-weight:700;

    margin-bottom:12px;

}

.gallery-overlay p{

    margin:0;

    font-size:15px;

    line-height:1.7;

    opacity:.92;

}

/* ==========================================
   FOOTER
========================================== */

.gallery-footer{

    margin-top:60px;

}
/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width:1200px){

    .gallery-section h2{

        font-size:46px;

    }

}

@media (max-width:992px){

    .gallery-section{

        padding:90px 0;

    }

    .gallery-section h2{

        font-size:40px;

        text-align:center;

    }

    .gallery-section .section-description{

        margin-bottom:45px;

    }

    .gallery-grid{

        grid-template-columns:repeat(2,1fr);

        gap:20px;

    }

}

@media (max-width:768px){

    .gallery-section{

        padding:80px 0;

    }

    .gallery-section h2{

        font-size:34px;

    }

    .gallery-grid{

        grid-template-columns:1fr;

    }

    .gallery-image{

        height:260px;

    }

}

@media (max-width:576px){

    .gallery-section{

        padding:70px 0;

    }

    .gallery-section h2{

        font-size:30px;

    }

    .gallery-section .section-description{

        font-size:15px;

    }

    .gallery-image{

        height:220px;

    }

    .gallery-overlay{

        padding:20px;

    }

    .gallery-overlay h4{

        font-size:20px;

    }

    .gallery-overlay p{

        font-size:14px;

    }

}