.psls {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    background: var(--psls-background, transparent);
    border: var(--psls-border-width, 0) solid var(--psls-border-color, #e5e7eb);
    border-radius: var(--psls-radius, 0);
    padding-block: var(--psls-padding-y, 18px);
    overflow: hidden;
}

.psls *,
.psls *::before,
.psls *::after {
    box-sizing: border-box;
}

.psls--full-bleed {
    left: 50%;
    margin-left: calc(var(--psls-viewport-width, 100vw) / -2);
    width: var(--psls-viewport-width, 100vw);
    max-width: none;
}

.psls--section-shadow {
    box-shadow: 0 12px 32px rgba(16, 24, 40, .10);
}

.psls__inner {
    position: relative;
    width: min(100%, var(--psls-max-width, 1320px));
    margin-inline: auto;
}

.psls__viewport {
    width: 100%;
    overflow: hidden;
}

.psls--fade .psls__viewport {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--psls-fade-width), #000 calc(100% - var(--psls-fade-width)), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 var(--psls-fade-width), #000 calc(100% - var(--psls-fade-width)), transparent 100%);
}

.psls__track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: psls-scroll-left var(--psls-duration, 28s) linear infinite;
    animation-play-state: paused;
    will-change: transform;
}

.psls.is-ready[data-autoplay="1"] .psls__track {
    animation-play-state: running;
}

.psls--direction-right .psls__track {
    animation-name: psls-scroll-right;
}

.psls.is-paused .psls__track,
.psls.is-document-hidden .psls__track,
.psls.is-focus-within .psls__track,
.psls--pause-hover:hover .psls__track,
.psls.is-static .psls__track {
    animation-play-state: paused !important;
}

.psls.is-static .psls__group {
    flex: 1 1 auto;
    justify-content: center;
    padding-inline-end: 0;
}

.psls.is-static .psls__group--clone {
    display: none;
}

.psls.is-static .psls__track {
    width: 100%;
    justify-content: center;
    transform: none !important;
}

.psls__group {
    display: flex;
    align-items: center;
    gap: var(--psls-gap, 36px);
    flex: none;
    list-style: none;
    margin: 0;
    padding: 0 var(--psls-gap, 36px) 0 0;
}

[dir="rtl"] .psls__group {
    padding: 0 0 0 var(--psls-gap, 36px);
}

.psls__item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--psls-slot-width, 180px);
    width: var(--psls-slot-width, 180px);
    height: var(--psls-desktop-height, 100px);
    min-width: 0;
    padding: 10px;
}

.psls--cards .psls__item {
    background: var(--psls-logo-background, #fff);
    border: 1px solid var(--psls-logo-border, #eee);
    border-radius: var(--psls-logo-radius, 8px);
}

.psls--logo-shadow .psls__item {
    box-shadow: 0 6px 18px rgba(16, 24, 40, .10);
}

.psls__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.psls__link:focus-visible,
.psls__control:focus-visible {
    outline: 3px solid #1a73e8;
    outline-offset: 3px;
}

.psls__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    opacity: var(--psls-opacity, 1);
    transform: scale(1);
    transition: opacity .2s ease, filter .2s ease, transform .2s ease;
}

.psls--grayscale .psls__image {
    filter: grayscale(1);
}

.psls__item:hover .psls__image,
.psls__link:focus-visible .psls__image {
    opacity: 1;
    filter: none;
    transform: scale(var(--psls-hover-scale, 1.03));
}

.psls__control {
    position: absolute;
    z-index: 2;
    right: 10px;
    bottom: 8px;
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    color: #222;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(0, 0, 0, .16);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
    cursor: pointer;
}

[dir="rtl"] .psls__control {
    right: auto;
    left: 10px;
}

.psls__control-icon {
    font: 700 14px/1 Arial, sans-serif;
}

@keyframes psls-scroll-left {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

@keyframes psls-scroll-right {
    from { transform: translate3d(-50%, 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}

@media (max-width: 991.98px) {
    .psls__item {
        height: var(--psls-tablet-height, 90px);
    }
}

@media (max-width: 575.98px) {
    .psls__item {
        height: var(--psls-mobile-height, 75px);
        padding: 8px;
    }

    .psls__control {
        width: 32px;
        height: 32px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .psls__viewport {
        overflow-x: auto;
    }

    .psls__track {
        animation: none !important;
        transform: none !important;
        width: max-content;
    }

    .psls__image {
        transition: none;
    }

    .psls__group--clone,
    .psls__control {
        display: none !important;
    }

}
