body.formation-detail-page .conteneur.banner,
body.formation-detail-page .single-formation-infos,
body.formation-detail-page .formeG,
body.formation-detail-page .separateur {
    display: none !important;
}

body.formation-detail-page .contFluidSectionSite {
    padding: 0 !important;
    background: #fff;
}

html:has(body.formation-detail-page) {
    overflow-x: clip;
    overflow-y: auto;
}

body.formation-detail-page {
    overflow: visible;
}

body.formation-detail-page #wrapper,
body.formation-detail-page .contFluidSectionSite,
body.formation-detail-page .formation-page,
body.formation-detail-page .formation-sheet {
    overflow: visible;
}

body.formation-detail-page .formation-page section {
    padding: 0;
    overflow: visible;
}

body.formation-detail-page #wrapper {
    position: relative;
    z-index: 1;
}

body.formation-detail-page .logo-header,
body.formation-detail-page .logo-front-page .custom-logo-link,
body.formation-detail-page header.logo-front-page,
body.formation-detail-page #VerticalMenu {
    z-index: 400;
}

body.formation-detail-page header.logo-front-page {
    position: relative;
    pointer-events: none;
}

body.formation-detail-page #VerticalMenu,
body.formation-detail-page header.logo-front-page a,
body.formation-detail-page header.logo-front-page button,
body.formation-detail-page header.logo-front-page input,
body.formation-detail-page header.logo-front-page form,
body.formation-detail-page header.logo-front-page .searchMenu {
    pointer-events: auto;
}

/* Header sticky horizontal aussi sur fiches formation (toutes tailles) */
body.formation-detail-page {
    --fp-header-offset: var(--tf-header-height, 72px);
}

body.formation-detail-page .logo-header,
body.formation-detail-page .logo-header.logo-front-page {
    display: none !important;
}

body.formation-detail-page #VerticalMenu {
    inset: 0 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    height: var(--tf-header-height, 72px);
    padding: 0 16px;
    border-bottom: 1px solid rgba(0, 93, 159, 0.12);
    box-shadow: 0 8px 24px rgba(0, 36, 64, 0.06);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: saturate(160%) blur(12px);
    -webkit-backdrop-filter: saturate(160%) blur(12px);
    transition: none;
}

body.formation-detail-page #VerticalMenu::after,
body.formation-detail-page #VerticalMenu > br,
body.formation-detail-page #VerticalMenu .menu_social {
    display: none;
}

body.formation-detail-page #VerticalMenu #logoMenuMobile {
    display: flex !important;
    align-items: center;
    width: auto;
    min-width: 120px;
    min-height: 48px;
    margin: 0 auto 0 0;
    padding: 0;
    clip-path: none;
    background: transparent;
}

body.formation-detail-page #VerticalMenu #logoMenuMobile a,
body.formation-detail-page #VerticalMenu #logoMenuMobile a.custom-logo-link {
    position: static !important;
    display: flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    clip-path: none !important;
    background: transparent !important;
}

body.formation-detail-page #VerticalMenu #logoMenuMobile img,
body.formation-detail-page #VerticalMenu #logoMenuMobile img.custom-logo {
    display: block !important;
    height: 48px !important;
    width: auto !important;
    max-width: 150px;
    object-fit: contain;
    padding: 0 !important;
}

body.formation-detail-page #VerticalMenu #search,
body.formation-detail-page #VerticalMenu #showMenu {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
}

body.formation-detail-page #VerticalMenu #search {
    margin-left: auto;
    margin-right: 4px;
}

body.formation-detail-page #VerticalMenu #showMenu {
    order: 3;
}

.formation-page {
    --fp-blue: #005d9f;
    --fp-blue-dark: #003e73;
    --fp-ink: #1d2a33;
    --fp-muted: #5c6b76;
    --fp-line: #d5e0ea;
    --fp-paper: #f4f7fb;
    --fp-white: #fff;
    --fp-red: #c80c0f;
    --fp-red-dark: #9e090c;
    position: relative;
    color: var(--fp-ink);
    font-family: Barlow, "Segoe UI", sans-serif;
    background: var(--fp-white);
    padding-bottom: 72px;
}

.formation-page *,
.formation-page *::before,
.formation-page *::after {
    box-sizing: border-box;
}

.formation-page h1,
.formation-page h2,
.formation-page h3,
.formation-page p,
.formation-page ul,
.formation-page ol {
    margin-top: 0;
}

.formation-page a {
    color: var(--fp-blue);
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.formation-hero {
    position: relative;
    min-height: 420px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: calc(var(--fp-header-offset, 72px) + 76px) 96px 64px;
    color: var(--fp-white);
    background-color: var(--fp-blue-dark);
    background-position: center;
    background-size: cover;
    text-align: center;
}

.formation-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(359.55deg, rgba(2, 91, 147, 0.95) 0.43%, rgba(1, 28, 45, 0) 136.43%);
}

.formation-hero__inner {
    position: relative;
    z-index: 1;
    width: min(980px, 100%);
}

