.distributor-logos {
    --distributor-columns: 2;
    width: 80%;
    max-width: 1280px;
    min-width: 0;
    margin: 36px auto 0;
    padding: 0 24px;
    color: #023084;
}

.distributor-logos + .about {
    margin-top: 36px;
}

.distributor-logos__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.distributor-logos__heading h2 {
    margin: 0;
    padding: 0;
    font-size: clamp(18px, 2vw, 25px);
    font-weight: 600;
    line-height: 1.4;
    color: #023084;
}

.distributor-logos__controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
    gap: 8px;
}

.distributor-logos__controls[hidden] {
    display: none;
}

.distributor-logos__controls button {
    min-height: 40px;
    margin: 0;
    border: 1px solid #dce8ff;
    border-radius: 8px;
    background: #fff;
    color: #023084;
    font: inherit;
    font-size: 13px;
    line-height: 1.3;
    cursor: pointer;
    transition: background-color .2s;
}

.distributor-logos__toggle {
    padding: 8px 12px;
}

.distributor-logos__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    padding: 8px;
}

.distributor-logos__arrow svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.distributor-logos__controls button:hover {
    background: #edf3ff;
}

.distributor-logos button:focus-visible,
.distributor-logos a:focus-visible {
    outline: 3px solid #2559b7;
    outline-offset: 3px;
}

.distributor-logos__slider {
    width: 100%;
    padding: 5px;
    margin: -5px;
    box-sizing: content-box;
    overflow: hidden;
}

.distributor-logos__slide {
    box-sizing: border-box;
    height: auto;
}

.distributor-logos__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 112px;
    padding: 18px;
    border: 1px solid #e5eaf2;
    border-radius: 10px;
    background: #fff;
    text-decoration: none;
}

.distributor-logos__logo img {
    display: block;
    width: 100%;
    height: 76px;
    max-width: 210px;
    object-fit: contain;
    object-position: center;
}

.distributor-logos:not(.is-enhanced) .swiper-wrapper {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
}

.distributor-logos:not(.is-enhanced) .distributor-logos__slide {
    width: calc((100% - (var(--distributor-columns) - 1) * 16px) / var(--distributor-columns));
    flex: 0 0 auto;
    scroll-snap-align: start;
}

@media (min-width: 640px) {
    .distributor-logos { --distributor-columns: 3; }
}

@media (min-width: 1100px) {
    .distributor-logos { --distributor-columns: 5; }
}

@media (max-width: 967px) {
    .distributor-logos {
        width: calc(100% - 36px);
        padding: 0;
    }
}

@media (max-width: 639px) {
    .distributor-logos { margin-top: 26px; }
    .distributor-logos + .about { margin-top: 26px; }
    .distributor-logos__heading { align-items: flex-start; flex-direction: column; gap: 12px; }
    .distributor-logos__controls { align-self: flex-end; }
    .distributor-logos__logo { min-height: 96px; padding: 14px; }
    .distributor-logos__logo img { height: 64px; }
}

@media (prefers-reduced-motion: reduce) {
    .distributor-logos *,
    .distributor-logos *::before,
    .distributor-logos *::after {
        transition-duration: 0s !important;
        animation: none !important;
    }
}
