.carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.carousel-viewport {
    width: 100%;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    transition: transform 0.3s ease;
    will-change: transform;
}

.carousel-item {
    flex: 0 0 calc((100% - (5 * 6rem)) / 5); /* desktop: 5 items + 4rem per item links/rechts */
    aspect-ratio: 5/3;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 3rem;
}

.carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 1100px) {
    .carousel-item {
        flex: 0 0 calc((100% - (4 * 4rem)) / 4); /* mobiel: 2 items + 4rem per item */
        margin: 0 2rem;
    }
}

@media (max-width: 768px) {
    .carousel-item {
        flex: 0 0 calc((100% - (2 * 4rem)) / 2); /* mobiel: 2 items + 4rem per item */
        margin: 0 2rem;
    }
}