.formation-hero__eyebrow {
    margin-bottom: 12px;
    font-size: 15px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.formation-hero__title {
    margin-bottom: 28px;
    color: var(--fp-white);
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 700;
    line-height: 1.15;
}

.formation-cta,
.formation-page a.formation-cta,
.formation-page a.formation-cta:link,
.formation-page a.formation-cta:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 22px;
    border: 0;
    border-radius: 4px;
    background: var(--fp-red);
    color: #fff !important;
    font: inherit;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.formation-cta--light,
.formation-page a.formation-cta--light {
    background: var(--fp-red);
    color: #fff !important;
}

.formation-cta:hover,
.formation-cta:focus-visible,
.formation-cta--light:hover,
.formation-cta--light:focus-visible,
.formation-page a.formation-cta:hover,
.formation-page a.formation-cta:focus-visible,
.formation-page a.formation-cta:active,
.formation-page a.formation-cta--light:hover,
.formation-page a.formation-cta--light:focus-visible,
.formation-page a.formation-cta--light:active {
    background: var(--fp-red-dark);
    color: #fff !important;
    text-decoration: none;
}

.formation-sheet {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 332px;
    grid-template-areas:
        "meta aside"
        "main aside";
    gap: 86px 48px;
    width: min(1420px, calc(100% - 160px));
    margin: 36px auto 0;
}

.formation-meta {
    grid-area: meta;
    display: flex;
    align-items: flex-start;
    gap: 48px;
    padding-bottom: 8px;
}

.formation-meta__label {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    color: #025b93;
    font-family: "Barlow Semi Condensed", "Barlow Condensed", Barlow, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-transform: uppercase;
}

.formation-meta__icon {
    position: relative;
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.formation-meta__icon img,
.formation-meta__line {
    display: block;
}

.formation-meta__hands {
    position: absolute;
    top: 23.2%;
    left: 46.13%;
}

.formation-meta__pin {
    position: absolute;
    top: 0;
    left: 13.78%;
}

.formation-meta__dot {
    position: absolute;
    top: 17.99%;
    left: 31.78%;
}

.formation-meta__line {
    margin-top: 6px;
    margin-bottom: 10px;
}

.formation-meta__value {
    margin: 14px 0 5px;
    color: #025b93;
    font-size: 25px;
    font-weight: 700;
    line-height: 25px;
}

.formation-meta__value--compact {
    margin-bottom: 4px;
}

.formation-meta__sub {
    margin: 0;
    color: #212529;
    font-family: "Barlow Semi Condensed", "Barlow Condensed", Barlow, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

.formation-meta__sub--detail {
    margin: 0 0 2px;
    color: #025b93;
    font-weight: 500;
}

.formation-sheet__aside {
    grid-area: aside;
    align-self: stretch;
    position: relative;
    z-index: 2;
    height: auto;
}

.formation-sheet__aside-sticky {
    position: sticky;
    top: calc(var(--fp-header-offset, 72px) + 16px);
}

.formation-sheet__main {
    grid-area: main;
    min-width: 0;
}

.formation-card {
    padding: 16px 16px 18px;
    background: #fff;
    border: 0.5px solid #025b93;
    border-radius: 5px;
}

.formation-card__kicker,
.formation-card__places,
.formation-card__lead,
.formation-card__note,
.formation-card__suffix,
.formation-card__aid-title,
.formation-card__price {
    color: #025b93;
}

.formation-card__kicker,
.formation-card__aid-title {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.formation-page .formation-card__kicker {
    margin-bottom: 0 !important;
    line-height: 16px;
}

.formation-card__places,
.formation-card__lead,
.formation-card__note,
.formation-card__suffix {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}

.formation-card__date {
    margin: 6px 0 12px;
    color: #025b93;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
}

.formation-card__price {
    margin: 14px 0 2px;
    padding-top: 12px;
    border-top: 1px solid #d7e3ee;
    font-size: 50px;
    font-weight: 700;
    line-height: 1;
}

.formation-card__price--request {
    font-size: 28px;
    line-height: 1.15;
}

.formation-select {
    display: block;
    margin-top: 0;
    margin-bottom: 8px;
}

.formation-select select {
    width: 100%;
    min-height: 53px;
    padding: 10px 40px 10px 14px;
    border: 0;
    border-radius: 5px;
    background: #f4f4f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23025b93' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 14px center;
    color: #025b93;
    font: inherit;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
    appearance: none;
}

.formation-sessions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 10px 0 8px;
    overflow: visible;
}

.formation-session-option {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #d7e3ee;
    border-radius: 5px;
    background: #fff;
    color: #025b93;
    cursor: pointer;
    overflow: visible;
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.formation-session-option.has-days-info {
    z-index: 1;
}

.formation-session-option.has-days-info:has(.js-session-days-toggle[aria-expanded="true"]) {
    z-index: 5;
}

.formation-session-option.is-selected,
.formation-session-option:has(input:checked) {
    border-color: #025b93;
    background: #f3f8fc;
    box-shadow: inset 0 0 0 1px #025b93;
}

.formation-session-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.formation-session-option__mark {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border: 2px solid #025b93;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 3px #fff;
}

.formation-session-option.is-selected .formation-session-option__mark,
.formation-session-option:has(input:checked) .formation-session-option__mark {
    background: #025b93;
}

.formation-session-option__content {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

.formation-session-option__row {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.formation-session-option__label {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.formation-session-option__info {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #025b93;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease;
}

.formation-session-option__info:hover,
.formation-session-option__info:focus-visible,
.formation-session-option__info[aria-expanded="true"] {
    background: rgba(2, 91, 147, 0.1);
    color: #014a78;
}

.formation-session-option__info:focus-visible {
    outline: 2px solid #025b93;
    outline-offset: 2px;
}

.formation-session-days {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 20;
    width: min(100%, 280px);
    max-height: min(52vh, 320px);
    overflow: auto;
    padding: 12px 14px;
    border: 1px solid #d7e3ee;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(1, 40, 70, 0.14);
    color: #1d2a36;
}

.formation-session-days[hidden] {
    display: none !important;
}

.formation-session-days__title {
    display: block;
    margin: 0 0 6px;
    color: #025b93;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.formation-session-days__note {
    display: block;
    margin: 0 0 8px;
    color: #5a6b7a;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
}

.formation-session-days__list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.formation-session-days__item {
    display: block;
    padding: 6px 8px;
    border-radius: 5px;
    background: #f3f8fc;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}

.formation-sessions__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin: 6px 0 8px;
}

.formation-sessions__meta-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
}

.formation-sessions__meta .formation-card__places {
    margin: 0;
}

.formation-sessions__more {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: #025b93;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: underline;
    cursor: pointer;
}

.formation-card__aid {
    margin: 16px 0 14px;
}

.formation-card__aid p {
    margin: 0 0 8px;
    color: #212529;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}

.formation-card__aid .formation-card__aid-title {
    margin-bottom: 6px;
    color: #025b93;
}

.formation-card__aid a {
    color: #025b93;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    text-decoration: underline;
}

.formation-card .formation-cta,
.formation-card #open-inform-modal {
    width: 100%;
    margin-top: 8px;
}

.formation-cta--intra,
.formation-page a.formation-cta--intra,
.formation-page a.formation-cta--intra:link,
.formation-page a.formation-cta--intra:visited {
    flex-direction: column;
    gap: 8px;
    min-height: 56px;
    padding: 12px 16px;
    background: #025b93;
    color: #fff !important;
    line-height: 1.25;
    text-align: center;
}

.formation-cta--intra:hover,
.formation-cta--intra:focus-visible,
.formation-page a.formation-cta--intra:hover,
.formation-page a.formation-cta--intra:focus-visible,
.formation-page a.formation-cta--intra:active {
    background: #014a78;
    color: #fff !important;
}

.formation-cta__intra-title {
    display: block;
    max-width: 100%;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-wrap: balance;
}

.formation-cta__intra-price {
    display: block;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    opacity: 0.95;
}

.formation-share {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    margin-top: 12px;
    padding: 12px 20px;
    border: 1px solid #c1c6d7;
    border-radius: 4px;
    background: #fff;
    color: #5f6368;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.3;
    cursor: pointer;
    transition: border-color 150ms ease, background-color 150ms ease;
}

.formation-share:hover,
.formation-share:focus-visible {
    border-color: #025b93;
    background: #f8fafc;
}

.formation-share img {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

body.formation-detail-page:has(.formation-share-dialog[open]) {
    overflow: hidden;
}

.formation-share-dialog {
    box-sizing: border-box;
    width: min(520px, calc(100% - 48px));
    max-width: none;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    margin: auto;
    padding: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid #d5e0ea;
    border-top: 4px solid #005d9f;
    border-radius: 12px;
    background: #fff;
    color: #1d2a33;
    font-family: Barlow, "Segoe UI", sans-serif;
    box-shadow: 0 24px 80px rgba(0, 36, 64, 0.24);
}

.formation-share-dialog *,
.formation-share-dialog *::before,
.formation-share-dialog *::after {
    box-sizing: border-box;
}

.formation-share-dialog:not([open]),
.formation-share-dialog [hidden] {
    display: none !important;
}

.formation-share-dialog::backdrop {
    background: rgba(0, 36, 64, 0.64);
}

.formation-share-dialog__panel {
    background: #fff;
}

.formation-share-dialog__bar {
    position: sticky;
    top: 0;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 16px;
    padding: 20px 24px 16px 28px;
    background: #fff;
}

.formation-share-dialog__title {
    margin: 0 !important;
    padding: 0;
    color: #005d9f !important;
    font-family: Barlow, "Segoe UI", sans-serif !important;
    font-size: 28px;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em;
    text-transform: none;
}

.formation-share-dialog__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #d5e0ea;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
}

.formation-share-dialog__body {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 28px 28px;
}

.formation-share-dialog__intro {
    margin: 0;
    color: #5c6b76;
    font-size: 16px;
    line-height: 1.5;
}

.formation-share-dialog__options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.formation-share-dialog__option {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 0;
    min-height: 112px;
    padding: 16px 8px;
    border: 1px solid #d5e0ea;
    border-radius: 8px;
    background: #fff;
    color: #1d2a33;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.formation-share-dialog__option--pdf {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: flex-start;
    gap: 14px;
    min-height: 76px;
    margin-top: 4px;
    padding: 14px 16px;
    background: #f4f7fb;
    text-align: left;
}

.formation-share-dialog__option--pdf .formation-share-dialog__glyph {
    background: #fff;
}

.formation-share-dialog__download {
    flex-shrink: 0;
    margin-left: auto;
    color: #005d9f;
}

.formation-share-dialog :is(a, button):focus-visible {
    outline: 3px solid #005d9f;
    outline-offset: 3px;
}

@media (hover: hover) {
    .formation-share-dialog__option:hover:not(:disabled),
    .formation-share-dialog__close:hover {
        border-color: #005d9f;
        background: #eaf3f8;
        color: #005d9f;
        text-decoration: none;
    }
}

.formation-share-dialog__option:disabled {
    opacity: 0.55;
    cursor: wait;
}

.formation-share-dialog__glyph {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: #eaf3f8;
}

.formation-share-dialog__glyph img {
    display: block;
    width: 22px;
    height: 22px;
    max-width: none;
}

.formation-share-dialog__label {
    display: block;
}

.formation-share-dialog__status {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #d5e0ea;
    border-radius: 6px;
    background: #eaf3f8;
    color: #005d9f;
    font-size: 15px;
    line-height: 1.5;
}

.formation-share-dialog__status.is-error {
    border-color: #edc2c3;
    background: #fff4f4;
    color: #9e090c;
}

@media (max-width: 600px) {
    .formation-share-dialog {
        width: calc(100% - 24px);
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
    }

    .formation-share-dialog__bar {
        gap: 12px;
        padding: 16px;
    }

    .formation-share-dialog__title {
        font-size: 24px;
    }

    .formation-share-dialog__body {
        gap: 16px;
        padding: 0 16px 20px;
    }

    .formation-share-dialog__options {
        gap: 8px;
    }

    .formation-share-dialog__option {
        min-height: 100px;
        padding: 12px 6px;
        font-size: 15px;
    }

    .formation-share-dialog__option--pdf {
        min-height: 72px;
        gap: 12px;
        padding: 12px;
    }
}

.formation-aside-extra {
    margin-top: 18px;
}

.formation-seance,
.formation-ens {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--fp-line);
}

.formation-seance__title,
.formation-ens .formation-card__kicker {
    margin-bottom: 6px;
    color: #025b93;
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 34px;
    text-transform: uppercase;
}

.formation-seance__link,
.formation-ens a {
    display: inline-flex;
    margin-top: 4px;
    color: #025b93;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    text-decoration: underline;
}

.formation-ens {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.formation-ens--in-card {
    margin-top: 0;
    margin-bottom: 18px;
    padding-top: 0;
    border-top: 0;
}

.formation-aside-contact {
    margin-top: 8px;
}

.formation-aside-contact__label {
    margin: 0;
    padding-bottom: 12px;
    border-bottom: 0.5px solid #025b93;
    color: #025b93;
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    text-transform: uppercase;
}

.formation-page .formation-aside-contact__name {
    margin: 12px 0 0;
    color: #025b93;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
}

.formation-aside-contact__row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 1px 0 0;
}

.formation-aside-contact__prefix {
    color: #1c1b1b;
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}

.formation-aside-contact__row a {
    color: #025b93;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    text-decoration: underline;
}

.formation-aside-contact__phone-toggle {
    display: inline-flex;
    margin-top: 6px;
    padding: 0;
    border: 0;
    background: none;
    color: #025b93;
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    text-decoration: underline;
    cursor: pointer;
}


.formation-partner {
    margin-top: 18px;
    text-align: center;
}

.formation-partner img {
    max-width: 180px;
    height: auto;
}

.formation-toc {
    --fp-toc-stick-top: var(--fp-header-offset, 72px);
    position: sticky;
    top: var(--fp-toc-stick-top);
    z-index: 10;
    margin: 0;
    padding: 0 0 19px;
    border-bottom: 0.5px solid #025b93;
    background: #fff;
    overflow: visible;
}

/* Bande blanche sous le header sticky (non clipée par le scroll horizontal) */
.formation-toc::before {
    content: "";
    position: absolute;
    left: -48px;
    right: 0;
    bottom: 100%;
    height: var(--fp-toc-stick-top);
    background: #fff;
    pointer-events: none;
}

.formation-toc__scroller {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px 44px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

.formation-section[id] {
    scroll-margin-top: calc(var(--fp-header-offset, 72px) + var(--fp-toc-height, 40px) + 24px);
}

.formation-toc__link,
.formation-toc__link.is-active {
    flex-shrink: 0;
    white-space: nowrap;
    color: #025b93;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    text-decoration: underline;
}

.formation-sheet__main > .formation-section {
    margin: 0 0 64px;
    padding-top: 46px;
    border-top: 0.5px solid #025b93;
}

.formation-toc + .formation-section {
    padding-top: 32px;
    border-top: 0;
}

.formation-sheet__main > .formation-skills {
    margin-bottom: 46px;
}

#formation-description {
    margin-bottom: 44px;
}

.formation-sheet__main > .formation-programme {
    margin-bottom: 0;
}

.formation-sheet__main .formation-section > h2 {
    margin: 0 0 16px;
    color: #025b93;
    font-size: 40px;
    font-weight: 700;
    line-height: 30px;
    text-transform: uppercase;
}

.formation-sheet__main .formation-skills > h2 {
    margin-bottom: 60px !important;
}

.formation-split .formation-section > h2 {
    margin-bottom: 28px;
    font-size: 25px;
    line-height: 25px;
}

.formation-sheet__main .formation-programme > h2 {
    margin-bottom: 37px;
}

.formation-related h2 {
    margin-bottom: 16px;
    color: var(--fp-blue-dark);
    font-size: 28px;
    font-weight: 700;
}

.formation-sheet__main .formation-prose {
    color: #212529;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
}

.formation-sheet__main .formation-prose p,
.formation-sheet__main .formation-prose ul,
.formation-sheet__main .formation-prose ol {
    margin-bottom: 0;
}

.formation-sheet__main .formation-prose p + p {
    margin-top: 25px;
}

.formation-prose > *:last-child {
    margin-bottom: 0;
}

.formation-skills .formation-prose ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 31px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.formation-skills .formation-prose > * + ul,
.formation-skills .formation-prose > * + ol,
.formation-skills .formation-prose > div > * + ul,
.formation-skills .formation-prose > div > * + ol {
    margin-top: 56px;
}

.formation-skills .formation-prose > ul:not(:last-child),
.formation-skills .formation-prose > ol:not(:last-child),
.formation-skills .formation-prose > div > ul:not(:last-child),
.formation-skills .formation-prose > div > ol:not(:last-child) {
    margin-bottom: 40px;
}

.formation-skills .formation-prose > p,
.formation-skills .formation-prose > div > p {
    max-width: 78ch;
    color: #025b93;
    font-size: 18px;
    font-weight: 600;
    line-height: 26px;
}

.formation-skills .formation-prose > ul ~ p,
.formation-skills .formation-prose > ol ~ p,
.formation-skills .formation-prose > div > ul ~ p,
.formation-skills .formation-prose > div > ol ~ p {
    max-width: 78ch;
    margin-top: 0;
    padding: 4px 0 4px 16px;
    border-left: 3px solid #025b93;
    color: #212529;
    font-weight: 500;
}

.formation-skills .formation-prose li {
    position: relative;
    margin: 0;
    padding: 35px 23px 32px 28px;
    border-radius: 4px;
    background: #f4f4f4;
    color: #212529;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
}

.formation-skills .formation-prose li p {
    margin: 0;
    color: inherit;
    font: inherit;
    line-height: inherit;
}

.formation-skills .formation-prose li::before,
.formation-skills .formation-prose li::after {
    content: "";
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    pointer-events: none;
}

.formation-skills .formation-prose li::before {
    top: -23px;
    left: -19px;
    width: 49px;
    height: 49px;
    background-image: url("../img/formation/skill-badge-circle.svg");
}

.formation-skills .formation-prose li::after {
    top: -10px;
    left: -6px;
    width: 24px;
    height: 24px;
    background-image: url("../img/formation/skill-badge-check.svg");
}

/* Nested objectives need room for their hierarchy; flat lists keep their grid. */
.formation-skills .formation-prose ul:has(li :is(ul, ol)) {
    grid-template-columns: minmax(0, 1fr);
}

.formation-skills .formation-prose li :is(ul, ol) {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 14px 0 0;
    padding: 0 0 0 1.3em;
    list-style-position: outside;
}

.formation-skills .formation-prose li ul {
    list-style-type: disc;
}

.formation-skills .formation-prose li ol {
    list-style-type: decimal;
}

.formation-skills .formation-prose li ol[type="a"] { list-style-type: lower-alpha; }
.formation-skills .formation-prose li ol[type="A"] { list-style-type: upper-alpha; }
.formation-skills .formation-prose li ol[type="i"] { list-style-type: lower-roman; }
.formation-skills .formation-prose li ol[type="I"] { list-style-type: upper-roman; }

.formation-skills .formation-prose li li {
    position: static;
    display: list-item;
    min-width: 0;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    list-style-type: inherit;
    overflow-wrap: anywhere;
}

.formation-skills .formation-prose li li::before,
.formation-skills .formation-prose li li::after {
    content: none;
    display: none;
}

.formation-skills .formation-prose li li::marker {
    color: #005d9f;
}

.formation-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 31px;
    margin-bottom: 66px;
}

@media (max-width: 1399px) {
    .formation-skills .formation-prose ul:not(:has(li :is(ul, ol))) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* Nombre impair : la dernière carte occupe les 2 colonnes. */
    .formation-skills .formation-prose ul:not(:has(li :is(ul, ol))) > li:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1199px) {
    .formation-split {
        grid-template-columns: minmax(0, 1fr);
    }
}

.formation-split .formation-section {
    margin: 0;
    padding-top: 0;
    border-top: 0;
}

#formation-public .formation-prose ul,
#formation-prerequis .formation-prose ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

#formation-public .formation-prose p + ul,
#formation-prerequis .formation-prose p + ul {
    margin-top: 12px;
}

#formation-public .formation-prose li,
#formation-prerequis .formation-prose li {
    position: relative;
    margin: 0;
    padding: 0 0 0 16px;
    list-style: none;
    color: #212529;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
}

#formation-public .formation-prose li::before,
#formation-prerequis .formation-prose li::before {
    content: "";
    position: absolute;
    top: 0.6em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #025b93;
}

#formation-public .formation-prose li p,
#formation-prerequis .formation-prose li p {
    margin: 0;
}

