/* 
 * DOCUMENTATION JP — CSS RÉORGANISÉ
 * ----------------------------------------------------------
 * Fichier : assets/css/jp-homepage.css
 * Rôle : Page d’accueil publique : chiffres clés, informations, accès rapides, formations, actualités et intégration Elementor.
 *
 * Lecture conseillée :
 * 1. fondations et structure du composant ;
 * 2. éléments internes et états ;
 * 3. adaptations responsive et compatibilité.
 *
 * IMPORTANT : l'ordre de cascade est volontairement préservé lorsqu'un déplacement
 * pourrait modifier le rendu. Les doublons retirés sont uniquement ceux dont une
 * déclaration strictement identique existe plus loin dans le même contexte CSS.
  */

/* * FICHIER CSS RÉORGANISÉ
 * Fichier : assets/css/jp-homepage.css
 * Rôle : Mise en page et composants spécifiques de la page d’accueil.
 *
 * Organisation :
 * 1. Styles de base du module
 * 2. États et interactions
 * 3. Adaptations responsives, dans l’ordre du fichier d’origine
 *
 * Maintenance : l’ordre des règles est conservé afin de respecter la cascade CSS.
 * Les doublons strictement identiques dans un même bloc ont été supprimés. */

/* *
 * jp-homepage.css
 * Rôle : styles complets de la page d’accueil.
 *
 * Ce fichier contient plusieurs générations de correctifs et de surcharges.
 * Leur ordre participe directement à la cascade CSS : aucune réorganisation
 * automatique n’a été appliquée ici afin de préserver rigoureusement le rendu.
 * Les commentaires existants ont été conservés comme repères fonctionnels. */

/* ==========================================================
   PAGE D'ACCUEIL JP — CSS NETTOYÉ
   Consolidation des règles actives jusqu'à la V6.11.
   Les anciens blocs typographiques contradictoires ont été retirés.
   ========================================================== */

.jp-home {
        --jp-navy: #083653;
        --jp-teal: #198f9b;
        --jp-line: #dfe7e9;
        --jp-soft: #f5f8f9;
        color: #173442;
        font-family: Montserrat,Arial,sans-serif;
}

/*  CIBLE — Composant : .jp-home *  */

.jp-home * {
        box-sizing: border-box;
}

/*  CIBLE — Composant : .jp-home svg  */

.jp-home svg {
        width: 100%;
        height: 100%;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
}

/*  CIBLE — Composant : .jp-home-shell  */

.jp-home-shell {
        width: min(calc(100% - 40px),1500px);
        margin-inline: auto;
}

/*  CIBLE — Composant : .jp-home-kicker  */

.jp-home-kicker {
        display: block;
        color: var(--jp-teal);
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .09em;
        text-transform: uppercase;
        margin-bottom: 3px;
}

/*  CIBLE — Composant : .jp-home h2,.jp-home h3,.jp-home p  */

.jp-home h2,.jp-home h3,.jp-home p {
        margin-top: 0;
}

/*  CIBLE — Composant : .jp-home-section-heading,.jp-home-panel-heading  */

.jp-home-section-heading,.jp-home-panel-heading {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 18px;
        margin-bottom: 16px;
}

/*  CIBLE — Composant : .jp-home-section-heading h2,.jp-home-panel-heading h2  */

.jp-home-section-heading h2,.jp-home-panel-heading h2 {
        font-size: 1.35rem;
        line-height: 1.12;
        color: var(--jp-navy);
        margin: 0;
        font-weight: 800;
}

/*  CIBLE — Composant : .jp-home-section-heading>a,.jp-home-panel-heading>a  */

.jp-home-section-heading>a,.jp-home-panel-heading>a {
        font-size: .72rem;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--jp-teal);
        text-decoration: none;
        white-space: nowrap;
}

/*  CIBLE — Chiffres clés : .jp-home-stats  */

.jp-home-stats {
        background: #fff;
        border-block: 1px solid #edf1f2;
}

/*  CIBLE — Chiffres clés : .jp-home-stats-grid  */

.jp-home-stats-grid {
        display: grid;
        grid-template-columns: repeat(5,1fr);
}

/*  CIBLE — Chiffres clés : .jp-home-stat  */

.jp-home-stat {
        min-height: 92px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        padding: 12px;
        border-right: 1px solid var(--jp-line);
}

/*  CIBLE — Chiffres clés : .jp-home-stat:last-child  */

.jp-home-stat:last-child {
        border-right: 0;
}

/*  CIBLE — Chiffres clés : .jp-home-stat-icon  */

.jp-home-stat-icon {
        width: 42px;
        height: 42px;
        color: var(--jp-teal);
        flex: 0 0 auto;
}

/*  CIBLE — Chiffres clés : .jp-home-stat strong  */

.jp-home-stat strong {
        display: block;
        color: var(--jp-navy);
        font-size: 1.55rem;
        line-height: 1;
        font-weight: 900;
}

/*  CIBLE — Chiffres clés : .jp-home-stat div>span  */

.jp-home-stat div>span {
        display: block;
        font-size: .68rem;
        line-height: 1.25;
        color: #52646d;
        margin-top: 4px;
}

/*  CIBLE — Composant : .jp-home-alert-wrap  */

.jp-home-alert-wrap {
        padding-top: 24px;
}

/*  CIBLE — Composant : .jp-home-alert  */

.jp-home-alert {
        border-radius: 16px;
        padding: 20px 22px;
        border-left: 6px solid #2e89b9;
        background: #eef8fc;
}

/*  CIBLE — État interactif : .jp-home-alert.is-attention  */

.jp-home-alert.is-attention {
        border-color: #e69a00;
        background: #fff8e7;
}

/*  CIBLE — État interactif : .jp-home-alert.is-important  */

.jp-home-alert.is-important {
        border-color: #c43b3b;
        background: #fff0f0;
}

/*  CIBLE — Composant : .jp-home-alert-heading  */

.jp-home-alert-heading {
        display: flex;
        gap: 14px;
        align-items: flex-start;
}

/*  CIBLE — Composant : .jp-home-alert-symbol  */

.jp-home-alert-symbol {
        width: 34px;
        height: 34px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: currentColor;
        color: #2e89b9;
        font-weight: 900;
        flex: 0 0 auto;
}

/*  CIBLE — Composant : .jp-home-alert-symbol:after  */

.jp-home-alert-symbol:after {
        content: '!';
        color: #fff;
}

/*  CIBLE — Composant : .jp-home-alert-symbol  */

.jp-home-alert-symbol {
        font-size: 0;
}

/*  CIBLE — Composant : .jp-home-alert h2  */

.jp-home-alert h2 {
        font-size: 1.2rem;
        margin: 0 0 6px;
        color: var(--jp-navy);
}

/*  CIBLE — Composant : .jp-home-alert-intro  */

.jp-home-alert-intro {
        font-size: .82rem;
        line-height: 1.5;
}

/*  CIBLE — Composant : .jp-home-alert-columns  */

.jp-home-alert-columns {
        display: grid;
        grid-template-columns: repeat(var(--jp-alert-cols),minmax(0,1fr));
        gap: 14px;
        margin-top: 16px;
}

/*  CIBLE — Composant : .jp-home-alert-column  */

.jp-home-alert-column {
        padding: 14px;
        background: rgba(255,255,255,.72);
        border-radius: 12px;
}

/*  CIBLE — Composant : .jp-home-alert-column h3  */

.jp-home-alert-column h3 {
        font-size: .88rem;
        margin: 0 0 7px;
}

/*  CIBLE — Composant : .jp-home-alert-column p  */

.jp-home-alert-column p {
        font-size: .75rem;
        line-height: 1.45;
        margin: 0 0 8px;
}

/*  CIBLE — Composant : .jp-home-alert-column a  */

.jp-home-alert-column a {
        font-size: .7rem;
        font-weight: 800;
        text-decoration: none;
}

/*  CIBLE — Composant : .jp-home-dashboard  */

.jp-home-dashboard {
        display: grid;
        grid-template-columns: 286px minmax(0,1fr);
        gap: 20px;
        padding-block: 34px;
        align-items: stretch;
}

/*  CIBLE — Formations : .jp-home-quick,.jp-home-formations  */

.jp-home-quick,.jp-home-formations {
        border: 1px solid #e8edef;
        background: #fff;
        border-radius: 18px;
        box-shadow: 0 10px 28px rgba(8,54,83,.06);
        padding: 18px;
}

/*  CIBLE — Composant : .jp-home-quick  */

.jp-home-quick {
        display: flex;
        flex-direction: column;
}

/*  CIBLE — Composant : .jp-home-panel-heading  */

.jp-home-panel-heading {
        min-height: 43px;
        align-items: flex-start;
}

/*  CIBLE — Composant : .jp-home-quick-grid  */

.jp-home-quick-grid {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        grid-template-rows: repeat(3,1fr);
        gap: 10px;
        flex: 1;
}

/*  CIBLE — Cartes : .jp-home-quick-card  */

.jp-home-quick-card {
        min-height: 112px;
        border-radius: 13px;
        color: #fff;
        text-decoration: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 9px;
        padding: 10px;
        position: relative;
        overflow: hidden;
        box-shadow: 0 6px 14px rgba(8,54,83,.1);
        transition: .22s;
}

/*  CIBLE — Cartes : .jp-home-quick-card:before  */

.jp-home-quick-card:before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(145deg,rgba(255,255,255,.18),transparent 58%);
}

/*  CIBLE — Cartes : .jp-home-quick-card:hover  */

.jp-home-quick-card:hover {
        transform: translateY(-3px);
        color: #fff;
        box-shadow: 0 12px 20px rgba(8,54,83,.18);
}

/*  CIBLE — Icônes : .jp-home-quick-icon  */

.jp-home-quick-icon {
        width: 34px;
        height: 34px;
        position: relative;
}

/*  CIBLE — Cartes : .jp-home-quick-card strong  */

.jp-home-quick-card strong {
        position: relative;
        font-size: .66rem;
        line-height: 1.22;
        text-transform: uppercase;
        max-width: 110px;
}

/*  CIBLE — Cartes : .jp-home-quick-card.is-green  */

.jp-home-quick-card.is-green {
        background: #49a653;
}

/*  CIBLE — Cartes : .jp-home-quick-card.is-orange  */

.jp-home-quick-card.is-orange {
        background: #f07a12;
}

/*  CIBLE — Cartes : .jp-home-quick-card.is-blue  */

.jp-home-quick-card.is-blue {
        background: #3977af;
}

/*  CIBLE — Cartes : .jp-home-quick-card.is-cyan  */

.jp-home-quick-card.is-cyan {
        background: #238f9d;
}

/*  CIBLE — Cartes : .jp-home-quick-card.is-purple  */

.jp-home-quick-card.is-purple {
        background: #9256a0;
}

/*  CIBLE — Cartes : .jp-home-quick-card.is-yellow  */

.jp-home-quick-card.is-yellow {
        background: #edae10;
}

/*  CIBLE — Formations : .jp-home-formations  */

