/* === Bandeau de titre (accueil) ============================================================ */
.x-bandeau-titre {
    width: 80%;
    max-width: 1080px;
    margin: 30px auto 0;
    padding: 1.875vw 0 5.625vw;
    text-align: center;
}
@media (max-width: 980px) {
    .x-bandeau-titre {
        padding: 0 0 50px;
    }
}
@media (max-width: 1349px) and (min-width: 981px) {
    .x-bandeau-titre {
        padding-bottom: calc(5.625vw + 30px);
    }
}
.x-bandeau-titre h1.wp-block-heading {
    margin: 0;
    padding-bottom: 10px;
    font-family: var(--wp--preset--font-family--poppins);
    font-size: var(--wp--preset--font-size--xxxl-b);
    font-weight: 700;
    line-height: 37px;
    color: var(--wp--preset--color--encre);
}
@media (max-width: 980px) {
    .x-bandeau-titre h1.wp-block-heading {
        font-weight: 300;
    }
}
@media (max-width: 980px) {
    .x-bandeau-titre h1.wp-block-heading {
        padding-top: 30px;
    }
}
.x-bandeau-titre h2.wp-block-heading {
    margin: 0 0 4.444vw; /* Divi % : 64px à 1440 -> vw (2 lignes Divi 2%+2%) */
    font-family: var(--wp--preset--font-family--poppins);
    font-size: var(--wp--preset--font-size--xxl);
    font-weight: 300;
    line-height: 27px;
    color: var(--wp--preset--color--encre);
}
@media (max-width: 767px) {
    .x-bandeau-titre h2.wp-block-heading {
        font-size: var(--wp--preset--font-size--l);
        line-height: 20px;
        padding-bottom: 10px;
    }
}
.x-bandeau-titre__corps {
    flex-wrap: nowrap; /* le layout flex du cœur enroule par défaut : passait à la ligne */
    align-items: flex-start;
    gap: 4.167vw; /* Divi % : 60px à 1440 -> vw */
    text-align: left;
}
.x-bandeau-titre__video {
    flex: 0 0 57.78%; /* 624/1080, mesuré 8801 */
    margin: 0;
}
.x-bandeau-titre__video video {
    width: 100%;
    height: auto;
    border-radius: 8px; /* finition A (28/09) */
}
.x-bandeau-titre__info {
    flex: 0 0 36.67%; /* 396/1080, mesuré 8801 — pas flex:1 */
    gap: 0; /* espacements individuels ci-dessous (localiser.py), pas un pas uniforme */
}
/* margin-top/margin-bottom retirés (objectif 5, audit des marges) : morts, battus par le cœur
   (.is-layout-flex > :is(*, div){margin:0}, 0,1,1 — plus fort qu'une classe seule, 0,1,0),
   confirmé par mesure directe (0px calculé quelle que soit la valeur source). Le repli ≤980px
   pose déjà son propre margin:0 !important, sans dépendre de cette valeur. */
.x-bandeau-titre__badges {
    position: relative;
    gap: 1.458vw; /* Divi % : 21px à 1440 -> vw */
}
@media (max-width: 980px) {
    .x-bandeau-titre__badges {
        gap: 21px;
    }
}
.x-bandeau-titre__badge {
    align-self: flex-start;
    margin: 0;
    padding: 8px 16px;
    background-color: var(--wp--preset--color--rose-bandeau);
    color: var(--wp--preset--color--blanc);
    font-family: var(--wp--preset--font-family--poppins);
    font-size: var(--wp--preset--font-size--m);
    font-weight: 500;
    line-height: 1.3;
}
.x-bandeau-titre__badges > :nth-child(1) { order: 3; margin-left: 80px; } /* Profitez : bas, décalé à droite */
.x-bandeau-titre__badges > :nth-child(2) { order: 2; margin-left: 40px; } /* Economisez : milieu */
.x-bandeau-titre__badges > :nth-child(3) { order: 1; margin-left: 0; } /* Simplifiez : haut, à gauche */
.x-bandeau-titre__accroche-titre {
    margin: 0;
    font-family: var(--wp--preset--font-family--poppins);
    font-size: var(--wp--preset--font-size--l);
    font-weight: 700;
    color: var(--wp--preset--color--encre);
}
@media (max-width: 980px) {
    .x-bandeau-titre__accroche-titre {
        padding-bottom: 6px;
    }
}
/* margin-bottom retiré (objectif 5, audit des marges) : mort, dernier enfant d'un groupe
   « is-layout-flow » — battu par le cœur (:root :where(.is-layout-flow) > :last-child, 0,2,0 —
   plus fort qu'une classe seule, 0,1,0), confirmé par mesure directe (0px quelle que soit la
   valeur source). margin-top:0 reste nécessaire (accroche-texte n'est pas premier enfant, cette
   valeur gagne par l'ordre d'impression contre le point de rupture générique à 24px). */
.x-bandeau-titre__accroche-texte {
    margin: 0;
    font-family: var(--wp--preset--font-family--poppins);
    font-size: var(--wp--preset--font-size--s);
    font-weight: 300;
    color: var(--wp--preset--color--gris-fonce);
}
@media (max-width: 980px) {
    .x-bandeau-titre__accroche-texte {
        margin-bottom: 0;
    }
}
@media (max-width: 980px) {
    .x-bandeau-titre__corps {
        flex-wrap: wrap;
    }
    .x-bandeau-titre__video,
    .x-bandeau-titre__info {
        flex: 1 1 100%;
    }
}
@media (max-width: 980px) {
    .x-bandeau-titre__corps {
        gap: 30px;
    }
    /* !important : le cœur génère une règle par bloc (« .wp-container-N.is-layout-flex {display:flex} », spécificité 2 classes) qui bat un simple « .x-bandeau-titre__info »… */
    .x-bandeau-titre__info {
        display: contents !important;
    }
    .x-bandeau-titre__badges,
    .x-bandeau-titre__accroche,
    .x-bandeau-titre__info > .wp-block-buttons {
        flex: 1 1 100%;
        margin: 0 !important;
    }
    .x-bandeau-titre__badges {
        order: 1;
    }
    .x-bandeau-titre__video {
        order: 2;
        margin: 0 !important;
    }
    .x-bandeau-titre__accroche {
        order: 3;
    }
    .x-bandeau-titre__info > .wp-block-buttons {
        order: 4;
    }
}
@media (max-width: 980px) and (min-width: 768px) {
    /* 768px : +2px, résorbe le décalage cumulé qui atteignait « Quel est votre projet ? » (sections.py). */
    .x-bandeau-titre h2.wp-block-heading {
        margin-bottom: 32px !important;
    }
}
@media (max-width: 767px) {
    /* 375px : -3px, résorbe le décalage cumulé qui atteint « Nos partenaires » (sections.py). */
    .x-bandeau-titre h2.wp-block-heading {
        margin-bottom: 27px !important;
    }
}