.formation-callout {
    margin-bottom: 18px;
    padding: 16px 22px 16px 30px;
    border-radius: 6px 0 0 6px;
    background: #f4f4f4;
    color: #212529;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
}

.formation-callout p {
    margin: 0;
}

.formation-callout p + p {
    margin-top: 8px;
}

/* Canonical programme structure: titles above content at every screen size. */
.formation-programme .formation-programme__content {
    display: grid;
    gap: 18px;
}

.formation-programme .formation-programme__section {
    min-width: 0;
    padding: 24px 28px;
    border: 1px solid #e6ebef;
    border-radius: 8px;
    background: #f4f4f4;
    overflow-wrap: anywhere;
}

.formation-programme .formation-programme__heading {
    margin: 0;
    padding: 0;
    color: #005d9f;
    font-family: inherit;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: none;
}

.formation-programme .formation-programme__heading + .formation-programme__body {
    margin-top: 16px;
}

.formation-programme .formation-programme__body {
    min-width: 0;
    color: #212529;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}

.formation-programme .formation-programme__body :is(p, ul, ol, h3, h4, h5, h6) {
    margin: 0;
}

.formation-programme .formation-programme__body :is(ul, ol) {
    display: block;
    padding-left: 1.4em;
}

.formation-programme .formation-programme__body ul { list-style: disc; }
.formation-programme .formation-programme__body ol { list-style: decimal; }
.formation-programme .formation-programme__body ul ul { list-style: circle; }
.formation-programme .formation-programme__body ol[type="a"] { list-style: lower-alpha; }
.formation-programme .formation-programme__body ol[type="A"] { list-style: upper-alpha; }
.formation-programme .formation-programme__body ol[type="i"] { list-style: lower-roman; }
.formation-programme .formation-programme__body ol[type="I"] { list-style: upper-roman; }

.formation-programme .formation-programme__body li {
    display: list-item;
    padding: 0;
    background: transparent;
}

.formation-programme .formation-programme__body li::marker {
    color: #005d9f;
    font-weight: 600;
}

.formation-programme .formation-programme__body li + li,
.formation-programme .formation-programme__body li > :is(ul, ol) {
    margin-top: 8px;
}

.formation-programme .formation-programme__body > * + *,
.formation-programme .formation-programme__body p + p {
    margin-top: 12px;
}

.formation-programme .formation-programme__body :is(h3, h4, h5, h6) {
    color: #212529;
    font-family: inherit;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: none;
    text-align: left;
}

.formation-programme .formation-programme__body > * + :is(h3, h4, h5, h6) {
    margin-top: 20px;
}

.formation-programme .formation-programme__body table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 600px) {
    .formation-programme .formation-programme__section {
        padding: 18px;
    }

    .formation-programme .formation-programme__heading {
        font-size: 18px;
    }
}