.jp-home-formations {
        min-width: 0;
        background: linear-gradient(180deg,#f8fafb,#fff);
}

/*  CIBLE — Formations : .jp-home-formations-heading  */

.jp-home-formations-heading {
        min-height: 43px;
}

/*  CIBLE — Formations : .jp-home-formations-grid  */

.jp-home-formations-grid {
        display: grid;
        grid-template-columns: minmax(0,.85fr) minmax(0,2.15fr);
        grid-template-rows: repeat(2,minmax(0,1fr));
        gap: 14px;
        height: calc(100% - 59px);
}

/*  CIBLE — Formations : .jp-home-formation-group  */

.jp-home-formation-group {
        min-width: 0;
        border-top: 4px solid var(--jp-group-accent);
        background: #fff;
        border-radius: 10px;
        padding: 8px 8px 10px;
        box-shadow: 0 4px 14px rgba(8,54,83,.045);
        overflow: hidden;
}

/*  CIBLE — Composant : .jp-home-group-head  */

.jp-home-group-head {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 7px;
}

/*  CIBLE — Composant : .jp-home-group-head:after  */

.jp-home-group-head:after {
        content: '';
        height: 1px;
        background: color-mix(in srgb,var(--jp-group-accent) 34%,#d9e2e5);
        flex: 1;
}

/*  CIBLE — Composant : .jp-home-group-head h3  */

.jp-home-group-head h3 {
        font-size: .92rem;
        line-height: 1.05;
        margin: 0;
        color: var(--jp-group-accent);
        font-weight: 900;
        white-space: nowrap;
}

/*  CIBLE — Carrousel : .jp-home-carousel  */

.jp-home-carousel {
        position: relative;
        padding-inline: 18px;
        min-width: 0;
}

/*  CIBLE — Composant : .jp-home-viewport  */

.jp-home-viewport {
        overflow: hidden;
        min-width: 0;
}

/*  CIBLE — Composant : .jp-home-track  */

.jp-home-track {
        display: flex;
        gap: 10px;
        transition: transform .52s cubic-bezier(.22,.75,.25,1);
        will-change: transform;
}

/*  CIBLE — Actualités : .jp-home-card,.jp-home-news-card  */

.jp-home-card,.jp-home-news-card {
        flex: 0 0 calc((100% - (var(--jp-visible,3) - 1)*10px)/var(--jp-visible,3));
        min-width: 0;
}

/*  CIBLE — Cartes : .jp-home-card  */

.jp-home-card {
        border: 1px solid color-mix(in srgb,var(--jp-card-accent) 24%,#e1e7e9);
        border-left: 4px solid var(--jp-card-accent);
        border-radius: 10px;
        background: #fff;
        overflow: hidden;
        box-shadow: 0 4px 10px rgba(8,54,83,.05);
        transition: .22s;
}

/*  CIBLE — Cartes : .jp-home-card:hover  */

.jp-home-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 16px rgba(8,54,83,.1);
}

/*  CIBLE — Cartes : .jp-home-card-link  */

.jp-home-card-link {
        display: grid;
        grid-template-columns: 42% 58%;
        height: 150px;
        color: inherit;
        text-decoration: none;
}

/*  CIBLE — Cartes : .jp-home-card-media  */

.jp-home-card-media {
        position: relative;
        background: #dde7ea;
        overflow: hidden;
}

/*  CIBLE — Cartes : .jp-home-card-media img  */

.jp-home-card-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .4s;
}

/*  CIBLE — Cartes : .jp-home-card:hover img  */

.jp-home-card:hover img {
        transform: scale(1.045);
}

/*  CIBLE — Cartes : .jp-home-card-badge  */

.jp-home-card-badge {
        position: absolute;
        left: 6px;
        bottom: 6px;
        max-width: calc(100% - 12px);
        background: var(--jp-card-accent);
        color: #fff;
        border-radius: 999px;
        padding: 3px 6px;
        font-size: .52rem;
        font-weight: 900;
        text-transform: uppercase;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
}

/*  CIBLE — Cartes : .jp-home-card-body  */

.jp-home-card-body {
        padding: 10px 9px;
        display: flex;
        flex-direction: column;
        min-width: 0;
}

/*  CIBLE — Cartes : .jp-home-card-body h3  */

.jp-home-card-body h3 {
        font-size: .84rem;
        line-height: 1.15;
        margin: 0 0 6px;
        color: #183543;
}

/*  CIBLE — Cartes : .jp-home-card-body p  */

.jp-home-card-body p {
        font-size: .62rem;
        line-height: 1.32;
        color: #4a5e68;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
}

/*  CIBLE — Cartes : .jp-home-card-more  */

.jp-home-card-more {
        margin-top: auto;
        font-size: .62rem;
        font-weight: 900;
        color: var(--jp-card-accent);
}

/*  CIBLE — Composant : .jp-home-arrow  */

.jp-home-arrow {
        position: absolute;
        top: 50%;
        z-index: 3;
        transform: translateY(-50%);
        width: 24px;
        height: 24px;
        border: 0;
        border-radius: 50%;
        background: var(--jp-group-accent,var(--jp-teal));
        color: #fff;
        font-size: 18px;
        line-height: 1;
        cursor: pointer;
        display: grid;
        place-items: center;
        padding: 0;
        box-shadow: 0 4px 10px rgba(8,54,83,.18);
}

/*  CIBLE — État interactif : .jp-home-arrow.is-prev  */

.jp-home-arrow.is-prev {
        left: 0;
}

/*  CIBLE — État interactif : .jp-home-arrow.is-next  */

.jp-home-arrow.is-next {
        right: 0;
}

/*  CIBLE — Composant : .jp-home-arrow:disabled  */

.jp-home-arrow:disabled {
        opacity: .25;
        cursor: default;
}

/*  CIBLE — Composant : .jp-home-advantages  */

.jp-home-advantages {
        padding: 34px 0;
        background: #f4f8f9;
}

/*  CIBLE — Composant : .jp-home-advantages-grid  */

.jp-home-advantages-grid {
        display: grid;
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: 14px;
}

/*  CIBLE — Composant : .jp-home-advantage  */

.jp-home-advantage {
        display: flex;
        gap: 14px;
        align-items: flex-start;
        background: #fff;
        border: 1px solid #e3eaec;
        border-radius: 15px;
        padding: 18px;
        text-decoration: none;
        color: inherit;
        box-shadow: 0 6px 16px rgba(8,54,83,.05);
}

/*  CIBLE — Icônes : .jp-home-advantage-icon  */

.jp-home-advantage-icon {
        width: 42px;
        height: 42px;
        color: var(--jp-teal);
        flex: 0 0 auto;
}

/*  CIBLE — Composant : .jp-home-advantage h3  */

.jp-home-advantage h3 {
        font-size: .86rem;
        margin: 0 0 5px;
        color: var(--jp-navy);
}

/*  CIBLE — Composant : .jp-home-advantage p  */

.jp-home-advantage p {
        font-size: .7rem;
        line-height: 1.4;
        color: #53656e;
        margin: 0;
}

/*  CIBLE — Actualités : .jp-home-news  */

.jp-home-news {
        padding-block: 38px 34px;
}

/*  CIBLE — Actualités : .jp-home-news .jp-home-carousel  */

.jp-home-news .jp-home-carousel {
        padding-inline: 30px;
}

/*  CIBLE — Actualités : .jp-home-news .jp-home-track  */

.jp-home-news .jp-home-track {
        gap: 15px;
}

/*  CIBLE — Actualités : .jp-home-news-card  */

.jp-home-news-card {
        flex-basis: calc((100% - (var(--jp-visible,4) - 1)*15px)/var(--jp-visible,4));
        border-radius: 14px;
        overflow: hidden;
        background: #fff;
        border: 1px solid #e1e7e9;
        box-shadow: 0 6px 16px rgba(8,54,83,.06);
}

/*  CIBLE — Actualités : .jp-home-news-card>a  */

.jp-home-news-card>a {
        display: block;
        color: inherit;
        text-decoration: none;
}

/*  CIBLE — Actualités : .jp-home-news-image  */

.jp-home-news-image {
        height: 125px;
        background: #dfe8eb;
        overflow: hidden;
}

/*  CIBLE — Actualités : .jp-home-news-image img  */

.jp-home-news-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .4s;
}

/*  CIBLE — Actualités : .jp-home-news-card:hover img  */

.jp-home-news-card:hover img {
        transform: scale(1.04);
}

/*  CIBLE — Actualités : .jp-home-news-body  */

.jp-home-news-body {
        padding: 12px 13px 13px;
        min-height: 150px;
        display: flex;
        flex-direction: column;
}

/*  CIBLE — Actualités : .jp-home-news-body time  */

.jp-home-news-body time {
        font-size: .56rem;
        text-transform: uppercase;
        color: var(--jp-teal);
        font-weight: 900;
}

/*  CIBLE — Actualités : .jp-home-news-body h3  */

.jp-home-news-body h3 {
        font-size: .78rem;
        line-height: 1.25;
        margin: 5px 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
}

/*  CIBLE — Actualités : .jp-home-news-body p  */

.jp-home-news-body p {
        font-size: .64rem;
        line-height: 1.4;
        color: #4d5c65;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
}

/*  CIBLE — Actualités : .jp-home-news-body span  */

.jp-home-news-body span {
        font-size: .62rem;
        font-weight: 900;
        color: var(--jp-teal);
        margin-top: auto;
        padding-top: 8px;
}

/*  CIBLE — Composant : .jp-home-documents  */

.jp-home-documents {
        padding-block: 10px 42px;
}

/*  CIBLE — Composant : .jp-home-doc-grid  */

.jp-home-doc-grid {
        display: grid;
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: 14px;
}

/*  CIBLE — Composant : .jp-home-doc-grid a  */

.jp-home-doc-grid a {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 15px;
        border: 1px solid #dfe7e9;
        border-radius: 13px;
        text-decoration: none;
        color: var(--jp-navy);
        background: #fff;
        box-shadow: 0 5px 14px rgba(8,54,83,.045);
}

/*  CIBLE — Composant : .jp-home-doc-grid a>span  */

.jp-home-doc-grid a>span {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        background: #eaf5f6;
        color: var(--jp-teal);
        border-radius: 10px;
        font-size: .62rem;
        font-weight: 900;
}

/*  CIBLE — Composant : .jp-home-doc-grid strong  */

.jp-home-doc-grid strong {
        font-size: .74rem;
        line-height: 1.25;
        flex: 1;
}

/*  CIBLE — Composant : .jp-home-doc-grid i  */

.jp-home-doc-grid i {
        font-style: normal;
        font-size: 1.1rem;
}

/* Adaptation responsive : (max-width:1180px) */

@media(max-width:1180px) {
        /*  CIBLE — Composant : .jp-home-dashboard  */
        .jp-home-dashboard {
            grid-template-columns: 250px minmax(0,1fr);
    }
        /*  CIBLE — Cartes : .jp-home-quick-card  */
        .jp-home-quick-card {
            min-height: 104px;
    }
        /*  CIBLE — Cartes : .jp-home-card-link  */
        .jp-home-card-link {
            height: 142px;
            grid-template-columns: 38% 62%;
    }
        /*  CIBLE — Cartes : .jp-home-card-body h3  */
        .jp-home-card-body h3 {
            font-size: .67rem;
    }
        /*  CIBLE — Cartes : .jp-home-card-body p  */
        .jp-home-card-body p {
            font-size: .5rem;
    }
        /*  CIBLE — Formations : .jp-home-formations-grid  */
        .jp-home-formations-grid {
            grid-template-columns: minmax(0,1fr) minmax(0,2fr);
    }
        /*  CIBLE — Composant : .jp-home-advantages-grid,.jp-home-doc-grid  */
        .jp-home-advantages-grid,.jp-home-doc-grid {
            grid-template-columns: repeat(2,1fr);
    }
}

/* Adaptation responsive : (max-width:900px) */

@media(max-width:900px) {
        /*  CIBLE — Chiffres clés : .jp-home-stats-grid  */
        .jp-home-stats-grid {
            grid-template-columns: repeat(3,1fr);
    }
        /*  CIBLE — Chiffres clés : .jp-home-stat:nth-child(3)  */
        .jp-home-stat:nth-child(3) {
            border-right: 0;
    }
        /*  CIBLE — Chiffres clés : .jp-home-stat:nth-child(n+4)  */
        .jp-home-stat:nth-child(n+4) {
            border-top: 1px solid var(--jp-line);
    }
        /*  CIBLE — Composant : .jp-home-dashboard  */
        .jp-home-dashboard {
            grid-template-columns: 1fr;
    }
        /*  CIBLE — Composant : .jp-home-quick-grid  */
        .jp-home-quick-grid {
            grid-template-columns: repeat(3,1fr);
            grid-template-rows: repeat(2,1fr);
    }
        /*  CIBLE — Formations : .jp-home-formations-grid  */
        .jp-home-formations-grid {
            height: auto;
    }
        /*  CIBLE — Cartes : .jp-home-card-link  */
        .jp-home-card-link {
            height: 155px;
    }
        /*  CIBLE — Composant : .jp-home-alert-columns  */
        .jp-home-alert-columns {
            grid-template-columns: repeat(2,1fr);
    }
        /*  CIBLE — Actualités : .jp-home-news-image  */
        .jp-home-news-image {
            height: 135px;
    }
}

/* Adaptation responsive : (max-width:680px) */

@media(max-width:680px) {
        /*  CIBLE — Composant : .jp-home-shell  */
        .jp-home-shell {
            width: min(calc(100% - 24px),1500px);
    }
        /*  CIBLE — Chiffres clés : .jp-home-stats-grid  */
        .jp-home-stats-grid {
            grid-template-columns: repeat(2,1fr);
    }
        /*  CIBLE — Chiffres clés : .jp-home-stat  */
        .jp-home-stat {
            min-height: 76px;
            justify-content: flex-start;
    }
        /*  CIBLE — Chiffres clés : .jp-home-stat:nth-child(2n)  */
        .jp-home-stat:nth-child(2n) {
            border-right: 0;
    }
        /*  CIBLE — Chiffres clés : .jp-home-stat:nth-child(3)  */
        .jp-home-stat:nth-child(3) {
            border-right: 1px solid var(--jp-line);
    }
        /*  CIBLE — Chiffres clés : .jp-home-stat:nth-child(n+3)  */
        .jp-home-stat:nth-child(n+3) {
            border-top: 1px solid var(--jp-line);
    }
        /*  CIBLE — Chiffres clés : .jp-home-stat:last-child  */
        .jp-home-stat:last-child {
            grid-column: 1/-1;
            justify-content: center;
    }
        /*  CIBLE — Chiffres clés : .jp-home-stat-icon  */
        .jp-home-stat-icon {
            width: 32px;
            height: 32px;
    }
        /*  CIBLE — Chiffres clés : .jp-home-stat strong  */
        .jp-home-stat strong {
            font-size: 1.25rem;
    }
        /*  CIBLE — Composant : .jp-home-dashboard  */
        .jp-home-dashboard {
            padding-block: 24px;
            gap: 14px;
    }
        /*  CIBLE — Formations : .jp-home-quick,.jp-home-formations  */
        .jp-home-quick,.jp-home-formations {
            padding: 14px;
    }
        /*  CIBLE — Composant : .jp-home-quick-grid  */
        .jp-home-quick-grid {
            grid-template-columns: repeat(2,1fr);
            grid-template-rows: repeat(3,1fr);
    }
        /*  CIBLE — Cartes : .jp-home-quick-card  */
        .jp-home-quick-card {
            min-height: 94px;
    }
        /*  CIBLE — Formations : .jp-home-formations-grid  */
        .jp-home-formations-grid {
            grid-template-columns: 1fr;
            grid-template-rows: auto;
            gap: 12px;
    }
        /*  CIBLE — Cartes : .jp-home-card-link  */
        .jp-home-card-link {
            height: 160px;
    }
        /*  CIBLE — Carrousel : .jp-home-carousel  */
        .jp-home-carousel {
            padding-inline: 26px;
    }
        /*  CIBLE — Composant : .jp-home-arrow  */
        .jp-home-arrow {
            width: 28px;
            height: 28px;
    }
        /*  CIBLE — Actualités : .jp-home-card,.jp-home-news-card  */
        .jp-home-card,.jp-home-news-card {
            flex-basis: 100%;
    }
        /*  CIBLE — Cartes : .jp-home-card-body h3  */
        .jp-home-card-body h3 {
            font-size: .82rem;
    }
        /*  CIBLE — Cartes : .jp-home-card-body p  */
        .jp-home-card-body p {
            font-size: .6rem;
    }
        /*  CIBLE — Composant : .jp-home-alert-columns,.jp-home-advantages-grid,.jp-home-doc-grid  */
        .jp-home-alert-columns,.jp-home-advantages-grid,.jp-home-doc-grid {
            grid-template-columns: 1fr;
    }
        /*  CIBLE — Actualités : .jp-home-news  */
        .jp-home-news {
            padding-block: 30px;
    }
        /*  CIBLE — Actualités : .jp-home-news-image  */
        .jp-home-news-image {
            height: 145px;
    }
        /*  CIBLE — Actualités : .jp-home-news-body  */
        .jp-home-news-body {
            min-height: 145px;
    }
        /*  CIBLE — Composant : .jp-home-section-heading  */
        .jp-home-section-heading {
            align-items: flex-start;
            flex-direction: column;
            gap: 7px;
    }
}

