.carousel {
    width: calc(100% - 2rem);
    overflow: hidden;
    position: relative;
}

.carousel-viewport {
    width: 100%;
    border-radius: 1.5rem;
    overflow: hidden;
}

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

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

.carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1.5rem;
    border: 0px solid var(--accent);

}

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

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