.carousel.alignfull {
    margin-right: calc(50% - 50vw);
}

@media (min-width: 1280px) {
    .carousel__slider {
        gap: 1.6rem;
    }
}

.carousel.alignfull .carousel__slider {
    padding-left: var(--container-gutter-sm);
}
@media (min-width: 960px) {
    .carousel.alignfull .carousel__slider {
        padding-left: var(--container-gutter-md);
    }
}
@media (min-width: 1280px) {
    .carousel.alignfull .carousel__slider {
        padding-left: 0;
    }
}

@media (min-width: 960px) {
    .carousel__item {
        flex: 0 0 45%;
    }
    .carousel__item:last-child {
        margin-right: var(--container-gutter-md);
    }
}
@media (min-width: 1280px) {
    .carousel__item {
        flex: 0 0 33%;
    }
    .carousel__item:last-child {
        margin-right: var(--container-gutter-lg);
    }
}

.carousel__card {
    padding-block: 1.92rem;
}
.carousel__card p {
    font-size: var(--wp--preset--font-size--xs);
}
@media (min-width: 960px) {
    .carousel__card p {
        font-size: 1.22rem;
    }
}
@media (min-width: 1280px) {
    .carousel__card p {
        font-size: 1.47rem;
    }
}
.carousel__card p:last-child {
    margin-bottom: 0;
}

.carousel__title {
    font-weight: 700;
    line-height: 1.2;
    margin: 0.96rem 0 1.92rem;
    font-size: var(--wp--preset--font-size--base);
    /* Contraste WCAG AA : brand-secondary sur bg-brand-light = 2.16:1.
       #1a8abf monte à ~4.56:1 sans toucher brand-secondary ailleurs. */
    color: #1a8abf;
    min-height: calc(2 * 1.2 * 1em);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (min-width: 960px) {
    .carousel__title {
        margin: 0.96rem 0 1.28rem;
    }
}
@media (min-width: 1280px) {
    .carousel__title {
        margin: 0.96rem 0 2rem;
        font-size: var(--font-size-m);
    }
}

.carousel__image {
    height: auto;
    margin-bottom: 1.92rem;
    aspect-ratio: 2/1;
    object-fit: cover;
}
@media (min-width: 1280px) {
    .carousel__image {
        margin-bottom: 3.84rem;
    }
}

.carousel__text {
    flex-grow: 1;
    margin-bottom: 1.92rem;
}

.carousel__pagination {
    display: none;
}
.carousel:has(.carousel__item:nth-child(2)) .carousel__pagination {
    display: flex;
}
@media (min-width: 960px) {
    .carousel:not(:has(.carousel__item:nth-child(3))) .carousel__pagination {
        display: none;
    }
}

.carousel.alignfull .carousel__pagination {
    margin-left: calc(-1 * var(--container-gutter-sm));
}
@media (min-width: 960px) {
    .carousel.alignfull .carousel__pagination {
        margin-left: calc(-1 * var(--container-gutter-md));
    }
}
@media (min-width: 1280px) {
    .carousel.alignfull .carousel__pagination {
        margin-left: 0;
        max-width: var(--wp--style--global--content-size);
        margin-right: auto;
    }
}
