
.gc-carousel-wrap {
    position: relative;
    overflow: hidden;
    background: var(--gc-bg, #eef4f8);
    padding: var(--gc-padding-top, 24px) var(--gc-padding-right, 32px) var(--gc-padding-bottom, 24px) var(--gc-padding-left, 32px);
    border-radius: var(--gc-radius, 0px);
}

.gc-carousel-mask {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.gc-carousel-wrap.gc-has-fade .gc-carousel-mask {
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0,
        #000 var(--gc-fade-width, 60px),
        #000 calc(100% - var(--gc-fade-width, 60px)),
        transparent 100%
    );
    mask-image: linear-gradient(
        to right,
        transparent 0,
        #000 var(--gc-fade-width, 60px),
        #000 calc(100% - var(--gc-fade-width, 60px)),
        transparent 100%
    );
}

.gc-carousel-track {
    display: flex;
    width: max-content;
    align-items: center;
    will-change: transform;
    animation: gc-scroll-rtl var(--gc-duration, 32s) linear infinite;
}

.gc-carousel-wrap[data-direction="ltr"] .gc-carousel-track {
    animation-name: gc-scroll-ltr;
}

.gc-carousel-set {
    display: flex;
    flex-shrink: 0;
    align-items: center;
}

.gc-carousel-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: var(--gc-gap, 34px);
    line-height: 0;
}

.gc-carousel-logo {
    display: block;
    width: auto;
    max-width: none;
    max-height: var(--gc-logo-height, 44px);
    height: auto;
    object-fit: contain;
    opacity: var(--gc-opacity, 1);
    filter: grayscale(var(--gc-grayscale, 0%));
}

.gc-carousel-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.gc-carousel-wrap.gc-pause-on-hover:hover .gc-carousel-track {
    animation-play-state: paused;
}

@keyframes gc-scroll-rtl {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@keyframes gc-scroll-ltr {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}

@media (max-width: 782px) {
    .gc-carousel-item {
        margin-right: var(--gc-gap-mobile, 22px);
    }

    .gc-carousel-logo {
        max-height: var(--gc-logo-height-mobile, 34px);
    }
}
