.gallery-section{
padding:70px 5%;
background:#340e71;
min-height:100vh;
}

.title{
text-align:center;
font-size:42px;
color:#fff;
margin-bottom:10px;
}

.title span{
color:#ea3c01;
}

.subtitle{
text-align:center;
color:#d9d9d9;
max-width:700px;
margin:auto;
margin-bottom:50px;
line-height:30px;
}

/* MAIN IMAGE */

.main-image{
max-width:1000px;
margin:auto;
overflow:hidden;
border-radius:20px;
background:#fff;
padding:12px;
box-shadow:0 20px 45px rgba(0,0,0,.35);
}

.main-image img{
width:100%;
height:600px;
object-fit:cover;
border-radius:15px;
transition:.5s;
cursor:pointer;
}

.main-image img:hover{
transform:scale(1.02);
}

/* THUMBNAILS */

.thumb-wrapper{
display:flex;
align-items:center;
width:100%;
gap:15px;
overflow:hidden;
}

.arrow{
width:55px;
height:55px;
border:none;
border-radius:50%;

color:#000;
font-size:16px;
cursor:pointer;
transition:.3s;
flex-shrink:0;
}

.arrow:hover{
background:#fff;
color:#340e71;
transform:scale(1.1);
}

.thumb-container{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    gap:15px;
    flex:1 1 auto;
    width:100%;
    padding:10px 5px;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}

.thumb-container::-webkit-scrollbar{
display:none;
}

.thumb{
flex:0 0 120px;
width:120px;
height:90px;
border-radius:12px;
overflow:hidden;
cursor:pointer;
border:4px solid transparent;
transition:.35s;
}

.thumb img{
display:block;
width:100%;
height:100%;
object-fit:cover;
}
*{
box-sizing:border-box;
}

.thumb:hover{
transform:translateY(-8px) scale(1.05);
border-color:#ea3c01;
box-shadow:0 15px 30px rgba(0,0,0,.25);
}

.thumb:hover img{
transform:scale(1.15);
}

.thumb.active{
border-color:#ea3c01;
box-shadow:0 0 20px rgba(181,142,49,.6);
}

/* MOBILE */

@media(max-width:992px){

.main-image img{
height:450px;
}

}

@media(max-width:768px){

.gallery-section{
padding:50px 20px;
}

.title{
font-size:30px;
}

.subtitle{
font-size:15px;
line-height:26px;
}

.main-image img{
height:280px;
}

.arrow{
width:42px;
height:42px;
font-size:20px;
}

.thumb{
min-width:90px;
height:70px;
}

}