/* 
    Client Logos Block Styles 
    Responsive, animated, pause on hover
*/

.client-logos-section {
    width: 100%;
    padding: 3rem 0; /* Adjust spacing as needed */
    background-color: #F6FAF2; /* Matches requested background color */
    display: flex;
    align-items: center;
}

.client-logos-shell {
    width: min(100%, var(--container-width, 1440px));
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}

/* Fading edges matching #F6FAF2 to blur from right side and left side */
.client-logos-shell::before,
.client-logos-shell::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100px;
    z-index: 2;
    pointer-events: none;
}

.client-logos-shell::before {
    left: 0;
    background: linear-gradient(to right, #F6FAF2 0%, rgba(246, 250, 242, 0) 100%);
}

.client-logos-shell::after {
    right: 0;
    background: linear-gradient(to left, #F6FAF2 0%, rgba(246, 250, 242, 0) 100%);
}

.client-logos-track {
    display: flex;
    width: fit-content;
    /* Duration might need tuning depending on the number of logos */
    animation: scrollLogos 30s linear infinite;
}

/* Pause animation on hover */
.client-logos-track:hover {
    animation-play-state: paused;
}

.client-logos-group {
    display: flex;
    align-items: center;
    gap: 5rem; /* Spacing between logos */
    padding-right: 5rem; /* Gap after the last logo in the group to match gap */
}

.client-logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
}

.client-logo-link {
    display: block;
    transition: opacity 0.3s ease;
    text-decoration: none;
    outline: none;
}

.client-logo-link:hover {
    opacity: 0.8;
}

.client-logo-img {
    max-height: 58px;
    width: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
}

/* Slight hover effect for links */
.client-logo-link:hover .client-logo-img {
    transform: scale(1.05); /* Slight pop effect */
}

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

/* Responsive adjustments */
@media (max-width: 1024px) {
    .client-logos-group {
        gap: 3.5rem;
        padding-right: 3.5rem;
    }
    .client-logo-img {
        max-height: 48px;
    }
}

@media (max-width: 768px) {
    .client-logos-group {
        gap: 2.5rem;
        padding-right: 2.5rem;
    }
    .client-logo-img {
        max-height: 38px;
    }
    .client-logo-item {
        min-width: 120px;
    }
    .client-logos-shell::before,
    .client-logos-shell::after {
        width: 50px;
    }
}
