/* ============================================================
   Events Carousel Widget
   ============================================================ */

@keyframes est-carousel-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(calc(-100% / 3)); }
}

.est-carousel {
    width: 100%;
    height: 18.75rem; /* 300px — overridden by Elementor item_height control */
    overflow: hidden;
    position: relative;
}

.est-carousel__track {
        display: flex;
        width: -moz-max-content;
        width: max-content;
        height: 100%;
        animation: est-carousel-scroll 40s linear infinite;
        /* duration overridden by Elementor speed control */
    }

.est-carousel:hover .est-carousel__track {
        animation-play-state: paused;
    }

.est-carousel__item {
        position: relative;
        width: 24.0625rem; /* 385px — overridden by Elementor item_width control */
        height: 100%;
        flex-shrink: 0;
        overflow: hidden;
        display: block;
        text-decoration: none;
    }

.est-carousel img.est-carousel__img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
        display: block;
    }

.est-carousel__name {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        color: #fff;
        padding: 1.875rem; /* 30px */
        padding-right:120px;
        opacity: 1;
        
        font-weight: 600;
    }

.est-carousel__see-more{
        position: absolute;
        inset: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        opacity:0;
        right:0;
        color: #fff;
        font-weight: 300;
        transition: opacity 0.25s ease;
        /*background: linear-gradient(to top, #33333384, transparent);*/
        padding: 1.875rem; /* 30px */
    }

.est-carousel__item:hover .est-carousel__see-more {
        opacity: 1;
    }

/* Desktop: hide the mobile Swiper */

@media (min-width: 768px) {
    .est-carousel-mobile {
        display: none;
    }
}

/* Mobile: hide the CSS filmstrip, show Swiper */

@media (max-width: 767px) {
    .est-carousel {
        display: none;
    }

    .est-carousel-mobile {
        width: 100%;
        height: 18.75rem; /* 300px default, adjust as needed */
        overflow: hidden;
        position: relative;
    }

        .est-carousel-mobile .swiper-wrapper {
            height: 100%;
        }

        .est-carousel-mobile .swiper-slide.est-carousel__item {
            width: 100%;
            height: 100%;
            flex-shrink: 0;
        }

        .est-carousel-mobile .est-carousel__img {
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
            -o-object-position: center;
               object-position: center;
            display: block;
        }

        .est-carousel-mobile .est-carousel__name {
            opacity: 1;
        }

        .est-carousel-mobile .est-carousel__see-more {
            opacity: 0;
        }

        .est-carousel-mobile .swiper-pagination {
            position: absolute;
            bottom: 0.5rem;
            left: 0;
            right: 0;
            text-align: center;
            z-index: 10;
        }

            .est-carousel-mobile .swiper-pagination .swiper-pagination-bullet {
                background: #fff;
                opacity: 0.6;
            }

            .est-carousel-mobile .swiper-pagination .swiper-pagination-bullet-active {
                opacity: 1;
            }
}
