.elementor-7529 .elementor-element.elementor-element-a38d942{--display:flex;--min-height:943px;}.elementor-7529 .elementor-element.elementor-element-a38d942.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-7529 .elementor-element.elementor-element-89524dd{width:100%;max-width:100%;}.elementor-7529 .elementor-element.elementor-element-5477304{--display:flex;}.elementor-7529 .elementor-element.elementor-element-7cc7ef5{width:100%;max-width:100%;}@media(min-width:768px){.elementor-7529 .elementor-element.elementor-element-a38d942{--width:110.182%;}}/* Start custom CSS for html, class: .elementor-element-89524dd */.gallery-title{
text-align:center;
padding:60px 20px 20px;
font-family:Montserrat;
}

.gallery-title h2{
font-size:36px;
}

.filter-bar{
text-align:center;
padding:15px;
background:white;
box-shadow:0 3px 12px rgba(0,0,0,0.08);
}

.filter-bar button{
border:none;
padding:10px 18px;
margin:5px;
border-radius:30px;
cursor:pointer;
background:#eee;
}

.filter-bar button.active{
background:#d40d2f;
color:white;
}

.gallery{
padding:40px 6%;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
}

.card{
position:relative;
overflow:hidden;
border-radius:12px;
box-shadow:0 8px 25px rgba(0,0,0,0.15);
}

.card img{
width:100%;
transition:.4s;
}

.card:hover img{
transform:scale(1.1);
}

.overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
display:flex;
align-items:center;
justify-content:center;
opacity:0;
transition:.3s;
}

.card:hover .overlay{
opacity:1;
}

.overlay button{
background:#d40d2f;
color:white;
border:none;
padding:10px 22px;
border-radius:25px;
}

.lightbox{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
}

.lightbox.active{
display:flex;
}

.lightbox img{
max-width:90%;
max-height:85%;
}

.close{
position:absolute;
top:30px;
right:40px;
font-size:35px;
color:white;
cursor:pointer;
}

.arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
font-size:40px;
color:white;
cursor:pointer;
}

.left{left:20px;}
.right{right:20px;}

@media(max-width:768px){
.gallery{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:480px){
.gallery{grid-template-columns:1fr;}
}/* End custom CSS */