.pls-logo-slider {
    width: 100%;
    overflow: hidden;
    position: relative;
    background: var(--pls-bg, #fff);
    padding: 24px 0;
}

.pls-logo-slider::before,
.pls-logo-slider::after {
    content: "";
    position: absolute;
    top: 0;
    width: 90px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.pls-logo-slider::before {
    left: 0;
    background: linear-gradient(to right, var(--pls-bg, #fff), transparent);
}

.pls-logo-slider::after {
    right: 0;
    background: linear-gradient(to left, var(--pls-bg, #fff), transparent);
}

.pls-logo-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: plsLogoScroll var(--pls-speed, 22s) linear infinite;
    will-change: transform;
}

.pls-logo-item {
    width: var(--pls-logo-width, 180px);
    margin-right: var(--pls-gap, 60px);
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pls-logo-item img {
    max-width: 100%;
    max-height: 90px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.pls-logo-item img:hover {
    transform: scale(1.05);
}

.pls-pause-hover:hover .pls-logo-track {
    animation-play-state: paused;
}

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

@media (max-width: 768px) {
    .pls-logo-slider {
        padding: 18px 0;
    }

    .pls-logo-slider::before,
    .pls-logo-slider::after {
        width: 45px;
    }

    .pls-logo-item {
        width: calc(var(--pls-logo-width, 180px) * 0.75);
        margin-right: calc(var(--pls-gap, 60px) * 0.6);
    }

    .pls-logo-item img {
        max-height: 65px;
    }
}