.formation-related {
    width: 100%;
    margin: 48px 0 0;
}

.formation-related--band {
    background: #f4f4f4;
    padding: 113px 0 119px;
}

.formation-related__inner {
    width: min(1420px, calc(100% - 160px));
    margin: 0 auto;
}

.formation-related__head {
    display: flex;
    align-items: center;
    gap: 36px;
    margin-bottom: 42px;
    min-width: 0;
}

.formation-related__head h2 {
    margin: 0;
    color: #025b93;
    font-size: clamp(28px, 2.6vw, 40px);
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: normal;
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - 84px);
}

.formation-related__rule {
    display: block;
    flex: 1 1 0;
    align-self: center;
    min-width: 48px;
    width: auto;
    max-width: none;
    height: 1px;
    background: #025b93;
}

.formation-related__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 28px;
}

.formation-back {
    color: #025b93;
    font-family: "Barlow Semi Condensed", "Barlow Condensed", Barlow, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
    text-decoration: underline;
    text-underline-offset: 2px;
    white-space: nowrap;
}

.formation-related__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
}

.formation-similar {
    position: relative;
    display: block;
    min-height: 250px;
    overflow: hidden;
    border-radius: 4px;
    background: #025b93 center / cover no-repeat;
    color: #fff;
    text-decoration: none;
}

