:root {
    --ilc-size-desktop: 120px;
    --ilc-size-tablet: 100px;
    --ilc-size-mobile: 80px;

    --ilc-gap-desktop: 30px;
    --ilc-gap-tablet: 20px;
    --ilc-gap-mobile: 15px;

    --ilc-speed-desktop: 15s;
    --ilc-speed-tablet: 15s;
    --ilc-speed-mobile: 15s;
}

/* Set local fallback custom properties mapped to Responsive Elementor Selector Variables */
.ilc-1dfadf30-carousel-container {
    --ilc-active-size: var(--ilc-size-desktop);
    --ilc-active-gap: var(--ilc-gap-desktop);
    --ilc-active-speed: var(--ilc-speed-desktop);
    
    width: 100%;
    overflow: hidden;
    position: relative;
    display: flex;
    user-select: none;
    padding: 10px 0;
}

/* Media Query overrides based on standard Elementor breakpoints */
@media (max-width: 1024px) {
    .ilc-1dfadf30-carousel-container {
        --ilc-active-size: var(--ilc-size-tablet);
        --ilc-active-gap: var(--ilc-gap-tablet);
        --ilc-active-speed: var(--ilc-speed-tablet);
    }
}

@media (max-width: 767px) {
    .ilc-1dfadf30-carousel-container {
        --ilc-active-size: var(--ilc-size-mobile);
        --ilc-active-gap: var(--ilc-gap-mobile);
        --ilc-active-speed: var(--ilc-speed-mobile);
    }
}

/* Core styling */
.ilc-1dfadf30-marquee-track {
    display: flex;
    overflow: hidden;
    width: 100%;
    position: relative;
}

.ilc-1dfadf30-marquee-content {
    display: flex;
    flex-shrink: 0;
    gap: var(--ilc-active-gap);
    align-items: center;
    justify-content: space-around;
    min-width: 100%;
    animation: ilc-marquee-scroll var(--ilc-active-speed) linear infinite;
    padding-right: var(--ilc-active-gap);
}

/* Reversing animation */
.ilc-1dfadf30-carousel-container[data-direction="reverse"] .ilc-1dfadf30-marquee-content {
    animation-direction: reverse;
}

/* Pause on hover state */
.ilc-1dfadf30-carousel-container.ilc-pause-on-hover:hover .ilc-1dfadf30-marquee-content {
    animation-play-state: paused !important;
}

/* Square logo box styling */
.ilc-1dfadf30-logo-box {
    width: var(--ilc-active-size);
    height: var(--ilc-active-size);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: transparent;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.ilc-1dfadf30-logo-link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ilc-1dfadf30-logo-box img {
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
    transition: all 0.3s ease;
    display: block;
}

/* Linear Infinite Keyframe Animation */
@keyframes ilc-marquee-scroll {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}
