/*======================================
GALLERY SECTION
======================================*/

.gallery-section{
    padding:100px 0;
    background:#f8fafc;
}

.gallery-section .container{
    width:90%;
    max-width:1400px;
    margin:auto;
}

/*======================================
SECTION TITLE
======================================*/

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title span{
    display:inline-block;
    color:#c89b3c;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:15px;
}

.section-title h2{
    font-size:42px;
    color:#1f2937;
    margin-bottom:20px;
}

.section-title p{
    width:700px;
    max-width:100%;
    margin:auto;
    color:#666;
    line-height:1.8;
}

/*======================================
CATEGORY FILTER
======================================*/

.gallery-filter{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:15px;

    margin-bottom:60px;

}

.gallery-filter button{

    border:none;

    outline:none;

    background:#fff;

    color:#333;

    padding:12px 26px;

    border-radius:50px;

    cursor:pointer;

    transition:.3s;

    font-weight:600;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.gallery-filter button:hover,

.gallery-filter button.active{

    background:#c89b3c;

    color:#fff;

}

/*======================================
GALLERY GRID
======================================*/

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

/*======================================
CARD
======================================*/

.gallery-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.4s;

}

.gallery-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.18);

}

/*======================================
IMAGE
======================================*/

.gallery-image{

    display:block;

    overflow:hidden;

}

.gallery-image img{

    width:100%;

    height:260px;

    object-fit:cover;

    display:block;

    transition:.5s;

}

.gallery-card:hover img{

    transform:scale(1.08);

}

/*======================================
CONTENT
======================================*/

.gallery-content{

    padding:25px;

}

.gallery-category{

    display:inline-block;

    background:#c89b3c;

    color:#fff;

    padding:6px 14px;

    border-radius:50px;

    font-size:13px;

    margin-bottom:15px;

    font-weight:600;

}

.gallery-content h3{

    font-size:22px;

    color:#1f2937;

    margin-bottom:12px;

}

.gallery-content p{

    color:#666;

    line-height:1.7;

    margin-bottom:15px;

}

.gallery-location{

    color:#c89b3c;

    font-weight:600;

    font-size:15px;

}

/*======================================
PAGINATION
======================================*/

.gallery-pagination{

    margin-top:70px;

    text-align:center;

}

.gallery-pagination .page-numbers{

    display:inline-block;

    margin:5px;

    padding:12px 18px;

    text-decoration:none;

    background:#fff;

    color:#222;

    border-radius:8px;

    box-shadow:0 10px 20px rgba(0,0,0,.08);

    transition:.3s;

}

.gallery-pagination .page-numbers:hover,

.gallery-pagination .current{

    background:#c89b3c;

    color:#fff;

}

/*======================================
LARGE LAPTOP
======================================*/

@media(max-width:1200px){

.gallery-grid{

grid-template-columns:repeat(3,1fr);

}

}

/*======================================
TABLET
======================================*/

@media(max-width:992px){

.gallery-section{

padding:80px 0;

}

.section-title h2{

font-size:34px;

}

.gallery-grid{

grid-template-columns:repeat(2,1fr);

gap:20px;

}

.gallery-image img{

height:240px;

}

}

/*======================================
PHONE
======================================*/

@media(max-width:768px){

.gallery-section{

padding:70px 0;

}

.section-title{

margin-bottom:40px;

}

.section-title h2{

font-size:28px;

}

.section-title p{

font-size:15px;

}

.gallery-filter{

justify-content:flex-start;

overflow-x:auto;

padding-bottom:10px;

flex-wrap:nowrap;

}

.gallery-filter button{

white-space:nowrap;

flex:0 0 auto;

}

.gallery-grid{

grid-template-columns:1fr;

}

.gallery-image img{

height:240px;

}

.gallery-content{

padding:20px;

}

}

/*======================================
SMALL PHONE
======================================*/

@media(max-width:480px){

.gallery-image img{

height:220px;

}

.section-title h2{

font-size:24px;

}

.gallery-content h3{

font-size:20px;

}

.gallery-filter button{

padding:10px 18px;

font-size:14px;

}

}
/* ==========================
   GALLERY SEARCH
========================== */

.gallery-search{
    margin:40px 0 30px;
    display:flex;
    justify-content:center;
}

.gallery-search form{
    width:100%;
    max-width:650px;
    display:flex;
    align-items:center;
}

.gallery-search input{
    flex:1;
    height:55px;
    padding:0 20px;
    border:2px solid #e5e5e5;
    border-right:none;
    border-radius:50px 0 0 50px;
    font-size:16px;
    outline:none;
    transition:.3s;
}

.gallery-search input:focus{
    border-color:#0b5d3b;
}

.gallery-search button{
    height:55px;
    padding:0 35px;
    border:none;
    background:#0b5d3b;
    color:#fff;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    border-radius:0 50px 50px 0;
    transition:.3s;
}

.gallery-search button:hover{
    background:#d4af37;
}


/* ==========================
   PAGINATION
========================== */

.gallery-pagination{
    margin-top:60px;
    display:flex;
    justify-content:center;
}

.gallery-pagination .page-numbers{

    display:inline-block;
    margin:0 5px;
    padding:12px 18px;
    background:#ffffff;
    border:1px solid #ddd;
    border-radius:8px;
    text-decoration:none;
    color:#333;
    font-weight:600;
    transition:.3s;
}

.gallery-pagination .page-numbers:hover{

    background:#0b5d3b;
    color:#fff;
    border-color:#0b5d3b;

}

.gallery-pagination .current{

    background:#d4af37;
    color:#fff;
    border-color:#d4af37;

}


/* ==========================
   NO RESULTS
========================== */

.no-gallery{

    text-align:center;
    font-size:20px;
    color:#777;
    padding:80px 20px;

}


/* ==========================
   RESPONSIVE
========================== */

@media(max-width:768px){

    .gallery-search form{

        flex-direction:column;
        gap:15px;

    }

    .gallery-search input{

        width:100%;
        border-radius:50px;
        border:2px solid #ddd;

    }

    .gallery-search button{

        width:100%;
        border-radius:50px;

    }

    .gallery-pagination{

        flex-wrap:wrap;
        gap:10px;

    }

    .gallery-pagination .page-numbers{

        margin:0;

    }

}