/* ==========================================================
   PAGE D'ACCUEIL V4.1 — grille formations 2 x 2 + 5 actualités
   Ces règles finales sont volontairement plus spécifiques afin
   de neutraliser d'éventuels styles Elementor/Astra antérieurs.
   ========================================================== */

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-dashboard  */
        .jp-home.jp-home-v4 .jp-home-dashboard {
            grid-template-columns: 250px minmax(0, 1fr) !important;
            align-items: stretch;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid  */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) minmax(0, 2.05fr) !important;
            grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
            grid-template-areas: "prebac bts"
      "postbts greta" !important;
            gap: 12px !important;
            height: calc(100% - 59px) !important;
            align-items: stretch;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-grid > .is-prebac  */
        .jp-home.jp-home-v4 .jp-home-formations-grid > .is-prebac {
            grid-area: prebac !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-grid > .is-bts  */
        .jp-home.jp-home-v4 .jp-home-formations-grid > .is-bts {
            grid-area: bts !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-grid > .is-postbts  */
        .jp-home.jp-home-v4 .jp-home-formations-grid > .is-postbts {
            grid-area: postbts !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-grid > .is-greta  */
        .jp-home.jp-home-v4 .jp-home-formations-grid > .is-greta {
            grid-area: greta !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group  */
        .jp-home.jp-home-v4 .jp-home-formation-group {
            min-width: 0 !important;
            height: 100%;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-card  */
        .jp-home.jp-home-v4 .jp-home-news-card {
            flex: 0 0 calc((100% - 60px) / 5) !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-image  */
        .jp-home.jp-home-v4 .jp-home-news-image {
            height: 105px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-body  */
        .jp-home.jp-home-v4 .jp-home-news-body {
            min-height: 132px !important;
            padding: 10px 11px 11px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-body h3  */
        .jp-home.jp-home-v4 .jp-home-news-body h3 {
            font-size: .70rem !important;
            line-height: 1.22 !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-body p  */
        .jp-home.jp-home-v4 .jp-home-news-body p {
            font-size: .57rem !important;
            -webkit-line-clamp: 2;
    }
}

/* Adaptation responsive : (min-width: 901px) and (max-width: 1180px) */

@media (min-width: 901px) and (max-width: 1180px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-dashboard  */
        .jp-home.jp-home-v4 .jp-home-dashboard {
            grid-template-columns: 225px minmax(0, 1fr) !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid  */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            grid-template-columns: minmax(0, .9fr) minmax(0, 2.1fr) !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-card  */
        .jp-home.jp-home-v4 .jp-home-news-card {
            flex-basis: calc((100% - 48px) / 5) !important;
    }
}

/* Adaptation responsive : (max-width: 900px) */

@media (max-width: 900px) {
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid  */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            display: grid !important;
            grid-template-columns: 1fr !important;
            grid-template-rows: auto !important;
            grid-template-areas: none !important;
            height: auto !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-grid > .jp-home-formation-group  */
        .jp-home.jp-home-v4 .jp-home-formations-grid > .jp-home-formation-group {
            grid-area: auto !important;
    }
}

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /* Réduction de la hauteur globale du bloc principal. */
        .jp-home.jp-home-v4 .jp-home-dashboard {
            grid-template-columns: 250px minmax(0, 1fr) !important;
            gap: 20px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-quick, .jp-home.jp-home-v4 .jp-home-formations  */
        .jp-home.jp-home-v4 .jp-home-quick,
  .jp-home.jp-home-v4 .jp-home-formations {
            padding: 15px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-panel-heading, .jp-home.jp-home-v4 .jp-home-formations-heading  */
        .jp-home.jp-home-v4 .jp-home-panel-heading,
  .jp-home.jp-home-v4 .jp-home-formations-heading {
            min-height: 36px !important;
            margin-bottom: 10px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-quick-grid  */
        .jp-home.jp-home-v4 .jp-home-quick-grid {
            gap: 8px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-quick-card  */
        .jp-home.jp-home-v4 .jp-home-quick-card {
            min-height: 88px !important;
            gap: 6px !important;
            padding: 8px !important;
    }
        /*  CIBLE — Icônes : .jp-home.jp-home-v4 .jp-home-quick-icon  */
        .jp-home.jp-home-v4 .jp-home-quick-icon {
            width: 29px !important;
            height: 29px !important;
    }
        /* Toutes les cartes de formation ont exactement la même hauteur. */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            height: calc(100% - 46px) !important;
            gap: 10px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group  */
        .jp-home.jp-home-v4 .jp-home-formation-group {
            padding: 6px 7px 7px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-group-head  */
        .jp-home.jp-home-v4 .jp-home-group-head {
            margin-bottom: 5px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-link  */
        .jp-home.jp-home-v4 .jp-home-card-link {
            height: 116px !important;
            grid-template-columns: 39% 61% !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-media  */
        .jp-home.jp-home-v4 .jp-home-card-media {
            position: relative !important;
            height: 116px !important;
            min-height: 116px !important;
            background: #eef2f3 !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-media img  */
        .jp-home.jp-home-v4 .jp-home-card-media img {
            position: absolute !important;
            inset: 0 !important;
            width: 100% !important;
            height: 100% !important;
            max-width: none !important;
            max-height: none !important;
            display: block !important;
            object-fit: cover !important;
            object-position: center center !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body  */
        .jp-home.jp-home-v4 .jp-home-card-body {
            padding: 8px 8px 7px !important;
            min-height: 116px !important;
            background: #fff !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body h3  */
        .jp-home.jp-home-v4 .jp-home-card-body h3 {
            font-size: .67rem !important;
            margin-bottom: 3px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body p  */
        .jp-home.jp-home-v4 .jp-home-card-body p {
            font-size: .49rem !important;
            line-height: 1.25 !important;
            -webkit-line-clamp: 2 !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-more  */
        .jp-home.jp-home-v4 .jp-home-card-more {
            font-size: .51rem !important;
    }
        /* Actualités : démarrage à l'aplomb du panneau Formations. */
        .jp-home.jp-home-v4 .jp-home-news {
            padding-top: 26px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-layout  */
        .jp-home.jp-home-v4 .jp-home-news-layout {
            display: grid !important;
            grid-template-columns: 250px minmax(0, 1fr) !important;
            gap: 20px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-content  */
        .jp-home.jp-home-v4 .jp-home-news-content {
            min-width: 0;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news .jp-home-carousel  */
        .jp-home.jp-home-v4 .jp-home-news .jp-home-carousel {
            padding-inline: 24px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news .jp-home-track  */
        .jp-home.jp-home-v4 .jp-home-news .jp-home-track {
            gap: 10px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-card  */
        .jp-home.jp-home-v4 .jp-home-news-card {
            flex: 0 0 calc((100% - 40px) / 5) !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-image  */
        .jp-home.jp-home-v4 .jp-home-news-image {
            height: 92px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-image img  */
        .jp-home.jp-home-v4 .jp-home-news-image img {
            width: 100% !important;
            height: 100% !important;
            display: block !important;
            object-fit: cover !important;
            object-position: center center !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-body  */
        .jp-home.jp-home-v4 .jp-home-news-body {
            min-height: 118px !important;
            padding: 9px 10px 10px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-body h3  */
        .jp-home.jp-home-v4 .jp-home-news-body h3 {
            font-size: .65rem !important;
            line-height: 1.2 !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-body p  */
        .jp-home.jp-home-v4 .jp-home-news-body p {
            font-size: .54rem !important;
            line-height: 1.3 !important;
    }
}

/* Adaptation responsive : (min-width: 901px) and (max-width: 1180px) */

@media (min-width: 901px) and (max-width: 1180px) {
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-dashboard, .jp-home.jp-home-v4 .jp-home-news-layout  */
        .jp-home.jp-home-v4 .jp-home-dashboard,
  .jp-home.jp-home-v4 .jp-home-news-layout {
            grid-template-columns: 225px minmax(0, 1fr) !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-card  */
        .jp-home.jp-home-v4 .jp-home-news-card {
            flex-basis: calc((100% - 40px) / 5) !important;
    }
}

/* Adaptation responsive : (max-width: 900px) */

@media (max-width: 900px) {
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-layout  */
        .jp-home.jp-home-v4 .jp-home-news-layout {
            display: block !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-spacer  */
        .jp-home.jp-home-v4 .jp-home-news-spacer {
            display: none !important;
    }
}

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /* Une photo plus haute conserve davantage du cadrage original. */
        .jp-home.jp-home-v4 .jp-home-news-image {
            height: 128px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news-image img  */
        .jp-home.jp-home-v4 .jp-home-news-image img {
            object-fit: cover !important;
            object-position: center center !important;
    }
        /* La carte reste compacte malgré l'augmentation de la photo. */
        .jp-home.jp-home-v4 .jp-home-news-body {
            min-height: 112px !important;
            padding: 9px 10px 10px !important;
    }
}

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /* Les deux lignes utilisent désormais le même rapport 1 / 3 :
     Prébac + 3 BTS puis Post-BTS + 3 GRETA. */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            grid-template-columns: minmax(145px, 1fr) minmax(0, 3fr) !important;
            gap: 8px 10px !important;
            height: calc(100% - 40px) !important;
    }
        /* Réduction mesurée de la hauteur pour faire apparaître plus tôt
     le titre et le début des actualités sur les écrans peu hauts. */
        .jp-home.jp-home-v4 .jp-home-dashboard {
            padding-block: 22px 18px !important;
            gap: 18px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-quick, .jp-home.jp-home-v4 .jp-home-formations  */
        .jp-home.jp-home-v4 .jp-home-quick,
  .jp-home.jp-home-v4 .jp-home-formations {
            padding: 12px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-panel-heading, .jp-home.jp-home-v4 .jp-home-formations-heading  */
        .jp-home.jp-home-v4 .jp-home-panel-heading,
  .jp-home.jp-home-v4 .jp-home-formations-heading {
            min-height: 32px !important;
            margin-bottom: 7px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-panel-heading h2, .jp-home.jp-home-v4 .jp-home-formations-heading h2  */
        .jp-home.jp-home-v4 .jp-home-panel-heading h2,
  .jp-home.jp-home-v4 .jp-home-formations-heading h2 {
            font-size: 1.14rem !important;
            line-height: 1.05 !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-kicker  */
        .jp-home.jp-home-v4 .jp-home-kicker {
            font-size: .48rem !important;
            line-height: 1.1 !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-quick-grid  */
        .jp-home.jp-home-v4 .jp-home-quick-grid {
            gap: 7px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-quick-card  */
        .jp-home.jp-home-v4 .jp-home-quick-card {
            min-height: 74px !important;
            padding: 6px !important;
            gap: 4px !important;
            border-radius: 11px !important;
    }
        /*  CIBLE — Icônes : .jp-home.jp-home-v4 .jp-home-quick-icon  */
        .jp-home.jp-home-v4 .jp-home-quick-icon {
            width: 25px !important;
            height: 25px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-quick-card strong  */
        .jp-home.jp-home-v4 .jp-home-quick-card strong {
            font-size: .56rem !important;
            line-height: 1.15 !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group  */
        .jp-home.jp-home-v4 .jp-home-formation-group {
            padding: 4px 6px 6px !important;
            border-top-width: 3px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-group-head  */
        .jp-home.jp-home-v4 .jp-home-group-head {
            margin-bottom: 3px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-group-head h3  */
        .jp-home.jp-home-v4 .jp-home-group-head h3 {
            font-size: .67rem !important;
    }
        /*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-carousel  */
        .jp-home.jp-home-v4 .jp-home-carousel {
            padding-inline: 16px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-track  */
        .jp-home.jp-home-v4 .jp-home-track {
            gap: 7px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-card, .jp-home.jp-home-v4 .jp-home-news-card  */
        .jp-home.jp-home-v4 .jp-home-card,
  .jp-home.jp-home-v4 .jp-home-news-card {
            flex-basis: calc((100% - (var(--jp-visible, 3) - 1) * 7px) / var(--jp-visible, 3)) !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-link  */
        .jp-home.jp-home-v4 .jp-home-card-link {
            height: 96px !important;
            grid-template-columns: 35% 65% !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-media  */
        .jp-home.jp-home-v4 .jp-home-card-media {
            height: 96px !important;
            min-height: 96px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body  */
        .jp-home.jp-home-v4 .jp-home-card-body {
            min-height: 96px !important;
            padding: 6px 6px 5px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body h3  */
        .jp-home.jp-home-v4 .jp-home-card-body h3 {
            font-size: .59rem !important;
            line-height: 1.12 !important;
            margin-bottom: 2px !important;
    }
        /* Le nom complet peut désormais occuper trois lignes. */
        .jp-home.jp-home-v4 .jp-home-card-body p {
            font-size: .45rem !important;
            line-height: 1.2 !important;
            -webkit-line-clamp: 3 !important;
            line-clamp: 3 !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-more  */
        .jp-home.jp-home-v4 .jp-home-card-more {
            font-size: .46rem !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-badge  */
        .jp-home.jp-home-v4 .jp-home-card-badge {
            font-size: .39rem !important;
            padding: 2px 5px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-arrow  */
        .jp-home.jp-home-v4 .jp-home-arrow {
            width: 21px !important;
            height: 21px !important;
            font-size: 16px !important;
    }
        /* Les actualités remontent tout en conservant leur cadrage V4.3. */
        .jp-home.jp-home-v4 .jp-home-news {
            padding-top: 14px !important;
    }
}

/* Adaptation responsive : (min-width: 901px) and (max-width: 1180px) */

@media (min-width: 901px) and (max-width: 1180px) {
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid  */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            grid-template-columns: minmax(135px, 1fr) minmax(0, 3fr) !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-link  */
        .jp-home.jp-home-v4 .jp-home-card-link {
            grid-template-columns: 32% 68% !important;
    }
}

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /* Le bandeau se rapproche du bas du bandeau vidéo et gagne
     de la hauteur utile sans modifier le comportement mobile. */
        .jp-home.jp-home-v4 .jp-home-stats {
            position: relative !important;
            z-index: 4 !important;
            margin-top: -14px !important;
            box-shadow: 0 8px 20px rgba(8, 54, 83, .08) !important;
    }
        /*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stat  */
        .jp-home.jp-home-v4 .jp-home-stat {
            min-height: 78px !important;
            padding-block: 8px !important;
    }
        /*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stat-icon  */
        .jp-home.jp-home-v4 .jp-home-stat-icon {
            width: 38px !important;
            height: 38px !important;
    }
        /*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stat strong  */
        .jp-home.jp-home-v4 .jp-home-stat strong {
            font-size: 1.45rem !important;
    }
        /* Le libellé plus long reste compact dans l'en-tête. */
        .jp-home.jp-home-v4 .jp-home-formations-heading > a {
            white-space: nowrap !important;
            font-size: .62rem !important;
    }
}

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stats  */
        .jp-home.jp-home-v4 .jp-home-stats {
            position: relative !important;
            z-index: 12 !important;
            width: min(calc(100% - 48px), 1500px) !important;
            margin: -34px auto 0 !important;
            border: 1px solid rgba(7, 91, 111, .12) !important;
            border-radius: 16px !important;
            overflow: hidden !important;
            background: rgba(255,255,255,.98) !important;
            box-shadow: 0 12px 28px rgba(8, 54, 83, .14) !important;
    }
        /*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stats > .jp-home-shell  */
        .jp-home.jp-home-v4 .jp-home-stats > .jp-home-shell {
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
    }
        /*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stat  */
        .jp-home.jp-home-v4 .jp-home-stat {
            min-height: 76px !important;
            padding-block: 7px !important;
    }
}

/* Adaptation responsive : (min-width: 901px) and (max-width: 1180px) */

@media (min-width: 901px) and (max-width: 1180px) {
        /*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stats  */
        .jp-home.jp-home-v4 .jp-home-stats {
            width: min(calc(100% - 32px), 1500px) !important;
            margin-top: -28px !important;
            border-radius: 14px !important;
    }
}

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /* Le bandeau des chiffres clés chevauche davantage la vidéo. */
        .jp-home.jp-home-v4 .jp-home-stats {
            margin-top: -52px !important;
            border-radius: 18px !important;
            box-shadow: 0 14px 34px rgba(8, 54, 83, .16) !important;
    }
        /* Moins d'espace entre chiffres clés et bloc principal. */
        .jp-home.jp-home-v4 .jp-home-dashboard {
            padding-top: 12px !important;
            padding-bottom: 10px !important;
    }
        /* L'actualité vient presque immédiatement après les formations. */
        .jp-home.jp-home-v4 .jp-home-news {
            padding-top: 4px !important;
            padding-bottom: 24px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news .jp-home-section-heading  */
        .jp-home.jp-home-v4 .jp-home-news .jp-home-section-heading {
            margin-bottom: 9px !important;
    }
        /* Toute la carte de formation reste explicitement cliquable. */
        .jp-home.jp-home-v4 .jp-home-card {
            position: relative !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-link  */
        .jp-home.jp-home-v4 .jp-home-card-link {
            position: relative !important;
            z-index: 2 !important;
            width: 100% !important;
            cursor: pointer !important;
            pointer-events: auto !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-arrow  */
        .jp-home.jp-home-v4 .jp-home-arrow {
            z-index: 5 !important;
    }
}

/* Adaptation responsive : (min-width: 901px) and (max-width: 1180px) */

@media (min-width: 901px) and (max-width: 1180px) {
        /*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stats  */
        .jp-home.jp-home-v4 .jp-home-stats {
            margin-top: -44px !important;
    }
}

/*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-link, .jp-home.jp-home-v4 .jp-home-card-link *  */

.jp-home.jp-home-v4 .jp-home-card-link,
.jp-home.jp-home-v4 .jp-home-card-link * {
        pointer-events: auto !important;
}

/*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-link  */

.jp-home.jp-home-v4 .jp-home-card-link {
        cursor: pointer !important;
}

/*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stat-icon svg, .jp-home.jp-home-v4 .jp-home-alert-symbol svg  */

.jp-home.jp-home-v4 .jp-home-stat-icon svg,
.jp-home.jp-home-v4 .jp-home-alert-symbol svg {
        width: 100%;
        height: 100%;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.35;
        stroke-linecap: round;
        stroke-linejoin: round;
        vector-effect: non-scaling-stroke;
}

/* Pictogrammes des chiffres plus fins et plus lisibles. */

.jp-home.jp-home-v4 .jp-home-stat-icon {
        width: 44px !important;
        height: 44px !important;
}

/*  CIBLE — Chiffres clés : .jp-home.jp-home-v4 .jp-home-stat-icon svg  */

.jp-home.jp-home-v4 .jp-home-stat-icon svg {
        stroke-width: 1.2;
}

/* La pastille d'alerte accueille désormais une icône choisie dans l'administration. */

.jp-home.jp-home-v4 .jp-home-alert-symbol {
        width: 38px;
        height: 38px;
        padding: 8px;
        box-sizing: border-box;
        background: #2e89b9;
        color: #fff;
        font-size: inherit;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-symbol::after  */

.jp-home.jp-home-v4 .jp-home-alert-symbol::after {
        content: none !important;
}

/*  CIBLE — État interactif : .jp-home.jp-home-v4 .jp-home-alert.is-attention .jp-home-alert-symbol  */

.jp-home.jp-home-v4 .jp-home-alert.is-attention .jp-home-alert-symbol {
        background: #d88b00;
}

/*  CIBLE — État interactif : .jp-home.jp-home-v4 .jp-home-alert.is-important .jp-home-alert-symbol  */

.jp-home.jp-home-v4 .jp-home-alert.is-important .jp-home-alert-symbol {
        background: #c43b3b;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-symbol svg  */

.jp-home.jp-home-v4 .jp-home-alert-symbol svg {
        stroke-width: 1.65;
}

/*  CIBLE — Composant : .jp-home-title-row  */

.jp-home-title-row {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
}

/*  CIBLE — Composant : .jp-home-title-row>div  */

.jp-home-title-row>div {
        min-width: 0;
}

/*  CIBLE — Icônes : .jp-home-title-icon  */

.jp-home-title-icon {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: #e9f7f7;
        color: #087f83;
        box-shadow: 0 5px 14px rgba(8,127,131,.12);
}

/*  CIBLE — Icônes : .jp-home-title-icon svg  */

.jp-home-title-icon svg {
        width: 21px;
        height: 21px;
        display: block;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.45;
        stroke-linecap: round;
        stroke-linejoin: round;
}

/*  CIBLE — Chiffres clés : .jp-home-stat-icon svg  */

.jp-home-stat-icon svg {
        width: 44px;
        height: 44px;
        display: block;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.35;
        stroke-linecap: round;
        stroke-linejoin: round;
}

/*  CIBLE — Chiffres clés : .jp-home-stat-icon  */

.jp-home-stat-icon {
        display: grid;
        place-items: center;
}

/*  CIBLE — Composant : .jp-home-panel-heading.jp-home-title-row  */

.jp-home-panel-heading.jp-home-title-row {
        justify-content: flex-start;
}

/*  CIBLE — Formations : .jp-home-formations-heading>.jp-home-title-row  */

.jp-home-formations-heading>.jp-home-title-row {
        flex: 1;
}

/*  CIBLE — Composant : .jp-home-section-heading>.jp-home-title-row  */

.jp-home-section-heading>.jp-home-title-row {
        flex: 1;
}

/* Adaptation responsive : (max-width:767px) */

@media(max-width:767px) {
        /*  CIBLE — Icônes : .jp-home-title-icon  */
        .jp-home-title-icon {
            width: 34px;
            height: 34px;
            flex-basis: 34px;
    }
        /*  CIBLE — Icônes : .jp-home-title-icon svg  */
        .jp-home-title-icon svg {
            width: 19px;
            height: 19px;
    }
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row  */

.jp-home.jp-home-v4 .jp-home-info-row {
        display: grid;
        gap: 18px;
        padding-top: 24px;
        align-items: stretch;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-both  */

.jp-home.jp-home-v4 .jp-home-info-row.has-both {
        grid-template-columns: minmax(220px, 1fr) minmax(0, 3fr);
        grid-template-areas: "documents alert";
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-alert-only, .jp-home.jp-home-v4 .jp-home-info-row.has-docume…  */

.jp-home.jp-home-v4 .jp-home-info-row.has-alert-only,
.jp-home.jp-home-v4 .jp-home-info-row.has-documents-only {
        grid-template-columns: minmax(0, 1fr);
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert-wrap  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert-wrap {
        grid-area: alert;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents {
        grid-area: documents;
}

/*  CIBLE — État interactif : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert-wrap.is-embedded, .jp-home.jp-home-v4 .jp-home-in…  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert-wrap.is-embedded,
.jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents.is-embedded {
        width: 100%;
        margin: 0;
        padding: 0 !important;
        min-width: 0;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert, .jp-home.jp-home-v4 .jp-home-info-row .jp-home-d…  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert,
.jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents {
        height: 100%;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents {
        border: 1px solid #e3eaec;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 8px 22px rgba(8,54,83,.055);
        padding: 18px !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-section-heading  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-section-heading {
        margin-bottom: 12px;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-both .jp-home-doc-grid  */

.jp-home.jp-home-v4 .jp-home-info-row.has-both .jp-home-doc-grid {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 10px;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-doc-grid  */

.jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-doc-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
        gap: 12px;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a {
        min-width: 0;
        padding: 12px;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a > span  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a > span {
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid strong  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid strong {
        overflow-wrap: anywhere;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row + .jp-home-dashboard  */

.jp-home.jp-home-v4 .jp-home-info-row + .jp-home-dashboard {
        padding-top: 22px !important;
}

/* Adaptation responsive : (max-width: 900px) */

@media (max-width: 900px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row, .jp-home.jp-home-v4 .jp-home-info-row.has-both, .jp-home.jp-hom…  */
        .jp-home.jp-home-v4 .jp-home-info-row,
  .jp-home.jp-home-v4 .jp-home-info-row.has-both,
  .jp-home.jp-home-v4 .jp-home-info-row.has-alert-only,
  .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only {
            grid-template-columns: minmax(0, 1fr);
            grid-template-areas: "alert"
      "documents";
            gap: 14px;
            padding-top: 18px;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents {
            padding: 15px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-both .jp-home-doc-grid, .jp-home.jp-home-v4 .jp-home-info-ro…  */
        .jp-home.jp-home-v4 .jp-home-info-row.has-both .jp-home-doc-grid,
  .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-doc-grid {
            grid-template-columns: 1fr !important;
    }
}

/* Adaptation responsive : (min-width: 1181px) */

@media (min-width: 1181px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-both  */
        .jp-home.jp-home-v4 .jp-home-info-row.has-both {
            grid-template-columns: 286px minmax(0, 1fr) !important;
    }
}

/* Adaptation responsive : (min-width: 901px) and (max-width: 1180px) */

@media (min-width: 901px) and (max-width: 1180px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-both  */
        .jp-home.jp-home-v4 .jp-home-info-row.has-both {
            grid-template-columns: 250px minmax(0, 1fr) !important;
    }
}

/* Le titre Documents adopte exactement l'échelle d'Accès rapides. */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-section-heading {
        min-height: 32px !important;
        margin-bottom: 7px !important;
        align-items: flex-start !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-section-heading h2  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-section-heading h2 {
        font-size: 1.14rem !important;
        line-height: 1.05 !important;
        margin: 0 !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-kicker  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-kicker {
        font-size: .48rem !important;
        line-height: 1.1 !important;
}

/* Colonne plus compacte, sans réduire la lisibilité des documents. */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents {
        padding: 12px !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a {
        padding: 10px !important;
        gap: 9px !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a > span  */

.jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a > span {
        width: 36px !important;
        height: 36px !important;
        flex-basis: 36px !important;
}

/* Le nombre réel de chiffres clés détermine automatiquement les colonnes. */

.jp-home.jp-home-v4 .jp-home-stats-grid {
        grid-template-columns: repeat(var(--jp-stats-count, 5), minmax(0, 1fr)) !important;
}

/* Les zones occupent toujours la largeur disponible dans le bon ordre. */

.jp-home.jp-home-v4 .jp-home-info-row.has-both {
        grid-template-areas: "documents alert" !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-alert-only  */

.jp-home.jp-home-v4 .jp-home-info-row.has-alert-only {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas: "alert" !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only  */

.jp-home.jp-home-v4 .jp-home-info-row.has-documents-only {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas: "documents" !important;
}

/* Documents seuls : pleine largeur et disposition horizontale prioritaire. */

.jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-documents {
        width: 100% !important;
        justify-self: stretch !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-doc-grid  */

.jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-doc-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
        align-items: stretch;
        gap: 12px !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-doc-grid a  */

.jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-doc-grid a {
        height: 100%;
}

/* Alerte compacte : titre fixe, contenu défilant verticalement. */

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert {
            height: 178px !important;
            min-height: 178px !important;
            max-height: 178px !important;
            overflow: hidden;
            display: flex;
            flex-direction: column;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-heading  */
        .jp-home.jp-home-v4 .jp-home-alert-heading {
            flex: 0 0 auto;
            margin-bottom: 8px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-scroll-window  */
        .jp-home.jp-home-v4 .jp-home-alert-scroll-window {
            position: relative;
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
            border-radius: 12px;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-scroll-track  */
        .jp-home.jp-home-v4 .jp-home-alert-scroll-track {
            display: flex;
            flex-direction: column;
            gap: 22px;
            will-change: transform;
    }
        /*  CIBLE — État interactif : .jp-home.jp-home-v4 .jp-home-alert-scroll-track.is-scrolling  */
        .jp-home.jp-home-v4 .jp-home-alert-scroll-track.is-scrolling {
            animation: jp-home-alert-scroll var(--jp-alert-scroll-duration, 30s) linear infinite;
    }
        /*  CIBLE — État interactif : .jp-home.jp-home-v4 .jp-home-alert:hover .jp-home-alert-scroll-track.is-scrolling, .jp-home.jp-home-v4…  */
        .jp-home.jp-home-v4 .jp-home-alert:hover .jp-home-alert-scroll-track.is-scrolling,
  .jp-home.jp-home-v4 .jp-home-alert:focus-within .jp-home-alert-scroll-track.is-scrolling {
            animation-play-state: paused;
    }
        /*  ANIMATION — jp-home-alert-scroll  */
        @keyframes jp-home-alert-scroll {
            /*  CIBLE — Composant : from  */
            from {
                transform: translate3d(0, 0, 0);
        }
            /*  CIBLE — Composant : to  */
            to {
                transform: translate3d(0, calc(-1 * var(--jp-alert-scroll-shift, 0px)), 0);
        }
    }
        /* Masque la copie technique utilisée uniquement pour calculer le défilement. */
        .jp-home.jp-home-v4 .jp-home-alert-scroll-content[aria-hidden="true"] {
            display: none !important;
    }
}

/* Adaptation responsive : (max-width: 900px) */

@media (max-width: 900px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-alert-only, .jp-home.jp-home-v4 .jp-home-info-row.has-docume…  */
        .jp-home.jp-home-v4 .jp-home-info-row.has-alert-only,
  .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only,
  .jp-home.jp-home-v4 .jp-home-info-row.has-both {
            grid-template-columns: minmax(0, 1fr) !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only  */
        .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only {
            grid-template-areas: "documents" !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-alert-only  */
        .jp-home.jp-home-v4 .jp-home-info-row.has-alert-only {
            grid-template-areas: "alert" !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-doc-grid  */
        .jp-home.jp-home-v4 .jp-home-info-row.has-documents-only .jp-home-doc-grid {
            grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-scroll-window  */
        .jp-home.jp-home-v4 .jp-home-alert-scroll-window {
            overflow: visible;
    }
}

/* V6.8 — seuls les textes de l’alerte défilent ; les titres restent fixes. */

.jp-home.jp-home-v4 .jp-home-alert-column-titles {
        display: grid;
        grid-template-columns: repeat(var(--jp-alert-cols), minmax(0, 1fr));
        gap: 14px;
        flex: 0 0 auto;
        margin: 0 0 6px;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-column-title  */

.jp-home.jp-home-v4 .jp-home-alert-column-title {
        padding: 8px 14px 2px;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-column-title h3  */

.jp-home.jp-home-v4 .jp-home-alert-column-title h3 {
        margin: 0 !important;
        font-size: .88rem !important;
        line-height: 1.2 !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        color: var(--jp-navy);
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-columns--text  */

.jp-home.jp-home-v4 .jp-home-alert-columns--text {
        margin-top: 0 !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-column--text  */

.jp-home.jp-home-v4 .jp-home-alert-column--text {
        padding-top: 8px !important;
}

/* Adaptation responsive : (max-width: 900px) */

@media (max-width: 900px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-column-titles  */
        .jp-home.jp-home-v4 .jp-home-alert-column-titles {
            grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Adaptation responsive : (max-width: 680px) */

@media (max-width: 680px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-column-titles  */
        .jp-home.jp-home-v4 .jp-home-alert-column-titles {
            grid-template-columns: minmax(0, 1fr);
    }
}

/* ==========================================================
   FRAMEWORK JP V6.9 — En-tête d’alerte plus compact
   La pastille est remontée et « accrochée » à la bordure gauche.
   Les titres restent fixes ; seul le texte continue de défiler.
   ========================================================== */

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-alert {
            padding-top: 10px !important;
            padding-bottom: 10px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-heading  */
        .jp-home.jp-home-v4 .jp-home-alert-heading {
            position: relative;
            min-height: 30px !important;
            margin: 0 0 2px !important;
            gap: 9px !important;
            align-items: flex-start !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-symbol  */
        .jp-home.jp-home-v4 .jp-home-alert-symbol {
            width: 36px !important;
            height: 36px !important;
            flex: 0 0 36px !important;
            margin-top: -8px !important;
            margin-left: -7px !important;
            position: relative;
            z-index: 2;
            box-shadow: 0 4px 12px rgba(8, 54, 83, .14);
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-symbol svg  */
        .jp-home.jp-home-v4 .jp-home-alert-symbol svg {
            width: 18px !important;
            height: 18px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-heading h2  */
        .jp-home.jp-home-v4 .jp-home-alert-heading h2 {
            margin: 0 !important;
            padding-top: 0 !important;
            line-height: 1.05 !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-column-titles  */
        .jp-home.jp-home-v4 .jp-home-alert-column-titles {
            margin-top: -2px !important;
            margin-bottom: 2px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-column-title  */
        .jp-home.jp-home-v4 .jp-home-alert-column-title {
            padding-top: 3px !important;
            padding-bottom: 0 !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert-scroll-window  */
        .jp-home.jp-home-v4 .jp-home-alert-scroll-window {
            margin-top: 0 !important;
    }
}

/* ==========================================================
   ALERTE — TYPOGRAPHIE CONSOLIDÉE
   Texte courant lisible, gras distinct, exposants/indices protégés.
   ========================================================== */

.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich p,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich div,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich span,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich li,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich td,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich th {
        font-family: Montserrat, Arial, sans-serif !important;
        font-weight: 500 !important;
        font-variation-settings: "wght" 500;
        font-synthesis: none;
        line-height: 1.48 !important;
        letter-spacing: -0.035em !important;
        word-spacing: -0.01em !important;
        color: #405969 !important;
        font-kerning: normal;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert .jp-home-rich strong, .jp-home.jp-home-v4 .jp-home-alert .jp-home-r…  */

.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich strong,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich b,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich strong *,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich b * {
        font-weight: 700 !important;
        font-variation-settings: "wght" 700;
        color: #0b3550 !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert .jp-home-rich sup, .jp-home.jp-home-v4 .jp-home-alert .jp-home-rich…  */

.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich sup,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich sub {
        display: inline-block;
        font-size: .68em !important;
        line-height: 0 !important;
        vertical-align: baseline !important;
        position: relative;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert .jp-home-rich sup  */

.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich sup {
        top: -.48em;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert .jp-home-rich sub  */

.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich sub {
        bottom: -.16em;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-alert .jp-home-rich p, .jp-home.jp-home-v4 .jp-home-alert .jp-home-rich d…  */

.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich p,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich div,
.jp-home.jp-home-v4 .jp-home-alert .jp-home-rich li {
        margin-top: 0;
        margin-bottom: .22em;
}

/* Les titres ne sont pas concernés par le resserrement du texte courant. */

.jp-home.jp-home-v4 .jp-home-alert-heading,
.jp-home.jp-home-v4 .jp-home-alert-heading *,
.jp-home.jp-home-v4 .jp-home-alert-column-titles,
.jp-home.jp-home-v4 .jp-home-alert-column-titles * {
        letter-spacing: normal !important;
        word-spacing: normal !important;
        color: #052a3f !important;
        font-variation-settings: normal;
}

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /* Même largeur que la colonne Accès rapides. */
        .jp-home.jp-home-v4 .jp-home-info-row.has-both {
            grid-template-columns: 250px minmax(0, 1fr) !important;
    }
        /* Panneau Documents plus compact. */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents {
            padding: 10px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-section-heading  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-section-heading {
            min-height: 28px !important;
            margin-bottom: 6px !important;
            gap: 8px !important;
    }
        /* Titre sur une seule ligne, à une échelle plus discrète. */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-section-heading h2 {
            font-size: 1rem !important;
            line-height: 1.08 !important;
            white-space: nowrap !important;
            letter-spacing: -.09em !important;
    }
        /*  CIBLE — Icônes : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-title-icon  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-title-icon {
            width: 34px !important;
            height: 34px !important;
            flex-basis: 34px !important;
    }
        /*  CIBLE — Icônes : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-title-icon svg  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-title-icon svg {
            width: 18px !important;
            height: 18px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-kicker  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-documents .jp-home-kicker {
            font-size: .43rem !important;
            margin-bottom: 2px !important;
    }
        /* Cartes de documents plus basses et libellés moins imposants. */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a {
            min-height: 48px !important;
            padding: 8px !important;
            gap: 8px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a > span  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid a > span {
            width: 32px !important;
            height: 32px !important;
            flex-basis: 32px !important;
            font-size: .54rem !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid strong  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid strong {
            font-size: .62rem !important;
            line-height: 1.2 !important;
            font-weight: 600 !important;
            letter-spacing: -.01em !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid i  */
        .jp-home.jp-home-v4 .jp-home-info-row .jp-home-doc-grid i {
            font-size: .9rem !important;
    }
}

/* ==========================================================
   PAGE D'ACCUEIL V8.2 — quatre carrousels verticaux côte à côte
   Une formation visible par famille, hauteur alignée sur les
   accès rapides et navigation indépendante pour chaque groupe.
   ========================================================== */

/* Adaptation responsive : (min-width: 1101px) */

@media (min-width: 1101px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-dashboard  */
        .jp-home.jp-home-v4 .jp-home-dashboard {
            grid-template-columns: 250px minmax(0, 1fr) !important;
            gap: 24px !important;
            align-items: stretch !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations  */
        .jp-home.jp-home-v4 .jp-home-formations {
            display: flex !important;
            flex-direction: column !important;
            min-width: 0 !important;
            overflow: visible !important;
            padding: 12px 20px 12px !important;
    }
        /* Dans cette composition, les titres Prébac/BTS/Post-BTS/GRETA
     jouent directement le rôle d'en-tête de la zone. */
        .jp-home.jp-home-v4 .jp-home-formations-heading {
            display: none !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid  */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            flex: 1 1 auto !important;
            display: grid !important;
            grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
            grid-template-rows: minmax(0, 1fr) !important;
            grid-template-areas: "prebac bts postbts greta" !important;
            gap: 42px !important;
            height: auto !important;
            min-height: 0 !important;
            align-items: stretch !important;
            overflow: visible !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group  */
        .jp-home.jp-home-v4 .jp-home-formation-group {
            display: flex !important;
            flex-direction: column !important;
            min-width: 0 !important;
            height: 100% !important;
            padding: 8px 0 0 !important;
            border-top-width: 4px !important;
            border-radius: 13px !important;
            overflow: visible !important;
            box-shadow: 0 6px 18px rgba(8,54,83,.065) !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-group-head  */
        .jp-home.jp-home-v4 .jp-home-group-head {
            flex: 0 0 auto !important;
            min-height: 24px !important;
            margin: 0 12px 7px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-group-head h3  */
        .jp-home.jp-home-v4 .jp-home-group-head h3 {
            font-size: .88rem !important;
            line-height: 1 !important;
            letter-spacing: .01em !important;
    }
        /*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-carousel  */
        .jp-home.jp-home-v4 .jp-home-carousel {
            flex: 1 1 auto !important;
            display: flex !important;
            min-height: 0 !important;
            padding-inline: 0 !important;
            overflow: visible !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-viewport, .jp-home.jp-home-v4 .jp-home-track, .jp-home.jp-home-v4 .jp-hom…  */
        .jp-home.jp-home-v4 .jp-home-viewport,
  .jp-home.jp-home-v4 .jp-home-track,
  .jp-home.jp-home-v4 .jp-home-card {
            height: 100% !important;
            min-height: 0 !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-viewport  */
        .jp-home.jp-home-v4 .jp-home-viewport {
            flex: 1 1 auto !important;
            border-radius: 0 0 12px 12px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-track  */
        .jp-home.jp-home-v4 .jp-home-track {
            gap: 0 !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card  */
        .jp-home.jp-home-v4 .jp-home-card {
            flex: 0 0 100% !important;
            border: 0 !important;
            border-left: 0 !important;
            border-radius: 0 0 12px 12px !important;
            box-shadow: none !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-link  */
        .jp-home.jp-home-v4 .jp-home-card-link {
            display: flex !important;
            flex-direction: column !important;
            height: 100% !important;
            min-height: 0 !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-media  */
        .jp-home.jp-home-v4 .jp-home-card-media {
            flex: 0 0 46% !important;
            width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body  */
        .jp-home.jp-home-v4 .jp-home-card-body {
            flex: 1 1 auto !important;
            min-height: 0 !important;
            padding: 12px 13px 11px !important;
    }
        /* Le nom le plus long, « Conducteur de travaux », reste sur
     une seule ligne sans agrandir excessivement la carte. */
        .jp-home.jp-home-v4 .jp-home-card-body h3 {
            margin: 0 0 7px !important;
            font-size: clamp(.76rem, .82vw, .94rem) !important;
            line-height: 1.08 !important;
            white-space: nowrap !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body p  */
        .jp-home.jp-home-v4 .jp-home-card-body p {
            margin: 0 !important;
            font-size: clamp(.61rem, .66vw, .74rem) !important;
            line-height: 1.32 !important;
            -webkit-line-clamp: 3 !important;
            line-clamp: 3 !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-more  */
        .jp-home.jp-home-v4 .jp-home-card-more {
            padding-top: 9px !important;
            font-size: .69rem !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-badge  */
        .jp-home.jp-home-v4 .jp-home-card-badge {
            font-size: .62rem !important;
            line-height: 1 !important;
            padding: 5px 9px !important;
    }
        /* Les flèches occupent l'espace entre deux carrousels. */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow {
            width: 27px !important;
            height: 27px !important;
            font-size: 20px !important;
            box-shadow: 0 5px 13px rgba(8,54,83,.22) !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-prev  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-prev {
            left: -20px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-next  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-next {
            right: -20px !important;
    }
        /* Chaque déplacement correspond exactement à une carte complète. */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-viewport {
            width: 100% !important;
            min-width: 100% !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-track  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-track {
            width: 100% !important;
            align-items: stretch !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card {
            flex: 0 0 100% !important;
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
    }
}

/* Écrans intermédiaires : deux carrousels par ligne pour éviter
   des cartes trop étroites, tout en gardant une seule formation. */

/* Adaptation responsive : (min-width: 901px) and (max-width: 1100px) */

@media (min-width: 901px) and (max-width: 1100px) {
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid  */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            grid-template-rows: repeat(2, minmax(240px, 1fr)) !important;
            grid-template-areas: "prebac bts"
      "postbts greta" !important;
            gap: 22px !important;
            height: auto !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-card, .jp-home.jp-home-v4 .jp-home-news-card  */
        .jp-home.jp-home-v4 .jp-home-card,
  .jp-home.jp-home-v4 .jp-home-news-card {
            flex-basis: 100% !important;
    }
}

/* ==========================================================
   PAGE D'ACCUEIL V8.2.2 — espacement et hauteur optimisés
   Plus d'air entre les quatre carrousels, textes secondaires
   plus compacts et remontée de la rubrique Actualités.
   ========================================================== */

/* Adaptation responsive : (min-width: 1101px) */

@media (min-width: 1101px) {
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-dashboard  */
        .jp-home.jp-home-v4 .jp-home-dashboard {
            padding-block: 18px 10px !important;
            gap: 24px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations  */
        .jp-home.jp-home-v4 .jp-home-formations {
            padding: 10px 28px 10px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid  */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            gap: 58px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-quick, .jp-home.jp-home-v4 .jp-home-formations  */
        .jp-home.jp-home-v4 .jp-home-quick,
  .jp-home.jp-home-v4 .jp-home-formations {
            min-height: 0 !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-panel-heading  */
        .jp-home.jp-home-v4 .jp-home-panel-heading {
            min-height: 29px !important;
            margin-bottom: 6px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-quick-grid  */
        .jp-home.jp-home-v4 .jp-home-quick-grid {
            gap: 6px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-quick-card  */
        .jp-home.jp-home-v4 .jp-home-quick-card {
            min-height: 64px !important;
            padding: 5px 6px !important;
            gap: 3px !important;
    }
        /*  CIBLE — Icônes : .jp-home.jp-home-v4 .jp-home-quick-icon  */
        .jp-home.jp-home-v4 .jp-home-quick-icon {
            width: 22px !important;
            height: 22px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-quick-card strong  */
        .jp-home.jp-home-v4 .jp-home-quick-card strong {
            font-size: .52rem !important;
            line-height: 1.12 !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group  */
        .jp-home.jp-home-v4 .jp-home-formation-group {
            padding-top: 6px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-group-head  */
        .jp-home.jp-home-v4 .jp-home-group-head {
            min-height: 21px !important;
            margin-bottom: 5px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-media  */
        .jp-home.jp-home-v4 .jp-home-card-media {
            flex-basis: 40% !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body  */
        .jp-home.jp-home-v4 .jp-home-card-body {
            padding: 9px 12px 8px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body h3  */
        .jp-home.jp-home-v4 .jp-home-card-body h3 {
            margin-bottom: 5px !important;
            font-size: clamp(.72rem, .76vw, .86rem) !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body p  */
        .jp-home.jp-home-v4 .jp-home-card-body p {
            font-size: clamp(.52rem, .57vw, .64rem) !important;
            line-height: 1.24 !important;
            -webkit-line-clamp: 3 !important;
            line-clamp: 3 !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-more  */
        .jp-home.jp-home-v4 .jp-home-card-more {
            padding-top: 6px !important;
            font-size: .63rem !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-prev  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-prev {
            left: -29px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-next  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-next {
            right: -29px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news  */
        .jp-home.jp-home-v4 .jp-home-news {
            padding-top: 8px !important;
    }
}

/* ==========================================================
   PAGE D'ACCUEIL V8.2.3 — EN-TÊTE ET CARROUSELS COMPACTS
   ========================================================== */

/* Adaptation responsive : (min-width: 1101px) */

@media (min-width: 1101px) {
        /* L'en-tête de la zone Formations reprend exactement la hiérarchie
     visuelle des blocs Accès rapides et Actualités du lycée. */
        .jp-home.jp-home-v4 .jp-home-formations-heading {
            min-height: 35px !important;
            margin-bottom: 7px !important;
            align-items: center !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-heading > a  */
        .jp-home.jp-home-v4 .jp-home-formations-heading > a {
            font-size: .63rem !important;
            line-height: 1.1 !important;
            white-space: nowrap !important;
    }
        /* La place occupée par le nouvel en-tête est récupérée dans les cartes. */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            grid-template-rows: minmax(218px, 1fr) !important;
            height: calc(100% - 42px) !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group  */
        .jp-home.jp-home-v4 .jp-home-formation-group {
            min-height: 0 !important;
            padding: 5px 0 7px !important;
            overflow: visible !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-group-head  */
        .jp-home.jp-home-v4 .jp-home-group-head {
            padding-inline: 9px !important;
            min-height: 19px !important;
            margin-bottom: 4px !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-group-head h3  */
        .jp-home.jp-home-v4 .jp-home-group-head h3 {
            font-size: .78rem !important;
    }
        /*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-carousel  */
        .jp-home.jp-home-v4 .jp-home-carousel {
            padding-inline: 0 !important;
            overflow: visible !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-viewport  */
        .jp-home.jp-home-v4 .jp-home-viewport {
            overflow: hidden !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-media  */
        .jp-home.jp-home-v4 .jp-home-card-media {
            flex-basis: 38% !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body  */
        .jp-home.jp-home-v4 .jp-home-card-body {
            padding: 7px 11px 6px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body h3  */
        .jp-home.jp-home-v4 .jp-home-card-body h3 {
            margin-bottom: 4px !important;
            font-size: clamp(.69rem, .72vw, .82rem) !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body p  */
        .jp-home.jp-home-v4 .jp-home-card-body p {
            font-size: clamp(.49rem, .53vw, .59rem) !important;
            line-height: 1.18 !important;
            -webkit-line-clamp: 2 !important;
            line-clamp: 2 !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-more  */
        .jp-home.jp-home-v4 .jp-home-card-more {
            padding-top: 3px !important;
            font-size: .59rem !important;
    }
        /* Les chevrons chevauchent le bord extérieur de leur propre carte.
     Ils ne flottent donc plus au centre de l'espace séparant deux carrousels. */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow {
            z-index: 30 !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-prev  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-prev {
            left: -13px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-next  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-next {
            right: -13px !important;
    }
        /* Accès rapides légèrement resserrés afin d'aligner la hauteur des deux colonnes. */
        .jp-home.jp-home-v4 .jp-home-quick-card {
            min-height: 60px !important;
            padding-block: 4px !important;
    }
        /*  CIBLE — Actualités : .jp-home.jp-home-v4 .jp-home-news  */
        .jp-home.jp-home-v4 .jp-home-news {
            padding-top: 4px !important;
    }
}

/* ==========================================================
   PAGE D'ACCUEIL V8.3.1 — TITRE ET FILTRES DES FORMATIONS
   ========================================================== */

.jp-home.jp-home-v4 .jp-home-formations-heading {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 18px !important;
}

/*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-heading .jp-home-kicker  */

.jp-home.jp-home-v4 .jp-home-formations-heading .jp-home-kicker {
        color: var(--jp-teal,#087f83) !important;
}

/*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters  */

.jp-home.jp-home-v4 .jp-home-formation-filters {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 7px;
        margin: 0 0 10px 50px;
}

/*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters button  */

.jp-home.jp-home-v4 .jp-home-formation-filters button {
        appearance: none;
        border: 1px solid #cbdde2;
        border-radius: 999px;
        background: #fff;
        color: #244655;
        min-height: 27px;
        padding: 5px 12px;
        font: 800 .61rem/1.1 inherit;
        cursor: pointer;
        transition: background .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;
}

/*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters button:hover  */

.jp-home.jp-home-v4 .jp-home-formation-filters button:hover {
        transform: translateY(-1px);
        border-color: var(--jp-teal,#087f83);
}

/*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters button.is-active  */

.jp-home.jp-home-v4 .jp-home-formation-filters button.is-active {
        background: var(--jp-teal,#087f83);
        border-color: var(--jp-teal,#087f83);
        color: #fff;
        box-shadow: 0 4px 11px rgba(8,127,131,.18);
}

/*  CIBLE — Formations : .jp-home.jp-home-v4 [data-jp-formation-panel][hidden]  */

.jp-home.jp-home-v4 [data-jp-formation-panel][hidden] {
        display: none !important;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-filtered-panels  */

.jp-home.jp-home-v4 .jp-home-filtered-panels {
        min-width: 0;
}

/*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-filtered-panel  */

.jp-home.jp-home-v4 .jp-home-filtered-panel {
        min-width: 0;
        border-top: 4px solid var(--jp-group-accent);
        border-radius: 13px;
        background: #fff;
        padding: 8px 0 5px;
        box-shadow: 0 6px 18px rgba(8,54,83,.065);
        overflow: visible;
}

/*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-filtered-carousel  */

.jp-home.jp-home-v4 .jp-home-filtered-carousel {
        padding-inline: 14px !important;
        overflow: visible !important;
}

/*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-viewport  */

.jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-viewport {
        overflow: hidden !important;
        border-radius: 10px;
}

/*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-track  */

.jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-track {
        gap: 14px !important;
        align-items: stretch;
}

/*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card  */

.jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card {
        flex: 0 0 calc((100% - 42px)/4) !important;
        width: calc((100% - 42px)/4) !important;
        max-width: calc((100% - 42px)/4) !important;
        border: 1px solid color-mix(in srgb,var(--jp-card-accent) 24%,#e1e7e9) !important;
        border-left: 4px solid var(--jp-card-accent) !important;
        border-radius: 10px !important;
        box-shadow: 0 4px 10px rgba(8,54,83,.05) !important;
}

/*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-link  */

.jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-link {
        height: 205px !important;
}

/*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-media  */

.jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-media {
        flex: 0 0 47% !important;
}

/*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-prev  */

.jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-prev {
        left: -2px !important;
}

/*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-next  */

.jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-next {
        right: -2px !important;
}

/* Adaptation responsive : (min-width:1101px) */

@media (min-width:1101px) {
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid  */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            height: auto !important;
            grid-template-rows: minmax(205px,1fr) !important;
    }
}

/* Adaptation responsive : (max-width:1100px) */

@media (max-width:1100px) {
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters  */
        .jp-home.jp-home-v4 .jp-home-formation-filters {
            margin-left: 0;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card  */
        .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card {
            flex-basis: calc((100% - 14px)/2) !important;
            width: calc((100% - 14px)/2) !important;
            max-width: calc((100% - 14px)/2) !important;
    }
}

/* Adaptation responsive : (max-width:680px) */

@media (max-width:680px) {
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-heading  */
        .jp-home.jp-home-v4 .jp-home-formations-heading {
            align-items: flex-start !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-heading>a  */
        .jp-home.jp-home-v4 .jp-home-formations-heading>a {
            margin-left: auto;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters  */
        .jp-home.jp-home-v4 .jp-home-formation-filters {
            gap: 6px;
            margin-bottom: 12px;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters button  */
        .jp-home.jp-home-v4 .jp-home-formation-filters button {
            font-size: .58rem;
            padding: 5px 9px;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card  */
        .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card {
            flex-basis: 100% !important;
            width: 100% !important;
            max-width: 100% !important;
    }
}

/* ==========================================================
   PAGE D'ACCUEIL V8.3.2 — FILTRES DISCRETS ET CARTES VISUELLES
   ========================================================== */

.jp-home.jp-home-v4 .jp-home-formation-filters {
        gap: 5px !important;
        margin-top: -1px !important;
        margin-bottom: 7px !important;
}

/*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters button  */

.jp-home.jp-home-v4 .jp-home-formation-filters button {
        min-height: 22px !important;
        padding: 3px 9px !important;
        border-color: #d8e4e7 !important;
        background: #f7f9fa !important;
        color: #526973 !important;
        font-size: .54rem !important;
        font-weight: 800 !important;
        box-shadow: none !important;
}

/*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters button:hover  */

.jp-home.jp-home-v4 .jp-home-formation-filters button:hover {
        background: #eef5f5 !important;
        color: var(--jp-teal,#087f83) !important;
        transform: none !important;
}

/*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters button.is-active  */

.jp-home.jp-home-v4 .jp-home-formation-filters button.is-active {
        background: color-mix(in srgb,var(--jp-teal,#087f83) 12%,#fff) !important;
        border-color: color-mix(in srgb,var(--jp-teal,#087f83) 50%,#d8e4e7) !important;
        color: var(--jp-teal,#087f83) !important;
        box-shadow: none !important;
}

/* Adaptation responsive : (min-width:1101px) */

@media (min-width:1101px) {
        /* Plus de place à la photographie, moins à la zone de texte. */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-link,
  .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-link {
            height: 194px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-media, .jp-home.jp-home-v4 .jp-home-filtere…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-media,
  .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-media {
            flex: 0 0 55% !important;
    }
        /* Marges latérales de sécurité : les chevrons à cheval sur la carte
     ne recouvrent plus les titres ni les noms complets. */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body,
  .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-body {
            padding: 6px 22px 5px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body h3, .jp-home.jp-home-v4 .jp-home-filte…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body h3,
  .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-body h3 {
            margin: 0 0 2px !important;
            line-height: 1.08 !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body p, .jp-home.jp-home-v4 .jp-home-filter…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body p,
  .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-body p {
            line-height: 1.12 !important;
            -webkit-line-clamp: 2 !important;
            line-clamp: 2 !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-more, .jp-home.jp-home-v4 .jp-home-filtered…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-more,
  .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-more {
            padding-top: 2px !important;
    }
        /* Le panneau filtré reste compact malgré l'image agrandie. */
        .jp-home.jp-home-v4 .jp-home-formations .jp-home-formations-grid {
            grid-template-rows: minmax(194px,1fr) !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-filtered-panel  */
        .jp-home.jp-home-v4 .jp-home-filtered-panel {
            padding-top: 6px !important;
            padding-bottom: 4px !important;
    }
        /* Espace intérieur du carrousel filtré pour ses deux chevrons extérieurs. */
        .jp-home.jp-home-v4 .jp-home-filtered-carousel {
            padding-inline: 20px !important;
    }
        /*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-prev  */
        .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-prev {
            left: 3px !important;
    }
        /*  CIBLE — Carrousel : .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-next  */
        .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-next {
            right: 3px !important;
    }
}

/* Adaptation responsive : (max-width:1100px) */

@media (max-width:1100px) {
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-filters button  */
        .jp-home.jp-home-v4 .jp-home-formation-filters button {
            min-height: 24px !important;
            padding: 4px 9px !important;
            font-size: .56rem !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-card-body  */
        .jp-home.jp-home-v4 .jp-home-card-body {
            padding-inline: 18px !important;
    }
}

/* ==========================================================
   PAGE D'ACCUEIL V8.3.3 — CHEVRONS ALIGNÉS SUR LES TITRES
   ========================================================== */

/* Adaptation responsive : (min-width:1101px) */

@media (min-width:1101px) {
        /* Les commandes sont abaissées de 55 px afin d'encadrer la zone
     du nom de la formation plutôt que le centre de la photographie. */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow,
  .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow {
            top: calc(50% + 55px) !important;
    }
}

/* ==========================================================
   LIEN « TOUTES NOS FORMATIONS » — FRAMEWORK JP 8.4.1
   ========================================================== */

.jp-home.jp-home-v4 .jp-home-formations-heading > a {
        font-size: .72rem !important;
        line-height: 1.15 !important;
        font-weight: 800 !important;
}

/* ==========================================================
   PAGE D’ACCUEIL — CHIFFRES CLÉS SUR TÉLÉPHONE
   5 chiffres : 3 sur la première ligne, 2 sur la seconde
   4 chiffres : 2 par ligne
   ========================================================== */

/* Adaptation responsive : (max-width: 680px) */

@media (max-width: 680px) {
        /* ------------------------------------------------------
       RÉINITIALISATION GÉNÉRALE DE LA GRILLE
       ------------------------------------------------------ */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats {
            width: 100% !important;
            overflow: hidden !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stats > .jp-home-shell  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats
    > .jp-home-shell {
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
            padding: 0 !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stats-grid  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid {
            display: grid !important;
            width: 100% !important;
            max-width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
            gap: 0 !important;
            align-items: stretch !important;
    }
        /* ------------------------------------------------------
       CONTENU D’UN CHIFFRE CLÉ
       Icône au-dessus du chiffre et du libellé.
       ------------------------------------------------------ */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stat {
            position: relative !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: center !important;
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
            min-height: 112px !important;
            height: auto !important;
            margin: 0 !important;
            padding: 10px 5px !important;
            gap: 5px !important;
            text-align: center !important;
            border-right: 1px solid var(--jp-line) !important;
            border-top: 0 !important;
            overflow: hidden !important;
            box-sizing: border-box !important;
    }
        /* Annule l’ancienne règle qui étendait le dernier élément */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stat:last-child {
            grid-column: auto !important;
            justify-content: center !important;
    }
        /* ------------------------------------------------------
       ICÔNE
       ------------------------------------------------------ */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stat-icon {
            position: relative !important;
            display: grid !important;
            place-items: center !important;
            flex: 0 0 30px !important;
            width: 30px !important;
            min-width: 30px !important;
            max-width: 30px !important;
            height: 30px !important;
            min-height: 30px !important;
            max-height: 30px !important;
            margin: 0 auto 2px !important;
            padding: 0 !important;
            transform: none !important;
            overflow: visible !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stat-icon svg  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stat-icon svg {
            display: block !important;
            width: 30px !important;
            max-width: 30px !important;
            height: 30px !important;
            max-height: 30px !important;
            margin: 0 !important;
    }
        /* ------------------------------------------------------
       BLOC TEXTE
       ------------------------------------------------------ */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stat > div:not(.jp-home-stat-icon) {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: 100% !important;
            margin: 0 !important;
            padding: 0 2px !important;
            text-align: center !important;
            box-sizing: border-box !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stat strong  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stat strong {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
            color: var(--jp-navy) !important;
            font-size: 1.08rem !important;
            font-weight: 900 !important;
            line-height: 1.05 !important;
            text-align: center !important;
            white-space: normal !important;
            overflow-wrap: anywhere !important;
            word-break: normal !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stat div > span  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stat div > span {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            margin: 4px 0 0 !important;
            padding: 0 !important;
            color: #52646d !important;
            font-size: 0.58rem !important;
            font-weight: 500 !important;
            line-height: 1.2 !important;
            text-align: center !important;
            white-space: normal !important;
            overflow-wrap: normal !important;
            word-break: normal !important;
            hyphens: auto !important;
    }
        /* ======================================================
       CAS DE 5 CHIFFRES CLÉS
       Grille virtuelle de 6 colonnes :
       - ligne 1 : 3 éléments de 2 colonnes ;
       - ligne 2 : 2 éléments de 3 colonnes.
       ====================================================== */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child) {
            grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child…  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child)
    > .jp-home-stat:nth-child(1),

    body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child)
    > .jp-home-stat:nth-child(2),

    body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child)
    > .jp-home-stat:nth-child(3) {
            grid-column: span 2 !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child…  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child)
    > .jp-home-stat:nth-child(4),

    body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child)
    > .jp-home-stat:nth-child(5) {
            grid-column: span 3 !important;
            border-top: 1px solid var(--jp-line) !important;
    }
        /* Séparations verticales de la première ligne */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child)
    > .jp-home-stat:nth-child(3) {
            border-right: 0 !important;
    }
        /* Séparation verticale de la seconde ligne */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(5):last-child)
    > .jp-home-stat:nth-child(5) {
            border-right: 0 !important;
    }
        /* ======================================================
       CAS DE 4 CHIFFRES CLÉS
       Deux colonnes et deux lignes.
       ====================================================== */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(4):last-child) {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stats-grid:has(> .jp-home-stat:nth-child(4):last-child…  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(4):last-child)
    > .jp-home-stat {
            grid-column: auto !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stats-grid:has(> .jp-home-stat:nth-child(4):last-child…  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(4):last-child)
    > .jp-home-stat:nth-child(2),

    body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(4):last-child)
    > .jp-home-stat:nth-child(4) {
            border-right: 0 !important;
    }
        /*  CIBLE — Chiffres clés : body.page-id-14864 .jp-home.jp-home-v4 .jp-home-stats-grid:has(> .jp-home-stat:nth-child(4):last-child…  */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(4):last-child)
    > .jp-home-stat:nth-child(3),

    body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-stats-grid:has(> .jp-home-stat:nth-child(4):last-child)
    > .jp-home-stat:nth-child(4) {
            border-top: 1px solid var(--jp-line) !important;
    }
}

/* ==========================================================
   PAGE D’ACCUEIL — CARROUSEL ACTUALITÉS
   4 articles visibles sur ordinateur avec espacement
   ========================================================== */

/* Adaptation responsive : (min-width: 901px) */

@media (min-width: 901px) {
        /* Espace intérieur pour ne pas coller les cartes aux flèches */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-news
    .jp-home-carousel {
            padding-left: 34px !important;
            padding-right: 34px !important;
    }
        /* Espacement horizontal entre les articles */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-news
    .jp-home-track {
            gap: 22px !important;
    }
        /* Exactement 4 articles visibles */
        body.page-id-14864
    .jp-home.jp-home-v4
    .jp-home-news
    .jp-home-news-card {
            flex: 0 0 calc((100% - 66px) / 4) !important;
            width: calc((100% - 66px) / 4) !important;
            max-width: calc((100% - 66px) / 4) !important;
            min-width: 0 !important;
    }
}

/* ==========================================================
   ACCUEIL MOBILE — EN-TÊTE ET CARTES DE FORMATION
   Version 8.4.2
   ========================================================== */

@media (max-width: 680px) {
        /* ------------------------------------------------------
       En-tête de la zone Formations
       Évite le chevauchement entre le surtitre placé à gauche
       et le lien « Toutes nos formations » placé à droite.
       ------------------------------------------------------ */
        .jp-home.jp-home-v4 .jp-home-formations-heading {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 8px !important;
            align-items: start !important;
            min-height: 0 !important;
            margin-bottom: 10px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-heading > .jp-home-title-row  */
        .jp-home.jp-home-v4 .jp-home-formations-heading > .jp-home-title-row {
            width: 100% !important;
            min-width: 0 !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-heading .jp-home-kicker  */
        .jp-home.jp-home-v4 .jp-home-formations-heading .jp-home-kicker {
            display: block !important;
            max-width: 100% !important;
            white-space: normal !important;
            overflow-wrap: anywhere !important;
            line-height: 1.25 !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formations-heading > a  */
        .jp-home.jp-home-v4 .jp-home-formations-heading > a {
            justify-self: start !important;
            margin: 0 !important;
            padding: 6px 10px !important;
            border: 1px solid #d8e4e7 !important;
            border-radius: 999px !important;
            background: #ffffff !important;
            white-space: nowrap !important;
            font-size: .68rem !important;
            line-height: 1 !important;
    }
        /* ------------------------------------------------------
       Une seule carte de formation par vue sur téléphone.
       ------------------------------------------------------ */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card {
            flex: 0 0 100% !important;
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            border-radius: 14px !important;
            overflow: hidden !important;
    }
        /* ------------------------------------------------------
       Présentation verticale :
       photographie pleine largeur, puis texte en dessous.
       ------------------------------------------------------ */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-link,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-link {
            display: flex !important;
            flex-direction: column !important;
            width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-media, .jp-home.jp-home-v4 .jp-home-filtere…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-media,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-media {
            display: block !important;
            flex: none !important;
            width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            aspect-ratio: 16 / 9 !important;
            border-radius: 0 !important;
            overflow: hidden !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-media img, .jp-home.jp-home-v4 .jp-home-fil…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-media img,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-media img {
            display: block !important;
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            object-position: center !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body, .jp-home.jp-home-v4 .jp-home-filtered…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-body {
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            flex: none !important;
            width: 100% !important;
            min-height: 132px !important;
            padding: 14px 16px 15px !important;
            text-align: left !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body h3, .jp-home.jp-home-v4 .jp-home-filte…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body h3,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-body h3 {
            width: 100% !important;
            margin: 0 0 6px !important;
            color: #083653 !important;
            font-size: 1rem !important;
            line-height: 1.18 !important;
            white-space: normal !important;
            overflow: visible !important;
            text-overflow: clip !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body p, .jp-home.jp-home-v4 .jp-home-filter…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-body p,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-body p {
            display: block !important;
            width: 100% !important;
            margin: 0 0 10px !important;
            color: #526973 !important;
            font-size: .78rem !important;
            line-height: 1.38 !important;
            overflow: visible !important;
            -webkit-line-clamp: unset !important;
            line-clamp: unset !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-more, .jp-home.jp-home-v4 .jp-home-filtered…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-more,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-more {
            display: inline-flex !important;
            align-items: center !important;
            gap: 5px !important;
            margin-top: auto !important;
            padding-top: 0 !important;
            color: var(--jp-card-accent, #087f83) !important;
            font-size: .78rem !important;
            font-weight: 800 !important;
    }
        /* Le badge reste lisible sur la photographie. */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-badge,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-badge {
            top: 10px !important;
            left: 10px !important;
            right: auto !important;
            padding: 5px 9px !important;
            font-size: .62rem !important;
    }
        /* Les flèches restent centrées sur la photographie. */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow {
            top: calc((100vw - 64px) * 9 / 32) !important;
            width: 34px !important;
            height: 34px !important;
            font-size: 24px !important;
            transform: translateY(-50%) !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-prev, .jp-home.jp-home-v4 .jp-home-filt…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-prev,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-prev {
            left: 3px !important;
    }
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-next, .jp-home.jp-home-v4 .jp-home-filt…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-arrow.is-next,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-arrow.is-next {
            right: 3px !important;
    }
}

/* ==========================================================
   AJUSTEMENT MOBILE — HAUTEUR DE LA PASTILLE DE FORMATION
   ========================================================== */

@media (max-width: 680px) {
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-badge, .jp-home.jp-home-v4 .jp-home-filtere…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-badge,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-badge {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: auto !important;
            min-width: 0 !important;
            min-height: 0 !important;
            height: auto !important;
            padding: 3px 9px !important;
            line-height: 1 !important;
            white-space: nowrap !important;
            border-radius: 999px !important;
    }
}

/*  RESPONSIVE — (max-width: 680px)  */

@media (max-width: 680px) {
        /*  CIBLE — Formations : .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-badge, .jp-home.jp-home-v4 .jp-home-filtere…  */
        .jp-home.jp-home-v4 .jp-home-formation-group .jp-home-card-badge,
    .jp-home.jp-home-v4 .jp-home-filtered-carousel .jp-home-card-badge {
            top: 10px !important;
            bottom: auto !important;
            left: 10px !important;
            right: auto !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            align-self: flex-start !important;
            width: auto !important;
            max-width: calc(100% - 20px) !important;
            min-width: 0 !important;
            height: fit-content !important;
            min-height: 0 !important;
            max-height: none !important;
            padding: 3px 9px !important;
            line-height: 1 !important;
            white-space: nowrap !important;
            border-radius: 999px !important;
    }
}

/* ==========================================================
   PAGE D'ACCUEIL — ACCÈS RAPIDES PLUS GRANDS
   ========================================================== */

/* * Les six cartes sont agrandies sans réduire les blocs Formations,
 * Actualités ou les autres sections. Le tableau principal devient simplement
 * un peu plus haut sur ordinateur. */

@media (min-width: 1101px) {
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-quick-card  */
        .jp-home.jp-home-v4 .jp-home-quick-card {
            min-height: 84px !important;
            padding: 10px 8px !important;
            gap: 7px !important;
            border-radius: 14px !important;
    }
        /*  CIBLE — Icônes : .jp-home.jp-home-v4 .jp-home-quick-icon  */
        .jp-home.jp-home-v4 .jp-home-quick-icon {
            width: 31px !important;
            height: 31px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-quick-card strong  */
        .jp-home.jp-home-v4 .jp-home-quick-card strong {
            max-width: 118px !important;
            font-size: .63rem !important;
            line-height: 1.18 !important;
    }
        /*  CIBLE — Composant : .jp-home.jp-home-v4 .jp-home-quick-grid  */
        .jp-home.jp-home-v4 .jp-home-quick-grid {
            gap: 9px !important;
    }
        /* * Le panneau de droite conserve sa largeur et son contenu.
     * Il s'étire seulement à la nouvelle hauteur du panneau d'accès rapides. */
        .jp-home.jp-home-v4 .jp-home-dashboard {
            align-items: stretch !important;
    }
}

/* Taille intermédiaire : agrandissement plus modéré. */

@media (min-width: 901px) and (max-width: 1100px) {
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-quick-card  */
        .jp-home.jp-home-v4 .jp-home-quick-card {
            min-height: 98px !important;
            padding: 10px !important;
            gap: 7px !important;
    }
        /*  CIBLE — Icônes : .jp-home.jp-home-v4 .jp-home-quick-icon  */
        .jp-home.jp-home-v4 .jp-home-quick-icon {
            width: 32px !important;
            height: 32px !important;
    }
        /*  CIBLE — Cartes : .jp-home.jp-home-v4 .jp-home-quick-card strong  */
        .jp-home.jp-home-v4 .jp-home-quick-card strong {
            font-size: .64rem !important;
            line-height: 1.18 !important;
    }
}

/* ==========================================================
   MIGRATION DU CSS ADDITIONNEL ASTRA
   Source : Apparence > Personnaliser > CSS additionnel
   Ce bloc doit désormais être maintenu ici.
   ========================================================== */

/* ==========================================================
   PAGE D’ACCUEIL — RESET ET SUPERPOSITION DU HEADER
   Page Elementor : 14864
   ========================================================== */

/* Supprime toute marge au bord supérieur du navigateur */

html,
body,
body.page-id-14864 {
        margin: 0 !important;
        padding: 0 !important;
}

/* Supprime les espacements des enveloppes Astra */

body.page-id-14864 #page,
body.page-id-14864 #content,
body.page-id-14864 .site-content,
body.page-id-14864 .ast-container,
body.page-id-14864 .entry-content,
body.page-id-14864 article,
body.page-id-14864 .elementor-14864 {
        margin-top: 0 !important;
        padding-top: 0 !important;
}

/* Le conteneur principal Astra ne limite plus la page d’accueil. */

body.page-id-14864 #content > .ast-container,
body.page-id-14864 #primary,
body.page-id-14864 article,
body.page-id-14864 .entry-content,
body.page-id-14864 .elementor-14864 {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
}

/* Le hero déborde proprement sur toute la largeur du viewport. */

body.page-id-14864 .elementor-element-33b696e {
        position: relative !important;
        left: 50% !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: hidden !important;
}

/* Tous les conteneurs internes de la vidéo prennent 100 %. */

body.page-id-14864 .elementor-element-6f1673d,
body.page-id-14864 .elementor-element-f8f6054,
body.page-id-14864 .elementor-background-video-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
}

/* La vidéo couvre réellement toute la largeur. */

body.page-id-14864 .elementor-background-video-hosted {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 100vw !important;
        min-width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 100% !important;
        transform: translate(-50%, -50%) !important;
        object-fit: cover !important;
}

/* Header Astra superposé au bandeau */

body.page-id-14864 #masthead {
        position: absolute !important;
        inset: 0 0 auto 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 999 !important;
        background: transparent !important;
}

/* Couches du header transparentes */

body.page-id-14864 #ast-desktop-header,
body.page-id-14864 .ast-above-header-wrap,
body.page-id-14864 .ast-above-header-bar,
body.page-id-14864 .site-above-header-wrap {
        margin: 0 !important;
        padding-top: 0 !important;
        background: transparent !important;
}

/* Conteneur principal du bandeau Elementor */

body.page-id-14864 .elementor-element-33b696e {
        margin-top: 0 !important;
        padding-top: 0 !important;
}

/* Ancien conteneur séparateur */

body.page-id-14864 .elementor-element-062f59a {
        display: none !important;
}

/* ==========================================================
   MENU PRINCIPAL — BANDE TRANSLUCIDE PLUS FINE
   Max Mega Menu
   ========================================================== */

/* Réduit réellement la hauteur de la barre Max Mega Menu. */

body.page-id-14864 #mega-menu-wrap-primary,
body.page-id-14864 #mega-menu-wrap-primary #mega-menu-primary {
        min-height: 28px !important;
        height: 28px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
}

/* Réduit la hauteur et les espacements des liens. */

body.page-id-14864
#mega-menu-wrap-primary
#mega-menu-primary
> li.mega-menu-item
> a.mega-menu-link {
        height: 28px !important;
        min-height: 28px !important;
        line-height: 28px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 9px !important;
        padding-right: 9px !important;
        margin: 0 !important;
}

/* Supprime l’espace vertical du conteneur Astra autour du menu. */

body.page-id-14864 .ast-builder-menu-1,
body.page-id-14864 .ast-main-header-bar-alignment,
body.page-id-14864 .site-header-above-section-right {
        min-height: 28px !important;
        height: 28px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        align-items: flex-start !important;
}

/* Bande translucide limitée à la hauteur du menu. */

body.page-id-14864 #mega-menu-wrap-primary {
        background: rgba(255, 255, 255, 0.55) !important;
}

/* ==========================================================
   LOGO ET SLOGAN
   ========================================================== */

/* Masque le slogan natif gris d’Astra */

body.page-id-14864 .ast-site-title-wrap,
body.page-id-14864 .site-description {
        display: none !important;
}

/* Logo et slogan blanc */

body.page-id-14864 .jp-site-branding-logo {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
}

/*  CIBLE — Logo : body.page-id-14864 .site-logo-img img.custom-logo  */

body.page-id-14864 .site-logo-img img.custom-logo {
        display: block !important;
        margin: 0 !important;
}

/*  CIBLE — Slogan : body.page-id-14864 .jp-site-slogan  */

body.page-id-14864 .jp-site-slogan {
        position: static !important;
        display: block !important;
        width: auto !important;
        margin: 2px 0 0 5px !important;
        padding: 0 !important;
        transform: none !important;
        color: #fff !important;
        font-family: Montserrat, Arial, sans-serif !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.1 !important;
        text-align: left !important;
        white-space: nowrap !important;
}

/* ==========================================================
   ACCUEIL — REMONTER LE LOGO ET LE MENU ASTRA
   ========================================================== */

body.page-id-14864 #masthead,
body.page-id-14864 #ast-desktop-header,
body.page-id-14864 .ast-above-header-wrap,
body.page-id-14864 .ast-above-header-bar,
body.page-id-14864 .site-above-header-wrap {
        top: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
}

/* Astra centre actuellement les éléments sur la hauteur du logo.
   On les aligne désormais en haut. */

body.page-id-14864 .site-above-header-wrap > .ast-builder-grid-row,
body.page-id-14864 .site-header-above-section-left,
body.page-id-14864 .site-header-above-section-right {
        align-items: flex-start !important;
}

/* Supprime les espacements internes autour du logo. */

body.page-id-14864 .ast-site-identity,
body.page-id-14864 .site-branding,
body.page-id-14864 .site-logo-img,
body.page-id-14864 .jp-site-branding-logo {
        margin-top: 0 !important;
        padding-top: 0 !important;
}

/* Place précisément le logo en haut du bandeau. */

body.page-id-14864 .site-header-above-section-left {
        transform: translateY(5px) !important;
}

/* Place le menu près du sommet, indépendamment de la hauteur du logo. */

body.page-id-14864 .site-header-above-section-right {
        transform: translateY(-15px) !important;
}

/* Le menu lui-même ne réserve plus d’espace supérieur. */

body.page-id-14864 .ast-builder-menu-1,
body.page-id-14864 .ast-main-header-bar-alignment,
body.page-id-14864 #mega-menu-wrap-primary {
        margin-top: 0 !important;
        padding-top: 0 !important;
}

/* ==========================================================
   ACCUEIL — remonter le bandeau vidéo sans déplacer le header
   ========================================================== */

body.page-id-14864 .elementor-element-33b696e {
        transform: translateY(-12px) !important;
        margin-bottom: -12px !important;
}

/* ==========================================================
   ACCUEIL — POSITION DU PANNEAU DES ÉVÉNEMENTS
   ========================================================== */

/* ==========================================================
   ORDINATEUR
   ========================================================== */

@media (min-width: 601px) {
        /*  CIBLE — Fondations globales : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-f8f6054.e-con::before  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con::before {
            top: 8px !important;
            left: 50% !important;
            right: auto !important;
            bottom: auto !important;
            transform: translate(-50%, 50px) !important;
    }
}

/* ==========================================================
   TÉLÉPHONE
   ========================================================== */

@media (max-width: 600px) {
        /* ------------------------------------------------------
       CONTENEUR VIDÉO
       ------------------------------------------------------ */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con {
            position: relative !important;
            width: 100% !important;
            height: 330px !important;
            min-height: 330px !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow: hidden !important;
    }
        /* Conteneur de la vidéo */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con
    > .elementor-background-video-container {
            position: absolute !important;
            inset: 0 !important;
            width: 100% !important;
            height: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow: hidden !important;
    }
        /* Vidéo */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con
    > .elementor-background-video-container
    > video {
            position: absolute !important;
            top: 50% !important;
            left: 50% !important;
            width: 100% !important;
            min-width: 100% !important;
            max-width: none !important;
            height: 100% !important;
            min-height: 100% !important;
            max-height: none !important;
            margin: 0 !important;
            padding: 0 !important;
            transform: translate(-50%, -50%) !important;
            object-fit: cover !important;
            object-position: center center !important;
    }
        /* ------------------------------------------------------
       VÉRITABLE CADRE FLOUTÉ
       ------------------------------------------------------ */
        /* * Le sélecteur reprend toutes les classes réelles du
     * conteneur Elementor afin de devenir prioritaire sur
     * les anciennes règles injectées par home-events.php.
     *
     * Le positionnement utilise inset et aucun transform :
     * le cadre commence réellement à 122 px. */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con::before {
            content: "" !important;
            display: block !important;
            position: absolute !important;
            inset: 122px 12px auto 12px !important;
            top: 122px !important;
            left: 12px !important;
            right: 12px !important;
            bottom: auto !important;
            width: auto !important;
            max-width: none !important;
            height: 128px !important;
            min-height: 128px !important;
            margin: 0 !important;
            padding: 0 !important;
            transform: none !important;
            translate: none !important;
            border: 1px solid rgba(255, 255, 255, 0.22) !important;
            border-radius: 20px !important;
            background: rgba(5, 27, 42, 0.20) !important;
            background-image: none !important;
            -webkit-backdrop-filter: blur(6px) !important;
            backdrop-filter: blur(6px) !important;
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12) !important;
            opacity: 1 !important;
            z-index: 8 !important;
            pointer-events: none !important;
    }
        /* ------------------------------------------------------
       CONTENEUR TRANSPARENT DU SHORTCODE
       ------------------------------------------------------ */
        /* * Ce conteneur couvre la vidéo mais ne doit produire
     * ni fond, ni bordure, ni flou supplémentaire. */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-d04395f.e-con {
            position: absolute !important;
            inset: 0 !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            height: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            background: transparent !important;
            background-color: transparent !important;
            background-image: none !important;
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
            transform: none !important;
            translate: none !important;
            overflow: visible !important;
            z-index: 10 !important;
            pointer-events: none !important;
    }
        /* Enveloppes du shortcode */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-d04395f
    .elementor-element-f8e36fc,

    html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-d04395f
    .elementor-widget-container,

    html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-d04395f
    .elementor-shortcode {
            position: static !important;
            width: 100% !important;
            max-width: 100% !important;
            height: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            background: transparent !important;
            background-color: transparent !important;
            background-image: none !important;
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
            transform: none !important;
    }
        /* ------------------------------------------------------
       TITRE « PROCHAINS ÉVÉNEMENTS »
       ------------------------------------------------------ */
        /* * Le titre reste à la position qui fonctionne déjà. */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-cf52d96 {
            position: absolute !important;
            top: 128px !important;
            left: 50% !important;
            right: auto !important;
            bottom: auto !important;
            width: max-content !important;
            max-width: calc(100% - 36px) !important;
            margin: 0 !important;
            padding: 0 !important;
            transform: translateX(-50%) !important;
            translate: none !important;
            z-index: 12 !important;
            pointer-events: none !important;
    }
        /*  CIBLE — Fondations globales : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-cf52d96 .elementor-widge…  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-cf52d96
    .elementor-widget-container {
            margin: 0 !important;
            padding: 0 !important;
    }
        /*  CIBLE — Fondations globales : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-cf52d96 .elementor-headline  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-cf52d96
    .elementor-headline {
            margin: 0 !important;
            padding: 0 !important;
            line-height: 1 !important;
    }
        /*  CIBLE — Fondations globales : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-cf52d96 .elementor-headl…  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-cf52d96
    .elementor-headline-dynamic-wrapper {
            line-height: 1 !important;
    }
        /*  CIBLE — Fondations globales : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-cf52d96 .elementor-headl…  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-cf52d96
    .elementor-headline-dynamic-text {
            font-size: 21px !important;
            line-height: 1 !important;
            white-space: nowrap !important;
    }
        /* ------------------------------------------------------
       DATE ET DESCRIPTION DES ÉVÉNEMENTS
       ------------------------------------------------------ */
        /* * Les événements restent à la position qui fonctionne. */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements {
            position: absolute !important;
            top: 167px !important;
            left: 50% !important;
            right: auto !important;
            bottom: auto !important;
            width: calc(100% - 42px) !important;
            max-width: calc(100% - 42px) !important;
            height: 88px !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 8px !important;
            transform: translateX(-50%) !important;
            translate: none !important;
            overflow: hidden !important;
            color: #fff !important;
            text-align: center !important;
            z-index: 11 !important;
            pointer-events: auto !important;
    }
        /*  CIBLE — Événements : html body.page-id-14864 .elementor-14864 .lg-liste-evenements .lg-evenement  */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement {
            font-size: 16px !important;
            line-height: 1.06 !important;
    }
        /*  CIBLE — Événements : html body.page-id-14864 .elementor-14864 .lg-liste-evenements .lg-evenement-contenu  */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement-contenu {
            max-width: 100% !important;
    }
        /*  CIBLE — Événements : html body.page-id-14864 .elementor-14864 .lg-liste-evenements .lg-evenement strong, html body.page-id-…  */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement strong,

    html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement b {
            display: block !important;
            margin: 0 0 6px !important;
            padding: 0 !important;
            font-size: 19px !important;
            line-height: 1.05 !important;
            text-decoration: underline !important;
            text-decoration-thickness: 1.5px !important;
            text-underline-offset: 3px !important;
    }
}

/* ==========================================================
   ACCUEIL — ÉVÉNEMENTS PLUS LARGES SUR ORDINATEUR
   ========================================================== */

@media (min-width: 901px) {
        /* Cadre flouté élargi */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con::before {
            width: min(1380px, calc(100% - 400px)) !important;
            max-width: none !important;
    }
        /* Zone générale contenant les événements */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements {
            width: min(1320px, calc(100% - 450px)) !important;
            max-width: none !important;
            padding-left: 24px !important;
            padding-right: 24px !important;
    }
        /* Chaque événement occupe toute la largeur disponible */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement {
            width: 100% !important;
            max-width: none !important;
    }
        /* Contenu textuel non limité par une ancienne largeur */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement-contenu {
            display: block !important;
            width: 100% !important;
            max-width: none !important;
            margin: 0 auto !important;
            text-align: center !important;
    }
        /* Le descriptif utilise toute la largeur avant de revenir à la ligne */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement-contenu > span,

    html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement-contenu > p {
            width: 100% !important;
            max-width: none !important;
            margin-left: auto !important;
            margin-right: auto !important;
            white-space: normal !important;
            overflow-wrap: normal !important;
            word-break: normal !important;
            text-align: center !important;
    }
}

/* ==========================================================
   ACCUEIL MOBILE V35 — SUPPRESSION DU BANDEAU NOIR
   Le cadre se termine à 250 px (122 + 128).
   Le conteneur principal est donc rogné à 250 px,
   mais la vidéo conserve une hauteur de 330 px : elle n'est pas réduite.
   ========================================================== */

@media (max-width: 600px) {
        /*  CIBLE — Fondations globales : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-f8f6054.e-con  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con {
            height: 250px !important;
            min-height: 250px !important;
            max-height: 250px !important;
            overflow: hidden !important;
    }
        /*  CIBLE — Vidéos : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-f8f6054.e-con .elementor…  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con
    .elementor-background-video-container {
            top: 0 !important;
            bottom: auto !important;
            height: 330px !important;
            min-height: 330px !important;
            max-height: none !important;
            overflow: hidden !important;
    }
        /*  CIBLE — Vidéos : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-f8f6054.e-con .elementor…  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con
    .elementor-background-video-container video,
    html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con
    video.elementor-background-video-hosted {
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            width: 100% !important;
            min-width: 100% !important;
            max-width: none !important;
            height: 330px !important;
            min-height: 330px !important;
            max-height: none !important;
            transform: none !important;
            object-fit: cover !important;
            object-position: center center !important;
    }
}

/* ==========================================================
   ACCUEIL MOBILE V36 — REMONTER TOUT LE CONTENU APRÈS LA VIDÉO
   Les chiffres clés sont le premier élément de .jp-home.
   On remonte donc tout le module d'accueil sans toucher au bandeau vidéo.
   ========================================================== */

@media (max-width: 600px) {
        /*  CIBLE — Fondations globales : html body.page-id-14864 .jp-home.jp-home-v4  */
        html body.page-id-14864
    .jp-home.jp-home-v4 {
            position: relative !important;
            z-index: 20 !important;
            margin-top: -110px !important;
            background: #fff !important;
    }
}

/*  RESPONSIVE — (max-width: 600px)  */

@media (max-width: 600px) {
        /* * Slogan :
     * - 15 px -> 14 px
     * - descendu de 2 px */
        html body.page-id-14864.jp-modern-header-enabled
    .jp-modern-header
    .jp-site-branding-logo > .jp-site-slogan,
    html body.page-id-14864
    #masthead
    .jp-site-branding-logo > .jp-site-slogan {
            font-size: 14px !important;
            transform: translateY(-8px) !important;
    }
        /* * Description des événements uniquement :
     * espacement entre caractères réduit de 3 %. */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement-contenu {
            letter-spacing: -0.03em !important;
    }
        /* * La date conserve son espacement actuel. */
        html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement strong,
    html body.page-id-14864
    .elementor-14864
    .lg-liste-evenements
    .lg-evenement b {
            letter-spacing: normal !important;
    }
}

/* ==========================================================
   ACCUEIL V42 — PAS DE CADRE GRIS AVANT CHARGEMENT VIDÉO
   Le cadre flouté reste invisible jusqu'à la première image
   réellement disponible de la vidéo.
   ========================================================== */

html body.page-id-14864
.elementor-14864
.elementor-element.elementor-element-f8f6054.e-con::before {
        opacity: 0 !important;
        visibility: hidden !important;
}

/*  CIBLE — Vidéos : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-f8f6054.e-con.jp-video-r…  */

html body.page-id-14864
.elementor-14864
.elementor-element.elementor-element-f8f6054.e-con.jp-video-ready::before {
        opacity: 1 !important;
        visibility: visible !important;
        transition: opacity 160ms ease !important;
}

/* ==========================================================
   ACCUEIL V43 — PAS DE PANNEAU GRIS AVANT LA VIDÉO SUR PC/TABLETTE
   Sur écran > 600 px, le cadre visible est .jp-home-events__panel.
   Il reste invisible tant que le conteneur vidéo n'a pas reçu
   la classe .jp-video-ready.
   ========================================================== */

@media (min-width: 601px) {
        /*  CIBLE — Événements : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-f8f6054.e-con .jp-home-e…  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con
    .jp-home-events__panel {
            opacity: 0 !important;
            visibility: hidden !important;
    }
        /*  CIBLE — Événements : html body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-f8f6054.e-con.jp-video-r…  */
        html body.page-id-14864
    .elementor-14864
    .elementor-element.elementor-element-f8f6054.e-con.jp-video-ready
    .jp-home-events__panel {
            opacity: 1 !important;
            visibility: visible !important;
            transition: opacity 160ms ease !important;
    }
}