.formation-similar__overlay {
    position: absolute;
    inset: 0;
    display: block;
    pointer-events: none;
    background: linear-gradient(160deg, rgba(1, 28, 45, .78), rgba(2, 91, 147, .94));
}

.formation-similar__shade {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    min-height: 250px;
    height: 100%;
    box-sizing: border-box;
    padding: 30px;
}

.formation-similar__copy {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.formation-similar__eyebrow {
    color: #fff;
    font-family: "Barlow Semi Condensed", "Barlow Condensed", Barlow, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    text-transform: uppercase;
}

.formation-similar__title {
    max-width: 594px;
    color: #fff;
    font-family: Inter, Barlow, sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 30px;
}

.formation-similar__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-top: 2px;
}

.formation-similar__meta-item {
    color: rgba(255, 255, 255, 0.92);
    font-family: "Barlow Semi Condensed", "Barlow Condensed", Barlow, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.25;
}

.formation-similar__footer {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: auto;
}

.formation-similar__price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px 10px;
    color: #fff;
    font-size: 14px;
}

.formation-similar__price strong {
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
}

.formation-similar:focus-visible {
    outline: 3px solid #005d9f;
    outline-offset: 4px;
}

.formation-similar__line {
    display: block;
    width: 610px;
    max-width: 100%;
    height: 1px;
}

.formation-similar__more {
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, .4);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #fff;
    font-family: "Barlow Semi Condensed", "Barlow Condensed", Barlow, sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 20px;
}

.formation-similar__more-label {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.formation-sticky-cta {
    display: none;
}

.formation-browser-fallback {
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid #f0c2c4;
    border-radius: 12px;
    background: #fff5f5;
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 15px;
    line-height: 1.45;
}

.formation-browser-fallback p {
    margin: 0 0 8px;
}

.formation-browser-fallback__link {
    color: #025b93;
    font-weight: 700;
    text-decoration: underline;
}

.formation-aside-contact.is-fallback-highlight,
.formation-ens.is-fallback-highlight {
    outline: 3px solid #025b93;
    outline-offset: 4px;
    border-radius: 12px;
    transition: outline-color 0.2s ease;
}

.formation-public-gate {
    width: min(440px, calc(100% - 32px));
    max-height: min(92vh, 900px);
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: #fcf9f8;
    box-shadow: 0 24px 60px rgba(0, 36, 64, 0.28);
    overflow: auto;
}

.formation-public-gate::backdrop {
    background: rgba(0, 36, 64, 0.72);
}

/* Sans API <dialog> : overlay fixe pour le choix de public. */
.formation-public-gate.formation-public-gate--fallback {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 24px 16px;
    border-radius: 0;
    background: rgba(0, 36, 64, 0.72);
    box-shadow: none;
}

.formation-public-gate.formation-public-gate--fallback .formation-public-gate__panel {
    width: min(440px, 100%);
    border-radius: 20px;
    background: #fcf9f8;
    box-shadow: 0 24px 60px rgba(0, 36, 64, 0.28);
}

.formation-public-gate__panel {
    padding: 28px 24px 32px;
}

.formation-public-gate__eyebrow {
    margin: 0 0 8px;
    color: #025b93;
    font-family: Barlow, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.formation-public-gate__title {
    margin: 0 0 10px;
    color: #1c1b1b;
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.15;
}

.formation-public-gate__intro {
    margin: 0 0 24px;
    color: #5c6b76;
    font-family: Barlow, sans-serif;
    font-size: 15px;
    line-height: 1.45;
}

.formation-public-gate__options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

a.formation-public-gate__option {
    text-decoration: none;
    color: inherit;
}

.formation-public-gate__texts {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.formation-public-gate__hint {
    color: #5c6b76;
    font-family: Barlow, sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
}

html.formation-public-gate-open,
body.formation-public-gate-open {
    overflow: hidden;
}

.formation-register-dialog {
    width: min(960px, calc(100% - 32px));
    max-height: min(92vh, 920px);
    margin: auto;
    padding: 12px 8px 24px;
    border: 0;
    border-radius: 8px;
    overflow: auto;
}

.formation-register-dialog::backdrop {
    background: rgba(0, 36, 64, 0.55);
}

.formation-register-dialog__close-form {
    display: flex;
    justify-content: flex-end;
    margin: 0;
}

.formation-register-dialog__close {
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    color: var(--fp-blue-dark);
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
}

.formation-register-dialog .registration-form {
    margin-top: 0 !important;
    padding: 0 20px 12px;
}

.formation-register-dialog.formation-register-dialog--profile {
    display: flex;
    flex-direction: column;
    width: min(440px, calc(100% - 48px));
    max-height: min(92vh, 900px);
    margin: auto;
    padding: 12px 8px 28px;
    border: 0;
    border-radius: 20px;
    background: #fcf9f8;
    box-shadow: 0 24px 64px rgba(16, 42, 67, 0.22);
}

.formation-register-dialog--profile .formation-register-dialog__close-form,
.formation-profile[hidden],
.formation-info[hidden],
.formation-recontact[hidden],
.formation-enterprise[hidden],
.formation-date[hidden],
.formation-precontact[hidden],
.formation-company[hidden],
.formation-participants[hidden],
.formation-finalize[hidden],
.formation-register-dialog .registration-form[hidden] {
    display: none !important;
}

.formation-profile {
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding: 4px 16px 4px;
}

.formation-profile__bar {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
}

.formation-profile__title {
    margin: 0 !important;
    color: #025b93 !important;
    font-family: Barlow, sans-serif !important;
    font-size: 24px;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center;
}

.formation-profile__icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
}

.formation-profile__icon-btn:focus-visible,
.formation-profile__option:focus-visible {
    outline: 2px solid #025b93;
    outline-offset: 2px;
}

.formation-profile__progress {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e2e1;
}

.formation-profile__progress span {
    display: block;
    width: 9%;
    height: 100%;
    border-radius: inherit;
    background: #025b93;
}

.formation-intent .formation-profile__progress span {
    width: 32%;
}

.formation-info {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 620px;
}

.formation-info .formation-profile__bar {
    padding: 4px 16px 0;
}

.formation-info .formation-profile__progress span {
    width: 100%;
}

.formation-info__main {
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding: 4px 16px 0;
}

.formation-info__fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
}

.formation-info__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}

