.gv-developer-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 30px 0;
    /* Optional: Fading edges for infinite scroll effect */
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.gv-developer-carousel-track {
    display: flex;
    align-items: center;
    gap: 40px;
    width: max-content;
    /* Animation speed is calculated and set via JS */
    animation: gv-carousel-scroll 15s linear infinite;
    will-change: transform;
}

.gv-developer-carousel:hover .gv-developer-carousel-track {
    animation-play-state: paused !important;
}

.gv-developer-carousel-item {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    /* Fixed width for uniform box */
    height: 3em;
    /* Fixed height for uniform box */
    opacity: 0.5;
    transition: opacity 0.3s ease, filter 0.3s ease, transform 0.3s ease;
    filter: grayscale(100%);
}

.gv-developer-carousel-item:hover {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1.1);
}

.gv-developer-carousel-item a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.gv-developer-carousel-item img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

@keyframes gv-carousel-scroll {
    to {
        transform: translateX(var(--gv-scroll-amount, -50%));
    }
}