

.products-carousel__button {
    width: 44px;
    height: 44px;
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #cc0000;
    color: #fff;
    transition: opacity .2s ease;
    z-index: 5;
    border-radius: 6px;
}
.products-carousel__button {
    display: none;
}

.products-carousel.products-carousel--overflow
.products-carousel__button {
    display: flex;
}
.products-carousel {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    gap: 20px;
}

.products-carousel__viewport {
    overflow: hidden;
    width: 100%;
}

.products-carousel__track {
    display: flex;
    transition: transform 0.45s ease;
    will-change: transform;
}

.products-carousel__slide {
    flex: 0 0 calc(25% - 15px);
    min-width: calc(25% - 15px);
    padding-right: 20px;
    box-sizing: border-box;
}


.products-carousel--overflow .products-carousel__button {
    opacity: 1;
    pointer-events: auto;
}

.products-carousel__button:hover {
    opacity: .85;
}

.products-carousel__button span {
    font-size: 28px;
    line-height: 1;
}

@media (max-width: 1199px) {

    .products-carousel__slide {
        flex: 0 0 calc(33.333% - 14px);
        min-width: calc(33.333% - 14px);
    }
}

@media (max-width: 767px) {

    .products-carousel {
        gap: 10px;
    }

    .products-carousel__slide {
        flex: 0 0 calc(50% - 10px);
        min-width: calc(50% - 10px);
        padding-right: 10px;
    }

    .products-carousel__button {
        width: 36px;
        height: 36px;
    }
}

