.carousel {
    width: 100%;
    overflow-x: auto;
    margin: 3em auto;
    display: flex;
    gap: .5em;
    scroll-behavior: smooth;
    anchor-name: --carousel;
    scroll-snap-type: x mandatory;
    scroll-marker-group: after;
}

.carousel::scroll-marker-group {
    display: flex;
    justify-content: center;
    gap: .5em;
}

.carousel::-webkit-scrollbar {
    display: none;
}

.card::scroll-marker {
    content: '';
    height: 1em;
    width: 1em;
    background-color: var(--color-jazzis-light-gray);
    border-radius: 50%;
}

.card::scroll-marker:target-current {
    background-color: var(--color-jazzis-dark-gray);
}

.carousel::scroll-button(right):disabled,
.carousel::scroll-button(left):disabled {
    opacity: 0.5;
    cursor: auto;
}

.carousel::scroll-button(right) {
    content: '›';
    border: none;
    background-color: transparent;
    font-size: 32pt;
    cursor: pointer;
    color:white;
    height: 60px;
    width: 60px;
    padding-bottom: .1em;
    position: fixed;
    position-anchor: --carousel;
    position-area: right center;
    translate: -70%;
}

.carousel::scroll-button(left) {
    content: '‹';
    border: none;
    background-color: transparent;
    font-size: 32pt;
    color: white;
    cursor: pointer;
    height: 60px;
    width: 40px;
    padding-bottom: .1em;
    position: fixed;
    position-anchor: --carousel;
    position-area: left center;
    translate: 70%;
}

.card {
    aspect-ratio: 5 / 3;
    scroll-snap-align: start;
    flex: 0 0 20em;
    height: 12em;
    background-color: gray;
    padding: 0em;
    border-radius: .5em;
    align-content: center;
}

@media(max-width: 500px; ) {
    .card {
        flex: 0 0 100%
    }

}