/* ==========================================================================
   LOGOS CAROUSEL (HARDWARE-ACCELERATED ULTRA-SMOOTH)
   ========================================================================== */

.block-logos {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.flow-logos-wrapper {
    background-color: #050505;
    padding: 90px 0;    
    width: 100%;
    overflow: hidden;
}

.logos-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.logos-track {
    display: flex;
    width: max-content;
    
    /* Hardware Acceleration & GPU Layering */
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
    
    /* Linear timing is crucial for smooth motion */
    animation: logo-scroll 50s linear infinite;
}

.logos-slide {
    display: flex;
    align-items: center;
    gap: 100px;
    padding-right: 100px;
}

@media (hover: hover) and (pointer: fine) {
    .logos-carousel:hover .logos-track {
        animation-play-state: paused;
    }
}

.logo-item {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-img {
    height: 60px;    
    width: auto;             
    max-width: 100%;         
    object-fit: contain;     
    opacity: 0.4;
    transition: opacity 0.3s ease;
    
    /* Fixes sub-pixel jitter inside image elements */
    backface-visibility: hidden;
    transform: translateZ(0);
}

.logo-img:hover {
    opacity: 1;
}

/* Precise 3D translation */
@keyframes logo-scroll {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

/* ==========================================================================
   MEDIA OVERRIDES
   ========================================================================== */

@media (max-width: 991.98px) {
    .flow-logos-wrapper {
        padding: 40px 0;
    }

    .logo-img {
        height: 45px;
    }

    .logos-slide {
        gap: 40px;
        padding-right: 40px;
    }

    .logos-track {
        animation-duration: 35s;
    }
}