/* ============================================================
   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;
    }

/* Mobile: vertical static stack, name always visible, duplicates hidden */

@media (max-width: 767px) {
    .est-carousel {
        height: auto !important; /* override Elementor injected height */
        overflow: hidden;
    }

        .est-carousel__track {
            animation: none;
            flex-direction: column;
            width: 100%;
            height: auto;
        }

        .est-carousel__item {
            width: 100% !important; /* override Elementor injected width */
            height: 8.1875rem !important; /* 131px — override Elementor injected height */
            flex-shrink: 0;
            margin-bottom: 2px;

        }

        .est-carousel__img {
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
            -o-object-position: center;
               object-position: center;
        }

        .est-carousel__name {
            opacity: 1;
        }

    .est-carousel__item--dup {
        display: none !important;
    }
}
