.elementor-16 .elementor-element.elementor-element-d475743{--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;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-7dd4e62 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-16 .elementor-element.elementor-element-7dd4e62 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-16 .elementor-element.elementor-element-7dd4e62{--image-border-radius:30px;--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;--galleries-title-color-normal:var( --e-global-color-primary );}.elementor-16 .elementor-element.elementor-element-7dd4e62 .elementor-gallery-title{--space-between:10px;}.elementor-16 .elementor-element.elementor-element-7dd4e62 .elementor-gallery__titles-container{margin-bottom:50px;}@media(max-width:1024px){.elementor-16 .elementor-element.elementor-element-d475743{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for gallery, class: .elementor-element-7dd4e62 *//* Filter container */
.elementor-gallery__titles-container {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

/* All filter buttons - equal size */
.elementor-gallery__titles-container .elementor-item.elementor-gallery-title {
    background: #f5f5f5 !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 8px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333333 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    min-width: 120px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Active pill - red */
.elementor-gallery__titles-container .elementor-item.elementor-gallery-title.elementor-item-active {
    background: #b71415 !important;
    color: #ffffff !important;
}

/* Hover state */
.elementor-gallery__titles-container .elementor-item.elementor-gallery-title:not(.elementor-item-active):hover {
    background: #e0e0e0 !important;
    color: #333333 !important;
}

/* Kill the underline pointer animation */
.elementor-gallery__titles-container.e--pointer-underline .elementor-item::after,
.elementor-gallery__titles-container.e--pointer-underline .elementor-item::before,
.e--pointer-underline .elementor-gallery-title::after,
.e--pointer-underline .elementor-gallery-title::before {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
}

/* Force square aspect ratio on each gallery item */
.elementor-gallery-item {
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
}

/* Make the inner wrapper fill the square */
.elementor-gallery-item__inner {
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}

/* Force the image to cover the square without distortion */
.elementor-gallery-item__image.e-gallery-image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Overlay (caption/hover) also needs to fill the square */
.elementor-gallery-item__overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* Responsive — keeps squares on all screen sizes */
@media (max-width: 1024px) {
    .elementor-gallery-item {
        aspect-ratio: 1 / 1 !important;
    }
}

@media (max-width: 768px) {
    .elementor-gallery-item {
        aspect-ratio: 1 / 1 !important;
    }
}/* End custom CSS */