.xp-e-logo-carousel-section {
    padding-top: 58px;
    padding-bottom: 58px;
}

.xp-e-logo-carousel-wrap,
.xp-e-logo-carousel-widget,
.xp-e-logo-carousel-widget > .elementor-widget-container {
    width: 100%;
}

.xp-logo-carousel {
    --xp-logo-gap: 16px;
    position: relative;
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(41, 41, 41, .14);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 16px 45px rgba(41, 41, 41, .06);
    isolation: isolate;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
}

.xp-logo-carousel__track {
    display: flex;
    width: max-content;
    animation: xp-logo-scroll var(--xp-logo-duration, 34s) linear infinite;
    will-change: transform;
}

.xp-logo-carousel__group {
    display: flex;
    flex: 0 0 auto;
    gap: var(--xp-logo-gap);
    padding: 18px var(--xp-logo-gap) 18px 0;
}

.xp-logo-carousel__item {
    display: flex;
    flex: 0 0 230px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 126px;
    padding: 22px 24px;
    border: 1px solid rgba(41, 41, 41, .10);
    border-radius: 16px;
    background: #ffffff;
}

.xp-logo-carousel__item:first-child {
    margin-left: var(--xp-logo-gap);
}

.xp-logo-carousel__item img {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    object-fit: contain;
}

.xp-logo-carousel__item span {
    color: #292929;
    font-family: 'Manrope', sans-serif;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.15;
    white-space: nowrap;
}

.xp-logo-carousel:hover .xp-logo-carousel__track,
.xp-logo-carousel:focus-within .xp-logo-carousel__track {
    animation-play-state: paused;
}

@keyframes xp-logo-scroll {
    to { transform: translateX(-50%); }
}

@media (max-width: 720px) {
    .xp-e-logo-carousel-section { padding-top: 38px; padding-bottom: 38px; }
    .xp-logo-carousel { border-radius: 18px; -webkit-mask-image: none; mask-image: none; }
    .xp-logo-carousel__group { gap: 12px; padding: 12px 12px 12px 0; }
    .xp-logo-carousel__item { flex-basis: 196px; gap: 11px; min-height: 102px; padding: 17px 18px; border-radius: 14px; }
    .xp-logo-carousel__item:first-child { margin-left: 12px; }
    .xp-logo-carousel__item img { width: 48px; height: 48px; flex-basis: 48px; }
    .xp-logo-carousel__item span { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    .xp-logo-carousel { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
    .xp-logo-carousel__track { animation: none; }
    .xp-logo-carousel__group[aria-hidden="true"] { display: none; }
}
