/* 1. Force the carousel container to match the exact 1:1 square ratio */
.elementor-image-carousel-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

/* 2. Strip ALL hidden padding and margins from the slider tracks */
.elementor-image-carousel-wrapper .swiper,
.elementor-image-carousel-wrapper .swiper-container,
.elementor-image-carousel-wrapper .swiper-wrapper,
.elementor-image-carousel-wrapper .swiper-slide {
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
}

/* 3. Force the image to stretch 100% side-to-side and calculate its own height */
.elementor-image-carousel-wrapper .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important; /* Locks the square to the edges without gaps */
    margin: 0 !important;
}

/* 4. Kill the hidden text baseline gap under the image */
.elementor-image-carousel-wrapper .swiper-slide figure {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

/* 5. Hide the Elementor carousel magnifying glass hover icon */
.elementor-image-carousel-wrapper .elementor-carousel-image-overlay,
.elementor-image-carousel-wrapper .swiper-slide-image::after,
.elementor-image-carousel-wrapper .elementor-image-overlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* 6. Hide the custom .fm-gallery magnifying glass icon strictly */
.fm-gallery .swiper-slide a::after,
.fm-gallery .swiper-slide a:hover::after,
.fm-gallery .swiper-slide-inner a::after,
.swiper-slide .elementor-image-carousel-wrapper a[data-elementor-lightbox]::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: transparent !important;
    border: none !important;
}