.logos-carousel .swiper-wrapper {
    transition-timing-function: linear;
}

.logos-carousel{
    padding: var(--block-margin) 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, auto);
}

.logos-carousel-header{
    grid-row: 1;
    grid-column: 1;
    pointer-events: none;
}

.logos-carousel-header:has(.logos-carousel-buttons){
    display: grid;
    grid-template-columns: subgrid;
    grid-template-rows: subgrid;
    grid-row: 1 / span 3;
}

.logos-carousel-title{
    margin: 0;
    pointer-events: all;
    padding: var(--page-padding);
}

.logos-carousel-buttons{
    grid-row: 3;
    grid-column: 1;
    pointer-events: all;
    justify-content: center;
}

.logos-carousel-header + .logos-carousel-list-wrapper{
    padding: var(--row-gap) 0;
    position: relative;
    grid-column: 1;
    grid-row: 2;
}

.logos-carousel-header + .logos-carousel-list-wrapper::before,
.logos-carousel-header + .logos-carousel-list-wrapper::after{
    content: '';
    display: block;
    width: var(--wide-width);
    border-bottom: 0.1rem solid;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.logos-carousel-header + .logos-carousel-list-wrapper::before{
    top: 0
}

.logos-carousel-header + .logos-carousel-list-wrapper::after{
    bottom: 0;
}

.logos-carousel-list .swiper-slide{
    width: min(50%, 25rem);
    padding: calc(var(--item-row-gap) / 2) var(--item-column-gap);
}

@media (min-width: 768px) {
    .logos-carousel{
        padding: calc(var(--block-margin) / 2) 0;
    }
}

@media (min-width: 992px) {
    .logos-carousel-title{
        margin: 0 auto;
        max-width: 70%;
    }

    .logos-carousel-title{
        padding: 0;
    }
}