.elementor-671 .elementor-element.elementor-element-45bab72{--display:flex;--min-height:50vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.5;}.elementor-671 .elementor-element.elementor-element-45bab72:not(.elementor-motion-effects-element-type-background),.elementor-671 .elementor-element.elementor-element-45bab72 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url('../images/gallery-bg.jpg');background-position:center center;background-size:cover;}.elementor-671 .elementor-element.elementor-element-45bab72::before,.elementor-671 .elementor-element.elementor-element-45bab72 > .elementor-background-video-container::before,.elementor-671 .elementor-element.elementor-element-45bab72 > .e-con-inner > .elementor-background-video-container::before,.elementor-671 .elementor-element.elementor-element-45bab72 > .elementor-background-slideshow::before,.elementor-671 .elementor-element.elementor-element-45bab72 > .e-con-inner > .elementor-background-slideshow::before,.elementor-671 .elementor-element.elementor-element-45bab72 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-3e0a67a );--background-overlay:'';}.elementor-671 .elementor-element.elementor-element-08a528e{text-align:center;}.elementor-671 .elementor-element.elementor-element-2dfdf4c{color:var( --e-global-color-primary );}.elementor-671 .elementor-element.elementor-element-7c4157c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:7em;--padding-bottom:7em;--padding-left:0em;--padding-right:0em;}.elementor-671 .elementor-element.elementor-element-80bf680 .gallery-item .gallery-caption{display:none;}.elementor-671 .elementor-element.elementor-element-80bf680 .gallery-item{padding:0 5px 5px 0;}.elementor-671 .elementor-element.elementor-element-80bf680 .gallery{margin:0 -5px -5px 0;}.elementor-671 .elementor-element.elementor-element-80bf680 .gallery-item img{border-radius:5px 5px 5px 5px;}@media(max-width:1024px){.elementor-671 .elementor-element.elementor-element-45bab72{--min-height:40vh;}.elementor-671 .elementor-element.elementor-element-7c4157c{--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}}@media(max-width:767px){.elementor-671 .elementor-element.elementor-element-45bab72{--min-height:30vh;}.elementor-671 .elementor-element.elementor-element-7c4157c{--padding-top:3em;--padding-bottom:3em;--padding-left:0em;--padding-right:0em;}}

/* --- Premium Gallery Grid Styling --- */
#gallery-1.gallery{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 30px auto;
    padding: 0 15px;
    max-width: 1200px;
}
@media (max-width: 1024px){
    #gallery-1.gallery{
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }
}
@media (max-width: 768px){
    #gallery-1.gallery{
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}
@media (max-width: 480px){
    #gallery-1.gallery{
        grid-template-columns: 1fr;
        gap: 15px;
    }
}
.gallery-item{
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    background: #fff;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.gallery-item:hover{
    transform: translateY(-6px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
}
.gallery-icon a{
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.gallery-icon img{
    display: block;
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.gallery-item:hover .gallery-icon img{
    transform: scale(1.08);
}