.formation-info__label {
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.14px;
    line-height: 20px;
}

.formation-info__label span {
    color: #025b93;
}

.formation-info__field input {
    width: 100%;
    margin: 0;
    padding: 15px 17px;
    border: 1px solid #c1c6d7;
    border-radius: 8px;
    background: #fff;
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.formation-info__field input::placeholder {
    color: #414754;
    opacity: 1;
}

.formation-info__error,
.formation-info__success {
    margin: 0;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
}

.formation-info__error {
    color: #c80c0f;
}

.formation-info__success {
    padding: 28px 16px 8px;
    color: #025b93;
}

.formation-info__actions {
    margin-top: auto;
    padding: 24px 16px 4px;
    border-top: 1px solid #c1c6d7;
}

.formation-info__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 52px;
    padding: 12px 24px;
    border: 0;
    border-radius: 8px;
    background: #025b93;
    color: #fff;
    font-family: Barlow, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    cursor: pointer;
}

.formation-info__submit:disabled {
    opacity: 0.7;
    cursor: default;
}

.formation-info__submit img {
    display: block;
    max-width: none;
}

.formation-recontact {
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
}

.formation-recontact .formation-info__main {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.formation-recontact__intro {
    margin: 0;
    color: #414754;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    text-align: center;
}

.formation-info__field--icon .formation-info__control {
    position: relative;
    display: block;
}

.formation-info__field--icon .formation-info__control > img {
    position: absolute;
    top: 50%;
    left: 12px;
    z-index: 1;
    display: block;
    max-width: none;
    transform: translateY(-50%);
    pointer-events: none;
}

.formation-info__field--icon input {
    padding-left: 41px;
    border-color: #717786;
}

.formation-info__field textarea {
    width: 100%;
    min-height: 120px;
    margin: 0;
    padding: 12px 13px;
    border: 1px solid #717786;
    border-radius: 8px;
    background: #fff;
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    resize: vertical;
}

.formation-info__field textarea::placeholder {
    color: rgba(65, 71, 84, 0.5);
    opacity: 1;
}

.formation-recontact .formation-info__label {
    color: #414754;
}

.formation-recontact__prefs {
    margin: 0;
    padding: 17px 0 0;
    border: 0;
    border-top: 1px solid #e5e2e1;
}

.formation-recontact__prefs legend {
    float: left;
    width: 100%;
    margin: 0 0 12px;
    padding: 0;
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
}

.formation-recontact__pref-list {
    display: flex;
    clear: both;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 12px;
    width: 100%;
}

.formation-recontact__pref {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 0;
    width: auto;
    padding: 17px;
    border: 1px solid #c1c6d7;
    border-radius: 12px;
    background: #fff;
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.14px;
    line-height: 20px;
    cursor: pointer;
}

.formation-recontact__pref img {
    display: block;
    max-width: none;
}

.formation-recontact__pref.is-active {
    border-color: #025b93;
    background: #d8e2ff;
    box-shadow: 0 0 0 1px #025b93;
}

.formation-date {
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
}

.formation-date .formation-info__main {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.formation-date__progress span {
    width: 43%;
}

.formation-precontact,
.formation-company,
.formation-participants,
.formation-finalize {
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
}

.formation-precontact .formation-info__main,
.formation-company .formation-info__main,
.formation-participants .formation-info__main,
.formation-finalize .formation-info__main {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.formation-precontact__progress span {
    width: 55%;
}

.formation-company__progress span {
    width: 70%;
}

.formation-participants__progress span {
    width: 85%;
}

.formation-finalize__progress span {
    width: 100%;
}

.formation-precontact__civilite {
    margin: 0;
    padding: 0;
    border: 0;
}

.formation-precontact__civilite legend {
    margin: 0 0 6px;
    padding: 0;
}

.formation-precontact__civilite-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.formation-precontact__civilite-btn {
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #025b93;
    border-radius: 8px;
    background: #fff;
    color: #025b93;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}

.formation-precontact__civilite-btn.is-active {
    background: #025b93;
    color: #fff;
}

.formation-info__field select {
    width: 100%;
    margin: 0;
    padding: 15px 17px;
    border: 1px solid #c1c6d7;
    border-radius: 8px;
    background: #fff;
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%23414754' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 12px 8px;
}

.formation-participants__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.formation-participants__card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    border: 1px solid #c1c6d7;
    border-radius: 12px;
    background: #fff;
}

.formation-participants__card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #025b93;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.formation-participants__card-title img {
    display: block;
    max-width: none;
}

.formation-participants__add {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid #025b93;
    border-radius: 8px;
    background: #fff;
    color: #025b93;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
}

.formation-participants__add[hidden] {
    display: none !important;
}

.formation-finalize__newsletter {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    cursor: pointer;
}

.formation-finalize__newsletter input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #025b93;
    flex-shrink: 0;
}

.formation-date__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.formation-date__item {
    position: relative;
    overflow: visible;
}

.formation-date__item.has-days-info {
    z-index: 1;
}

.formation-date__item.has-days-info:has(.js-session-days-toggle[aria-expanded="true"]) {
    z-index: 5;
}

.formation-date__option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    padding: 17px;
    border: 1px solid #c1c6d7;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    color: #1c1b1b;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.formation-date__info {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #025b93;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease;
}

.formation-date__info:hover,
.formation-date__info:focus-visible,
.formation-date__info[aria-expanded="true"] {
    background: rgba(2, 91, 147, 0.1);
    color: #014a78;
}

.formation-date__info:focus-visible {
    outline: 2px solid #025b93;
    outline-offset: 2px;
}

.formation-date__days {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: none;
    margin-top: 8px;
    max-height: min(40vh, 260px);
}

.formation-date__option.is-active {
    padding: 16px;
    border: 2px solid #025b93;
    background: #d8e4f1;
}

