/* --- wp-block-border.js --- */
.rounded-16 {
    border-radius: 16px;
}

/* --- wp-block-responsive.js --- */
@media (width < 782px) {
    .hide-on-mobile {
        display: none !important;
    }
}

@media (min-width: 782px) and (max-width: 1024px) {
    .hide-on-tablet {
        display: none !important;
    }
}

@media (width >= 1024px) {
    .hide-on-desktop {
        display: none !important;
    }
}

@media (width < 782px) {
    .column-reverse-mobile {
        flex-direction: column-reverse !important;
    }
}

/* --- wp-block-link.js --- */
.link-wrapper {
    position: relative;
}

.link-wrapper .wp-block-group {
    position: static !important;
}

.link-wrapper a.stretched-link::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    pointer-events: auto;
}

/* --- wp-block-medias.js --- */
.rounded-16,
.rounded-16 img,
.rounded-16 video,
.rounded-16 .wp-block-cover {
    border-radius: var(--radius-16);
}

/* --- wp-block-style.js --- */
.flex-column {
    flex-direction: column;
}

.flex-row {
    flex-direction: row;
}

@media (width < 1024px) {
    .flex-row {
        flex-wrap: wrap;
    }
}

.align-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

[class*="flex-"] {
    display: flex;
}

.gap-8 {
    gap: 8px;
}

.gap-16 {
    gap: 16px;
}

.gap-24 {
    gap: 24px;
}

.gap-32 {
    gap: 32px;
}

@media (width < 1024px) {
    .gap-40,
    .gap-48,
    .gap-64,
    .gap-128 {
        gap: 32px;
    }
}

@media (width >= 1024px) {
    .gap-40 {
        gap: 40px;
    }

    .gap-48 {
        gap: 48px;
    }

    .gap-64 {
        gap: 64px;
    }

    .gap-128 {
        gap: 128px;
    }
}

/* --- COLUMN-GAP --- */
.column-gap-8 {
    column-gap: 8px;
}

.column-gap-16 {
    column-gap: 16px;
}

.column-gap-24 {
    column-gap: 24px;
}

.column-gap-32 {
    column-gap: 32px;
}

.column-gap-40 {
    column-gap: 40px;
}

.column-gap-48 {
    column-gap: 48px;
}

.column-gap-64 {
    column-gap: 64px;
}

.column-gap-128 {
    column-gap: 128px;
}

/* --- ROW-GAP --- */
.row-gap-8 {
    row-gap: 8px;
}

.row-gap-16 {
    row-gap: 16px;
}

.row-gap-24 {
    row-gap: 24px;
}

.row-gap-32 {
    row-gap: 32px;
}

.row-gap-40 {
    row-gap: 40px;
}

.row-gap-48 {
    row-gap: 48px;
}

.row-gap-64 {
    row-gap: 64px;
}

.row-gap-128 {
    row-gap: 128px;
}


/* --- PADDING --- */
.p-8 {
    padding: 8px;
}

.p-16 {
    padding: 16px;
}

.p-24 {
    padding: 24px;
}

.p-32 {
    padding: 32px;
}

.py-8 {
    padding-block: 8px;
}

.py-16 {
    padding-block: 16px;
}

.py-24 {
    padding-block: 24px;
}

.py-32 {
    padding-block: 32px;
}

.px-8 {
    padding-inline: 8px;
}

.px-16 {
    padding-inline: 16px;
}

.px-24 {
    padding-inline: 24px;
}

.px-32 {
    padding-inline: 32px;
}

@media (width >= 1024px) {
    .p-40 {
        padding: 40px;
    }

    .p-48 {
        padding: 48px;
    }

    .p-64 {
        padding: 64px;
    }

    .p-128 {
        padding: 128px;
    }


    .py-40 {
        padding-block: 40px;
    }

    .py-48 {
        padding-block: 48px;
    }

    .py-64 {
        padding-block: 64px;
    }

    .py-128 {
        padding-block: 128px;
    }

    .px-40 {
        padding-inline: 40px;
    }

    .px-48 {
        padding-inline: 48px;
    }

    .px-64 {
        padding-inline: 64px;
    }

    .px-128 {
        padding-inline: 128px;
    }

    .pt-40 {
        padding-top: 40px;
    }

    .pt-48 {
        padding-top: 48px;
    }

    .pt-64 {
        padding-top: 64px;
    }

    .pt-128 {
        padding-top: 128px;
    }

    .pb-40 {
        padding-bottom: 40px;
    }

    .pb-48 {
        padding-bottom: 48px;
    }

    .pb-64 {
        padding-bottom: 64px;
    }

    .pb-128 {
        padding-bottom: 128px;
    }

    .my-40 {
        margin-block: 40px;
    }

    .my-48 {
        margin-block: 48px;
    }

    .my-64 {
        margin-block: 64px;
    }

    .my-128 {
        margin-block: 128px;
    }

    .mt-40 {
        margin-top: 40px;
    }

    .mt-48 {
        margin-top: 48px;
    }

    .mt-64 {
        margin-top: 64px;
    }

    .mt-128 {
        margin-top: 128px;
    }

    .mb-40 {
        margin-bottom: 40px;
    }

    .mb-48 {
        margin-bottom: 48px;
    }

    .mb-64 {
        margin-bottom: 64px;
    }

    .mb-128 {
        margin-bottom: 128px;
    }
}

@media (width < 1024px) {

    .p-40,
    .p-48,
    .p-64,
    .p-128 {
        padding: 32px;
    }

    .py-40,
    .py-48,
    .py-64,
    .py-128 {
        padding-block: 32px;
    }

    .px-40,
    .px-48,
    .px-64,
    .px-128 {
        padding-inline: 32px;
    }

    .pt-40,
    .pt-48,
    .pt-64,
    .pt-128 {
        padding-top: 32px;
    }

    .pb-40,
    .pb-48,
    .pb-64,
    .pb-128 {
        padding-bottom: 32px;
    }

    .my-40,
    .my-48,
    .my-64,
    .my-128 {
        margin-block: 32px;
    }

    .mt-40,
    .mt-48,
    .mt-64,
    .mt-128 {
        margin-top: 32px;
    }

    .mb-40,
    .mb-48,
    .mb-64,
    .mb-128 {
        margin-bottom: 32px;
    }
}

/* --- MARGIN --- */
.m-8 {
    margin: 8px;
}

.m-16 {
    margin: 16px;
}

.m-24 {
    margin: 24px;
}

.m-32 {
    margin: 32px;
}

.m-40 {
    margin: 40px;
}

.m-48 {
    margin: 48px;
}

.m-64 {
    margin: 64px;
}

.m-128 {
    margin: 128px;
}

.my-8 {
    margin-block: 8px;
}

.my-16 {
    margin-block: 16px;
}

.my-24 {
    margin-block: 24px;
}

.my-32 {
    margin-block: 32px;
}

.mx-8 {
    margin-inline: 8px;
}

.mx-16 {
    margin-inline: 16px;
}

.mx-24 {
    margin-inline: 24px;
}

.mx-32 {
    margin-inline: 32px;
}

.mx-40 {
    margin-inline: 40px;
}

.mx-48 {
    margin-inline: 48px;
}

.mx-64 {
    margin-inline: 64px;
}

.mx-128 {
    margin-inline: 128px;
}


/* --- PADDING par côté --- */
.pt-8 {
    padding-top: 8px;
}

.pt-16 {
    padding-top: 16px;
}

.pt-24 {
    padding-top: 24px;
}

.pt-32 {
    padding-top: 32px;
}

.pt-152 {
    padding-top: 152px;
}

.pr-8 {
    padding-right: 8px;
}

.pr-16 {
    padding-right: 16px;
}

.pr-24 {
    padding-right: 24px;
}

.pr-32 {
    padding-right: 32px;
}

.pr-40 {
    padding-right: 40px;
}

.pr-48 {
    padding-right: 48px;
}

.pr-64 {
    padding-right: 64px;
}

.pr-128 {
    padding-right: 128px;
}

.pb-8 {
    padding-bottom: 8px;
}

.pb-16 {
    padding-bottom: 16px;
}

.pb-24 {
    padding-bottom: 24px;
}

.pb-32 {
    padding-bottom: 32px;
}

.pl-8 {
    padding-left: 8px;
}

.pl-16 {
    padding-left: 16px;
}

.pl-24 {
    padding-left: 24px;
}

.pl-32 {
    padding-left: 32px;
}

.pl-40 {
    padding-left: 40px;
}

.pl-48 {
    padding-left: 48px;
}

.pl-64 {
    padding-left: 64px;
}

.pl-128 {
    padding-left: 128px;
}

/* --- MARGIN par côté --- */
.mt-8 {
    margin-top: 8px;
}

.mt-16 {
    margin-top: 16px;
}

.mt-24 {
    margin-top: 24px;
}

.mt-32 {
    margin-top: 32px;
}

.mr-8 {
    margin-right: 8px;
}

.mr-16 {
    margin-right: 16px;
}

.mr-24 {
    margin-right: 24px;
}

.mr-32 {
    margin-right: 32px;
}

.mr-40 {
    margin-right: 40px;
}

.mr-48 {
    margin-right: 48px;
}

.mr-64 {
    margin-right: 64px;
}

.mr-128 {
    margin-right: 128px;
}

.mb-8 {
    margin-bottom: 8px;
}

.mb-16 {
    margin-bottom: 16px;
}

.mb-24 {
    margin-bottom: 24px;
}

.mb-32 {
    margin-bottom: 32px;
}

.ml-8 {
    margin-left: 8px;
}

.ml-16 {
    margin-left: 16px;
}

.ml-24 {
    margin-left: 24px;
}

.ml-32 {
    margin-left: 32px;
}

.ml-40 {
    margin-left: 40px;
}

.ml-48 {
    margin-left: 40px;
}

.ml-64 {
    margin-left: 64px;
}

.ml-128 {
    margin-left: 128px;
}