.formation-date__option-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.formation-date__option-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.formation-date__title-row {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.formation-date__option-title {
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
}

.formation-date__option-meta {
    color: #414754;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
}

.formation-date__radio {
    display: none;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    max-width: none;
}

.formation-date__option .formation-date__radio--off {
    display: block;
}

.formation-date__option.is-active .formation-date__radio--off {
    display: none;
}

.formation-date__option.is-active .formation-date__radio--on {
    display: block;
}

.formation-profile__options {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.formation-profile__option {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-height: 72px;
    padding: 14px 16px;
    border: 1px solid #c1c6d7;
    border-radius: 12px;
    background: #fff;
    color: #1c1b1b;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    text-align: left;
    cursor: pointer;
}

.formation-profile__option:hover,
.formation-profile__option:focus-visible {
    border-color: #025b93;
}

.formation-profile__glyph {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #f6f3f2;
}

.formation-profile__label {
    flex: 1;
    min-width: 0;
}

.formation-profile__option img,
.formation-profile__icon-btn img {
    display: block;
    max-width: none;
}

/* Keep all responsive overrides within the existing tablet breakpoint. */
@media (max-width: 1024px) {
    html:has(body.formation-detail-page) {
        --fp-header-offset: 72px;
        --fp-sticky-height: calc(94px + env(safe-area-inset-bottom, 0px));
        width: 100% !important;
        scroll-padding-top: var(--fp-header-offset);
        scroll-padding-bottom: var(--fp-sticky-height);
    }

    body.formation-detail-page {
        padding-bottom: var(--fp-sticky-height);
    }

    body.formation-detail-page,
    body.formation-detail-page .main-wrapper,
    body.formation-detail-page #wrapper {
        width: 100% !important;
    }

    body.formation-detail-page #VerticalMenu {
        inset: 0 0 auto;
        display: flex;
        flex-direction: row;
        align-items: center;
        height: 72px;
        padding: 0 16px;
        border-bottom: 1px solid #e5ebf0;
        box-shadow: none;
        transition: none;
    }

    body.formation-detail-page #VerticalMenu::after,
    body.formation-detail-page #VerticalMenu > br,
    body.formation-detail-page #VerticalMenu .menu_social {
        display: none;
    }

    body.formation-detail-page #VerticalMenu #logoMenuMobile {
        display: flex !important;
        margin: 0 auto 0 0;
        padding: 0;
        clip-path: none;
        background: transparent;
    }

    body.formation-detail-page #VerticalMenu #logoMenuMobile a {
        position: static !important;
        margin: 0 !important;
        padding: 0 !important;
        clip-path: none;
    }

    body.formation-detail-page #VerticalMenu #logoMenuMobile img {
        display: block !important;
        height: 44px !important;
        width: auto;
        max-width: 140px;
        object-fit: contain;
        padding: 0;
    }

    body.formation-detail-page #VerticalMenu #search,
    body.formation-detail-page #VerticalMenu #showMenu {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
    }

    body.formation-detail-page #VerticalMenu #search {
        margin-left: auto;
        margin-right: 8px;
    }

    body.formation-detail-page #VerticalMenu #showMenu {
        order: 5;
    }

    .formation-page {
        --fp-gutter: 24px;
        padding-bottom: 32px;
    }

    .formation-hero {
        min-height: 340px;
        padding: 112px var(--fp-gutter) 36px;
    }

    .formation-hero__eyebrow {
        margin-bottom: 12px;
        font-size: 13px;
        font-weight: 600;
    }

    .formation-hero__title {
        margin-bottom: 24px;
        font-size: clamp(30px, 4.5vw, 42px);
        line-height: 1.15;
        overflow-wrap: break-word;
        text-wrap: balance;
    }

    .formation-cta,
    .formation-share {
        min-height: 48px;
        border-radius: 6px;
    }

    .formation-cta {
        font-size: 17px;
    }

    .formation-page :is(a, button, select):focus-visible {
        outline: 3px solid #005d9f;
        outline-offset: 3px;
    }

    .formation-hero .formation-cta:focus-visible {
        outline-color: #fff;
    }

    .formation-sheet {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "meta" "aside" "main";
        gap: 24px;
        width: min(calc(100% - 2 * var(--fp-gutter)), 860px);
        margin-top: 24px;
    }

    .formation-meta {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
        gap: 20px;
        padding-bottom: 0;
    }

    .formation-meta__item,
    .formation-sheet__aside {
        min-width: 0;
    }

    .formation-meta__line {
        width: 100%;
        height: 1px;
        object-fit: cover;
        margin: 8px 0 12px;
    }

    .formation-meta__value {
        margin: 0 0 6px;
        font-size: 21px;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .formation-meta__sub {
        line-height: 1.4;
        overflow-wrap: anywhere;
    }

    .formation-sheet__aside,
    .formation-sheet__aside-sticky,
    .formation-card {
        position: static;
    }

    .formation-sheet__aside-sticky {
        display: grid;
        grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
        gap: 24px;
        align-items: start;
    }

    .formation-card {
        min-width: 0;
        padding: 20px;
        border: 1px solid var(--fp-line);
        border-top: 3px solid var(--fp-blue);
        border-radius: 6px;
        box-shadow: 0 4px 16px rgba(16, 42, 67, 0.04);
    }

    .formation-select select {
        margin-top: 0;
        min-height: 52px;
        border: 1px solid var(--fp-line);
        background-color: var(--fp-paper);
        font-size: 21px;
    }

    .formation-card__kicker,
    .formation-card__aid-title {
        letter-spacing: 0;
        text-transform: none;
    }

    .formation-card__price {
        margin-top: 18px;
        font-size: 38px;
        line-height: 1.1;
        overflow-wrap: anywhere;
    }

    .formation-card__price--request {
        font-size: 24px;
    }

    .formation-card__aid {
        padding: 14px;
        border-radius: 4px;
        background: #eaf3f8;
    }

    .formation-card__aid a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    .formation-aside-extra {
        min-width: 0;
        margin-top: 0;
    }

    .formation-aside-contact__row {
        align-items: center;
    }

    .formation-aside-contact__row a,
    .formation-ens a,
    .formation-seance__link {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        overflow-wrap: anywhere;
        min-width: 0;
    }

    .formation-toc {
        --fp-toc-stick-top: var(--fp-header-offset, 72px);
        position: sticky;
        top: var(--fp-toc-stick-top);
        z-index: 10;
        margin: 0 calc(-1 * var(--fp-gutter));
        padding: 8px 0;
        background: #fff;
        border-bottom: 1px solid var(--fp-line);
        box-shadow: none;
        overflow: visible;
    }

    .formation-toc::before {
        left: 0;
        height: var(--fp-toc-stick-top);
    }

    .formation-toc__scroller {
        gap: 8px;
        padding: 0 var(--fp-gutter);
        scroll-padding-inline: var(--fp-gutter);
        scrollbar-width: none;
    }

    .formation-toc__scroller::-webkit-scrollbar {
        display: none;
    }

    .formation-toc__link,
    .formation-toc__link.is-active {
        display: inline-flex;
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 10px 14px;
        border-radius: 6px;
        color: var(--fp-blue);
        font-size: 15px;
        line-height: 20px;
        white-space: nowrap;
        text-decoration: none;
    }

    .formation-toc__link.is-active {
        background: #eaf3f8;
        box-shadow: inset 0 -2px var(--fp-blue);
    }

    /* The offset also works for direct links and native keyboard navigation. */
    .formation-section[id] {
        scroll-margin-top: calc(var(--fp-toc-height, 61px) + 16px);
    }

    .formation-sheet__main > .formation-section {
        margin-bottom: 36px;
        padding-top: 32px;
    }

    .formation-sheet__main .formation-section > h2,
    .formation-related__head h2 {
        font-size: 30px;
        line-height: 1.12;
        overflow-wrap: break-word;
    }

    .formation-sheet__main .formation-skills > h2 {
        margin-bottom: 28px !important;
    }

    .formation-sheet__main .formation-prose,
    .formation-skills .formation-prose li,
    .formation-callout {
        font-size: 17px;
        line-height: 1.55;
        overflow-wrap: anywhere;
    }

    .formation-prose img,
    .formation-prose iframe {
        max-width: 100%;
    }

    .formation-prose img {
        height: auto;
    }

    .formation-prose table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }

    .formation-skills .formation-prose ul {
        gap: 20px;
        padding-left: 10px;
    }

    .formation-skills .formation-prose li {
        padding: 24px 18px 20px;
    }

    .formation-skills .formation-prose li::before {
        top: -15px;
        left: -10px;
        width: 34px;
        height: 34px;
        background-size: contain;
    }

    .formation-skills .formation-prose li::after {
        top: -7px;
        left: -2px;
        width: 18px;
        height: 18px;
        background-size: contain;
    }

    .formation-split {
        gap: 28px;
        margin-bottom: 36px;
    }

    .formation-split .formation-section > h2 {
        margin-bottom: 16px;
        font-size: 24px;
    }

    .formation-sheet__main .formation-programme > h2 {
        margin-bottom: 24px;
    }

    .formation-callout {
        padding: 18px;
        border-radius: 6px;
    }

    .formation-related--band {
        padding: 36px 0;
    }

    .formation-related__inner {
        width: min(calc(100% - 2 * var(--fp-gutter)), 860px);
    }

    .formation-related__head {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-bottom: 24px;
    }

    .formation-related__head h2,
    .formation-back {
        white-space: normal;
    }

    .formation-related__head h2 {
        flex: none;
        width: 100%;
        max-width: 100%;
        font-size: clamp(22px, 6.2vw, 30px);
        line-height: 1.15;
        overflow-wrap: break-word;
        hyphens: auto;
    }

    .formation-related__rule {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .formation-related__actions {
        justify-content: flex-start;
        margin-top: 20px;
    }

    .formation-related__grid {
        gap: 20px;
    }

    .formation-similar {
        min-height: 240px;
        height: auto;
    }

    .formation-similar__shade {
        position: relative;
        min-height: 240px;
        height: 100%;
        gap: 24px;
        padding: 24px;
    }

    .formation-similar__title {
        font-size: 23px;
        line-height: 1.25;
    }

    .formation-similar__line,
    .formation-similar__overlay {
        width: 100%;
        max-width: 100%;
    }

    .formation-similar__overlay {
        height: 100%;
        object-fit: cover;
    }

    .formation-sticky-cta {
        display: block;
        position: fixed;
        inset: auto 0 0;
        bottom: max(0px, var(--fp-vv-bottom, 0px));
        z-index: 180;
        padding: 12px max(16px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
        border-top: 1px solid var(--fp-line);
        background: #fff;
        box-shadow: 0 -4px 20px rgba(16, 42, 67, 0.08);
    }

    .formation-sticky-cta__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        max-width: 860px;
        margin: 0 auto;
    }

    .formation-sticky-cta__summary {
        display: flex;
        flex-direction: column;
        min-width: 0;
        color: var(--fp-ink);
    }

    .formation-sticky-cta__price {
        font-size: 23px;
        line-height: 1.15;
    }

    .formation-sticky-cta__suffix,
    .formation-sticky-cta__session {
        margin-top: 3px;
        color: var(--fp-muted);
        font-size: 12px;
        line-height: 1.25;
    }

    .formation-sticky-cta__session {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .formation-sticky-cta .formation-cta {
        flex-shrink: 0;
        gap: 12px;
        min-height: 50px;
        padding: 12px 20px;
        white-space: nowrap;
    }

    body.formation-detail-page .caret-up,
    body.formation-detail-page .cookieMenu,
    body.formation-detail-page .grecaptcha-badge {
        bottom: calc(var(--fp-sticky-height) + 12px) !important;
    }

    body.formation-detail-page:has(.formation-register-dialog[open]) {
        overflow: hidden;
    }

    .formation-register-dialog {
        box-sizing: border-box;
        width: min(720px, calc(100% - 24px));
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
        padding: 0 0 max(16px, env(safe-area-inset-bottom, 0px));
        overscroll-behavior-y: contain;
    }

    .formation-register-dialog.formation-register-dialog--profile {
        width: 100%;
        max-width: none;
        height: 100%;
        max-height: none;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
        padding: env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px);
    }

    .formation-profile,
    .formation-info,
    .formation-recontact,
    .formation-enterprise,
    .formation-date,
    .formation-precontact,
    .formation-company,
    .formation-participants,
    .formation-finalize {
        min-height: 100%;
    }

    .formation-profile {
        padding: 8px 20px 24px;
    }

    .formation-info .formation-profile__bar,
    .formation-recontact .formation-profile__bar,
    .formation-date .formation-profile__bar,
    .formation-precontact .formation-profile__bar,
    .formation-company .formation-profile__bar,
    .formation-participants .formation-profile__bar,
    .formation-finalize .formation-profile__bar,
    .formation-info__main,
    .formation-info__actions {
        padding-left: 20px;
        padding-right: 20px;
    }

    .formation-register-dialog__close-form {
        position: sticky;
        top: 0;
        z-index: 2;
        padding: 4px 8px;
        background: #fff;
        border-bottom: 1px solid #e5ebf0;
    }

    .formation-register-dialog__close {
        width: 44px;
        height: 44px;
        color: #003e73;
    }

    .formation-register-dialog .registration-form {
        padding: 16px;
    }

    .formation-register-dialog .form-control,
    .inform-modal__input,
    #inform-email {
        min-height: 48px;
        font-size: 16px;
    }
}

@media (max-width: 600px) {
    .formation-page {
        --fp-gutter: 20px;
    }

    .formation-hero {
        min-height: 0;
        padding-top: 104px;
        padding-bottom: 32px;
    }

    .formation-sheet__aside-sticky,
    .formation-split,
    .formation-related__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Compétences : conserve 2 colonnes ; la dernière carte impair reste pleine largeur. */
    .formation-skills .formation-prose ul:not(:has(li :is(ul, ol))) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .formation-sheet__aside-sticky {
        gap: 16px;
    }

    .formation-meta__value {
        font-size: 19px;
    }

    .formation-sheet__main .formation-section > h2 {
        font-size: 27px;
    }

    .formation-related__head h2 {
        font-size: clamp(20px, 5.8vw, 26px);
    }

    .formation-split .formation-section > h2 {
        font-size: 23px;
    }

    .formation-skills .formation-prose ul {
        gap: 26px;
    }

    .formation-sticky-cta__inner {
        gap: 12px;
    }

    .formation-sticky-cta .formation-cta {
        padding-inline: 14px;
        gap: 8px;
        font-size: 16px;
    }

    .formation-register-dialog .registration-form > .container {
        padding-inline: 0;
    }
}
