.elementor-kit-6{--e-global-color-primary:#1800AD;--e-global-color-secondary:#FFBD59;--e-global-color-text:#12111A;--e-global-color-accent:#A79BF5;--e-global-color-e1b8e6f:#F4F2FF;--e-global-color-d857b58:#5B5870;--e-global-color-1738b05:#DED9F3;--e-global-color-b707be3:#000000;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:600;--e-global-typography-b6e76cc-font-family:"Montserrat";--e-global-typography-b6e76cc-font-size:17px;--e-global-typography-b6e76cc-font-weight:400;--e-global-typography-b6e76cc-line-height:1.7px;--e-global-typography-b6e76cc-letter-spacing:-0.5px;background-color:#FFFFFF;color:var( --e-global-color-d857b58 );font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;line-height:17px;letter-spacing:1.7px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;color:var( --e-global-color-text );border-radius:8px 8px 8px 8px;padding:16px 32px 16px 32px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-primary );color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:50px;}.elementor-kit-6 a{color:#1800AD;font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;letter-spacing:-0.5px;}.elementor-kit-6 a:hover{color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;}.elementor-kit-6 h1{color:#1800AD;}.elementor-kit-6 h2{color:var( --e-global-color-primary );font-size:36px;font-weight:700;line-height:1.2px;letter-spacing:-0.3px;}.elementor-kit-6 h3{color:var( --e-global-color-primary );font-size:26px;font-weight:700;line-height:1.3px;letter-spacing:0px;}.elementor-kit-6 h4{color:var( --e-global-color-primary );font-size:20px;font-weight:600;line-height:1.4px;letter-spacing:0px;}.elementor-kit-6 h5{color:var( --e-global-color-primary );font-size:18px;font-weight:600;}.elementor-kit-6 h6{color:var( --e-global-color-primary );font-weight:600;text-transform:uppercase;}.elementor-kit-6 img{border-radius:12px 12px 12px 12px;}.elementor-kit-6 label{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-text );accent-color:var( --e-global-color-accent );background-color:#FFFFFF;border-radius:8px 8px 8px 8px;padding:14px 16px 14px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-b6e76cc-font-size:17px;font-size:17px;}.elementor-kit-6 p{margin-block-end:17px;}.elementor-kit-6 a{font-size:17px;}.elementor-kit-6 h2{font-size:32px;}.elementor-kit-6 h3{font-size:24px;}.elementor-kit-6 h4{font-size:20px;}.elementor-kit-6 h5{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-b6e76cc-font-size:16px;--e-global-typography-b6e76cc-line-height:1.15em;font-size:17px;}.elementor-kit-6 p{margin-block-end:16px;}.elementor-kit-6 a{font-size:16px;line-height:1.15em;}.elementor-kit-6 h2{font-size:28px;}.elementor-kit-6 h3{font-size:22px;}.elementor-kit-6 h4{font-size:18px;}.elementor-kit-6 h5{font-size:17px;line-height:1.4em;letter-spacing:0px;}.elementor-kit-6 h6{font-size:13px;line-height:1.4em;letter-spacing:1px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===========================================================================
   METHORIA — FEUILLE DE STYLE GLOBALE
   Elementor → Réglages du site → CSS personnalisé
   Révision 43 — 27/09/2026

   CE QUI CHANGE DANS CETTE RÉVISION, ET RIEN D'AUTRE
   M. 36 — RÉVISION 43 : la page Ressources, « res- ». Catalogue d'articles
      produit par le widget « Articles » d'Elementor, barre de recherche et
      pastilles de catégorie qui filtrent sans rechargement, et le style de
      l'article lui-même pour le modèle « Article unique ».
   L. 35 — RÉVISION 42 : deux corrections. Le titre du bandeau violet est
      blanc même si le conteneur ne porte pas « qui-sec » — sans quoi il
      restait violet sur violet, donc invisible. Et la mascotte du hero passe
      de 430 à 500 px, posée sur un halo lilas.
   K. 35.13 — RÉVISION 41 : « qui-rev », la révélation en cascade des
      blocs de cartes au défilement, et le cadre du portrait passé au
      format réel de la photo livrée, 3:4.
   J. 35 — RÉVISION 40 : la page « Qui sommes-nous », « qui- ». Elle
      reprend le langage visuel de la page d'accueil — hero lavande,
      bande de chiffres en carte blanche, cartes à liseré lilas, bandeau
      violet — mais écrit pour du HTML simple, un widget par section,
      au lieu des widgets Elementor natifs de l'accueil.
   I. 34 — RÉVISION 39 : deux composants nouveaux, « alt-parc » et
      « data-cpt ». La frise du parcours peut devenir verticale, les
      étapes alternant de part et d'autre d'un trait central qui se
      remplit au fil du défilement. Les grands chiffres peuvent s'animer
      en décompte à leur entrée dans l'écran. Aucune règle existante
      n'est modifiée : la frise horizontale « alt-chrono » du bloc 33.4
      reste intacte, et tout reste lisible sans JavaScript.
   A. 31.1 — « fmt-hero fmt-hero-masc » : un hero dont la colonne de droite
      porte la mascotte, en une ou plusieurs poses.
   B. 31.2 — « fmt-piliers fmt-exp » : la carte pilier du bloc 29.11, en
      trois colonnes au lieu de quatre, pour les domaines d'expertise.
   C. 32 — la peau « srv-x » : l'habillage propre aux pages services.
      Hero sur fond encre, sections blanches séparées par un filet au lieu
      de l'alternance lavande, angles carrés, surtitres en jaune sur le hero,
      liserés au survol à la place des ombres portées.
   D. 32.2 — RÉVISION 33 : le trait horizontal jaune qui précédait chaque
      surtitre est supprimé.
   H. 33.6 — RÉVISION 38 : la bande est haussée à 440 px et son image est
      cadrée à 40 % de sa hauteur. Les six photos livrées sont en portrait
      1122 x 1402, y compris celles de la bande. Le cadrage à 55 % de la
      hauteur va chercher les visages, et un voile dégradé du violet vers la
      transparence est posé par-dessus la photo, de la gauche vers la droite,
      pour que le texte blanc reste lisible sur un sujet clair.
   G. 33.6 — RÉVISION 37 : la bande photo passe du fond encre au violet de
      marque #1800AD. La photo y est désaturée en fondu « luminosity », ce
      qui la teinte en violet Methoria au lieu de la laisser grise. Sur un
      navigateur qui ne gère pas ce fondu, elle reste simplement en
      transparence sur le violet : le texte demeure lisible dans les deux cas.
   F. 33 — RÉVISION 36 : le bloc des pages alternance, « alt-x ». Photos en
      forme libre, grands chiffres sans carte, comparaison à deux volets
      séparée par un filet, frise reliée, grille de rémunération en lignes,
      bande photo pleine largeur. Aucune règle existante n'est modifiée.
   E. 31.3 — RÉVISION 35 : la mascotte est traitée comme sur le hero de
      l'accueil. Plus de vignette, plus de cadre, plus de fond : le
      personnage détouré occupe toute la colonne de droite, à 420 px, posé
      sur un halo et un socle elliptique. Le hero passe en colonne dès
      900 px et non plus 767, pour que la mascotte reste grande sans écraser
      le titre. C'est le seul changement par rapport à la révision 34.
      Cette peau ne s'applique qu'aux conteneurs qui portent « srv-x ».
      Aucune règle existante n'est modifiée : les pages déjà en ligne
      gardent exactement le rendu de la révision 30.

   PALETTE
   Violet   #1800AD    Titres, surtitres, chiffres, liens, boutons pleins
   Jaune    #FFBD59    Fond des boutons principaux
   Lilas    #A79BF5    Survols, icônes secondaires
   Lavande  #F4F2FF    Fonds de section alternés
   Encre    #12111A    Titres de carte et texte courant
   Encre 2  #5B5870    Mentions secondaires UNIQUEMENT
   Ligne    #DED9F3    Bordures et filets
   =========================================================================== */


/* ===========================================================================
   1 — TITRES
   =========================================================================== */

.elementor h1 { font-size:56px !important; line-height:64px !important; letter-spacing:-1px !important; }
.elementor h2 { font-size:40px !important; line-height:48px !important; letter-spacing:-0.5px !important; }
.elementor h3 { font-size:20px !important; line-height:28px !important; color:#12111A !important; }

@media (max-width:1024px) {
  .elementor h1 { font-size:44px !important; line-height:52px !important; }
  .elementor h2 { font-size:34px !important; line-height:42px !important; }
}

@media (max-width:767px) {
  .elementor h1 { font-size:34px !important; line-height:42px !important; letter-spacing:-0.5px !important; }
  .elementor h2 { font-size:28px !important; line-height:36px !important; }
  .elementor h3 { font-size:19px !important; line-height:27px !important; }
}


/* ===========================================================================
   2 — TEXTE COURANT
   =========================================================================== */

.elementor-widget-text-editor:not([class*="txt-"]):not([class*="acc-"]):not([class*="frm-"]):not([class*="cand-"]):not([class*="cta-"]) p,
.elementor-widget-text-editor:not([class*="txt-"]):not([class*="acc-"]):not([class*="frm-"]):not([class*="cand-"]):not([class*="cta-"]) li {
  font-size:16px !important;
  line-height:27px !important;
  color:#12111A !important;
}

@media (max-width:767px) {
  .elementor-widget-text-editor:not([class*="txt-"]):not([class*="acc-"]):not([class*="frm-"]):not([class*="cand-"]):not([class*="cta-"]) p,
  .elementor-widget-text-editor:not([class*="txt-"]):not([class*="acc-"]):not([class*="frm-"]):not([class*="cand-"]):not([class*="cta-"]) li { line-height:26px !important; }
}


/* ===========================================================================
   3 — RÔLES DE TEXTE
   =========================================================================== */

.txt-surtitre p,
.txt-surtitre .elementor-heading-title {
  font-size:13px !important;
  line-height:18px !important;
  font-weight:700 !important;
  letter-spacing:1.5px !important;
  text-transform:uppercase !important;
  color:#1800AD !important;
}

.txt-chapo p { font-size:20px !important; line-height:32px !important; color:#12111A !important; }
.txt-intro p { font-size:18px !important; line-height:30px !important; color:#12111A !important; }
.txt-meta p, .txt-meta li { font-size:14px !important; line-height:22px !important; color:#5B5870 !important; }
.txt-lien p { font-size:15px !important; line-height:22px !important; font-weight:700 !important; color:#1800AD !important; }
.txt-lien a { color:#1800AD !important; text-decoration:none !important; }
.txt-lien a:hover { text-decoration:underline !important; }

@media (max-width:767px) {
  .txt-surtitre p,
  .txt-surtitre .elementor-heading-title { font-size:12px !important; line-height:16px !important; }
  .txt-chapo p { font-size:18px !important; line-height:28px !important; }
  .txt-intro p { font-size:17px !important; line-height:28px !important; }
}


/* ===========================================================================
   4 — LISTES D'ICÔNES
   =========================================================================== */

.elementor-widget-icon-list .elementor-icon-list-text {
  font-size:16px !important;
  line-height:26px !important;
  color:#12111A !important;
}

@media (max-width:767px) {
  .elementor-widget-icon-list .elementor-icon-list-text { line-height:25px !important; }
}


/* ===========================================================================
   5 — BOUTONS
   =========================================================================== */

.elementor-button,
a.elementor-button,
button.elementor-button {
  background-color:#FFBD59 !important;
  color:#12111A !important;
  border:none !important;
  border-radius:8px !important;
  padding:16px 32px !important;
  font-family:"Montserrat", sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:20px !important;
  text-decoration:none !important;
  display:inline-block !important;
  width:auto !important;
  transition:background-color .3s ease, color .3s ease !important;
}

.elementor-button:hover,
.elementor-button:focus { background-color:#1800AD !important; color:#FFFFFF !important; }

.btn-contour .elementor-button {
  background-color:transparent !important;
  color:#1800AD !important;
  border:2px solid #1800AD !important;
}
.btn-contour .elementor-button:hover { background-color:#1800AD !important; color:#FFFFFF !important; }

.btn-blanc .elementor-button {
  background-color:transparent !important;
  color:#FFFFFF !important;
  border:2px solid rgba(255,255,255,.7) !important;
}
.btn-blanc .elementor-button:hover {
  background-color:#FFFFFF !important;
  color:#1800AD !important;
  border-color:#FFFFFF !important;
}

@media (max-width:767px) {
  .elementor-button,
  a.elementor-button,
  button.elementor-button { padding:15px 26px !important; }
}


/* ===========================================================================
   6 — ESPACEMENTS
   =========================================================================== */

.elementor-widget-text-editor p:last-child { margin-bottom:0 !important; }
.elementor-widget-icon-list .elementor-icon-list-items > li:last-child { margin-bottom:0 !important; }


/* ===========================================================================
   7 — TITRE DE PAGE DU THÈME
   =========================================================================== */

.page-header .entry-title { display:none !important; }


/* ===========================================================================
   8 — HERO /financer
   =========================================================================== */

@media (max-width:1024px) {
  .hero-financer > .e-con-inner {
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .hero-financer > .e-con-inner > * { width:100% !important; max-width:100% !important; }
  .hero-financer img { max-width:240px !important; height:auto !important; }
}


/* ===========================================================================
   9 — BANDE DES TROIS CHIFFRES /financer
   =========================================================================== */

.bande-chiffres .elementor-counter-number-wrapper {
  font-size:56px !important;
  line-height:62px !important;
  color:#1800AD !important;
}
.bande-chiffres .elementor-counter-title {
  font-size:15px !important;
  line-height:22px !important;
  color:#5B5870 !important;
}
.bande-chiffres .elementor-counter,
.bande-chiffres .elementor-counter-number-wrapper,
.bande-chiffres .elementor-counter-title {
  width:100% !important;
  text-align:center !important;
  justify-content:center !important;
}
.bande-chiffres .elementor-widget-counter { width:100% !important; align-self:stretch !important; }

@media (max-width:1024px) {
  .bande-chiffres .elementor-counter-number-wrapper { font-size:48px !important; line-height:54px !important; }
}
@media (max-width:767px) {
  .bande-chiffres .elementor-counter-number-wrapper { font-size:40px !important; line-height:46px !important; }
  .bande-chiffres .elementor-counter-title { font-size:14px !important; line-height:20px !important; }
}


/* ===========================================================================
   10 — SÉLECTEUR DE SITUATION /financer
   =========================================================================== */

.selecteur-situation > .e-con-inner > .e-con:last-child,
.selecteur-situation > .e-con:last-child {
  flex-wrap:wrap !important;
  align-items:stretch !important;
}

.selecteur-situation > .e-con-inner > .e-con:last-child > *,
.selecteur-situation > .e-con:last-child > * {
  flex:1 1 calc(25% - 15px) !important;
  max-width:calc(25% - 15px) !important;
}

@media (min-width:768px) and (max-width:1024px) {
  .selecteur-situation > .e-con-inner > .e-con:last-child > *,
  .selecteur-situation > .e-con:last-child > * {
    flex:1 1 calc(50% - 10px) !important;
    max-width:calc(50% - 10px) !important;
  }
}

@media (max-width:767px) {
  .selecteur-situation > .e-con-inner > .e-con:last-child > *,
  .selecteur-situation > .e-con:last-child > * {
    flex:1 1 100% !important;
    max-width:100% !important;
  }
}


/* ===========================================================================
   11 — SECTION PUBLICS ET SOMMAIRE COLLANT /financer
   =========================================================================== */

@media (min-width:1025px) {
  html, body { overflow-x:clip !important; }

  .section-publics > .e-con-inner {
    align-items:flex-start !important;
    overflow:visible !important;
  }
  .section-publics > .e-con-inner > .e-con:first-child {
    flex:1 1 auto !important;
    width:auto !important;
    max-width:none !important;
  }
  .sommaire-collant {
    flex:0 0 300px !important;
    width:300px !important;
    max-width:300px !important;
    position:sticky !important;
    top:24px !important;
    align-self:flex-start !important;
    height:fit-content !important;
  }
}

.sommaire-collant .elementor-icon-list-text { font-size:14px !important; line-height:22px !important; }

@media (max-width:1024px) {
  .section-publics > .e-con-inner { flex-direction:column !important; }
  .section-publics > .e-con-inner > .e-con:first-child { width:100% !important; max-width:100% !important; }
  .sommaire-collant { display:none !important; }
}


/* ===========================================================================
   12 — FAQ
   =========================================================================== */

.faq-accordeon .e-n-accordion-item {
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important;
  border-radius:12px !important;
  box-shadow:0 10px 30px -18px rgba(24,0,173,.22) !important;
  overflow:hidden !important;
  transition:border-color .25s ease, box-shadow .25s ease;
}

.faq-accordeon .e-n-accordion-item + .e-n-accordion-item { margin-top:12px !important; }
.faq-accordeon .e-n-accordion-item:hover { border-color:#A79BF5 !important; }

.faq-accordeon .e-n-accordion-item[open] {
  border-color:#1800AD !important;
  box-shadow:0 14px 34px -16px rgba(24,0,173,.28) !important;
}

.faq-accordeon .e-n-accordion-item-title {
  padding:20px 24px !important;
  line-height:28px !important;
  cursor:pointer;
}

.faq-accordeon .e-n-accordion-item-title h3,
.faq-accordeon .e-n-accordion-item-title-text {
  font-size:19px !important;
  line-height:28px !important;
  font-weight:600 !important;
  color:#12111A !important;
  margin:0 !important;
}

.faq-accordeon .e-n-accordion-item[open] .e-n-accordion-item-title h3,
.faq-accordeon .e-n-accordion-item-title:hover h3 { color:#1800AD !important; }

.faq-accordeon .e-n-accordion-item .elementor-widget-text-editor p {
  font-size:16px !important;
  line-height:28px !important;
  color:#12111A !important;
}

@media (max-width:767px) {
  .faq-accordeon .e-n-accordion-item-title { padding:16px 18px !important; }
  .faq-accordeon .e-n-accordion-item-title h3,
  .faq-accordeon .e-n-accordion-item-title-text { font-size:17px !important; line-height:26px !important; }
  .faq-accordeon .e-n-accordion-item .elementor-widget-text-editor p { line-height:27px !important; }
}


/* ===========================================================================
   13 — BANDEAU D'APPEL FINAL
   =========================================================================== */

.bandeau-cta {
  flex-direction:row !important;
  align-items:stretch !important;
  min-height:366px !important;
  overflow:hidden !important;
}

.bandeau-cta > .e-con {
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
  justify-content:center !important;
  align-items:flex-start !important;
  padding:36px 24px 36px 44px !important;
}

.bandeau-cta > .e-con > .e-con,
.bandeau-cta > .e-con > .e-con > .e-con-inner {
  padding-left:0 !important;
  padding-right:0 !important;
}

.bandeau-cta .elementor-widget.cta-texte {
  padding:0 !important;
  width:auto !important;
  max-width:100% !important;
}

.bandeau-cta h2 {
  font-size:32px !important;
  line-height:42px !important;
  color:#FFFFFF !important;
  letter-spacing:-0.3px !important;
}

.bandeau-cta .elementor-widget-text-editor p {
  font-size:16px !important;
  line-height:26px !important;
  color:#C9C2F5 !important;
}

.bandeau-cta .elementor-button { font-size:15px !important; padding:13px 26px !important; }

.bandeau-cta .cta-image {
  align-self:flex-end !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  padding:0 !important;
}

.bandeau-cta .cta-image img {
  height:auto !important;
  display:block !important;
  border-radius:0 !important;
}

@media (max-width:1024px) {
  .bandeau-cta h2 { font-size:28px !important; line-height:36px !important; }
  .bandeau-cta > .e-con { padding:30px 20px 30px 28px !important; }
}

@media (max-width:767px) {
  .bandeau-cta { flex-direction:column !important; min-height:0 !important; }
  .bandeau-cta h2 { font-size:24px !important; line-height:32px !important; }

  .bandeau-cta > .e-con {
    width:100% !important;
    max-width:100% !important;
    padding:28px 20px 8px !important;
  }
  .bandeau-cta > .e-con > .elementor-widget,
  .bandeau-cta > .e-con > .e-con {
    width:100% !important;
    max-width:100% !important;
  }
  .bandeau-cta > .e-con > .e-con,
  .bandeau-cta > .e-con > .e-con > .e-con-inner {
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .bandeau-cta .elementor-button { width:100% !important; text-align:center !important; }

  .bandeau-cta .cta-image {
    position:static !important;
    height:auto !important;
    width:100% !important;
    max-width:100% !important;
    flex:0 0 auto !important;
    align-self:auto !important;
    justify-content:center !important;
  }
  .bandeau-cta .cta-image img {
    position:static !important;
    width:240px !important;
    max-width:72% !important;
    margin:0 auto !important;
  }
}

@media (min-width:1025px) {
  .bandeau-cta .cta-image {
    flex:0 0 380px !important;
    width:380px !important;
    max-width:380px !important;
    height:0 !important;
    min-height:0 !important;
    overflow:visible !important;
    position:relative !important;
  }
  .bandeau-cta .cta-image img {
    position:absolute !important;
    right:0 !important;
    bottom:0 !important;
    width:380px !important;
    max-width:none !important;
  }
}

@media (min-width:768px) and (max-width:1024px) {
  .bandeau-cta .cta-image {
    flex:0 0 300px !important;
    width:300px !important;
    max-width:300px !important;
    height:0 !important;
    min-height:0 !important;
    overflow:visible !important;
    position:relative !important;
  }
  .bandeau-cta .cta-image img {
    position:absolute !important;
    right:0 !important;
    bottom:0 !important;
    width:300px !important;
    max-width:none !important;
  }
}


/* ===========================================================================
   14 — GOUTTIÈRES LATÉRALES
   =========================================================================== */

@media (min-width:768px) and (max-width:1024px) {
  .elementor > .e-con > .e-con-inner {
    padding-left:28px !important;
    padding-right:28px !important;
  }
}

@media (max-width:767px) {
  .elementor > .e-con > .e-con-inner {
    padding-left:20px !important;
    padding-right:20px !important;
  }
}


/* ===========================================================================
   15 — EN-TÊTE FLOTTANT
   Révision 4 : partie tablette et mobile entièrement refaite.
   =========================================================================== */

/* --- La zone fixe --- */
.entete-zone {
  position:fixed !important; top:0; left:0; right:0; z-index:200;
  padding:28px 16px 0 !important;
  transition:padding .28s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}
.entete-zone > * { pointer-events:auto }
.entete-zone.est-defile { padding-top:16px !important }

/* --- La barre --- */
.entete-barre {
  position:relative;
  width:100% !important; max-width:1140px !important;
  margin-left:auto !important; margin-right:auto !important;
  min-height:70px !important;
  padding:0 12px 0 22px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.58) !important;
  -webkit-backdrop-filter:blur(18px) saturate(170%);
  backdrop-filter:blur(18px) saturate(170%);
  border:1px solid rgba(255,255,255,.7) !important;
  box-shadow:0 1px 2px rgba(18,17,26,.04), 0 20px 44px -26px rgba(24,0,173,.30) !important;
  transition:min-height .28s cubic-bezier(.4,0,.2,1), background-color .28s ease,
             box-shadow .28s ease, border-color .28s ease;
}
.est-defile .entete-barre {
  min-height:60px !important;
  background:rgba(255,255,255,.88) !important;
  border-color:rgba(222,217,243,.9) !important;
  box-shadow:0 1px 2px rgba(18,17,26,.05), 0 16px 34px -20px rgba(24,0,173,.36) !important;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .entete-barre { background:rgba(255,255,255,.95) !important }
}

/* --- Logo --- */
.entete-logo { display:flex !important; align-items:center !important }
.entete-logo img {
  height:34px !important; width:auto !important; display:block;
  transition:height .28s ease;
}
.est-defile .entete-logo img { height:30px !important }

/* --- Le widget HTML qui porte la navigation --- */
.entete-nav-widget { flex:1 1 auto !important; display:flex !important; align-items:stretch !important }
.entete-nav-widget > .elementor-widget-container,
.entete-nav-widget > .entete-nav { width:100%; display:flex; align-items:stretch }
.entete-nav { display:flex; align-items:stretch; width:100%; gap:22px }

/* --- Menu principal --- */
.entete-menu { display:flex; align-items:stretch; gap:24px; margin-left:auto }
.entete-onglet { position:relative; display:flex; align-items:center }
.entete-lien {
  display:inline-flex; align-items:center; gap:5px;
  font-family:"Montserrat",sans-serif;
  font-size:14.5px; font-weight:600; line-height:20px; letter-spacing:-.1px;
  color:#12111A; text-decoration:none; padding:6px 0;
  transition:color .2s ease; white-space:nowrap;
}
.entete-onglet:hover .entete-lien, .entete-lien:hover { color:#1800AD }
.entete-chev { width:9px; height:9px; opacity:.55; transition:transform .2s ease }
.entete-onglet:hover .entete-chev { transform:rotate(180deg) }

/* --- Panneaux déroulants, fond blanc opaque --- */
.entete-panneau {
  position:absolute; top:100%; left:-18px; margin-top:12px;
  min-width:420px; padding:10px;
  border-radius:20px;
  background:#FFFFFF;
  border:1px solid #DED9F3;
  box-shadow:0 1px 2px rgba(18,17,26,.06), 0 28px 56px -22px rgba(24,0,173,.40);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
}
.entete-panneau-court { min-width:340px }
.entete-onglet:hover .entete-panneau,
.entete-onglet.ouvert .entete-panneau { opacity:1; visibility:visible; transform:translateY(0) }
.entete-panneau::before { content:""; position:absolute; top:-14px; left:0; right:0; height:14px }
.entete-panneau a {
  display:block; padding:11px 14px; border-radius:13px; text-decoration:none;
  transition:background-color .18s ease;
}
.entete-panneau a:hover { background:#F4F2FF }
.entete-panneau .t {
  display:block; font-family:"Montserrat",sans-serif;
  font-size:14.5px; font-weight:600; line-height:20px; color:#12111A;
}
.entete-panneau a:hover .t { color:#1800AD }
.entete-panneau .d {
  display:block; font-family:"Montserrat",sans-serif;
  font-size:12.5px; font-weight:400; line-height:18px; color:#5B5870; margin-top:2px;
}
.entete-sep { height:1px; background:#DED9F3; margin:8px 12px }
.entete-tout {
  font-family:"Montserrat",sans-serif; font-size:13.5px !important;
  font-weight:700; color:#1800AD; padding:10px 14px !important;
}
.entete-tout:hover { background:transparent !important; text-decoration:underline }

/* --- Boutons --- */
.entete-actions { display:flex; align-items:center; gap:10px; flex:0 0 auto }
.entete-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  font-family:"Montserrat",sans-serif;
  font-size:14px; font-weight:700; line-height:18px; text-decoration:none;
  border-radius:999px; padding:11px 20px; white-space:nowrap;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
.entete-btn svg { width:14px; height:14px; flex:0 0 auto }
.entete-btn-tel { color:#1800AD; border:1.5px solid rgba(24,0,173,.35); background:transparent }
.entete-btn-tel:hover { border-color:#1800AD; background:rgba(24,0,173,.06); color:#1800AD }
.entete-btn-cta { background:#FFBD59; color:#12111A; border:1.5px solid transparent }
.entete-btn-cta:hover { background:#1800AD; color:#FFFFFF }

/* ---------------------------------------------------------------------------
   15 bis — BURGER
   Trois barres qui se changent en croix à l'ouverture. Contour fin plutôt
   qu'aplat coloré : plus discret sur une barre déjà translucide.
   --------------------------------------------------------------------------- */
.entete-burger {
  display:none; width:44px; height:44px; padding:0;
  border:1.5px solid rgba(24,0,173,.22); border-radius:14px;
  background:rgba(255,255,255,.5); cursor:pointer; flex:0 0 auto;
  align-items:center; justify-content:center; align-self:center;
  transition:border-color .2s ease, background-color .2s ease;
}
.entete-burger:hover { border-color:rgba(24,0,173,.45); background:rgba(24,0,173,.05) }

.entete-burger span {
  display:block; width:19px; height:2px; border-radius:2px;
  background:#1800AD; position:relative;
  transition:background-color .2s ease .1s;
}
.entete-burger span::before, .entete-burger span::after {
  content:""; position:absolute; left:0; width:19px; height:2px;
  border-radius:2px; background:#1800AD;
  transition:top .2s ease .2s, transform .2s ease, width .2s ease;
}
.entete-burger span::before { top:-6px }
.entete-burger span::after  { top:6px }

/* État ouvert : la barre du milieu disparaît, les deux autres se croisent */
body.entete-ouvert .entete-burger {
  border-color:#1800AD; background:rgba(24,0,173,.08);
}
body.entete-ouvert .entete-burger span { background:transparent; transition:background-color .1s ease }
body.entete-ouvert .entete-burger span::before,
body.entete-ouvert .entete-burger span::after {
  top:0; transition:top .2s ease, transform .2s ease .2s;
}
body.entete-ouvert .entete-burger span::before { transform:rotate(45deg) }
body.entete-ouvert .entete-burger span::after  { transform:rotate(-45deg) }

/* ---------------------------------------------------------------------------
   15 quater — CORRECTIF DU BURGER
   Elementor applique son style de bouton global à toute balise <button> :
       .elementor-kit-6 button{ background-color:#FFBD59; padding:… }
   Ce sélecteur vaut (0,1,1) et battait les règles .entete-burger, en (0,1,0).
   Mesuré sur la page publiée : bouton JAUNE, 66 px de large au lieu de 44, et
   surtout une boîte de contenu ramenée à zéro par le remplissage du kit, ce
   qui mettait la barre du milieu à 0 px. Le burger n'affichait donc que DEUX
   lignes, celles dessinées en ::before et ::after.
   Tout est redéclaré ici en button.entete-burger, avec !important.
   --------------------------------------------------------------------------- */
button.entete-burger{
  -webkit-appearance:none !important; appearance:none !important;
  width:44px !important; height:44px !important;
  min-width:0 !important; min-height:0 !important;
  padding:0 !important;
  background-color:rgba(255,255,255,.55) !important;
  background-image:none !important;
  border:1.5px solid rgba(24,0,173,.22) !important;
  border-radius:14px !important;
  color:#1800AD !important;
  box-shadow:none !important;
  font-size:0 !important; line-height:0 !important;
  transition:border-color .2s ease, background-color .2s ease !important;
}

/* Les trois barres. La largeur passe en !important, sans quoi le remplissage
   du kit la ramène à zéro. */
button.entete-burger span{
  display:block !important;
  width:19px !important; height:2px !important;
  border-radius:2px !important;
  background-color:#1800AD !important;
}
button.entete-burger span::before,
button.entete-burger span::after{
  content:"" !important; position:absolute !important; left:0 !important;
  width:19px !important; height:2px !important;
  border-radius:2px !important;
  background-color:#1800AD !important;
}
button.entete-burger span::before{ top:-6px !important; }
button.entete-burger span::after { top:6px !important; }

/* Survol : le bouton passe en blanc opaque, le contour en violet plein. */
button.entete-burger:hover,
button.entete-burger:focus,
button.entete-burger:focus-visible{
  background-color:#FFFFFF !important;
  border-color:#1800AD !important;
}

/* État ouvert : la barre du milieu s'efface, les deux autres se croisent. */
body.entete-ouvert button.entete-burger{
  background-color:#FFFFFF !important;
  border-color:#1800AD !important;
}
body.entete-ouvert button.entete-burger span{ background-color:transparent !important; }
body.entete-ouvert button.entete-burger span::before,
body.entete-ouvert button.entete-burger span::after{ top:0 !important; }
body.entete-ouvert button.entete-burger span::before{ transform:rotate(45deg) !important; }
body.entete-ouvert button.entete-burger span::after { transform:rotate(-45deg) !important; }

/* ---------------------------------------------------------------------------
   15 ter — PANNEAU MOBILE
   --------------------------------------------------------------------------- */
.entete-mobile {
  display:none; position:absolute; top:100%; left:0; right:0; margin-top:12px;
  border-radius:24px; background:#FFFFFF; border:1px solid #DED9F3;
  box-shadow:0 1px 2px rgba(18,17,26,.06), 0 28px 60px -22px rgba(24,0,173,.45);
  padding:10px; max-height:calc(100vh - 130px); overflow-y:auto;
  overscroll-behavior:contain;
}
body.entete-ouvert .entete-mobile { display:block; animation:entete-apparait .22s ease both }
@keyframes entete-apparait { from{opacity:0; transform:translateY(-8px)} to{opacity:1; transform:translateY(0)} }

.entete-acc { border-bottom:1px solid rgba(222,217,243,.7) }
.entete-acc:last-of-type { border-bottom:none }
.entete-acc > button, .entete-acc > a {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:16px 14px; border:none; background:transparent; border-radius:14px;
  font-family:"Montserrat",sans-serif; font-size:16px; font-weight:600;
  line-height:22px; color:#12111A; text-align:left; text-decoration:none; cursor:pointer;
  transition:background-color .16s ease, color .16s ease;
}
.entete-acc > button:hover, .entete-acc > a:hover { background:#F4F2FF; color:#1800AD }
.entete-acc.ouvert > button { color:#1800AD }
.entete-plus { width:13px; height:13px; color:#1800AD; flex:0 0 auto; transition:transform .22s ease }
.entete-acc.ouvert .entete-plus { transform:rotate(180deg) }

.entete-sous { display:none; padding:2px 6px 12px }
.entete-acc.ouvert .entete-sous { display:block }
.entete-sous a {
  display:block; padding:12px 14px; border-radius:13px;
  text-decoration:none; background:#F7F6FF; margin-bottom:6px;
  border:1px solid transparent; transition:border-color .16s ease, background-color .16s ease;
}
.entete-sous a:hover { background:#F4F2FF; border-color:#DED9F3 }
.entete-sous a:last-child { margin-bottom:0 }
.entete-sous .t {
  display:block; font-family:"Montserrat",sans-serif;
  font-size:14.5px; font-weight:600; line-height:20px; color:#12111A;
}
.entete-sous .d {
  display:block; font-family:"Montserrat",sans-serif;
  font-size:12.5px; font-weight:400; line-height:18px; color:#5B5870; margin-top:2px;
}

/* Bloc d'actions en bas du panneau */
.entete-mobile-cta {
  display:flex; flex-direction:column; gap:10px;
  padding:14px 6px 6px; margin-top:6px;
  border-top:1px solid #DED9F3;
}
.entete-mobile-cta .entete-btn {
  padding:15px 18px; font-size:15.5px; border-radius:14px; width:100%;
}

/* --- Décalage du contenu sous la barre --- */
.site-main .elementor > .e-con:first-of-type > .e-con-inner,
.site-main .elementor > .e-con-full:first-of-type { padding-top:118px !important }

/* ----- Réduction progressive avant la bascule ----- */
@media (max-width:1180px) {
  .entete-menu { gap:18px }
  .entete-lien { font-size:14px }
}

/* ----- TABLETTE ET MOBILE : bascule ----- */
@media (max-width:1024px) {
  .entete-menu { display:none }
  .entete-nav { justify-content:flex-end; gap:10px; align-items:center }
  .entete-actions { gap:8px }
  .entete-burger { display:flex }

  /* Le bouton téléphone devient un rond : une seule cible, immédiate */
  .entete-btn-tel {
    width:44px; height:44px; padding:0 !important; border-radius:14px;
    border-width:1.5px; gap:0;
  }
  .entete-btn-tel span { display:none }
  .entete-btn-tel svg { width:17px; height:17px }

  /* « Candidater » quitte la barre et descend dans le panneau */
  .entete-actions .entete-btn-cta { display:none }
  .entete-mobile-cta .entete-btn-cta { display:inline-flex }
  .entete-mobile-cta .entete-btn-tel {
    width:100%; height:auto; padding:15px 18px !important; border-radius:14px; gap:8px;
  }
  .entete-mobile-cta .entete-btn-tel span { display:inline }
  .entete-mobile-cta .entete-btn-tel svg { width:15px; height:15px }

  .site-main .elementor > .e-con:first-of-type > .e-con-inner,
  .site-main .elementor > .e-con-full:first-of-type { padding-top:104px !important }
}

/* ----- MOBILE ----- */
@media (max-width:767px) {
  .entete-zone { padding:12px 12px 0 !important }
  .entete-zone.est-defile { padding-top:8px !important }
  .entete-barre {
    min-height:64px !important; padding:0 10px 0 16px !important;
    border-radius:20px !important;
  }
  .est-defile .entete-barre { min-height:58px !important }
  .entete-logo img { height:28px !important }
  .est-defile .entete-logo img { height:26px !important }
  .entete-nav { gap:8px }

  .entete-btn-tel, .entete-burger { width:42px; height:42px; border-radius:13px }
  .entete-btn-tel svg { width:16px; height:16px }
  button.entete-burger{ width:42px !important; height:42px !important; border-radius:13px !important; }
  button.entete-burger span,
  button.entete-burger span::before,
  button.entete-burger span::after { width:18px !important; }

  .entete-mobile { margin-top:10px; border-radius:20px; max-height:calc(100vh - 110px) }
  .entete-acc > button, .entete-acc > a { padding:15px 12px; font-size:15.5px }
  .entete-sous a { padding:11px 12px }

  .site-main .elementor > .e-con:first-of-type > .e-con-inner,
  .site-main .elementor > .e-con-full:first-of-type { padding-top:92px !important }
}


/* ===========================================================================
   16 — HERO /financer : LA MASCOTTE
   =========================================================================== */

.hero-mascotte { width:100% !important; max-width:none !important }
.hero-mascotte img {
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  display:block;
}

@media (min-width:1400px) {
  .hero-colonne-image {
    width:620px !important;
    max-width:620px !important;
    margin-right:-100px !important;
  }
}

@media (max-width:1024px) {
  .hero-colonne-image {
    width:100% !important;
    max-width:340px !important;
    margin-right:0 !important;
  }
}

@media (max-width:767px) {
  .hero-colonne-image {
    max-width:260px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* ===========================================================================
   17 — PRIORITÉ SUR LES LIENS DE L'EN-TÊTE
   =========================================================================== */

.entete-nav a.entete-lien {
  font-size:14.5px !important;
  line-height:20px !important;
  font-weight:600 !important;
  letter-spacing:-.1px !important;
  color:#12111A !important;
}
.entete-nav .entete-onglet:hover a.entete-lien,
.entete-nav a.entete-lien:hover { color:#1800AD !important; }

.entete-nav a.entete-btn {
  font-size:14px !important;
  line-height:18px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  min-height:42px !important;
}

.entete-nav a.entete-btn-tel {
  color:#1800AD !important;
  background-color:transparent !important;
  border-color:rgba(24,0,173,.35) !important;
}
.entete-nav a.entete-btn-tel:hover {
  color:#FFFFFF !important;
  background-color:#1800AD !important;
  border-color:#1800AD !important;
}

.entete-nav a.entete-btn-cta {
  color:#12111A !important;
  background-color:#FFBD59 !important;
}
.entete-nav a.entete-btn-cta:hover {
  color:#FFFFFF !important;
  background-color:#1800AD !important;
}

.entete-panneau a { font-size:14.5px !important; line-height:20px !important; letter-spacing:0 !important; }
.entete-panneau a .t { font-size:14.5px !important; line-height:20px !important; color:#12111A !important; }
.entete-panneau a .d { font-size:12.5px !important; line-height:18px !important; color:#5B5870 !important; }
.entete-panneau a:hover .t { color:#1800AD !important; }
.entete-panneau a.entete-tout {
  font-size:13.5px !important; line-height:20px !important;
  font-weight:700 !important; color:#1800AD !important;
}

.entete-mobile a { letter-spacing:0 !important; }
.entete-mobile .entete-acc > a {
  font-size:16px !important; line-height:22px !important;
  font-weight:600 !important; color:#12111A !important;
}
.entete-sous a { font-size:14.5px !important; line-height:20px !important; }
.entete-sous a .t { font-size:14.5px !important; line-height:20px !important; color:#12111A !important; }
.entete-sous a .d { font-size:12.5px !important; line-height:18px !important; color:#5B5870 !important; }
.entete-mobile-cta a.entete-btn { font-size:15.5px !important; line-height:20px !important; min-height:50px !important; }

/* Le rond du téléphone en tablette et mobile doit garder sa taille :
   la règle générale ci-dessus imposerait une hauteur minimale de 42 px
   et un remplissage horizontal qui le déformeraient. */
@media (max-width:1024px) {
  .entete-nav a.entete-btn-tel {
    min-height:44px !important; width:44px !important; padding:0 !important;
  }
  .entete-nav .entete-mobile-cta a.entete-btn-tel {
    width:100% !important; min-height:50px !important; padding:15px 18px !important;
  }
}
@media (max-width:767px) {
  .entete-nav a.entete-btn-tel { min-height:42px !important; width:42px !important; }
  .entete-nav .entete-mobile-cta a.entete-btn-tel { width:100% !important; }
}


/* ===========================================================================
   18 — PAGE D'ACCUEIL

   RAPPEL DE BALISAGE, VÉRIFIÉ SUR VOTRE SITE LE 24/09/2026
   Elementor 4 ne produit PLUS de .elementor-widget-container : le contenu du
   widget est enfant direct de .elementor-widget. Toutes les règles de mise en
   page visent donc le widget lui-même, avec l'ancienne enveloppe en second
   sélecteur au cas où une future version la rétablirait.

   Construction :
   — conteneur de SECTION « En boîte », largeur 1140 ;
   — conteneurs IMBRIQUÉS en « Pleine largeur » ;
   — écart 0 et marge intérieure 0 partout.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   18.1 — OSSATURE DES SECTIONS
   --------------------------------------------------------------------------- */
.acc-sec > .e-con-inner{ padding:90px 24px !important; }
.acc-sec.e-con-full{ padding:90px 24px !important; }
.acc-sec-lavande{ background-color:#F4F2FF !important; }

/* ---------------------------------------------------------------------------
   18.2 — TEXTES RÉCURRENTS
   --------------------------------------------------------------------------- */
.acc-surtitre, .acc-surtitre p{
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important; line-height:18px !important; font-weight:700 !important;
  letter-spacing:1.5px !important; text-transform:uppercase !important;
  color:#1800AD !important;
}
.acc-surtitre p{ margin:0 !important; }
.acc-surtitre{ margin:0 0 10px !important; }

.acc-h2 .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:40px !important; line-height:48px !important; font-weight:700 !important;
  letter-spacing:-.5px !important; color:#1800AD !important; margin:0 !important;
}

.acc-chapo, .acc-chapo p{
  font-size:18px !important; line-height:30px !important; color:#5B5870 !important;
}
.acc-chapo p{ margin:0 !important; }
.acc-chapo{ margin-top:14px !important; }

/* ---------------------------------------------------------------------------
   18.3 — BOUTONS
   --------------------------------------------------------------------------- */
.acc-btn .elementor-button{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  gap:9px !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:20px !important; font-weight:700 !important;
  letter-spacing:0 !important; text-decoration:none !important;
  border-radius:10px !important; padding:15px 26px !important; white-space:nowrap !important;
  border:2px solid transparent !important;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.acc-btn .elementor-button-content-wrapper{ align-items:center !important; gap:9px !important; }
.acc-btn .elementor-button-icon svg{ width:14px !important; height:14px !important; fill:currentColor !important; }

.acc-btn-jaune .elementor-button{ background-color:#FFBD59 !important; color:#12111A !important; }
.acc-btn-jaune .elementor-button:hover{ background-color:#1800AD !important; color:#FFFFFF !important; }

.acc-btn-contour .elementor-button{ background-color:transparent !important; color:#1800AD !important; border-color:#DED9F3 !important; }
.acc-btn-contour .elementor-button:hover{ background-color:rgba(24,0,173,.05) !important; color:#1800AD !important; border-color:#1800AD !important; }

.acc-btn-blanc .elementor-button{ background-color:transparent !important; color:#FFFFFF !important; border-color:rgba(255,255,255,.55) !important; }
.acc-btn-blanc .elementor-button:hover{ background-color:#FFFFFF !important; color:#1800AD !important; border-color:#FFFFFF !important; }

.acc-voir .elementor-button{
  background-color:transparent !important; border:none !important; padding:0 !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:20px !important; font-weight:700 !important;
  color:#1800AD !important; white-space:nowrap !important;
}
.acc-voir .elementor-button:hover{ color:#1800AD !important; text-decoration:underline !important; }

/* ---------------------------------------------------------------------------
   18.4 — SECTION 1 : HERO
   --------------------------------------------------------------------------- */
.acc-hero{ background-color:#F4F2FF !important; overflow:hidden !important; }
.acc-hero > .e-con-inner{ padding:118px 24px 120px !important; }
.acc-hero-txt{ flex:1 1 auto !important; max-width:600px !important; }
.acc-hero-h1 .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:56px !important; line-height:62px !important; font-weight:800 !important;
  letter-spacing:-1.4px !important; color:#1800AD !important; margin:0 0 20px !important;
}
.acc-hero-p, .acc-hero-p p{ font-size:18px !important; line-height:30px !important; color:#12111A !important; }
.acc-hero-p p{ margin:0 !important; }
.acc-hero-p{ margin-bottom:12px !important; }

.acc-hero-p2, .acc-hero-p2 p{ font-size:16px !important; line-height:27px !important; color:#5B5870 !important; }
.acc-hero-p2 p{ margin:0 !important; }
.acc-hero-p2{ margin-bottom:30px !important; }

.acc-hero-cta{ flex-direction:row !important; flex-wrap:wrap !important; gap:12px !important; align-items:center !important; }
.acc-hero-img{ flex:0 0 470px !important; position:relative !important; align-items:center !important; justify-content:flex-end !important; }
.acc-hero-img img{ width:100% !important; max-width:430px !important; display:block !important; margin:0 auto !important; }

.acc-note{ position:absolute !important; top:6px !important; right:-6px !important; width:210px !important; z-index:2 !important; transform:rotate(-7deg); }
.acc-note, .acc-note p{
  font-family:"Bradley Hand","Segoe Script","Comic Sans MS",cursive !important;
  font-size:17px !important; line-height:24px !important; color:#12111A !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   18.5 — SECTION 2 : BANDE DES CHIFFRES
   --------------------------------------------------------------------------- */
.acc-chiffres{ margin-top:-46px !important; position:relative !important; z-index:2 !important; }
.acc-chiffres > .e-con-inner{ padding:0 24px !important; }
.acc-chiffres-carte{
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:18px !important;
  box-shadow:0 1px 2px rgba(18,17,26,.04), 0 22px 44px -28px rgba(24,0,173,.30) !important;
  flex-direction:row !important; align-items:stretch !important; gap:0 !important; padding:0 !important;
}
.acc-chiffre,
.acc-chiffres-carte > .e-con{
  flex:1 1 0 !important; width:auto !important; max-width:none !important; min-width:0 !important;
  flex-direction:row !important; align-items:center !important; justify-content:flex-start !important;
  gap:16px !important;
  padding:26px 24px !important;
  padding-block:26px !important; padding-inline:24px !important;
}
.acc-chiffre + .acc-chiffre,
.acc-chiffres-carte > .e-con + .e-con{ border-left:1px solid #EDE9FB !important; }

.acc-chiffre-ico{
  flex:0 0 48px !important; width:48px !important; height:48px !important;
  border-radius:13px !important; background-color:#F4F2FF !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
.acc-chiffre-ico .elementor-icon-wrapper,
.acc-chiffre-ico .elementor-widget-container{ display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; height:100% !important; }
.acc-chiffre-ico .elementor-icon{ font-size:22px !important; color:#1800AD !important; line-height:1 !important; }
.acc-chiffre-ico .elementor-icon i{ font-size:inherit !important; color:inherit !important; }
.acc-chiffre-ico svg{ width:1em !important; height:1em !important; fill:currentColor !important; }

.acc-chiffre-txt{ flex:1 1 auto !important; min-width:0 !important; gap:0 !important; }
.acc-chiffre-n, .acc-chiffre-n p{
  font-family:"Montserrat",sans-serif !important;
  font-size:34px !important; line-height:38px !important; font-weight:800 !important;
  letter-spacing:-1px !important; color:#1800AD !important; margin:0 !important;
}
.acc-chiffre-l, .acc-chiffre-l p{
  font-size:14px !important; line-height:19px !important; color:#5B5870 !important;
  margin:2px 0 0 !important;
}

/* ---------------------------------------------------------------------------
   18.6 — EN-TÊTE DE SECTION
   --------------------------------------------------------------------------- */
.acc-tete{
  flex-direction:row !important; align-items:flex-end !important;
  justify-content:space-between !important; gap:24px !important; margin-bottom:34px !important;
}
.acc-tete-txt{ flex:1 1 auto !important; max-width:760px !important; gap:0 !important; }

/* ---------------------------------------------------------------------------
   18.7 — SECTION 3 : LES QUATRE FORMATIONS
   --------------------------------------------------------------------------- */
.acc-cartes-4{ display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:20px !important; }
.acc-carte,
.acc-cartes-4 > .e-con{
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:16px !important;
  padding:24px !important; padding-block:24px !important; padding-inline:24px !important;
  gap:0 !important; height:100% !important;
  box-shadow:0 1px 2px rgba(18,17,26,.03), 0 16px 34px -26px rgba(24,0,173,.26) !important;
  transition:border-color .2s ease, transform .2s ease;
}
.acc-carte:hover,
.acc-cartes-4 > .e-con:hover{ border-color:#A79BF5 !important; transform:translateY(-3px); }
.acc-carte-ico{
  width:56px !important; height:56px !important; border-radius:14px !important;
  background-color:#F4F2FF !important; margin-bottom:18px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
.acc-carte-ico .elementor-icon-wrapper,
.acc-carte-ico .elementor-widget-container{ display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; height:100% !important; }
.acc-carte-ico .elementor-icon{ font-size:26px !important; color:#1800AD !important; line-height:1 !important; }
.acc-carte-ico .elementor-icon i{ font-size:inherit !important; color:inherit !important; }
.acc-carte-ico svg{ width:1em !important; height:1em !important; fill:currentColor !important; }
.acc-carte-h3 .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:25px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 12px !important;
}
.acc-pastille{
  display:inline-block; background:#FFBD59; color:#12111A;
  font-family:"Montserrat",sans-serif; font-size:12px; line-height:16px; font-weight:700;
  padding:6px 12px; border-radius:999px;
}
.acc-pastille-w{ margin-bottom:12px !important; }
.acc-carte-meta, .acc-carte-meta p{ font-size:13px !important; line-height:19px !important; color:#5B5870 !important; margin:0 !important; }
.acc-carte-meta{ margin-top:auto !important; }
.acc-carte-lien{ margin-top:16px !important; }
.acc-carte-lien .elementor-button{
  background-color:transparent !important; border:none !important; padding:0 !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:20px !important; font-weight:700 !important;
  color:#1800AD !important; justify-content:flex-start !important;
}

/* ---------------------------------------------------------------------------
   18.8 — SECTION 4 : LES QUATRE SERVICES (tuiles)
   --------------------------------------------------------------------------- */
.acc-tuiles{ display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:20px !important; }
.acc-tuile,
.acc-tuiles > .e-con{
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:16px !important;
  padding:26px 22px !important; padding-block:26px !important; padding-inline:22px !important;
  gap:0 !important; height:100% !important;
  align-items:center !important; text-align:center !important;
  transition:border-color .2s ease, transform .2s ease;
}
.acc-tuile:hover,
.acc-tuiles > .e-con:hover{ border-color:#A79BF5 !important; transform:translateY(-3px); }
.acc-tuile-ico{ margin-bottom:14px !important; }
.acc-tuile-ico .elementor-icon{ font-size:30px !important; color:#1800AD !important; line-height:1 !important; }
.acc-tuile-ico .elementor-icon i{ font-size:inherit !important; color:inherit !important; }
.acc-tuile-ico svg{ width:1em !important; height:1em !important; fill:currentColor !important; }
.acc-tuile-t .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:16px !important; line-height:22px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 !important;
}
.acc-tuile-d, .acc-tuile-d p{ font-size:13px !important; line-height:19px !important; color:#5B5870 !important; margin:0 !important; }
.acc-tuile-d{ margin-top:6px !important; }

/* ---------------------------------------------------------------------------
   18.9 — SECTION 5 : LES CONVICTIONS
   --------------------------------------------------------------------------- */
.acc-convictions{ background-color:#F4F2FF !important; border-radius:24px !important; padding:52px 48px !important; gap:0 !important; }
.acc-convictions .acc-h2{ margin-bottom:34px !important; }
.acc-principes{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:34px 48px !important; }
.acc-principe,
.acc-principes > .e-con{ flex-direction:row !important; align-items:flex-start !important; gap:18px !important; }
.acc-principe-n{
  flex:0 0 52px !important; width:52px !important; height:52px !important;
  border-radius:50% !important; background-color:#FFFFFF !important;
}
.acc-principe-n, .acc-principe-n p{
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:52px !important; font-weight:800 !important;
  color:#1800AD !important; text-align:center !important; margin:0 !important;
}
.acc-principe-txt{ flex:1 1 auto !important; gap:0 !important; }
.acc-principe-h3 .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:24px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 6px !important;
}
.acc-principe-p, .acc-principe-p p{ font-size:15px !important; line-height:24px !important; color:#5B5870 !important; margin:0 !important; }

/* ---------------------------------------------------------------------------
   18.10 — SECTION 6 : TROIS CARTES (pédagogie)
   --------------------------------------------------------------------------- */
.acc-cartes-3, .acc-articles-3{ display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:20px !important; }
.acc-situ,
.acc-cartes-3 > .e-con{
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:16px !important;
  overflow:hidden !important; padding:0 !important; gap:0 !important; height:100% !important;
  box-shadow:0 1px 2px rgba(18,17,26,.03), 0 16px 34px -26px rgba(24,0,173,.26) !important;
}
.acc-situ-img img{ width:100% !important; height:190px !important; object-fit:cover !important; display:block !important; }
.acc-situ-corps{ padding:22px 22px 24px !important; gap:0 !important; flex:1 1 auto !important; }
.acc-situ-h3 .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:19px !important; line-height:26px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 10px !important;
}
.acc-situ-p, .acc-situ-p p{ font-size:15px !important; line-height:24px !important; color:#5B5870 !important; margin:0 !important; }
.acc-situ-p{ margin-bottom:20px !important; }
.acc-situ .acc-btn,
.acc-cartes-3 > .e-con .acc-btn{ margin-top:auto !important; }
.acc-situ .acc-btn .elementor-button,
.acc-cartes-3 > .e-con .acc-btn .elementor-button{ padding:13px 20px !important; font-size:14px !important; }

/* ---------------------------------------------------------------------------
   18.11 — SECTION 7 : BANDEAU FINANCEMENT
   --------------------------------------------------------------------------- */
.acc-finance{
  background-color:#1800AD !important; border-radius:24px !important; padding:44px 48px !important;
  flex-direction:row !important; align-items:center !important; gap:48px !important;
}
.acc-finance-txt,
.acc-finance > .e-con:first-child{ flex:1 1 auto !important; min-width:0 !important; gap:0 !important; }
.acc-finance-h2 .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:32px !important; line-height:42px !important; font-weight:700 !important;
  letter-spacing:-.3px !important; color:#FFFFFF !important; margin:0 0 12px !important; max-width:560px !important;
}
.acc-finance-p, .acc-finance-p p{ font-size:16px !important; line-height:26px !important; color:#C9C2F5 !important; margin:0 !important; }
.acc-finance-p{ margin-bottom:22px !important; max-width:520px !important; }

/* --- LES PASTILLES ---
   Corrigé en révision 4. La règle visait .elementor-widget-container, qui
   n'existe plus : les span restaient en ligne, sans écart vertical, d'où
   « Transitions Pro » collé sous la première ligne. On vise maintenant le
   widget lui-même, et aussi un éventuel <p> si le contenu a été saisi dans
   un éditeur de texte au lieu d'un widget HTML. */
.acc-pills,
.acc-pills .elementor-widget-container,
.acc-pills p{
  display:flex !important; flex-wrap:wrap !important;
  gap:8px !important; row-gap:8px !important; margin:0 !important;
}
.acc-pills{ margin-bottom:24px !important; }
.acc-pill{
  display:inline-block; background:rgba(255,255,255,.14); color:#FFFFFF;
  border:1px solid rgba(255,255,255,.22);
  font-family:"Montserrat",sans-serif; font-size:13px; line-height:18px; font-weight:600;
  padding:7px 14px; border-radius:999px;
}
.acc-finance-cta{ flex-direction:row !important; flex-wrap:wrap !important; gap:12px !important; align-items:center !important; }
.acc-finance-aside,
.acc-finance > .e-con:nth-child(2){
  flex:0 0 250px !important; width:250px !important; max-width:250px !important;
  gap:0 !important; align-self:stretch !important; justify-content:center !important;
  border-left:1px solid rgba(255,255,255,.22) !important;
  padding:0 0 0 34px !important;
  padding-inline:34px 0 !important; padding-block:0 !important;
}
.acc-finance-aside-ico{ margin-bottom:14px !important; }
.acc-finance-aside-ico .elementor-icon{ font-size:34px !important; color:#FFBD59 !important; line-height:1 !important; }
.acc-finance-aside-ico .elementor-icon i{ font-size:inherit !important; color:inherit !important; }
.acc-finance-aside-ico svg{ width:1em !important; height:1em !important; fill:currentColor !important; }
.acc-finance-aside-p, .acc-finance-aside-p p{ font-size:15px !important; line-height:24px !important; color:#FFFFFF !important; margin:0 !important; }

/* ---------------------------------------------------------------------------
   18.12 — SECTION 8 : ENTREPRISES
   --------------------------------------------------------------------------- */
.acc-entreprise > .e-con-inner{ flex-direction:row !important; align-items:center !important; gap:48px !important; }
.acc-entreprise-txt{ flex:1 1 auto !important; max-width:540px !important; gap:0 !important; }
.acc-entreprise-visu{ flex:0 0 510px !important; position:relative !important; gap:0 !important; }
.acc-entreprise-photo img{ width:100% !important; height:320px !important; object-fit:cover !important; border-radius:18px !important; display:block !important; }
.acc-flottante{
  position:absolute !important; right:-14px !important; bottom:-18px !important; width:220px !important;
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:14px !important;
  padding:18px !important; gap:0 !important;
  box-shadow:0 18px 40px -22px rgba(24,0,173,.40) !important;
}
.acc-flottante-ico{ margin-bottom:10px !important; }
.acc-flottante-ico .elementor-icon{ font-size:26px !important; color:#1800AD !important; line-height:1 !important; }
.acc-flottante-ico svg{ width:1em !important; height:1em !important; fill:currentColor !important; }
.acc-flottante-p, .acc-flottante-p p{ font-size:14px !important; line-height:21px !important; font-weight:600 !important; color:#12111A !important; margin:0 !important; }
.acc-pill-clair{
  display:inline-block; background:#F4F2FF; color:#1800AD; border:1px solid #DED9F3;
  font-family:"Montserrat",sans-serif; font-size:13px; line-height:18px; font-weight:600;
  padding:7px 14px; border-radius:999px;
}

/* ---------------------------------------------------------------------------
   18.13 — SECTION 9 : RESSOURCES
   --------------------------------------------------------------------------- */
.acc-article,
.acc-articles-3 > .e-con,
.acc-loop .e-loop-item,
.acc-loop .e-loop-item > .e-con{
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:16px !important;
  padding:18px !important; flex-direction:row !important; align-items:center !important;
  gap:16px !important; height:100% !important;
  transition:border-color .2s ease, transform .2s ease;
}
.acc-article:hover,
.acc-articles-3 > .e-con:hover,
.acc-loop .e-loop-item:hover,
.acc-loop .e-loop-item > .e-con:hover{ border-color:#A79BF5 !important; transform:translateY(-3px); }
.acc-article-txt{ flex:1 1 auto !important; gap:0 !important; }
.acc-tag{
  display:inline-block; background:#F4F2FF; color:#1800AD;
  font-family:"Montserrat",sans-serif; font-size:10.5px; line-height:14px; font-weight:700;
  letter-spacing:.6px; text-transform:uppercase; padding:5px 9px; border-radius:6px;
}
.acc-tag-w{ margin-bottom:10px !important; }
.acc-article-h3 .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:22px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 10px !important;
}
.acc-article-meta, .acc-article-meta p{ font-size:12.5px !important; line-height:17px !important; color:#5B5870 !important; margin:0 !important; }
.acc-article-vignette{ flex:0 0 92px !important; width:92px !important; }
.acc-article-vignette img{ width:92px !important; height:92px !important; object-fit:cover !important; border-radius:12px !important; display:block !important; }


/* ===========================================================================
   19 — TITRES EN VIOLET METHORIA
   =========================================================================== */
.site-main h1, .site-main h1 a,
.site-main h2, .site-main h2 a,
.site-main .elementor-widget-heading h1.elementor-heading-title,
.site-main .elementor-widget-heading h2.elementor-heading-title{ color:#1800AD !important; }

.site-main .acc-finance .elementor-widget-heading h1.elementor-heading-title,
.site-main .acc-finance .elementor-widget-heading h2.elementor-heading-title,
.site-main .acc-finance-h2 .elementor-widget-heading h2.elementor-heading-title,
.site-main .bandeau-cta .elementor-widget-heading h1.elementor-heading-title,
.site-main .bandeau-cta .elementor-widget-heading h2.elementor-heading-title,
.site-main .acc-finance h1.elementor-heading-title,
.site-main .acc-finance h2.elementor-heading-title,
.site-main .acc-finance h1, .site-main .acc-finance h2,
.site-main .bandeau-cta h1.elementor-heading-title,
.site-main .bandeau-cta h2.elementor-heading-title,
.site-main .bandeau-cta h1, .site-main .bandeau-cta h2,
.acc-finance-h2 .elementor-heading-title{ color:#FFFFFF !important; }


/* ===========================================================================
   18.16 — DIRECTIONS GARANTIES
   Placé AVANT les media queries : celles-ci doivent pouvoir repasser
   certains conteneurs en colonne sur tablette et mobile.
   =========================================================================== */

.acc-sec > .e-con-inner, .acc-sec.e-con-full,
.acc-chiffres > .e-con-inner, .acc-chiffres.e-con-full,
.acc-hero-txt,
.acc-hero-img,
.acc-tete-txt,
.acc-chiffre-txt,
.acc-carte, .acc-cartes-4 > .e-con,
.acc-tuile, .acc-tuiles > .e-con,
.acc-convictions,
.acc-principe-txt,
.acc-situ, .acc-cartes-3 > .e-con,
.acc-situ-corps,
.acc-finance-txt, .acc-finance > .e-con:first-child,
.acc-finance-aside, .acc-finance > .e-con:nth-child(2),
.acc-entreprise-txt,
.acc-entreprise-visu,
.acc-flottante,
.acc-article-txt{
  display:flex !important;
  flex-direction:column !important;
}

.acc-hero > .e-con-inner,
.acc-entreprise > .e-con-inner,
.acc-hero-cta,
.acc-tete,
.acc-chiffres-carte,
.acc-chiffre, .acc-chiffres-carte > .e-con,
.acc-principe, .acc-principes > .e-con,
.acc-finance,
.acc-finance-cta,
.acc-article, .acc-articles-3 > .e-con{
  display:flex !important;
  flex-direction:row !important;
}

.acc-cartes-4, .acc-tuiles, .acc-principes, .acc-cartes-3, .acc-articles-3{
  display:grid !important;
}


/* ===========================================================================
   ACCUEIL — TABLETTE, jusqu'à 1024 px
   =========================================================================== */
@media (max-width:1024px){
  .acc-sec > .e-con-inner{ padding:72px 24px !important; }
  .acc-h2 .elementor-heading-title{ font-size:34px !important; line-height:42px !important; }

  .acc-hero > .e-con-inner{ padding:104px 24px 90px !important; flex-direction:column !important; align-items:flex-start !important; gap:32px !important; }
  .acc-hero-h1 .elementor-heading-title{ font-size:44px !important; line-height:52px !important; letter-spacing:-1px !important; }
  .acc-hero-txt{ max-width:none !important; width:100% !important; }
  .acc-hero-img{ flex:0 0 auto !important; width:100% !important; max-width:380px !important; }
  .acc-note{ display:none !important; }

  .acc-chiffres-carte{ flex-wrap:wrap !important; }
  .acc-chiffre,
  .acc-chiffres-carte > .e-con{ flex:1 1 40% !important; }
  .acc-chiffre:nth-child(3),
  .acc-chiffres-carte > .e-con:nth-child(3){ border-left:none !important; }
  .acc-chiffre:nth-child(3), .acc-chiffre:nth-child(4),
  .acc-chiffres-carte > .e-con:nth-child(3), .acc-chiffres-carte > .e-con:nth-child(4){ border-top:1px solid #EDE9FB !important; }
  .acc-chiffre-n, .acc-chiffre-n p{ font-size:30px !important; line-height:34px !important; }

  .acc-cartes-4{ grid-template-columns:1fr 1fr !important; }
  .acc-tuiles{ grid-template-columns:1fr 1fr !important; }
  .acc-cartes-3, .acc-articles-3{ grid-template-columns:1fr !important; }

  .acc-convictions{ padding:40px 32px !important; }
  .acc-principes{ grid-template-columns:1fr !important; gap:26px !important; }

  .acc-finance{ flex-direction:column !important; align-items:flex-start !important; gap:28px !important; padding:36px 32px !important; }
  .acc-finance-aside,
  .acc-finance > .e-con:nth-child(2){
    flex:0 0 auto !important; width:100% !important; max-width:none !important;
    border-left:none !important; border-top:1px solid rgba(255,255,255,.22) !important;
    padding:22px 0 0 !important; padding-inline:0 !important; padding-block:22px 0 !important;
  }

  .acc-entreprise > .e-con-inner{ flex-direction:column !important; align-items:flex-start !important; gap:36px !important; }
  .acc-entreprise-txt{ max-width:none !important; width:100% !important; }
  .acc-entreprise-visu{ flex:0 0 auto !important; width:100% !important; }
  .acc-flottante{ right:12px !important; bottom:-14px !important; }
}

/* ===========================================================================
   ACCUEIL — MOBILE, jusqu'à 767 px
   =========================================================================== */
@media (max-width:767px){
  .acc-sec > .e-con-inner{ padding:56px 20px !important; }
  .acc-h2 .elementor-heading-title{ font-size:28px !important; line-height:36px !important; }
  .acc-chapo, .acc-chapo p{ font-size:17px !important; line-height:28px !important; }
  .acc-tete{ flex-direction:column !important; align-items:flex-start !important; gap:12px !important; }

  .acc-hero > .e-con-inner{ padding:92px 20px 72px !important; }
  .acc-hero-h1 .elementor-heading-title{ font-size:34px !important; line-height:42px !important; letter-spacing:-.6px !important; }
  .acc-hero-p, .acc-hero-p p{ font-size:17px !important; line-height:28px !important; }
  .acc-hero-cta{ width:100% !important; }
  .acc-hero-cta .acc-btn, .acc-hero-cta .acc-btn .elementor-button{ width:100% !important; }
  .acc-hero-img{ max-width:250px !important; margin:0 auto !important; }

  .acc-chiffres{ margin-top:-30px !important; }
  .acc-chiffres > .e-con-inner{ padding:0 20px !important; }
  .acc-chiffre,
  .acc-chiffres-carte > .e-con{ flex:1 1 100% !important; }
  .acc-chiffre + .acc-chiffre,
  .acc-chiffres-carte > .e-con + .e-con{ border-left:none !important; border-top:1px solid #EDE9FB !important; }
  .acc-chiffre:nth-child(1),
  .acc-chiffres-carte > .e-con:nth-child(1){ border-top:none !important; }
  .acc-chiffre-n, .acc-chiffre-n p{ font-size:32px !important; line-height:36px !important; }

  .acc-cartes-4{ grid-template-columns:1fr !important; }
  .acc-tuiles{ grid-template-columns:1fr 1fr !important; }

  .acc-convictions{ padding:32px 22px !important; border-radius:18px !important; }

  .acc-finance{ padding:30px 22px !important; border-radius:18px !important; }
  .acc-finance-h2 .elementor-heading-title{ font-size:26px !important; line-height:34px !important; }
  .acc-finance-cta{ width:100% !important; }
  .acc-finance-cta .acc-btn, .acc-finance-cta .acc-btn .elementor-button{ width:100% !important; }

  .acc-entreprise-photo img{ height:230px !important; }
  .acc-flottante{ position:static !important; width:100% !important; margin-top:14px !important; right:auto !important; bottom:auto !important; }

  .acc-article,
  .acc-articles-3 > .e-con{ flex-direction:column-reverse !important; align-items:flex-start !important; }
  .acc-article-vignette{ flex:0 0 auto !important; width:100% !important; }
  .acc-article-vignette img{ width:100% !important; height:140px !important; }
}


/* ===========================================================================
   18.14 — VARIANTE : SECTION COLLÉE À LA PRÉCÉDENTE
   Après les media queries, pour l'emporter à toutes les largeurs.
   =========================================================================== */
.acc-sec-haut-0 > .e-con-inner{ padding-top:0 !important; }
.acc-sec-haut-0.e-con-full{ padding-top:0 !important; }


/* ===========================================================================
   18.15 — SECTION RESSOURCES EN VERSION DYNAMIQUE (Loop Grid)
   =========================================================================== */
.acc-loop .elementor-loop-container{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:20px !important;
}
.acc-loop .e-loop-item{ height:100% !important; }

@media (max-width:1024px){
  .acc-loop .elementor-loop-container{ grid-template-columns:1fr !important; }
}
@media (max-width:767px){
  .acc-loop .e-loop-item,
  .acc-loop .e-loop-item > .e-con{ flex-direction:column-reverse !important; align-items:flex-start !important; }
}


/* ===========================================================================
   20 — PAGE /formations/
   =========================================================================== */

/* --- 20.0 Directions garanties --- */
.frm-hero > .e-con-inner, .frm-hero.e-con-full,
.frm-reperes > .e-con-inner, .frm-reperes.e-con-full,
.frm-repere-txt,
.frm-carte, .frm-cartes > .e-con,
.frm-formule, .frm-formules > .e-con,
.frm-alt-txt{
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
}
.frm-cta,
.frm-reperes-carte,
.frm-repere, .frm-reperes-carte > .e-con,
.frm-carte-bas,
.frm-alt{
  display:flex !important; flex-direction:row !important;
}

/* --- 20.1 Hero de page --- */
.frm-hero{ background-color:#F4F2FF !important; overflow:hidden !important; }
.frm-hero > .e-con-inner{ padding:118px 24px 70px !important; }
.frm-hero-h1 .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:52px !important; line-height:60px !important; font-weight:800 !important;
  letter-spacing:-1.3px !important; color:#1800AD !important;
  margin:0 0 20px !important; max-width:900px !important;
}
.frm-intro, .frm-intro p{ font-size:18px !important; line-height:30px !important; color:#12111A !important; }
.frm-intro p{ margin:0 !important; }
.frm-intro{ max-width:720px !important; }
.frm-cta{ flex-wrap:wrap !important; gap:12px !important; align-items:center !important; margin-top:30px !important; }

/* --- 20.2 Bande de repères --- */
.frm-reperes{ margin-top:-46px !important; position:relative !important; z-index:2 !important; }
.frm-reperes > .e-con-inner{ padding:0 24px !important; }
.frm-reperes-carte{
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:18px !important;
  box-shadow:0 1px 2px rgba(18,17,26,.04), 0 22px 44px -28px rgba(24,0,173,.30) !important;
  align-items:stretch !important; gap:0 !important; padding:0 !important;
}
.frm-repere, .frm-reperes-carte > .e-con{
  flex:1 1 0 !important; width:auto !important; max-width:none !important; min-width:0 !important;
  align-items:center !important; justify-content:flex-start !important; gap:14px !important;
  padding:24px 22px !important; padding-block:24px !important; padding-inline:22px !important;
}
.frm-repere + .frm-repere,
.frm-reperes-carte > .e-con + .e-con{ border-left:1px solid #EDE9FB !important; }
.frm-repere-ico{
  flex:0 0 44px !important; width:44px !important; height:44px !important;
  border-radius:12px !important; background-color:#F4F2FF !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
.frm-repere-ico .elementor-icon-wrapper,
.frm-repere-ico .elementor-widget-container{ display:flex !important; align-items:center !important;
  justify-content:center !important; width:100% !important; height:100% !important; }
.frm-repere-ico .elementor-icon{ font-size:20px !important; color:#1800AD !important; line-height:1 !important; }
.frm-repere-ico .elementor-icon i{ font-size:inherit !important; color:inherit !important; }
.frm-repere-ico svg{ width:1em !important; height:1em !important; fill:currentColor !important; }
.frm-repere-txt{ flex:1 1 auto !important; min-width:0 !important; gap:0 !important; }
.frm-repere-t, .frm-repere-t p{ font-family:"Montserrat",sans-serif !important;
  font-size:16px !important; line-height:21px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 !important; }
.frm-repere-d, .frm-repere-d p{ font-size:13px !important; line-height:18px !important;
  color:#5B5870 !important; margin:2px 0 0 !important; }

/* --- 20.3 Les quatre cartes de formation --- */
.frm-cartes{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:20px !important; }
.frm-carte, .frm-cartes > .e-con{
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:18px !important;
  padding:30px !important; padding-block:30px !important; padding-inline:30px !important;
  gap:0 !important; height:100% !important;
  box-shadow:0 1px 2px rgba(18,17,26,.03), 0 16px 34px -26px rgba(24,0,173,.26) !important;
  transition:border-color .2s ease, transform .2s ease;
}
.frm-carte:hover, .frm-cartes > .e-con:hover{ border-color:#A79BF5 !important; transform:translateY(-3px); }

/* Mêmes précautions que pour .acc-pills : le widget, l'ancienne enveloppe, et
   le cas d'un éditeur de texte qui envelopperait les span dans un <p>. */
.frm-pastilles,
.frm-pastilles .elementor-widget-container,
.frm-pastilles p{
  display:flex !important; flex-wrap:wrap !important;
  gap:8px !important; row-gap:8px !important; margin:0 !important;
}
.frm-pastilles{ margin-bottom:16px !important; }
.frm-niveau{ display:inline-block; background:#FFBD59; color:#12111A;
  font-family:"Montserrat",sans-serif; font-size:12px; line-height:16px; font-weight:700;
  padding:6px 12px; border-radius:999px; }
.frm-code{ display:inline-block; background:#F4F2FF; color:#1800AD; border:1px solid #DED9F3;
  font-family:"Montserrat",sans-serif; font-size:12px; line-height:16px; font-weight:700;
  padding:5px 11px; border-radius:999px; }

.frm-carte-h3 .elementor-heading-title{ font-family:"Montserrat",sans-serif !important;
  font-size:24px !important; line-height:31px !important; font-weight:700 !important;
  letter-spacing:-.3px !important; color:#12111A !important; margin:0 0 12px !important; }
.frm-carte-d, .frm-carte-d p{ font-size:15px !important; line-height:25px !important;
  color:#5B5870 !important; margin:0 !important; }
.frm-carte-d{ margin-bottom:20px !important; }

/* Viser « dl > div » et non « div » : un simple « div » attraperait aussi
   l'enveloppe du widget et ajouterait un trait fantôme sous la carte. */
.frm-repi{ margin-bottom:20px !important; }
.frm-repi dl{ margin:0 !important; border-top:1px solid #EDE9FB !important; }
.frm-repi dl > div{ display:flex; justify-content:space-between; gap:16px;
  padding:11px 0; border-bottom:1px solid #EDE9FB; }
.frm-repi dt{ font-size:14px; line-height:20px; color:#5B5870; }
.frm-repi dd{ font-size:14px; line-height:20px; font-weight:700; color:#12111A; text-align:right; margin:0; }

.frm-carte-bas{ margin-top:auto !important; flex-wrap:wrap !important;
  align-items:center !important; justify-content:space-between !important; gap:16px !important; }
.frm-prix, .frm-prix p{ font-size:14px !important; line-height:19px !important; color:#5B5870 !important; margin:0 !important; }
.frm-prix strong{ display:block; font-family:"Montserrat",sans-serif; font-size:22px; line-height:28px;
  font-weight:800; letter-spacing:-.5px; color:#1800AD; }
.frm-carte-bas .acc-btn .elementor-button{ padding:13px 22px !important; font-size:14px !important; }

/* --- 20.4 Les quatre formules --- */
.frm-formules{ display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:20px !important; }
.frm-formule, .frm-formules > .e-con{
  position:relative !important;
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:16px !important;
  padding:24px !important; padding-block:24px !important; padding-inline:24px !important;
  gap:0 !important; height:100% !important;
}
.frm-formule-phare, .frm-formules > .e-con.frm-formule-phare{
  border-color:#1800AD !important; box-shadow:0 18px 40px -26px rgba(24,0,173,.45) !important; }

/* Étiquette à cheval sur le bord haut : les quatre titres restent alignés. */
.frm-etiquette{ position:absolute !important; top:-11px !important; left:24px !important;
  margin:0 !important; width:auto !important; z-index:2 !important; }
.frm-etiquette span{ display:inline-block; background:#1800AD; color:#FFFFFF;
  font-family:"Montserrat",sans-serif; font-size:11px; line-height:15px; font-weight:700;
  letter-spacing:.6px; text-transform:uppercase; padding:4px 10px; border-radius:6px; }

.frm-formule-t .elementor-heading-title{ font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:24px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 6px !important; }
.frm-formule-px, .frm-formule-px p{ font-size:13px !important; line-height:18px !important;
  color:#5B5870 !important; margin:0 !important; }
.frm-formule-px{ margin-bottom:14px !important; }

.frm-liste ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.frm-liste li{ position:relative; padding-left:22px; margin-bottom:7px;
  font-size:14px; line-height:23px; color:#5B5870; }
.frm-liste li:before{ content:""; position:absolute; left:0; top:8px;
  width:9px; height:9px; border-radius:50%; background:#FFBD59; }

/* --- Encart alternance --- */
.frm-alt{ margin-top:20px !important;
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important; border-radius:16px !important;
  padding:24px 28px !important; padding-block:24px !important; padding-inline:28px !important;
  align-items:center !important; gap:24px !important; }
.frm-alt-ico{ flex:0 0 52px !important; width:52px !important; height:52px !important;
  border-radius:14px !important; background-color:#F4F2FF !important;
  display:flex !important; align-items:center !important; justify-content:center !important; }
.frm-alt-ico .elementor-icon-wrapper,
.frm-alt-ico .elementor-widget-container{ display:flex !important; align-items:center !important;
  justify-content:center !important; width:100% !important; height:100% !important; }
.frm-alt-ico .elementor-icon{ font-size:24px !important; color:#1800AD !important; line-height:1 !important; }
.frm-alt-ico .elementor-icon i{ font-size:inherit !important; color:inherit !important; }
.frm-alt-txt{ flex:1 1 auto !important; min-width:0 !important; gap:0 !important; }
.frm-alt-t .elementor-heading-title{ font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:23px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 4px !important; }
.frm-alt-p, .frm-alt-p p{ font-size:14px !important; line-height:22px !important; color:#5B5870 !important; margin:0 !important; }
.frm-alt-btn{ flex:0 0 auto !important; width:auto !important; }

/* --- /formations/ TABLETTE --- */
@media (max-width:1024px){
  .frm-hero > .e-con-inner{ padding:104px 24px 60px !important; }
  .frm-hero-h1 .elementor-heading-title{ font-size:42px !important; line-height:50px !important; letter-spacing:-1px !important; }

  .frm-reperes-carte{ flex-wrap:wrap !important; }
  .frm-repere, .frm-reperes-carte > .e-con{ flex:1 1 40% !important; }
  .frm-repere:nth-child(3), .frm-reperes-carte > .e-con:nth-child(3){ border-left:none !important; }
  .frm-repere:nth-child(3), .frm-repere:nth-child(4),
  .frm-reperes-carte > .e-con:nth-child(3), .frm-reperes-carte > .e-con:nth-child(4){ border-top:1px solid #EDE9FB !important; }

  .frm-cartes{ grid-template-columns:1fr !important; }
  .frm-formules{ grid-template-columns:1fr 1fr !important; }
  .frm-alt{ flex-direction:column !important; align-items:flex-start !important; gap:16px !important; }
  .frm-alt-btn{ width:auto !important; }
}

/* --- /formations/ MOBILE --- */
@media (max-width:767px){
  .frm-hero > .e-con-inner{ padding:92px 20px 52px !important; }
  .frm-hero-h1 .elementor-heading-title{ font-size:32px !important; line-height:40px !important; letter-spacing:-.6px !important; }
  .frm-intro, .frm-intro p{ font-size:17px !important; line-height:28px !important; }
  .frm-cta{ width:100% !important; }
  .frm-cta .acc-btn, .frm-cta .acc-btn .elementor-button{ width:100% !important; }

  .frm-reperes{ margin-top:-30px !important; }
  .frm-reperes > .e-con-inner{ padding:0 20px !important; }
  .frm-repere, .frm-reperes-carte > .e-con{ flex:1 1 100% !important; }
  .frm-repere + .frm-repere,
  .frm-reperes-carte > .e-con + .e-con{ border-left:none !important; border-top:1px solid #EDE9FB !important; }
  .frm-repere:nth-child(1), .frm-reperes-carte > .e-con:nth-child(1){ border-top:none !important; }

  .frm-carte, .frm-cartes > .e-con{ padding:24px !important; padding-block:24px !important; padding-inline:24px !important; }
  .frm-carte-h3 .elementor-heading-title{ font-size:21px !important; line-height:28px !important; }
  .frm-carte-bas{ flex-direction:column !important; align-items:flex-start !important; gap:14px !important; }
  .frm-carte-bas .acc-btn, .frm-carte-bas .acc-btn .elementor-button{ width:100% !important; }

  .frm-formules{ grid-template-columns:1fr !important; }
  .frm-alt{ padding:22px !important; padding-block:22px !important; padding-inline:22px !important; }
}


/* ===========================================================================
   21 — FILET DE SÉCURITÉ DES ANIMATIONS
   Les animations d'entrée d'Elementor rendent l'élément invisible avant de le
   révéler par JavaScript. Si le script ne part pas, le contenu reste invisible.
   Cette règle le rend visible dès que le système demande moins d'animation.
   =========================================================================== */
@media (prefers-reduced-motion: reduce){
  .elementor-invisible{ visibility:visible !important; animation:none !important; }

  .frm-carte, .frm-cartes > .e-con,
  .frm-formule, .frm-formules > .e-con,
  .acc-carte, .acc-cartes-4 > .e-con,
  .acc-tuile, .acc-tuiles > .e-con,
  .acc-article, .acc-articles-3 > .e-con{
    transition:none !important; transform:none !important;
  }
}


/* ===========================================================================
   22 — CADRAGE DES IMAGES DE FOND ET EN-TÊTE OPAQUE
   =========================================================================== */

/* --- 22.1 Cadrage des images de fond de section --- */
.acc-hero, .frm-hero,
.acc-sec, .acc-sec-lavande{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

/* --- 22.2 En-tête : opacité et repeinte ---
   Barre semi-transparente + backdrop-filter + overflow:clip sur la racine :
   sous Chrome la couche floutée cesse de se redessiner pendant le défilement,
   et la barre paraît figée. Fond opaque et découpe supprimée. */
.entete-barre{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  background:#FFFFFF !important;
  border:1px solid rgba(24,0,173,.10) !important;
  box-shadow:0 1px 2px rgba(18,17,26,.05),
             0 8px 28px rgba(24,0,173,.07) !important;
}
html{ overflow-x:hidden !important; overflow-y:visible !important; }
body{ overflow-x:visible !important; overflow-y:visible !important; }


/* ===========================================================================
   23 — PAGE /candidater/ · SECTION 1 : HERO ET FORMULAIRE
   =========================================================================== */

/* ---------------------------------------------------------------------------
   23.0 — DIRECTIONS GARANTIES  (ne jamais dépendre du réglage Elementor)
   --------------------------------------------------------------------------- */
.cand-hero > .e-con-inner,
.cand-hero.e-con-full{
  display:flex !important; flex-direction:row !important; align-items:flex-start !important;
}
.cand-hero-txt,
.cand-form,
.cand-hero > .e-con-inner > .e-con:first-child,
.cand-hero.e-con-full > .e-con:first-child{
  display:flex !important; flex-direction:column !important;
}

/* ---------------------------------------------------------------------------
   23.1 — LA SECTION
   --------------------------------------------------------------------------- */
.cand-hero{
  background-image:linear-gradient(180deg,#F7F6FF 0%,#FFFFFF 100%) !important;
}
.cand-hero > .e-con-inner,
.cand-hero.e-con-full{
  padding:112px 24px 80px !important;
  padding-block:112px 80px !important;
  padding-inline:24px !important;
  gap:44px !important;
}

/* ---------------------------------------------------------------------------
   23.2 — COLONNE DE GAUCHE
   --------------------------------------------------------------------------- */
.cand-hero-txt{ flex:1 1 auto !important; max-width:560px !important; gap:22px !important; }

.cand-h1 .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:46px !important; line-height:54px !important; font-weight:800 !important;
  letter-spacing:-.8px !important; color:#1800AD !important; margin:0 !important;
}

.cand-hero .elementor-widget-text-editor.cand-chapo p{
  font-size:17px !important; line-height:29px !important; color:#5B5870 !important; margin:0 !important;
}

.cand-hero .elementor-widget-text-editor.cand-points ul{
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:flex !important; flex-direction:column !important; gap:12px !important;
}
.cand-hero .elementor-widget-text-editor.cand-points li{
  position:relative !important; margin:0 !important;
  padding:0 0 0 19px !important; padding-inline:19px 0 !important; padding-block:0 !important;
  font-size:15px !important; line-height:24px !important; color:#12111A !important;
}
.cand-hero .elementor-widget-text-editor.cand-points li::before{
  content:"" !important; position:absolute !important; left:0 !important; top:8px !important;
  width:7px !important; height:7px !important; border-radius:50% !important;
  background-color:#FFBD59 !important;
}

/* ---------------------------------------------------------------------------
   23.3 — LA CARTE FORMULAIRE
   --------------------------------------------------------------------------- */
.cand-form{
  flex:0 0 470px !important; width:470px !important; max-width:470px !important;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important;
  border-radius:20px !important;
  box-shadow:0 24px 60px -30px rgba(24,0,173,.28) !important;
  padding:30px !important; padding-block:30px !important; padding-inline:30px !important;
  gap:0 !important;
}
#formulaire{ scroll-margin-top:96px !important; }

.cand-form-tete{ margin-bottom:20px !important; }
.cand-hero .elementor-widget-text-editor.cand-form-tete p:first-child{
  font-size:20px !important; line-height:28px !important; font-weight:700 !important;
  color:#1800AD !important; margin:0 0 4px !important;
}
.cand-hero .elementor-widget-text-editor.cand-form-tete p + p{
  font-size:14px !important; line-height:22px !important; color:#5B5870 !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   23.4 — LES CHAMPS
   --------------------------------------------------------------------------- */
.cand-formulaire .elementor-form-fields-wrapper{ margin:0 !important; }

.cand-formulaire .elementor-field-group{
  margin-bottom:12px !important;
  padding:0 !important; padding-block:0 !important; padding-inline:0 !important;
}

.cand-formulaire .elementor-field-label{
  font-family:"Montserrat",sans-serif !important;
  font-size:12.5px !important; line-height:18px !important; font-weight:600 !important;
  color:#5B5870 !important; margin-bottom:5px !important; padding:0 !important;
}

.cand-formulaire .elementor-field-textual,
.cand-formulaire input[type="text"],
.cand-formulaire input[type="email"],
.cand-formulaire input[type="tel"],
.cand-formulaire select,
.cand-formulaire textarea{
  font-family:"Montserrat",sans-serif !important;
  font-size:14.5px !important; line-height:22px !important; color:#12111A !important;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important;
  border-radius:12px !important;
  padding:11px 13px !important;
  width:100% !important;
  min-height:0 !important;
  box-shadow:none !important;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.cand-formulaire .elementor-field-textual:focus,
.cand-formulaire input:focus,
.cand-formulaire select:focus,
.cand-formulaire textarea:focus{
  border-color:#1800AD !important;
  box-shadow:0 0 0 3px rgba(24,0,173,.10) !important;
  outline:none !important;
}

.cand-formulaire textarea{ height:74px !important; resize:vertical !important; }

.cand-formulaire ::placeholder{ color:#9A94B8 !important; opacity:1 !important; }

.cand-formulaire select{
  -webkit-appearance:none !important; appearance:none !important;
  color:#5B5870 !important;
  padding-right:38px !important;
  background-image:linear-gradient(45deg,transparent 50%,#1800AD 50%),
                   linear-gradient(135deg,#1800AD 50%,transparent 50%) !important;
  background-position:calc(100% - 19px) calc(50% - 1px), calc(100% - 14px) calc(50% - 1px) !important;
  background-size:5px 5px, 5px 5px !important;
  background-repeat:no-repeat !important;
}

/* ---------------------------------------------------------------------------
   23.5 — LA CASE DE CONSENTEMENT
   --------------------------------------------------------------------------- */
.cand-formulaire .elementor-field-type-acceptance{ margin:14px 0 16px !important; }

.cand-formulaire .elementor-field-type-acceptance .elementor-field-subgroup,
.cand-formulaire .elementor-field-type-acceptance .elementor-field-option{
  display:flex !important; gap:9px !important; align-items:flex-start !important;
}

.cand-formulaire .elementor-field-type-acceptance input[type="checkbox"]{
  width:17px !important; height:17px !important; min-height:0 !important;
  margin:2px 0 0 !important; padding:0 !important;
  border:1.5px solid #A79BF5 !important; border-radius:5px !important;
  accent-color:#1800AD !important; flex:0 0 auto !important;
  background-image:none !important;
}

.cand-formulaire .elementor-field-type-acceptance label{
  font-family:"Montserrat",sans-serif !important;
  font-size:12.5px !important; line-height:19px !important;
  font-weight:400 !important; color:#5B5870 !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   23.6 — LE BOUTON ET LES MESSAGES
   --------------------------------------------------------------------------- */
.cand-formulaire .elementor-field-type-submit{ margin-bottom:0 !important; }

.cand-formulaire .elementor-field-type-submit button,
.cand-formulaire button[type="submit"]{
  width:100% !important; justify-content:center !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; font-weight:600 !important; line-height:20px !important;
  padding:14px 26px !important;
  border-radius:14px !important;
  background-color:#FFBD59 !important; color:#12111A !important;
  border:1px solid transparent !important;
  transition:background-color .2s ease, color .2s ease;
}
.cand-formulaire .elementor-field-type-submit button:hover,
.cand-formulaire button[type="submit"]:hover{
  background-color:#1800AD !important; color:#FFFFFF !important;
}

.cand-formulaire .elementor-message{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:22px !important; margin-top:10px !important;
}
.cand-formulaire .elementor-message.elementor-message-success{ color:#1800AD !important; }
.cand-formulaire .elementor-message.elementor-message-danger{ color:#C0392B !important; }
.cand-formulaire .elementor-error .elementor-field-textual,
.cand-formulaire .elementor-error input,
.cand-formulaire .elementor-error select,
.cand-formulaire .elementor-error textarea{ border-color:#C0392B !important; }

/* ---------------------------------------------------------------------------
   23.7 — TABLETTE  (≤1024 : la carte passe sous le texte)
   --------------------------------------------------------------------------- */
@media (max-width:1024px){
  .cand-hero > .e-con-inner,
  .cand-hero.e-con-full{
    flex-direction:column !important;
    align-items:stretch !important;
    padding:96px 20px 64px !important;
    padding-block:96px 64px !important;
    padding-inline:20px !important;
    gap:32px !important;
  }
  .cand-hero-txt{ max-width:100% !important; width:100% !important; }
  .cand-form{
    flex:0 0 auto !important; width:100% !important; max-width:520px !important;
    padding:26px !important; padding-block:26px !important; padding-inline:26px !important;
  }
  .cand-h1 .elementor-heading-title{ font-size:38px !important; line-height:46px !important; }
}

/* ---------------------------------------------------------------------------
   23.8 — MOBILE
   --------------------------------------------------------------------------- */
@media (max-width:767px){
  .cand-hero > .e-con-inner,
  .cand-hero.e-con-full{
    padding:80px 20px 48px !important;
    padding-block:80px 48px !important;
    padding-inline:20px !important;
    gap:28px !important;
  }
  .cand-hero-txt{ gap:18px !important; }
  .cand-h1 .elementor-heading-title{
    font-size:30px !important; line-height:38px !important; letter-spacing:-.4px !important;
  }
  .cand-hero .elementor-widget-text-editor.cand-chapo p{ font-size:16px !important; line-height:27px !important; }
  .cand-formulaire .elementor-field-group{
    width:100% !important; max-width:100% !important; flex:0 0 100% !important;
  }
  .cand-form{
    max-width:100% !important;
    padding:24px 20px !important; padding-block:24px !important; padding-inline:20px !important;
  }
}

/* ---------------------------------------------------------------------------
   23.9 — PASTILLES DU HERO /candidater/
   Trois précautions :
   1. la mise en page est posée sur le widget, sur l'ancienne enveloppe ET sur
      un éventuel <p> — c'est le <p> qui porte réellement le flex quand le
      contenu vient d'un éditeur de texte ;
   2. la pastille est dessinée sur le <span> nu, sans dépendre d'une classe :
      l'éditeur de texte d'Elementor supprime les classes à l'enregistrement ;
   3. fond blanc et non lavande : le hero est déjà lavande très clair.
   --------------------------------------------------------------------------- */
.cand-hero .acc-pills,
.cand-hero .acc-pills .elementor-widget-container,
.cand-hero .acc-pills p{
  display:flex !important; flex-wrap:wrap !important;
  gap:12px !important; column-gap:12px !important; row-gap:12px !important;
  margin:0 !important;
}

.cand-hero .acc-pills span,
.cand-hero .acc-pills .acc-pill,
.cand-hero .acc-pills .acc-pill-clair{
  display:inline-block !important;
  background-color:#FFFFFF !important;
  color:#1800AD !important;
  border:1px solid #DED9F3 !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important; line-height:18px !important; font-weight:600 !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}

/* ---------------------------------------------------------------------------
   23.10 — FORMULAIRE : RESPIRATION ET FLÈCHE UNIQUE
   1. Champs plus hauts, libellés plus lisibles, plus d'air entre les groupes.
   2. Elementor pose DÉJÀ sa propre flèche (.select-caret-down-wrapper). La
      mienne, dessinée en background-image, en faisait une seconde. On supprime
      la mienne et on habille la sienne.
   --------------------------------------------------------------------------- */

/* --- 1. Respiration --- */
.cand-hero .cand-form{ padding:32px !important; padding-block:32px !important; padding-inline:32px !important; }
.cand-hero .cand-formulaire .elementor-field-group{ margin-bottom:18px !important; }
.cand-hero .cand-formulaire .elementor-field-label{ font-size:13px !important; margin-bottom:7px !important; }

.cand-hero .cand-formulaire .elementor-field-textual,
.cand-hero .cand-formulaire input[type="text"],
.cand-hero .cand-formulaire input[type="email"],
.cand-hero .cand-formulaire input[type="tel"],
.cand-hero .cand-formulaire select,
.cand-hero .cand-formulaire textarea{
  padding:13px 15px !important; font-size:15px !important; line-height:23px !important;
}
.cand-hero .cand-formulaire textarea{ height:92px !important; }
.cand-hero .cand-formulaire .elementor-field-type-acceptance{ margin:20px 0 !important; }

/* --- 2. Une seule flèche --- */
.cand-hero .cand-formulaire select{ background-image:none !important; }
.cand-hero .cand-formulaire .elementor-select-wrapper select{ padding-right:44px !important; }
.cand-hero .cand-formulaire .select-caret-down-wrapper{ right:17px !important; }
.cand-hero .cand-formulaire .select-caret-down-wrapper svg{
  width:12px !important; height:12px !important; fill:#1800AD !important; color:#1800AD !important;
}

/* ---------------------------------------------------------------------------
   23.11 — GOUTTIÈRE ENTRE DEUX CHAMPS D'UNE MÊME LIGNE
   Le bloc 23.4 met padding:0 sur les groupes, ce qui supprime la gouttière
   qu'Elementor obtient par padding latéral. On la rétablit par un column-gap
   sur le conteneur, en retirant la moitié de l'écart à chaque colonne pour
   que les deux tiennent toujours sur la ligne.
   --------------------------------------------------------------------------- */
.cand-hero .cand-formulaire .elementor-form-fields-wrapper{
  column-gap:18px !important;
}
.cand-hero .cand-formulaire .elementor-field-group.elementor-col-50{
  width:calc(50% - 9px) !important;
  flex:0 0 calc(50% - 9px) !important;
  max-width:calc(50% - 9px) !important;
}
@media (max-width:767px){
  .cand-hero .cand-formulaire .elementor-field-group.elementor-col-50{
    width:100% !important; flex:0 0 100% !important; max-width:100% !important;
  }
}

/* ===========================================================================
   24 — PAGE /candidater/ · SECTION 2 : LES QUATRE ÉTAPES
   =========================================================================== */

/* ---------------------------------------------------------------------------
   24.0 — DIRECTIONS GARANTIES
   --------------------------------------------------------------------------- */
.cand-etape,
.cand-etapes > .e-con{
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
}
.cand-etapes{ display:grid !important; }

/* ---------------------------------------------------------------------------
   24.1 — LA GRILLE
   --------------------------------------------------------------------------- */
.cand-etapes{
  grid-template-columns:repeat(4,1fr) !important;
  gap:20px !important;
  margin-top:34px !important;
}

/* ---------------------------------------------------------------------------
   24.2 — LA CARTE
   --------------------------------------------------------------------------- */
.cand-etape,
.cand-etapes > .e-con{
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important;
  border-radius:20px !important;
  padding:26px 22px !important;
  padding-block:26px !important; padding-inline:22px !important;
  gap:0 !important;
  height:100% !important;
  box-shadow:0 1px 2px rgba(18,17,26,.03), 0 16px 34px -26px rgba(24,0,173,.26) !important;
  transition:border-color .2s ease, transform .2s ease;
}
.cand-etape:hover,
.cand-etapes > .e-con:hover{ border-color:#A79BF5 !important; transform:translateY(-3px); }

/* ---------------------------------------------------------------------------
   24.3 — LE NUMÉRO
   --------------------------------------------------------------------------- */
.cand-etape-n{ margin:0 0 14px !important; }
.cand-etape-n p{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:36px !important; height:36px !important;
  border-radius:11px !important;
  background-color:#1800AD !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:1 !important; font-weight:700 !important;
  color:#FFFFFF !important;
  margin:0 !important;
}

/* ---------------------------------------------------------------------------
   24.4 — TITRE, TEXTE, DÉLAI
   --------------------------------------------------------------------------- */
.cand-etape-t .elementor-heading-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:25px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 9px !important;
}

.cand-etape-p p{
  font-size:14.5px !important; line-height:24px !important; color:#5B5870 !important; margin:0 !important;
}
.cand-etape-p{ margin-bottom:16px !important; }

.cand-etape-d{ margin-top:auto !important; }
.cand-etape-d p{
  font-family:"Montserrat",sans-serif !important;
  font-size:12.5px !important; line-height:17px !important; font-weight:700 !important;
  letter-spacing:.4px !important; text-transform:uppercase !important;
  color:#1800AD !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   24.5 — TABLETTE
   --------------------------------------------------------------------------- */
@media (max-width:1024px){
  .cand-etapes{ grid-template-columns:1fr 1fr !important; gap:16px !important; margin-top:28px !important; }
}

/* ---------------------------------------------------------------------------
   24.6 — MOBILE
   --------------------------------------------------------------------------- */
@media (max-width:767px){
  .cand-etapes{ grid-template-columns:1fr !important; gap:14px !important; margin-top:24px !important; }
  .cand-etape,
  .cand-etapes > .e-con{
    padding:22px 20px !important; padding-block:22px !important; padding-inline:20px !important;
  }
  .cand-etape-p{ margin-bottom:12px !important; }
}

/* ===========================================================================
   25 — PAGE /candidater/ · SECTION 3 : LES TROIS OBJECTIONS
   =========================================================================== */

/* ---------------------------------------------------------------------------
   25.0 — DIRECTIONS GARANTIES
   --------------------------------------------------------------------------- */
.cand-obj,
.cand-objs > .e-con{
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
}
.cand-objs{ display:grid !important; }

/* ---------------------------------------------------------------------------
   25.1 — LA GRILLE
   --------------------------------------------------------------------------- */
.cand-objs{
  grid-template-columns:repeat(3,1fr) !important;
  gap:20px !important;
  margin-top:34px !important;
}

/* ---------------------------------------------------------------------------
   25.2 — LA CARTE
   --------------------------------------------------------------------------- */
.cand-obj,
.cand-objs > .e-con{
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important;
  border-radius:20px !important;
  padding:30px 26px !important;
  padding-block:30px !important; padding-inline:26px !important;
  gap:0 !important;
  height:100% !important;
  box-shadow:0 1px 2px rgba(18,17,26,.03), 0 18px 44px -32px rgba(24,0,173,.35) !important;
  transition:border-color .2s ease, transform .2s ease;
}
.cand-obj:hover,
.cand-objs > .e-con:hover{ border-color:#A79BF5 !important; transform:translateY(-3px); }

/* ---------------------------------------------------------------------------
   25.3 — LA CITATION
   --------------------------------------------------------------------------- */
.cand-obj-q{ margin:0 0 14px !important; }
.cand-obj-q p{
  font-family:"Montserrat",sans-serif !important;
  font-size:21px !important; line-height:30px !important; font-weight:700 !important;
  letter-spacing:-.2px !important; color:#1800AD !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   25.4 — LE TEXTE ET LE LIEN
   --------------------------------------------------------------------------- */
.cand-obj-p{ margin-bottom:18px !important; }
.cand-obj-p p{
  font-size:15px !important; line-height:26px !important; color:#5B5870 !important; margin:0 !important;
}

.cand-obj .acc-voir,
.cand-objs > .e-con .acc-voir,
.cand-obj-lien{ margin-top:auto !important; }
.cand-obj-lien .elementor-button{ justify-content:flex-start !important; }

/* ---------------------------------------------------------------------------
   25.5 — LA PHRASE DE CLÔTURE
   --------------------------------------------------------------------------- */
.cand-clot{ margin-top:30px !important; }
.cand-clot p{
  font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:28px !important; font-weight:600 !important;
  color:#1800AD !important; text-align:center !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   25.6 — TABLETTE
   --------------------------------------------------------------------------- */
@media (min-width:768px) and (max-width:1024px){
  .cand-objs{ gap:16px !important; margin-top:28px !important; }
  .cand-obj,
  .cand-objs > .e-con{
    padding:24px 20px !important; padding-block:24px !important; padding-inline:20px !important;
  }
  .cand-obj-q p{ font-size:19px !important; line-height:27px !important; }
  .cand-obj-p p{ font-size:14.5px !important; line-height:24px !important; }
  .cand-clot p{ font-size:17px !important; line-height:27px !important; }
}

/* ---------------------------------------------------------------------------
   25.7 — MOBILE
   --------------------------------------------------------------------------- */
@media (max-width:767px){
  .cand-objs{ grid-template-columns:1fr !important; gap:14px !important; margin-top:24px !important; }
  .cand-obj,
  .cand-objs > .e-con{
    padding:24px 20px !important; padding-block:24px !important; padding-inline:20px !important;
  }
  .cand-obj-q p{ font-size:19px !important; line-height:27px !important; }
  .cand-clot{ margin-top:24px !important; }
  .cand-clot p{ font-size:16px !important; line-height:26px !important; }
}

/* ===========================================================================
   26 — CORRECTIF : TEXTE DU BANDEAU D'APPEL FINAL
   Le bloc 2 porte quatre :not(), et chaque :not([attribut]) compte dans la
   spécificité : sa règle vaut (0,5,1) contre (0,2,1) pour le bloc 13. Elle
   repeignait donc en encre foncée le paragraphe du bandeau violet, sur toutes
   les pages qui l'utilisent. Le bloc 2 exclut désormais aussi « cta- », et la
   règle ci-dessous sert de second filet.
   =========================================================================== */
.bandeau-cta .elementor-widget-text-editor p,
.bandeau-cta .cta-texte p,
.site-main .bandeau-cta .elementor-widget-text-editor p{
  color:#C9C2F5 !important;
}
.bandeau-cta .elementor-widget-text-editor li{ color:#C9C2F5 !important; }

/* --- 26 bis — même garantie, écrite avec le chemin complet --- */
.site-main .elementor .bandeau-cta .e-con .elementor-widget-text-editor p,
.site-main .elementor .bandeau-cta .e-con .elementor-widget-text-editor li,
.site-main .elementor .bandeau-cta .e-con .cta-texte p{
  color:#C9C2F5 !important;
}

/* ===========================================================================
   27 — PIED DE PAGE
   Monté comme l'en-tête : un seul widget HTML dans un conteneur « pdp ».
   Aucune classe Elementor n'intervient, donc rien à craindre du bloc 2 ni des
   sauvegardes de l'éditeur de texte, qui suppriment les classes.
   =========================================================================== */

/* --- 27.0 Directions garanties --- */
.pdp-haut, .pdp-bas{ display:flex !important; flex-direction:row !important; }
.pdp-marque, .pdp-col{ display:flex !important; flex-direction:column !important; }

/* --- 27.1 La zone --- */
.pdp{ background-color:#12111A !important; }
.pdp > .e-con-inner,
.pdp.e-con-full{
  padding:0 !important; padding-block:0 !important; padding-inline:0 !important;
}
.pdp-in{
  max-width:1188px; margin:0 auto;
  padding:64px 24px 34px;
}

/* --- 27.2 Les colonnes --- */
.pdp-haut{
  gap:48px; align-items:flex-start; padding-bottom:44px; flex-wrap:wrap;
}
.pdp-marque{ flex:1.3 1 0; max-width:320px; gap:16px; }
.pdp-col{ flex:1 1 0; gap:12px; min-width:0; }

/* --- 27.3 La marque --- */
.pdp-logo{ display:inline-flex; align-items:center; }
.pdp-logo img{ height:46px; width:auto; max-width:100%; display:block; }
.pdp-base{
  font-family:"Montserrat",sans-serif;
  font-size:14px; line-height:23px; color:#9A94B8; margin:0;
}
.pdp-coord{
  font-family:"Montserrat",sans-serif;
  font-size:14px; line-height:24px; color:#9A94B8; margin:0;
}
.pdp-coord a{ color:#FFFFFF; font-weight:600; text-decoration:none; }
.pdp-coord a:hover{ text-decoration:underline; }

/* --- 27.4 Les listes de liens --- */
.pdp-col h4{
  font-family:"Montserrat",sans-serif;
  font-size:12.5px; line-height:17px; font-weight:700;
  letter-spacing:1.2px; text-transform:uppercase;
  color:#FFBD59; margin:0 0 4px;
}
.pdp-col a{
  font-family:"Montserrat",sans-serif;
  font-size:14px; line-height:22px; color:#C8C4DC;
  text-decoration:none; transition:color .18s ease;
}
.pdp-col a:hover{ color:#FFFFFF; }
.pdp-col a.pdp-fort{ color:#FFFFFF; font-weight:700; }

/* --- 27.5 La barre basse --- */
.pdp-bas{
  justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.12); padding-top:22px;
}
.pdp-copy{
  font-family:"Montserrat",sans-serif;
  font-size:13px; line-height:20px; color:#7C769E; margin:0;
}

/* --- Le cœur et la feuille de la barre basse ---
   Les couleurs sont posées en CSS et non en attribut : le thème applique
   svg{fill:currentColor} et repeindrait les deux pictogrammes en gris. */
.pdp-icones{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  margin:0 7px !important;
  vertical-align:-2px !important;
}
.pdp-icones svg{
  width:13px !important; height:13px !important;
  display:block !important;
  stroke:none !important;
}
.pdp-coeur, .pdp-coeur path{ fill:#FFBD59 !important; }
.pdp-feuille, .pdp-feuille path{ fill:#A79BF5 !important; }
.pdp-legal{ display:flex; gap:18px; flex-wrap:wrap; }
.pdp-legal a{
  font-family:"Montserrat",sans-serif;
  font-size:13px; line-height:20px; color:#C8C4DC;
  text-decoration:none; transition:color .18s ease;
}
.pdp-legal a:hover{ color:#FFFFFF; text-decoration:underline; }

/* --- 27.6 Tablette --- */
@media (max-width:1024px){
  .pdp-in{ padding:52px 20px 30px; }
  .pdp-logo img{ height:42px; }
  .pdp-haut{ gap:36px; padding-bottom:34px; }
  .pdp-marque{ flex:0 0 100%; max-width:none; }
  .pdp-col{ flex:0 1 calc(50% - 18px); max-width:calc(50% - 18px); }
}

/* --- 27.7 Mobile --- */
@media (max-width:767px){
  .pdp-in{ padding:44px 20px 28px; }
  .pdp-logo img{ height:38px; }
  .pdp-haut{ flex-direction:column !important; align-items:stretch; gap:30px; padding-bottom:26px; }
  .pdp-marque, .pdp-col{ flex:0 0 auto; width:100%; max-width:100%; }
  .pdp-bas{ flex-direction:column !important; align-items:flex-start; gap:14px; }
  .pdp-legal{ gap:14px 18px; }
}

/* ===========================================================================
   28 — PAGES LÉGALES
        /mentions-legales/
        /politique-de-confidentialite/
        /conditions-generales-de-vente/
        /methoria-modalites-et-moyens-dorganisation/
        /accessibilite/
   Montées comme le pied de page : un conteneur « lgl » + un widget HTML.
   Aucune classe Elementor n'intervient, donc ni le bloc 2 ni les
   enregistrements de l'éditeur de texte ne peuvent les abîmer.
   =========================================================================== */

/* --- 28.0 Directions garanties --- */
.lgl-hero-in, .lgl-corps{ display:block !important; }
.lgl > .e-con-inner, .lgl.e-con-full{
  display:flex !important; flex-direction:column !important;
  padding:0 !important; padding-block:0 !important; padding-inline:0 !important;
}

/* --- 28.1 Le bandeau de titre --- */
.lgl-hero{ background-color:#F4F2FF; }
.lgl-hero-in{ max-width:1188px; margin:0 auto; padding:118px 24px 56px; }
.lgl-sur{
  font-family:"Montserrat",sans-serif;
  font-size:13px; line-height:18px; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase; color:#1800AD; margin:0 0 10px;
}
.lgl .lgl-hero h1{
  font-family:"Montserrat",sans-serif !important;
  font-size:46px !important; line-height:54px !important; font-weight:800 !important;
  letter-spacing:-.8px !important; color:#1800AD !important;
  margin:0 0 18px !important; max-width:860px;
}
.lgl-chapo{
  font-family:"Montserrat",sans-serif;
  font-size:18px; line-height:30px; color:#5B5870; margin:0; max-width:760px;
}
.lgl-maj{
  font-family:"Montserrat",sans-serif;
  font-size:13px; line-height:20px; color:#5B5870; margin:22px 0 0;
}

/* --- 28.2 Le corps --- */
.lgl-corps{ max-width:1188px; margin:0 auto; padding:56px 24px 90px; }
.lgl-texte{ max-width:800px; }

/* --- 28.3 Le sommaire --- */
.lgl-som{
  max-width:800px; margin:0 0 48px;
  background-color:#FFFFFF; border:1px solid #DED9F3; border-radius:16px;
  padding:24px 26px;
}
.lgl .lgl-som h2{
  font-family:"Montserrat",sans-serif !important;
  font-size:12.5px !important; line-height:17px !important; font-weight:700 !important;
  letter-spacing:1.2px !important; text-transform:uppercase !important;
  color:#1800AD !important; margin:0 0 14px !important;
}
.lgl-som ol{ margin:0; padding:0; list-style:none; counter-reset:som; columns:2; column-gap:32px; }
.lgl-som li{ counter-increment:som; margin:0 0 9px; break-inside:avoid; }
.lgl-som a{
  font-family:"Montserrat",sans-serif;
  font-size:14px; line-height:22px; color:#12111A; text-decoration:none;
}
.lgl-som a::before{ content:counter(som) ". "; color:#A79BF5; font-weight:700; }
.lgl-som a:hover{ color:#1800AD; text-decoration:underline; }

/* --- 28.4 Les sections --- */
.lgl-sec{ margin:0 0 42px; scroll-margin-top:110px; }
.lgl-sec:last-child{ margin-bottom:0; }
.lgl .lgl-sec h2{
  font-family:"Montserrat",sans-serif !important;
  font-size:24px !important; line-height:32px !important; font-weight:700 !important;
  letter-spacing:-.3px !important; color:#1800AD !important; margin:0 0 16px !important;
  display:flex !important; align-items:baseline; gap:12px;
}
.lgl-sec h2 .n{
  flex:0 0 auto;
  font-size:14px; line-height:1; font-weight:800; color:#A79BF5;
}
.lgl .lgl-sec h3{
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:25px !important; font-weight:700 !important;
  color:#12111A !important; margin:24px 0 10px !important;
}
.lgl-sec p{
  font-family:"Montserrat",sans-serif;
  font-size:16px; line-height:28px; color:#12111A; margin:0 0 14px;
}
.lgl-sec p:last-child{ margin-bottom:0; }
.lgl-sec a{ color:#1800AD; font-weight:600; }
.lgl-sec ul{ margin:0 0 14px; padding:0; list-style:none; }
.lgl-sec li{
  position:relative; padding-left:20px; margin:0 0 9px;
  font-family:"Montserrat",sans-serif;
  font-size:16px; line-height:27px; color:#12111A;
}
.lgl-sec li::before{
  content:""; position:absolute; left:0; top:11px;
  width:7px; height:7px; border-radius:50%; background-color:#FFBD59;
}
.lgl-sec dl{ margin:0 0 14px; border-top:1px solid #EDE9FB; }
.lgl-sec dl > div{
  display:flex; justify-content:space-between; gap:24px;
  padding:12px 0; border-bottom:1px solid #EDE9FB;
}
.lgl-sec dt{
  font-family:"Montserrat",sans-serif;
  font-size:15px; line-height:24px; color:#5B5870; flex:0 0 auto;
}
.lgl-sec dd{
  font-family:"Montserrat",sans-serif;
  font-size:15px; line-height:24px; font-weight:600; color:#12111A;
  margin:0; text-align:right;
}

/* --- 28.5 L'encart --- */
.lgl-encart{
  background-color:#F4F2FF; border:1px solid #DED9F3; border-radius:16px;
  padding:22px 24px; margin:0 0 14px;
}
.lgl-encart p:last-child{ margin-bottom:0; }


/* --- 28.8 Tableaux --- */
.lgl-tab{ overflow-x:auto; margin:0 0 14px; }
.lgl-sec table{
  width:100%; border-collapse:collapse; min-width:520px;
  font-family:"Montserrat",sans-serif;
}
.lgl-sec th{
  background-color:#1800AD; color:#FFFFFF;
  font-size:13.5px; line-height:19px; font-weight:700; text-align:left;
  padding:12px 14px; border:1px solid #1800AD;
}
.lgl-sec td{
  font-size:14.5px; line-height:23px; color:#12111A;
  padding:12px 14px; border:1px solid #DED9F3; vertical-align:top;
}
.lgl-sec tbody tr:nth-child(even) td{ background-color:#FBFAFF; }

/* --- 28.9 Note en marge --- */
.lgl-note{
  border-left:3px solid #FFBD59; padding:2px 0 2px 16px; margin:0 0 14px;
}
.lgl-note p{ font-size:15px !important; line-height:26px !important; color:#5B5870 !important; font-style:italic; }

/* --- 28.6 Tablette --- */
@media (max-width:1024px){
  .lgl-hero-in{ padding:104px 20px 46px; }
  .lgl .lgl-hero h1{ font-size:38px !important; line-height:46px !important; }
  .lgl-corps{ padding:46px 20px 72px; }
}

/* --- 28.7 Mobile --- */
@media (max-width:767px){
  .lgl-hero-in{ padding:92px 20px 38px; }
  .lgl .lgl-hero h1{ font-size:30px !important; line-height:38px !important; letter-spacing:-.4px !important; }
  .lgl-chapo{ font-size:17px; line-height:28px; }
  .lgl-corps{ padding:38px 20px 56px; }
  .lgl-som{ padding:20px; margin-bottom:36px; }
  .lgl-som ol{ columns:1; }
  .lgl-sec{ margin-bottom:34px; }
  .lgl .lgl-sec h2{ font-size:21px !important; line-height:29px !important; }
  .lgl-sec dl > div{ flex-direction:column; gap:2px; }
  .lgl-sec dd{ text-align:left; }
  .lgl-sec table{ min-width:460px; }
  .lgl-sec th, .lgl-sec td{ padding:10px 12px; font-size:13.5px; }
}

/* ===========================================================================
   29 — FICHES FORMATION  (page modèle)
   Montées comme l'en-tête et le pied de page : un conteneur porteur d'une
   classe « fmt- » et un seul widget HTML à l'intérieur. Aucun éditeur de
   texte, donc ni le bloc 2 ni les enregistrements d'Elementor ne peuvent
   abîmer les classes.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   29.0 — DIRECTIONS GARANTIES
   --------------------------------------------------------------------------- */
.fmt-hero-g{ display:flex !important; flex-direction:row !important; }
.fmt-hero-l, .fmt-carte{ display:flex !important; flex-direction:column !important; }

/* Le conteneur ne porte aucune marge : tout est géré par .fmt-hero-in.
   La spécificité (0,3,0) est nécessaire pour battre le bloc 14, qui impose
   des gouttières en !important sur .elementor > .e-con > .e-con-inner. */
.elementor .fmt-hero > .e-con-inner,
.elementor .fmt-hero.e-con-full{
  padding:0 !important; padding-block:0 !important; padding-inline:0 !important;
  display:block !important;
}

/* ---------------------------------------------------------------------------
   29.1 — LA SECTION
   --------------------------------------------------------------------------- */
.fmt-hero{
  background-color:#F4F2FF !important;
}
.fmt-hero-in{
  max-width:1188px; margin:0 auto !important;
  padding:118px 24px 66px;
}
.fmt-hero-g{ gap:54px; align-items:flex-start; }

/* ---------------------------------------------------------------------------
   29.2 — COLONNE DE GAUCHE
   --------------------------------------------------------------------------- */
.fmt-hero-l{ flex:1.5 1 0; min-width:0; }

.fmt-sur{
  font-family:"Montserrat",sans-serif;
  font-size:12.5px; line-height:18px; font-weight:700;
  letter-spacing:1.4px; text-transform:uppercase;
  color:#1800AD; margin:0 0 14px !important;
}

/* Le bloc 1 impose .elementor h1{font-size:56px !important} : on passe à
   (0,2,1) pour reprendre la main proprement. */
.fmt-hero .fmt-hero-l h1{
  font-family:"Montserrat",sans-serif !important;
  font-size:47px !important; line-height:55px !important; font-weight:800 !important;
  letter-spacing:-1.2px !important; color:#12111A !important;
  margin:0 0 16px !important;
}

.fmt-promesse{
  font-family:"Montserrat",sans-serif;
  font-size:21px; line-height:31px; font-weight:700;
  color:#1800AD; margin:0 0 18px !important; max-width:600px;
}
.fmt-chap{
  font-family:"Montserrat",sans-serif;
  font-size:17px; line-height:29px; color:#5B5870;
  margin:0 0 26px !important; max-width:620px;
}

/* --- Les pastilles --- */
.fmt-pills{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px !important; }
.fmt-pills span{
  font-family:"Montserrat",sans-serif;
  background-color:#FFFFFF; border:1px solid #DED9F3; border-radius:999px;
  padding:9px 16px; font-size:13.5px; line-height:19px; font-weight:600; color:#12111A;
}

/* --- Les deux boutons ---
   Elementor sert son propre style de lien sous la forme .elementor-kit-N a
   et .elementor-kit-N a:hover, soit (0,2,1). Une règle écrite .fmt-b2:hover
   ne vaut que (0,2,0) : elle perd, et le texte du bouton reste sombre sur le
   fond violet du survol. Toutes les couleurs de lien de cette page passent
   donc par a.fmt-… en (0,3,1), avec !important sur la couleur. */
.fmt-btns{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.fmt-hero .fmt-btns a.fmt-b1,
.fmt-hero .fmt-btns a.fmt-b2{
  font-family:"Montserrat",sans-serif;
  font-size:15.5px; line-height:21px; font-weight:700;
  padding:17px 30px; border-radius:12px; text-decoration:none !important;
  display:inline-block; transition:transform .16s ease, box-shadow .16s ease,
    background-color .16s ease, color .16s ease;
}
.fmt-hero .fmt-btns a.fmt-b1,
.fmt-hero .fmt-btns a.fmt-b1:link,
.fmt-hero .fmt-btns a.fmt-b1:visited{
  background-color:#FFBD59 !important; color:#12111A !important; border:1.5px solid #FFBD59;
}
.fmt-hero .fmt-btns a.fmt-b1:hover,
.fmt-hero .fmt-btns a.fmt-b1:focus,
.fmt-hero .fmt-btns a.fmt-b1:active{
  background-color:#FFBD59 !important; color:#12111A !important;
  transform:translateY(-2px); box-shadow:0 10px 24px -10px rgba(255,189,89,.9);
}
.fmt-hero .fmt-btns a.fmt-b2,
.fmt-hero .fmt-btns a.fmt-b2:link,
.fmt-hero .fmt-btns a.fmt-b2:visited{
  background-color:#FFFFFF !important; color:#1800AD !important; border:1.5px solid #1800AD;
}
.fmt-hero .fmt-btns a.fmt-b2:hover,
.fmt-hero .fmt-btns a.fmt-b2:focus,
.fmt-hero .fmt-btns a.fmt-b2:active{
  background-color:#1800AD !important; color:#FFFFFF !important;
}

.fmt-rass{
  font-family:"Montserrat",sans-serif;
  font-size:13.5px; line-height:21px; color:#5B5870; margin:14px 0 0 !important;
}

/* ---------------------------------------------------------------------------
   29.3 — LA CARTE « EN BREF »
   --------------------------------------------------------------------------- */
.fmt-carte{
  flex:1 1 0; min-width:0;
  background-color:#FFFFFF; border:1px solid #DED9F3; border-radius:18px;
  padding:24px 22px;
  box-shadow:0 20px 50px -34px rgba(24,0,173,.30);
}
.fmt-carte-t{
  font-family:"Montserrat",sans-serif;
  font-size:12px !important; line-height:17px !important; font-weight:700 !important;
  letter-spacing:1.2px; text-transform:uppercase; color:#1800AD !important;
  margin:0 0 12px !important;
}
.fmt-faits{ margin:0 !important; }
/* La ligne doit pouvoir se replier : « Certificateurs · VOYELLE · La WAB »
   et « Financement · CPF · OPCO · Alternance » atteignent exactement la
   largeur de la carte sur tablette. Le libellé est donc rendu compressible
   (flex:1 1 auto + min-width:0), et le retour à la ligne est autorisé en
   dernier recours. */
.fmt-fait{
  display:flex !important; flex-wrap:wrap !important;
  justify-content:space-between !important; align-items:baseline !important;
  column-gap:14px !important; row-gap:2px !important;
  padding:10px 0; border-bottom:1px solid #F0EDFB;
}
.fmt-fait:last-child{ border-bottom:0; padding-bottom:0; }
.fmt-fait dt{
  font-family:"Montserrat",sans-serif;
  font-size:13.5px; line-height:20px; color:#5B5870; margin:0 !important;
  flex:1 1 auto !important; min-width:0 !important;
}
.fmt-fait dd{
  font-family:"Montserrat",sans-serif;
  font-size:13.5px; line-height:20px; font-weight:700; color:#12111A;
  margin:0 !important; text-align:right;
  flex:0 1 auto !important; min-width:0 !important;
  overflow-wrap:break-word !important;
}

/* ---------------------------------------------------------------------------
   29.4 — TABLETTE
   --------------------------------------------------------------------------- */
@media (max-width:1024px){
  .fmt-hero-in{ padding:104px 20px 54px; }
  .fmt-hero-g{ gap:34px; }
  .fmt-hero .fmt-hero-l h1{ font-size:40px !important; line-height:48px !important; }
  .fmt-promesse{ font-size:19px; line-height:28px; }
  .fmt-carte{ flex:0 0 330px; }
}

/* ---------------------------------------------------------------------------
   29.5 — MOBILE
   --------------------------------------------------------------------------- */
@media (max-width:767px){
  .fmt-hero-in{ padding:94px 20px 44px; }
  .fmt-hero-g{ flex-direction:column !important; gap:28px; }
  .fmt-hero-l, .fmt-carte{ flex:0 0 auto; width:100%; max-width:100%; }
  .fmt-hero .fmt-hero-l h1{ font-size:32px !important; line-height:40px !important; letter-spacing:-.8px !important; }
  .fmt-promesse{ font-size:17.5px; line-height:26px; margin-bottom:14px !important; }
  .fmt-chap{ font-size:16px; line-height:27px; margin-bottom:22px !important; }
  .fmt-pills{ gap:8px; margin-bottom:24px !important; }
  .fmt-pills span{ font-size:12.5px; padding:8px 13px; }
  .fmt-btns{ gap:10px; }
  .fmt-b1, .fmt-b2{ width:100%; text-align:center; padding:16px 20px; }
  .fmt-carte{ padding:22px 18px; }
}

/* ---------------------------------------------------------------------------
   29.6 — SECTION 2 : LE CERTIFICATEUR
   Bandeau de réassurance posé juste sous le hero. Il porte le lien vers la
   fiche France compétences, où figurent les indicateurs de résultats, et le
   lien vers la brochure.
   --------------------------------------------------------------------------- */

/* --- Directions garanties --- */
.fmt-cert-g{ display:flex !important; flex-direction:row !important; }
.fmt-cert-txt, .fmt-cert-col{ display:flex !important; flex-direction:column !important; }

.elementor .fmt-cert > .e-con-inner,
.elementor .fmt-cert.e-con-full{
  padding:0 !important; padding-block:0 !important; padding-inline:0 !important;
  display:block !important;
}

/* --- La zone --- */
.fmt-cert{ background-color:#FFFFFF !important; }
.fmt-cert-in{ max-width:1188px; margin:0 auto !important; padding:56px 24px; }

/* --- La carte --- */
.fmt-cert-carte{
  background-color:#F4F2FF;
  border:1px solid #DED9F3;
  border-radius:20px;
  padding:34px 36px;
}
.fmt-cert-g{ gap:46px; align-items:flex-start; }
.fmt-cert-txt{ flex:1.15 1 0; min-width:0; }
.fmt-cert-col{ flex:1 1 0; min-width:0; }

/* --- Le texte --- */
.fmt-cert .fmt-cert-txt h2{
  font-family:"Montserrat",sans-serif !important;
  font-size:27px !important; line-height:35px !important; font-weight:800 !important;
  letter-spacing:-.4px !important; color:#12111A !important;
  margin:0 0 14px !important;
}
.fmt-cert-p{
  font-family:"Montserrat",sans-serif;
  font-size:15.5px; line-height:26px; color:#5B5870; margin:0 !important;
}
.fmt-cert-p + .fmt-cert-p{ margin-top:12px !important; }
.fmt-cert-p b{ color:#12111A; font-weight:700; }

/* --- Les faits --- */
.fmt-cert-faits{ margin:0 0 20px !important; }
/* Même correctif que pour .fmt-fait. Sur cette ligne, « Blocs de
   compétences » face à « 3, capitalisables » demande 344 px, alors que la
   colonne n'en fait que 315 entre 768 et 900 px de large : le libellé
   débordait. Il se replie désormais sur deux lignes. */
.fmt-cert-fait{
  display:flex !important; flex-wrap:wrap !important;
  justify-content:space-between !important; align-items:baseline !important;
  column-gap:16px !important; row-gap:2px !important;
  padding:11px 0; border-bottom:1px solid #DED9F3;
}
.fmt-cert-fait:first-child{ padding-top:0; }
.fmt-cert-fait dt{
  font-family:"Montserrat",sans-serif;
  font-size:13.5px; line-height:20px; color:#5B5870; margin:0 !important;
  flex:1 1 auto !important; min-width:0 !important;
}
.fmt-cert-fait dd{
  font-family:"Montserrat",sans-serif;
  font-size:13.5px; line-height:20px; font-weight:700; color:#12111A;
  margin:0 !important; text-align:right;
  flex:0 1 auto !important; min-width:0 !important;
  overflow-wrap:break-word !important;
}

/* --- Les deux liens --- */
.fmt-cert-liens{ display:flex; flex-direction:column; gap:10px; }
.fmt-cert .fmt-cert-liens a.fmt-cert-lien{
  font-family:"Montserrat",sans-serif;
  display:inline-flex; align-items:center; justify-content:space-between; gap:14px;
  border:1px solid #DED9F3; border-radius:12px;
  padding:14px 18px; text-decoration:none !important;
  font-size:14.5px; line-height:21px; font-weight:700;
  transition:border-color .18s ease, box-shadow .18s ease,
    background-color .18s ease, color .18s ease;
}
.fmt-cert .fmt-cert-liens a.fmt-cert-lien,
.fmt-cert .fmt-cert-liens a.fmt-cert-lien:link,
.fmt-cert .fmt-cert-liens a.fmt-cert-lien:visited{
  background-color:#FFFFFF !important; color:#1800AD !important;
}
.fmt-cert .fmt-cert-liens a.fmt-cert-lien:hover,
.fmt-cert .fmt-cert-liens a.fmt-cert-lien:focus,
.fmt-cert .fmt-cert-liens a.fmt-cert-lien:active{
  background-color:#1800AD !important; color:#FFFFFF !important;
  border-color:#1800AD;
  box-shadow:0 10px 24px -16px rgba(24,0,173,.55);
}
.fmt-cert .fmt-cert-liens a.fmt-cert-lien:hover span{ color:#FFFFFF; }
.fmt-cert-lien span{ font-size:17px; line-height:17px; color:#A79BF5; }

.fmt-cert-note{
  font-family:"Montserrat",sans-serif;
  font-size:12.5px; line-height:19px; color:#5B5870; margin:16px 0 0 !important;
}

/* --- Tablette --- */
@media (max-width:1024px){
  .fmt-cert-in{ padding:46px 20px; }
  .fmt-cert-carte{ padding:28px 26px; }
  .fmt-cert-g{ gap:30px; }
  .fmt-cert .fmt-cert-txt h2{ font-size:24px !important; line-height:32px !important; }
}

/* --- Mobile --- */
@media (max-width:767px){
  .fmt-cert-in{ padding:36px 20px; }
  .fmt-cert-carte{ padding:24px 20px; border-radius:16px; }
  .fmt-cert-g{ flex-direction:column !important; gap:26px; }
  .fmt-cert-txt, .fmt-cert-col{ flex:0 0 auto; width:100%; max-width:100%; }
  .fmt-cert .fmt-cert-txt h2{ font-size:22px !important; line-height:30px !important; }
  .fmt-cert-p{ font-size:15px; line-height:25px; }
  .fmt-cert-fait{ gap:12px; }
}

/* ---------------------------------------------------------------------------
   29.7 — OSSATURE COMMUNE DES SECTIONS
   À partir d'ici, toutes les sections de la fiche partagent la même coquille :
   un conteneur « fmt-sec », auquel on ajoute « fmt-alt » pour le fond lavande,
   et un en-tête de section « fmt-eh ». Les sections 4 à 11 réutiliseront ces
   classes telles quelles : il n'y aura plus que leur contenu à écrire.
   --------------------------------------------------------------------------- */

.elementor .fmt-sec > .e-con-inner,
.elementor .fmt-sec.e-con-full{
  padding:0 !important; padding-block:0 !important; padding-inline:0 !important;
  display:block !important;
}
.fmt-sec{ background-color:#FFFFFF !important; }
.fmt-sec.fmt-alt{ background-color:#F4F2FF !important; }
.fmt-sec-in{ max-width:1188px; margin:0 auto !important; padding:88px 24px; }

/* --- L'en-tête de section --- */
.fmt-eh{ max-width:800px; margin:0 0 46px !important; }
.fmt-eh.fmt-mid{ margin-left:auto !important; margin-right:auto !important; text-align:center; }

.fmt-sec .fmt-eh h2{
  font-family:"Montserrat",sans-serif !important;
  font-size:38px !important; line-height:46px !important; font-weight:800 !important;
  letter-spacing:-.8px !important; color:#12111A !important;
  margin:0 0 16px !important;
}
.fmt-sec .fmt-eh h2 em{ font-style:normal !important; color:#1800AD !important; }

.fmt-eh-p{
  font-family:"Montserrat",sans-serif;
  font-size:17.5px; line-height:30px; color:#5B5870; margin:0 !important;
}

@media (max-width:1024px){
  .fmt-sec-in{ padding:64px 20px; }
  .fmt-eh{ margin-bottom:36px !important; }
  .fmt-sec .fmt-eh h2{ font-size:31px !important; line-height:40px !important; }
  .fmt-eh-p{ font-size:16.5px; line-height:28px; }
}
@media (max-width:767px){
  .fmt-sec-in{ padding:50px 20px; }
  .fmt-eh{ margin-bottom:28px !important; }
  .fmt-sec .fmt-eh h2{ font-size:26px !important; line-height:34px !important; letter-spacing:-.5px !important; }
  .fmt-eh-p{ font-size:16px; line-height:27px; }
}


/* ---------------------------------------------------------------------------
   29.8 — SECTION 3 : LE MÉTIER
   --------------------------------------------------------------------------- */

/* --- Directions garanties --- */
.fmt-deux{ display:flex !important; flex-direction:row !important; }
.fmt-col{ display:flex !important; flex-direction:column !important; }

.fmt-deux{ gap:56px; align-items:flex-start; }
.fmt-col{ flex:1 1 0; min-width:0; }

/* --- La colonne de texte --- */
.fmt-p{
  font-family:"Montserrat",sans-serif;
  font-size:16.5px; line-height:29px; color:#5B5870; margin:0 !important;
}
.fmt-p + .fmt-p{ margin-top:16px !important; }
.fmt-p b{ color:#12111A; font-weight:700; }

/* --- La colonne des acquis --- */
.fmt-sec .fmt-acquis-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:20px !important; line-height:28px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 22px !important;
}
.fmt-acquis{ list-style:none !important; margin:0 !important; padding:0 !important; }
.fmt-acquis li{
  font-family:"Montserrat",sans-serif;
  position:relative; padding:0 0 0 34px; margin:0 0 16px !important;
  font-size:15.5px; line-height:25px; font-weight:500; color:#12111A;
}
.fmt-acquis li:last-child{ margin-bottom:0 !important; }
.fmt-acquis li::before{
  content:""; position:absolute; left:0; top:1px;
  width:22px; height:22px; border-radius:50%; background-color:#1800AD;
}
.fmt-acquis li::after{
  content:""; position:absolute; left:7px; top:8px;
  width:8px; height:4px;
  border-left:2px solid #FFFFFF; border-bottom:2px solid #FFFFFF;
  transform:rotate(-45deg);
}

/* --- Tablette --- */
@media (max-width:1024px){
  .fmt-deux{ gap:34px; }
  .fmt-sec .fmt-acquis-t{ font-size:18.5px !important; line-height:26px !important; margin-bottom:18px !important; }
}

/* --- Mobile --- */
@media (max-width:767px){
  .fmt-deux{ flex-direction:column !important; gap:34px; }
  .fmt-col{ flex:0 0 auto; width:100%; max-width:100%; }
  .fmt-p{ font-size:16px; line-height:28px; }
  .fmt-acquis li{ font-size:15px; line-height:24px; padding-left:31px; }
}

/* ---------------------------------------------------------------------------
   29.9 — SECTION 4 : LES RÉFÉRENTIELS
   Conteneur « fmt-sec fmt-alt » : l'ossature du bloc 29.7 fait tout le reste.
   --------------------------------------------------------------------------- */

.fmt-ref, .fmt-jobs{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  gap:11px; list-style:none !important; margin:0 !important; padding:0 !important;
}
.fmt-ref li, .fmt-jobs li{
  font-family:"Montserrat",sans-serif;
  display:inline-flex; align-items:center; gap:9px;
  background-color:#FFFFFF; border:1px solid #DED9F3; border-radius:11px;
  padding:13px 18px; margin:0 !important;
  font-size:14.5px; line-height:21px; font-weight:600; color:#12111A;
}
.fmt-ref li::before{
  content:"›";
  font-size:17px; line-height:17px; font-weight:800; color:#A79BF5;
}

/* --- Tablette --- */
@media (max-width:1024px){
  .fmt-ref, .fmt-jobs{ gap:10px; }
  .fmt-ref li, .fmt-jobs li{ padding:12px 15px; font-size:14px; }
}

/* --- Mobile --- */
@media (max-width:767px){
  .fmt-ref, .fmt-jobs{ gap:8px; }
  .fmt-ref li, .fmt-jobs li{ padding:11px 13px; font-size:13.5px; line-height:20px; gap:7px; }
  .fmt-ref li::before{ font-size:15px; line-height:15px; }
}

/* ---------------------------------------------------------------------------
   29.10 — SECTION 5 : LE PROGRAMME BLOC PAR BLOC
   Conteneur « fmt-sec » (fond blanc). L'ossature 29.7 fait le reste.
   --------------------------------------------------------------------------- */

/* --- Directions garanties --- */
.fmt-blocs{ display:flex !important; flex-direction:row !important; }
.fmt-bloc{ display:flex !important; flex-direction:column !important; }

.fmt-blocs{ gap:22px; align-items:stretch; }

/* Variante à quatre blocs, pour les titres dont le référentiel en compte
   quatre. Quatre cartes en ligne restent lisibles sur un grand écran, mais
   tomberaient à 203 px sur tablette : elles passent alors en deux par deux. */
.fmt-blocs-4{ gap:18px !important; flex-wrap:wrap !important; }
@media (min-width:768px) and (max-width:1024px){
  .fmt-blocs-4 .fmt-bloc{
    flex:1 1 calc(50% - 9px) !important;
    max-width:calc(50% - 9px) !important;
  }
}
@media (max-width:767px){
  .fmt-blocs-4{ flex-wrap:nowrap !important; }
  .fmt-blocs-4 .fmt-bloc{
    flex:0 0 auto !important; width:100% !important; max-width:100% !important;
  }
}

/* --- La carte --- */
.fmt-bloc{
  flex:1 1 0; min-width:0;
  background-color:#FFFFFF; border:1px solid #DED9F3; border-radius:18px;
  padding:30px 26px;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.fmt-bloc:hover{
  border-color:#A79BF5;
  transform:translateY(-3px);
  box-shadow:0 18px 44px -28px rgba(24,0,173,.45);
}

/* --- Le numéro --- */
.fmt-bloc-n{
  font-family:"Montserrat",sans-serif;
  width:36px; height:36px; border-radius:11px;
  background-color:#1800AD; color:#FFFFFF;
  font-size:15px; line-height:36px; font-weight:800; text-align:center;
  margin:0 0 15px !important; flex:0 0 auto;
}

/* --- Le titre du bloc --- */
.fmt-sec .fmt-bloc-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:20px !important; line-height:27px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 15px !important;
}

/* --- Les modules --- */
.fmt-mods{ list-style:none !important; margin:0 !important; padding:0 !important; flex:1 1 auto; }
.fmt-mods li{
  font-family:"Montserrat",sans-serif;
  font-size:14.5px; line-height:23px; color:#5B5870;
  padding:9px 0; margin:0 !important;
  border-top:1px solid #F0EDFB;
}

/* --- Le livrable --- */
.fmt-liv{
  font-family:"Montserrat",sans-serif;
  margin:18px 0 0 !important;
  background-color:#F4F2FF; border-radius:10px;
  padding:12px 14px;
  font-size:12.8px; line-height:19px; font-weight:600; color:#1800AD;
}

/* --- Tablette --- */
@media (max-width:1024px){
  .fmt-blocs{ gap:16px; }
  .fmt-bloc{ padding:24px 20px; }
  .fmt-sec .fmt-bloc-t{ font-size:18px !important; line-height:25px !important; }
  .fmt-mods li{ font-size:14px; line-height:22px; padding:8px 0; }
}

/* --- Mobile --- */
@media (max-width:767px){
  .fmt-blocs{ flex-direction:column !important; gap:14px; }
  .fmt-bloc{ flex:0 0 auto; width:100%; max-width:100%; padding:24px 20px; }
  .fmt-bloc:hover{ transform:none; }
  .fmt-sec .fmt-bloc-t{ font-size:19px !important; line-height:26px !important; }
}

/* ---------------------------------------------------------------------------
   29.11 — SECTION 6 : LA MÉTHODE
   Conteneur « fmt-sec fmt-alt ». Quatre piliers en ligne sur ordinateur,
   deux par deux sur tablette, empilés sur mobile.
   --------------------------------------------------------------------------- */

/* --- Directions garanties --- */
.fmt-piliers{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; }
.fmt-pilier{ display:flex !important; flex-direction:column !important; }

.fmt-piliers{ gap:20px; align-items:stretch; }

/* --- La carte --- */
.fmt-pilier{
  flex:1 1 0; min-width:0;
  background-color:#FFFFFF; border:1px solid #DED9F3; border-radius:16px;
  padding:28px 24px;
}

/* --- L'icône --- */
.fmt-pilier-ic{
  width:46px; height:46px; border-radius:13px;
  background-color:#F4F2FF;
  display:flex !important; align-items:center; justify-content:center;
  margin:0 0 16px !important; flex:0 0 auto;
}
/* Les attributs fill="none" et stroke-width écrits dans le SVG sont des
   attributs de présentation : n'importe quelle règle CSS du thème les écrase,
   et Hello Elementor pose svg{fill:currentColor}. Les pictogrammes devenaient
   alors des taches noires pleines, sans trait. Tout est donc redéclaré ici en
   CSS, en (0,1,2) pour battre les règles du type .elementor svg path. */
.fmt-pilier-ic svg{
  width:23px !important; height:23px !important; max-width:none !important;
  display:block !important;
  fill:none !important; stroke:#1800AD !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important; stroke-linejoin:round !important;
}
.fmt-pilier-ic svg path,
.fmt-pilier-ic svg circle,
.fmt-pilier-ic svg rect,
.fmt-pilier-ic svg line,
.fmt-pilier-ic svg polyline,
.fmt-pilier-ic svg polygon,
.fmt-pilier-ic svg ellipse{
  fill:none !important; stroke:#1800AD !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important; stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke;
}

/* --- Le titre --- */
.fmt-sec .fmt-pilier-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:17.5px !important; line-height:25px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 9px !important;
}

/* --- Le texte --- */
.fmt-pilier-p{
  font-family:"Montserrat",sans-serif;
  font-size:14.5px; line-height:24px; color:#5B5870; margin:0 !important;
}

/* --- Tablette : deux par deux --- */
@media (max-width:1024px){
  .fmt-piliers{ gap:16px; }
  .fmt-pilier{
    flex:0 0 calc(50% - 8px) !important;
    max-width:calc(50% - 8px) !important;
    padding:24px 20px;
  }
}

/* --- Mobile : empilés --- */
@media (max-width:767px){
  .fmt-piliers{ gap:14px; }
  .fmt-pilier{
    flex:0 0 100% !important;
    max-width:100% !important;
    width:100%;
  }
  .fmt-pilier-ic{ width:42px; height:42px; border-radius:12px; margin-bottom:13px !important; }
  .fmt-sec .fmt-pilier-t{ font-size:17px !important; line-height:24px !important; }
}

/* ---------------------------------------------------------------------------
   29.12 — SECTION 7 : LES FORMULES ET LE FINANCEMENT
   Conteneur « fmt-sec » (fond blanc). Trois cartes, deux bandeaux en
   pointillés, une barre de financement.
   --------------------------------------------------------------------------- */

/* --- Directions garanties --- */
.fmt-tar, .fmt-plus, .fmt-finbar{ display:flex !important; flex-direction:row !important; }
.fmt-t, .fmt-pl-txt{ display:flex !important; flex-direction:column !important; }

/* --- La rangée de cartes --- */
.fmt-tar{ gap:20px; align-items:stretch; padding-top:14px; margin-bottom:22px !important; }

/* Variante à deux formules seulement : sans borne, deux cartes s'étalent à
   560 px chacune et la section paraît vide. La rangée et le bandeau qui la
   suit sont donc ramenés à 840 px, centrés. */
.fmt-tar-2, .fmt-plus-c{
  max-width:840px !important;
  margin-left:auto !important; margin-right:auto !important;
}

.fmt-t{
  flex:1 1 0; min-width:0; position:relative;
  background-color:#FFFFFF; border:1px solid #DED9F3; border-radius:16px;
  padding:28px 24px;
}
.fmt-t-big{
  border:2px solid #1800AD;
  box-shadow:0 14px 40px -18px rgba(24,0,173,.42);
}
.fmt-t-tag{
  position:absolute; top:-13px; left:24px;
  font-family:"Montserrat",sans-serif;
  background-color:#FFBD59; color:#12111A;
  font-size:11.5px; line-height:14px; font-weight:800;
  letter-spacing:.6px; text-transform:uppercase;
  padding:6px 13px; border-radius:99px; margin:0 !important;
}

.fmt-sec .fmt-t-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:24px !important; font-weight:800 !important;
  color:#12111A !important; margin:0 0 7px !important;
}
.fmt-px{
  font-family:"Montserrat",sans-serif;
  font-size:31px; line-height:38px; font-weight:800; color:#1800AD; margin:0 !important;
}
.fmt-pxs{
  font-family:"Montserrat",sans-serif;
  font-size:12.8px; line-height:19px; color:#5B5870; margin:0 0 18px !important;
}

.fmt-t-list{ list-style:none !important; margin:0 !important; padding:0 !important; flex:1 1 auto; }
.fmt-t-list li{
  font-family:"Montserrat",sans-serif;
  font-size:14px; line-height:22px; color:#5B5870;
  padding:8px 0; margin:0 !important; border-top:1px solid #F0EDFB;
}

/* --- Le bouton de carte : cinq états, en (0,3,1) --- */
.fmt-sec .fmt-t a.fmt-t-cta{
  font-family:"Montserrat",sans-serif;
  display:block; margin-top:18px !important; text-align:center;
  border-radius:11px; padding:13px 14px;
  font-size:14px; line-height:20px; font-weight:700;
  text-decoration:none !important;
  transition:background-color .16s ease, color .16s ease;
}
.fmt-sec .fmt-t a.fmt-t-cta,
.fmt-sec .fmt-t a.fmt-t-cta:link,
.fmt-sec .fmt-t a.fmt-t-cta:visited{
  background-color:#F4F2FF !important; color:#1800AD !important;
}
.fmt-sec .fmt-t a.fmt-t-cta:hover,
.fmt-sec .fmt-t a.fmt-t-cta:focus,
.fmt-sec .fmt-t a.fmt-t-cta:active{
  background-color:#1800AD !important; color:#FFFFFF !important;
}
.fmt-sec .fmt-t-big a.fmt-t-cta,
.fmt-sec .fmt-t-big a.fmt-t-cta:link,
.fmt-sec .fmt-t-big a.fmt-t-cta:visited{
  background-color:#FFBD59 !important; color:#12111A !important;
}
.fmt-sec .fmt-t-big a.fmt-t-cta:hover,
.fmt-sec .fmt-t-big a.fmt-t-cta:focus,
.fmt-sec .fmt-t-big a.fmt-t-cta:active{
  background-color:#1800AD !important; color:#FFFFFF !important;
}

/* --- Les deux bandeaux en pointillés --- */
.fmt-plus{ gap:20px; align-items:stretch; }
.fmt-pl{
  flex:1 1 0; min-width:0;
  display:flex !important; flex-direction:row !important;
  justify-content:space-between; align-items:center; gap:20px;
  background-color:#FFFFFF; border:1px dashed #C9C2F5; border-radius:14px;
  padding:20px 24px;
}
.fmt-pl-txt{ min-width:0; }
.fmt-sec .fmt-pl-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:15.5px !important; line-height:22px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 4px !important;
}
.fmt-pl-p{
  font-family:"Montserrat",sans-serif;
  font-size:13.5px; line-height:21px; color:#5B5870; margin:0 !important;
}
.fmt-pl-px{
  font-family:"Montserrat",sans-serif;
  font-size:22px; line-height:28px; font-weight:800; color:#1800AD;
  margin:0 !important; white-space:nowrap; flex:0 0 auto;
}

/* --- La barre de financement --- */
.fmt-finbar{
  margin-top:26px !important;
  background-color:#1800AD; border-radius:16px;
  padding:26px 30px;
  align-items:center; gap:26px; flex-wrap:wrap;
}
.fmt-sec .fmt-finbar-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:26px !important; font-weight:700 !important;
  color:#FFFFFF !important; margin:0 !important; flex:0 0 auto;
}
.fmt-finbar-l{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  gap:10px; list-style:none !important; margin:0 !important; padding:0 !important; flex:1 1 auto;
}
.fmt-finbar-l li{
  font-family:"Montserrat",sans-serif;
  background-color:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  color:#FFFFFF; border-radius:99px;
  padding:9px 16px; margin:0 !important;
  font-size:13.5px; line-height:20px; font-weight:600;
}

/* --- Tablette --- */
@media (max-width:1024px){
  .fmt-tar{ gap:14px; }
  .fmt-t{ padding:24px 18px; }
  .fmt-px{ font-size:27px; line-height:34px; }
  .fmt-t-list li{ font-size:13.5px; line-height:21px; padding:7px 0; }
  .fmt-plus{ gap:14px; }
  .fmt-pl{ padding:18px 20px; gap:14px; }
  .fmt-finbar{ padding:22px 24px; gap:18px; }
}

/* --- Mobile --- */
@media (max-width:767px){
  .fmt-tar{ flex-direction:column !important; gap:22px; padding-top:16px; }
  .fmt-t{ flex:0 0 auto; width:100%; max-width:100%; }
  .fmt-plus{ flex-direction:column !important; gap:12px; }
  .fmt-pl{ flex:0 0 auto; width:100%; max-width:100%; }
  .fmt-finbar{ flex-direction:column !important; align-items:flex-start; gap:16px; padding:22px 20px; }
  .fmt-finbar-l li{ font-size:13px; padding:8px 13px; }
}

/* ---------------------------------------------------------------------------
   29.13 — SECTION 8 : LES MÉTIERS ET LES SALAIRES
   Conteneur « fmt-sec fmt-alt ». Les pastilles de métiers réutilisent la
   pastille du bloc 29.9 sous le nom « fmt-jobs » : même dessin, sans le
   chevron. Seul le bandeau de rémunération est décrit ici.
   --------------------------------------------------------------------------- */

.fmt-jobs{ margin-bottom:30px !important; }

/* --- Le bandeau de rémunération ---
   align-items:center décalait les chiffres de 10 px : quand un libellé passe
   sur deux lignes, sa colonne grandit et se recentre, entraînant le chiffre
   avec elle. On passe en stretch, les colonnes font toutes la hauteur du
   bandeau et les trois chiffres démarrent sur la même ligne.
   Les séparateurs sont des bordures gauches posées sur les colonnes, et non
   des éléments : elles suivent donc la hauteur du bandeau. L'écart vient du
   remplissage des colonnes, plus du gap, sans quoi le filet flotterait au
   milieu de l'espace. */
.fmt-sal{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  align-items:stretch; gap:0;
  background-color:#FFFFFF; border:1px solid #DED9F3; border-radius:16px;
  padding:28px 30px;
}
.fmt-sal-c{
  flex:1 1 0; min-width:130px;
  padding:0 26px;
  border-left:1px solid #DED9F3;
}
.fmt-sal-c:first-child{ padding-left:0; border-left:0; }
.fmt-sal-n{
  font-family:"Montserrat",sans-serif;
  font-size:27px; line-height:34px; font-weight:800; color:#1800AD; margin:0 !important;
}
.fmt-sal-l{
  font-family:"Montserrat",sans-serif;
  font-size:13px; line-height:20px; color:#5B5870; margin:3px 0 0 !important;
}
.fmt-sal-note{
  flex:1.5 1 240px; min-width:0;
  display:flex !important; align-items:center;
  padding-left:26px;
  border-left:1px solid #DED9F3;
  font-family:"Montserrat",sans-serif;
  font-size:12.5px; line-height:19px; color:#5B5870; margin:0 !important;
}
.fmt-sal-note a{ color:#1800AD; text-decoration:underline; }

/* --- Tablette --- */
/* Tablette : les trois chiffres gardent leurs filets verticaux, la note
   passe en dessous, séparée par un filet horizontal. À 900 px, la garder
   sur la même ligne réduirait chaque colonne à moins de 140 px. */
@media (max-width:1024px){
  .fmt-jobs{ margin-bottom:24px !important; }
  .fmt-sal{ padding:24px 22px; row-gap:18px; }
  .fmt-sal-n{ font-size:24px; line-height:31px; }
  .fmt-sal-c{ min-width:0; padding:0 18px; }
  .fmt-sal-note{
    flex:0 0 100%; max-width:100%;
    border-left:0; border-top:1px solid #DED9F3;
    padding-left:0; padding-top:18px;
  }
}

/* --- Mobile --- */
/* Mobile : tout s'empile, les filets deviennent horizontaux. */
@media (max-width:767px){
  .fmt-jobs{ margin-bottom:20px !important; }
  .fmt-sal{ flex-direction:column !important; align-items:stretch; row-gap:0; padding:22px 20px; }
  .fmt-sal-c, .fmt-sal-note{ flex:0 0 auto; width:100%; max-width:100%; min-width:0; }
  .fmt-sal-c{
    padding:14px 0;
    border-left:0; border-top:1px solid #DED9F3;
  }
  .fmt-sal-c:first-child{ padding-top:0; border-top:0; }
  .fmt-sal-note{
    border-left:0; border-top:1px solid #DED9F3;
    padding-left:0; padding-top:16px; margin-top:14px !important;
  }
  .fmt-sal-n{ font-size:23px; line-height:30px; }
}

/* ---------------------------------------------------------------------------
   29.14 — FILET : MARGES DE PARAGRAPHE
   Elementor écrit dans ses réglages globaux :
       .elementor-kit-6 p{ margin-block-end:50px }        (ordinateur)
       .elementor-kit-6 p{ margin-block-end:17px }        (tablette)
       .elementor-kit-6 p{ margin-block-end:16px }        (mobile)
   Ce sélecteur vaut (0,1,1). Toutes mes règles du type .fmt-chap{margin:0}
   ne valaient que (0,1,0) : elles perdaient, et CHAQUE paragraphe de la fiche
   recevait 50 px de marge basse sur ordinateur. Les marges du bloc 29 portent
   désormais !important, et la règle ci-dessous sert de second filet pour tout
   paragraphe de la fiche auquel je n'aurais pas donné de classe.
   --------------------------------------------------------------------------- */
.elementor .fmt-hero p,
.elementor .fmt-cert p,
.elementor .fmt-sec p{
  margin-block-start:0;
  margin-block-end:0;
}

/* ---------------------------------------------------------------------------
   29.15 — SECTION 9 : LES TÉMOIGNAGES
   Conteneur « fmt-sec » (fond blanc).
   Toutes les propriétés de texte et de marge portent !important d'emblée :
   les réglages globaux d'Elementor s'écrivent .elementor-kit-6 p, soit
   (0,1,1), et battent sinon toute règle à classe seule.
   --------------------------------------------------------------------------- */

/* --- Directions garanties --- */
.fmt-tem{ display:flex !important; flex-direction:row !important; }
.fmt-tm{ display:flex !important; flex-direction:column !important; }
.fmt-tm-qui{ display:flex !important; flex-direction:row !important; }

.fmt-tem{ gap:22px !important; align-items:stretch !important; }

/* --- La carte --- */
.fmt-tm{
  flex:1 1 0 !important; min-width:0 !important;
  position:relative;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important; border-radius:16px !important;
  padding:30px 26px 26px !important;
}

/* --- Le guillemet décoratif --- */
.fmt-tm-g{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:52px !important; line-height:34px !important; font-weight:700 !important;
  color:#DED9F3 !important;
  margin:0 0 6px !important;
  display:block !important;
}

/* --- La citation --- */
.fmt-tm-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:15.5px !important; line-height:26px !important; font-weight:500 !important;
  color:#12111A !important;
  margin:0 0 22px !important;
  flex:1 1 auto !important;
}

/* --- L'identité --- */
.fmt-tm-qui{ gap:12px !important; align-items:center !important; }
.fmt-tm-av{
  flex:0 0 44px !important;
  width:44px !important; height:44px !important; border-radius:50% !important;
  background-color:#F4F2FF !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:14.5px !important; line-height:44px !important; font-weight:800 !important;
  color:#1800AD !important;
  margin:0 !important;
}
.fmt-tm-id{ min-width:0 !important; }
.fmt-sec .fmt-tm-n{
  font-family:"Montserrat",sans-serif !important;
  font-size:14.5px !important; line-height:21px !important; font-weight:700 !important;
  color:#12111A !important;
  margin:0 !important;
}
.fmt-tm-r{
  font-family:"Montserrat",sans-serif !important;
  font-size:12.8px !important; line-height:19px !important; font-weight:500 !important;
  color:#5B5870 !important;
  margin:2px 0 0 !important;
}

/* --- Tablette --- */
@media (max-width:1024px){
  .fmt-tem{ gap:16px !important; }
  .fmt-tm{ padding:24px 20px 20px !important; }
  .fmt-tm-p{ font-size:14.5px !important; line-height:24px !important; margin-bottom:18px !important; }
  .fmt-tm-g{ font-size:46px !important; line-height:30px !important; }
}

/* --- Mobile --- */
@media (max-width:767px){
  .fmt-tem{ flex-direction:column !important; gap:14px !important; }
  .fmt-tm{ flex:0 0 auto !important; width:100% !important; max-width:100% !important; }
  .fmt-tm-p{ font-size:15px !important; line-height:25px !important; }
}

/* ---------------------------------------------------------------------------
   29.16 — SECTION 10 : LE PARCOURS ET LES MENTIONS D'ADMISSION
   Conteneur « fmt-sec » (fond blanc). Deux ensembles : cinq étapes numérotées,
   puis six encarts qui portent les mentions obligatoires.
   Tout est écrit avec !important : les réglages globaux d'Elementor valent
   (0,1,1) et battent sinon toute règle à classe seule.
   --------------------------------------------------------------------------- */

/* --- Directions garanties --- */
.fmt-et, .fmt-adm{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; }
.fmt-e, .fmt-a{ display:flex !important; flex-direction:column !important; }

/* =============== Les cinq étapes =============== */
.fmt-et{ gap:16px !important; align-items:stretch !important; margin:0 0 34px !important; }

.fmt-e{
  flex:1 1 0 !important; min-width:0 !important;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important; border-radius:14px !important;
  padding:22px 20px !important;
}
.fmt-e-n{
  width:30px !important; height:30px !important; border-radius:9px !important;
  background-color:#F4F2FF !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:13.5px !important; line-height:30px !important; font-weight:800 !important;
  color:#1800AD !important;
  margin:0 0 12px !important; flex:0 0 auto !important;
}
.fmt-sec .fmt-e-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:21px !important; font-weight:700 !important;
  color:#12111A !important;
  margin:0 0 6px !important;
}
.fmt-e-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:13.2px !important; line-height:20px !important; font-weight:500 !important;
  color:#5B5870 !important;
  margin:0 !important;
}

/* =============== Les six encarts =============== */
.fmt-adm{ gap:20px !important; align-items:stretch !important; }

.fmt-a{
  flex:1 1 calc(33.333% - 14px) !important;
  max-width:calc(33.333% - 14px) !important;
  min-width:0 !important;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important; border-radius:14px !important;
  padding:22px !important;
}
.fmt-sec .fmt-a-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:12px !important; line-height:17px !important; font-weight:700 !important;
  letter-spacing:1.1px !important; text-transform:uppercase !important;
  color:#1800AD !important;
  margin:0 0 9px !important;
}
.fmt-a-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:22px !important; font-weight:500 !important;
  color:#5B5870 !important;
  margin:0 !important;
}
.fmt-a-l{ list-style:none !important; margin:0 !important; padding:0 !important; }
.fmt-a-l li{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:22px !important; font-weight:500 !important;
  color:#5B5870 !important;
  position:relative !important;
  padding:5px 0 5px 15px !important;
  margin:0 !important;
}
.fmt-a-l li::before{
  content:"" !important; position:absolute !important;
  left:0 !important; top:13px !important;
  width:6px !important; height:6px !important; border-radius:50% !important;
  background-color:#A79BF5 !important;
}

/* --- Tablette --- */
@media (max-width:1024px){
  .fmt-et{ gap:14px !important; margin-bottom:26px !important; }
  .fmt-e{
    flex:1 1 calc(33.333% - 10px) !important;
    max-width:calc(33.333% - 10px) !important;
    padding:20px 18px !important;
  }
  .fmt-adm{ gap:16px !important; }
  .fmt-a{
    flex:1 1 calc(50% - 8px) !important;
    max-width:calc(50% - 8px) !important;
    padding:20px 18px !important;
  }
}

/* --- Mobile --- */
@media (max-width:767px){
  .fmt-et{ gap:12px !important; margin-bottom:22px !important; }
  .fmt-e{
    flex:0 0 100% !important; max-width:100% !important; width:100% !important;
  }
  .fmt-adm{ gap:12px !important; }
  .fmt-a{
    flex:0 0 100% !important; max-width:100% !important; width:100% !important;
  }
}

/* ---------------------------------------------------------------------------
   29.17 — SECTION 11 : LA FAQ
   Cette section n'est PAS un widget HTML. Elle reprend le widget Accordéon
   d'Elementor déjà utilisé sur /financer/ et /candidater/, dont l'apparence
   est entièrement décrite par le bloc 12. Rien n'est redéfini ici.

   Le conteneur porte « fmt-sec fmt-alt fmt-faq ». Le fond et l'alternance
   viennent de 29.7 ; « fmt-faq » sert uniquement à recentrer ses deux enfants,
   puisqu'ils ne passent pas par le gabarit .fmt-sec-in d'un widget HTML.
   --------------------------------------------------------------------------- */

.elementor .fmt-faq > .e-con-inner,
.elementor .fmt-faq.e-con-full{
  display:flex !important; flex-direction:column !important;
  align-items:center !important;
  padding:88px 24px !important;
  padding-block:88px !important; padding-inline:24px !important;
  gap:0 !important;
}

/* Les deux enfants du conteneur : l'en-tête et l'accordéon. */
.fmt-faq > .elementor-widget,
.fmt-faq > .e-con-inner > .elementor-widget{
  width:100% !important;
  max-width:880px !important;
  margin-left:auto !important; margin-right:auto !important;
}

.fmt-faq .fmt-eh{ margin:0 0 40px !important; }

/* --- Tablette --- */
@media (max-width:1024px){
  .elementor .fmt-faq > .e-con-inner,
  .elementor .fmt-faq.e-con-full{
    padding:64px 20px !important;
    padding-block:64px !important; padding-inline:20px !important;
  }
  .fmt-faq .fmt-eh{ margin-bottom:30px !important; }
}

/* --- Mobile --- */
@media (max-width:767px){
  .elementor .fmt-faq > .e-con-inner,
  .elementor .fmt-faq.e-con-full{
    padding:50px 20px !important;
    padding-block:50px !important; padding-inline:20px !important;
  }
  .fmt-faq .fmt-eh{ margin-bottom:24px !important; }
}

/* ===========================================================================
   30 — PAGES SERVICES
   Le hub /services/ et ses quatre sous-pages réutilisent toute l'ossature du
   bloc 29 : « fmt-sec », « fmt-eh », « fmt-ref », « fmt-sal », « fmt-et »,
   « fmt-adm », la FAQ et le bandeau final. Seules deux choses manquaient :
   un hero sur une seule colonne, et les grandes cartes de service.
   Tout est écrit avec !important, comme le bloc 29.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   30.1 — HERO SUR UNE SEULE COLONNE
   S'ajoute à « fmt-hero » : .fmt-hero.fmt-hero-seul
   --------------------------------------------------------------------------- */
.fmt-hero-seul .fmt-hero-g{
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
}
.fmt-hero-seul .fmt-hero-l{
  flex:0 0 auto !important;
  width:100% !important;
  max-width:820px !important;
}
.fmt-hero-seul .fmt-chap,
.fmt-hero-seul .fmt-promesse{ max-width:760px !important; }

/* ---------------------------------------------------------------------------
   30.2 — LES GRANDES CARTES DE SERVICE
   Deux par deux sur ordinateur et tablette, empilées sur téléphone.
   --------------------------------------------------------------------------- */
.fmt-srv{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  gap:22px !important; align-items:stretch !important;
}
.fmt-srv-c{
  display:flex !important; flex-direction:column !important;
  flex:1 1 calc(50% - 11px) !important;
  max-width:calc(50% - 11px) !important;
  min-width:0 !important;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important; border-radius:18px !important;
  padding:32px 30px !important;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.fmt-srv-c:hover{
  border-color:#A79BF5 !important;
  transform:translateY(-3px);
  box-shadow:0 18px 44px -28px rgba(24,0,173,.45);
}

/* --- L'étiquette du public visé --- */
.fmt-srv-pub{
  font-family:"Montserrat",sans-serif !important;
  display:inline-block !important; align-self:flex-start !important;
  background-color:#F4F2FF !important; color:#1800AD !important;
  border-radius:999px !important;
  padding:7px 14px !important;
  font-size:12px !important; line-height:16px !important; font-weight:700 !important;
  letter-spacing:.8px !important; text-transform:uppercase !important;
  margin:0 0 16px !important;
}

/* --- Le nom du service --- */
.fmt-sec .fmt-srv-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:26px !important; line-height:34px !important; font-weight:800 !important;
  letter-spacing:-.4px !important; color:#12111A !important;
  margin:0 0 10px !important;
}

/* --- La promesse --- */
.fmt-srv-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:27px !important; font-weight:600 !important;
  color:#1800AD !important;
  margin:0 0 14px !important;
}

/* --- Le descriptif --- */
.fmt-srv-d{
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:25px !important; font-weight:500 !important;
  color:#5B5870 !important;
  margin:0 0 18px !important;
}

/* --- La liste des prestations --- */
.fmt-srv-l{ list-style:none !important; margin:0 !important; padding:0 !important; flex:1 1 auto !important; }
.fmt-srv-l li{
  font-family:"Montserrat",sans-serif !important;
  font-size:14.5px !important; line-height:23px !important; font-weight:500 !important;
  color:#5B5870 !important;
  position:relative !important;
  padding:8px 0 8px 17px !important;
  margin:0 !important;
  border-top:1px solid #F0EDFB !important;
}
.fmt-srv-l li::before{
  content:"" !important; position:absolute !important;
  left:0 !important; top:17px !important;
  width:6px !important; height:6px !important; border-radius:50% !important;
  background-color:#A79BF5 !important;
}

/* --- Le lien de la carte : cinq états, en (0,3,1) --- */
.fmt-sec .fmt-srv-c a.fmt-srv-lien{
  font-family:"Montserrat",sans-serif !important;
  display:block !important; margin-top:20px !important; text-align:center !important;
  border-radius:11px !important; padding:14px !important;
  font-size:14.5px !important; line-height:21px !important; font-weight:700 !important;
  text-decoration:none !important;
  transition:background-color .16s ease, color .16s ease;
}
.fmt-sec .fmt-srv-c a.fmt-srv-lien,
.fmt-sec .fmt-srv-c a.fmt-srv-lien:link,
.fmt-sec .fmt-srv-c a.fmt-srv-lien:visited{
  background-color:#F4F2FF !important; color:#1800AD !important;
}
.fmt-sec .fmt-srv-c a.fmt-srv-lien:hover,
.fmt-sec .fmt-srv-c a.fmt-srv-lien:focus,
.fmt-sec .fmt-srv-c a.fmt-srv-lien:active{
  background-color:#1800AD !important; color:#FFFFFF !important;
}

/* ---------------------------------------------------------------------------
   30.3 — TABLETTE
   --------------------------------------------------------------------------- */
@media (max-width:1024px){
  .fmt-srv{ gap:16px !important; }
  .fmt-srv-c{
    flex:1 1 calc(50% - 8px) !important;
    max-width:calc(50% - 8px) !important;
    padding:26px 22px !important;
  }
  .fmt-sec .fmt-srv-t{ font-size:22px !important; line-height:30px !important; }
  .fmt-srv-p{ font-size:16px !important; line-height:25px !important; }
}

/* ---------------------------------------------------------------------------
   30.4 — MOBILE
   --------------------------------------------------------------------------- */
@media (max-width:767px){
  .fmt-srv{ gap:14px !important; }
  .fmt-srv-c{
    flex:0 0 100% !important; max-width:100% !important; width:100% !important;
    padding:24px 20px !important;
  }
  .fmt-srv-c:hover{ transform:none; }
  .fmt-sec .fmt-srv-t{ font-size:21px !important; line-height:29px !important; }
  .fmt-hero-seul .fmt-hero-l{ max-width:100% !important; }
}


/* ---------------------------------------------------------------------------
   30.5 — DEUX VARIANTES DE GRILLE POUR LES PAGES SERVICES
   Le bloc 29.16 a été écrit pour CINQ étapes et SIX encarts. Sur les pages
   services, les mêmes composants n'en portent que quatre et trois : à
   1024 px, les règles de 29.16 donnaient 3 + 1 étape et 2 + 1 encart, avec
   une carte orpheline en bas de ligne. Ces deux classes, ajoutées à côté de
   « fmt-et » et « fmt-adm », corrigent uniquement la tranche tablette.
   Elles sont écrites APRÈS 29.16 : à spécificité égale, la dernière gagne.
   --------------------------------------------------------------------------- */
@media (min-width:768px) and (max-width:1024px){
  .fmt-et-4 .fmt-e{
    flex:1 1 calc(50% - 7px) !important;
    max-width:calc(50% - 7px) !important;
  }
  .fmt-adm-3 .fmt-a{
    flex:1 1 calc(33.333% - 10.67px) !important;
    max-width:calc(33.333% - 10.67px) !important;
  }
}



/* ===========================================================================
   31 — PAGE /services/formations-entreprises/
   Deux ajouts seulement : un hero qui porte la mascotte dans trois poses,
   et une grille à trois colonnes pour les six domaines d'expertise. Tout le
   reste de la page réutilise le bloc 29 et le bloc 30 tels quels.
   Écrit avec !important, comme les blocs 29 et 30.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   31.1 — LE HERO AVEC LA MASCOTTE
   S'ajoute à « fmt-hero » : .fmt-hero.fmt-hero-masc
   La colonne de droite remplace la carte « en bref » des fiches formation.
   Deux variantes : « fmt-masc » seul, qui aligne plusieurs vignettes, et
   « fmt-masc fmt-masc-solo », traité au 31.3, qui met une seule pose en
   grand, sans cadre, comme sur le hero de l'accueil.
   --------------------------------------------------------------------------- */

/* --- Directions garanties --- */
.fmt-masc-col{ display:flex !important; flex-direction:column !important; }
.fmt-masc{ display:flex !important; flex-direction:row !important; }

.fmt-hero-masc .fmt-masc-col{
  flex:1.15 1 0 !important; min-width:0 !important;
  align-items:center !important; justify-content:center !important;
  align-self:center !important;
  padding-top:0 !important;
}
.fmt-masc{
  flex-wrap:wrap !important;
  align-items:flex-end !important; justify-content:center !important;
  gap:14px !important; margin:0 !important;
}

/* --- La vignette --- */
.fmt-masc-i{
  display:block !important; flex:0 0 auto !important;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important;
  border-radius:22px !important;
  overflow:hidden !important;
  box-shadow:0 22px 48px -30px rgba(24,0,173,.45) !important;
}
/* Hello Elementor pose img{max-width:100%;height:auto} : les deux sont
   redéclarés ici, sinon la hauteur fixe de la vignette est ignorée. */
.fmt-masc-i img{
  display:block !important;
  width:100% !important; height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  border-radius:0 !important;
}
.fmt-masc-1{ width:132px !important; height:132px !important; transform:rotate(-5deg); }
.fmt-masc-2{ width:180px !important; height:180px !important; transform:translateY(-18px); }
.fmt-masc-3{ width:132px !important; height:132px !important; transform:rotate(5deg); }

/* --- Le gras dans le texte d'un pilier, comme .fmt-p b --- */
.fmt-pilier-p b{ color:#12111A !important; font-weight:700 !important; }

/* La bannière 1600 x 600 : on recadre sur la mascotte, qui se tient aux
   deux tiers de la largeur. Réservé au hub /services/. */
.fmt-masc-i.fmt-masc-band img{ object-position:66% 50% !important; }

/* --- La légende sous les vignettes --- */
.fmt-masc-leg{
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important; line-height:20px !important; font-weight:600 !important;
  color:#5B5870 !important; text-align:center !important;
  margin:26px 0 0 !important; max-width:320px !important;
}

/* --- Tablette --- */
@media (max-width:1024px){
  .fmt-hero-masc .fmt-masc-col{ flex:0 0 240px !important; padding-top:10px !important; }
  .fmt-masc{ gap:10px !important; }
  .fmt-masc-1, .fmt-masc-3{ width:104px !important; height:104px !important; }
  .fmt-masc-2{ width:140px !important; height:140px !important; transform:translateY(-14px); }
  .fmt-masc-leg{ font-size:12.5px !important; margin-top:20px !important; }
}

/* --- Mobile --- */
@media (max-width:767px){
  .fmt-hero-masc .fmt-masc-col{
    flex:0 0 auto !important; width:100% !important; max-width:100% !important;
    padding-top:0 !important;
  }
  .fmt-masc{ gap:8px !important; }
  .fmt-masc-1, .fmt-masc-3{ width:88px !important; height:88px !important; }
  .fmt-masc-2{ width:118px !important; height:118px !important; transform:translateY(-10px); }
  .fmt-masc-leg{ margin-top:16px !important; }
}

/* ---------------------------------------------------------------------------
   31.3 — LA MASCOTTE EN GRAND, SANS CADRE
   « fmt-masc fmt-masc-solo » : une seule pose, traitée comme sur le hero de
   l'accueil. Le personnage détouré flotte sur le fond, sans vignette, sans
   liseré et sans fond blanc.

   Mesuré sur les quatre fichiers livrés : 1254 x 1254, couche alpha présente,
   coins à alpha 0. Le gris que l'on croit voir en ouvrant le PNG est celui de
   la visionneuse du navigateur, pas celui de l'image.

   Trois raisons aux règles qui suivent :
   - « contain » et non « cover » : les marges des quatre fichiers vont de
     2,3 % à 17,1 %, et « cover » rognerait la main tendue de la pose
     Entreprises, dont la marge droite ne fait que 2,3 % ;
   - un halo radial derrière le personnage, sinon un sujet bleu sur un fond
     encre n'a aucun décollement ;
   - un socle elliptique sous les pieds, comme sur l'accueil : sans lui le
     personnage ne repose sur rien et paraît tomber.
   Spécificité (0,4,0) au besoin, pour battre .srv-x.fmt-hero .fmt-masc-i.
   --------------------------------------------------------------------------- */

/* Le halo est plus large que la colonne qui le porte : sans cette ligne, il
   pousse la page de 5 à 20 px vers la droite entre 950 et 1200 px, et fait
   apparaître une barre de défilement horizontale. Mesuré, puis corrigé. */
.fmt-hero-masc{ overflow:hidden !important; }

.fmt-masc-solo{
  position:relative !important;
  gap:0 !important;
  justify-content:center !important;
  align-items:flex-end !important;
}

/* --- Le halo, derrière --- */
.fmt-masc-solo::before{
  content:"" !important;
  position:absolute !important; left:50% !important; top:44% !important;
  width:560px !important; height:560px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(24,0,173,.60) 0%, rgba(24,0,173,.22) 42%, rgba(24,0,173,0) 70%) !important;
  z-index:0 !important; pointer-events:none !important;
}

/* --- Le socle elliptique, sous les pieds --- */
.fmt-masc-solo::after{
  content:"" !important;
  position:absolute !important; left:50% !important; bottom:4px !important;
  width:300px !important; height:58px !important;
  transform:translateX(-50%) !important;
  border-radius:50% !important;
  background:radial-gradient(ellipse at center, rgba(167,155,245,.42) 0%, rgba(167,155,245,.16) 55%, rgba(167,155,245,0) 74%) !important;
  z-index:0 !important; pointer-events:none !important;
}

/* --- Le personnage --- */
.fmt-masc-solo .fmt-masc-i,
.srv-x.fmt-hero .fmt-masc-solo .fmt-masc-i{
  position:relative !important; z-index:1 !important;
  width:420px !important; height:420px !important;
  max-width:100% !important;
  background-color:transparent !important;
  border:0 !important; border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:none !important;
}
.fmt-masc-solo .fmt-masc-i img,
.srv-x.fmt-hero .fmt-masc-solo .fmt-masc-i img{
  object-fit:contain !important;
  filter:drop-shadow(0 26px 30px rgba(0,0,0,.45));
}

/* --- La légende, sous le socle --- */
.fmt-masc-solo + .fmt-masc-leg{
  position:relative !important; z-index:1 !important;
  margin-top:18px !important; max-width:360px !important;
}

/* --- De 901 à 1024 px : le hero reste sur deux colonnes, plus serrées --- */
@media (min-width:901px) and (max-width:1024px){
  .fmt-hero-masc .fmt-masc-col{ flex:1 1 0 !important; }
  .fmt-masc-solo .fmt-masc-i,
  .srv-x.fmt-hero .fmt-masc-solo .fmt-masc-i{ width:330px !important; height:330px !important; }
  .fmt-masc-solo::before{ width:430px !important; height:430px !important; }
  .fmt-masc-solo::after{ width:240px !important; height:46px !important; }
}

/* --- À 900 px et moins : le hero passe en colonne, la mascotte reste grande.
       Le seuil est à 900 et non à 767 : à 768 px, une colonne de 330 px pour
       la mascotte ne laissait que 394 px au titre, qui partait sur cinq
       lignes. --- */
@media (max-width:900px){
  .fmt-hero-masc .fmt-hero-g{ flex-direction:column !important; gap:30px !important; }
  .fmt-hero-masc .fmt-hero-l,
  .fmt-hero-masc .fmt-masc-col{
    flex:0 0 auto !important; width:100% !important; max-width:100% !important;
  }
  .fmt-masc-solo .fmt-masc-i,
  .srv-x.fmt-hero .fmt-masc-solo .fmt-masc-i{ width:320px !important; height:320px !important; }
  .fmt-masc-solo::before{ width:420px !important; height:420px !important; }
  .fmt-masc-solo::after{ width:230px !important; height:44px !important; }
}

/* --- Mobile --- */
@media (max-width:480px){
  .fmt-masc-solo .fmt-masc-i,
  .srv-x.fmt-hero .fmt-masc-solo .fmt-masc-i{ width:258px !important; height:258px !important; }
  .fmt-masc-solo::before{ width:330px !important; height:330px !important; }
  .fmt-masc-solo::after{ width:186px !important; height:36px !important; }
}

/* ---------------------------------------------------------------------------
   31.2 — LES SIX DOMAINES D'EXPERTISE
   Réutilise entièrement la carte « fmt-pilier » du bloc 29.11 : seule la
   largeur change, pour obtenir trois colonnes au lieu de quatre.
   Les règles de 29.11 pour tablette et mobile valent (0,1,0) et perdraient
   contre « .fmt-exp .fmt-pilier » (0,2,0) : elles sont donc réécrites ici.
   --------------------------------------------------------------------------- */
.fmt-exp{ gap:20px !important; }
.fmt-exp .fmt-pilier{
  flex:1 1 calc(33.333% - 14px) !important;
  max-width:calc(33.333% - 14px) !important;
}
@media (min-width:768px) and (max-width:1024px){
  .fmt-exp{ gap:16px !important; }
  .fmt-exp .fmt-pilier{
    flex:1 1 calc(50% - 8px) !important;
    max-width:calc(50% - 8px) !important;
  }
}
@media (max-width:767px){
  .fmt-exp{ gap:14px !important; }
  .fmt-exp .fmt-pilier{
    flex:0 0 100% !important; max-width:100% !important; width:100% !important;
  }
}



/* ===========================================================================
   32 — LA PEAU « SERVICES »
   Les quatre pages services et leur hub doivent se distinguer des fiches
   formation. Plutôt que de dupliquer tout le bloc 29 dans une seconde
   version, on ajoute la classe « srv-x » à CHAQUE conteneur de ces pages :
   elle repeint ce qui doit l'être et ne touche rien d'autre. Les fiches
   formation, qui ne la portent pas, gardent exactement leur rendu.

   CE QUI CHANGE, VISUELLEMENT
   1. Le hero passe sur fond encre, texte blanc, surtitre jaune.
   2. Les sections ne sont plus rayées blanc/lavande : tout est blanc,
      séparé par un filet lilas. La page se lit comme un document continu.
   3. Les angles passent de 18 px à 6 px : cartes carrées, pas arrondies.
   4. Le surtitre passe en jaune sur le hero encre.
   5. Les cartes de service portent un liseré gauche qui devient jaune au
      survol, à la place de l'ombre portée et du décalage vertical.
   6. Les pastilles et les numéros passent en contour, plus en aplat.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   32.0 — LA NOTE DE BAS DE SECTION ET SON LIEN
   Le lien est écrit a.fmt-lien-txt en (0,3,1) : .elementor-kit-6 a:hover vaut
   (0,2,1) et repeindrait sinon le texte en encre au survol.
   --------------------------------------------------------------------------- */
.fmt-cat-note{ margin-top:26px !important; max-width:900px !important; }
.fmt-sec .fmt-cat-note a.fmt-lien-txt,
.fmt-sec .fmt-cat-note a.fmt-lien-txt:link,
.fmt-sec .fmt-cat-note a.fmt-lien-txt:visited{
  color:#1800AD !important; font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:inset 0 -1px 0 0 #DED9F3 !important;
}
.fmt-sec .fmt-cat-note a.fmt-lien-txt:hover,
.fmt-sec .fmt-cat-note a.fmt-lien-txt:focus,
.fmt-sec .fmt-cat-note a.fmt-lien-txt:active{
  color:#1800AD !important;
  box-shadow:inset 0 -2px 0 0 #FFBD59 !important;
}

/* ---------------------------------------------------------------------------
   32.1 — LE HERO SUR FOND ENCRE
   .fmt-hero vaut (0,1,0) avec !important : .srv-x.fmt-hero vaut (0,2,0) et
   l'emporte. Le h1 est écrit en (0,3,1) pour battre .fmt-hero .fmt-hero-l h1.
   --------------------------------------------------------------------------- */
.srv-x.fmt-hero{ background-color:#12111A !important; }

.srv-x.fmt-hero .fmt-hero-l h1{ color:#FFFFFF !important; }
.srv-x .fmt-promesse{ color:#A79BF5 !important; }
.srv-x.fmt-hero .fmt-chap{ color:#C3C0D2 !important; }
.srv-x.fmt-hero .fmt-rass{ color:#8F8CA3 !important; }

.srv-x.fmt-hero .fmt-pills span{
  background-color:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:4px !important;
  color:#FFFFFF !important;
}

/* Le bouton secondaire devient un contour blanc sur fond encre.
   Cinq états, en (0,4,1), au-dessus de .elementor-kit-6 a. */
.srv-x.fmt-hero .fmt-btns a.fmt-b1,
.srv-x.fmt-hero .fmt-btns a.fmt-b2{ border-radius:6px !important; }
.srv-x.fmt-hero .fmt-btns a.fmt-b2,
.srv-x.fmt-hero .fmt-btns a.fmt-b2:link,
.srv-x.fmt-hero .fmt-btns a.fmt-b2:visited{
  background-color:transparent !important; color:#FFFFFF !important;
  border:1.5px solid rgba(255,255,255,.55) !important;
}
.srv-x.fmt-hero .fmt-btns a.fmt-b2:hover,
.srv-x.fmt-hero .fmt-btns a.fmt-b2:focus,
.srv-x.fmt-hero .fmt-btns a.fmt-b2:active{
  background-color:#FFFFFF !important; color:#12111A !important;
  border-color:#FFFFFF !important;
}

/* La vignette de la mascotte sur fond encre. */
.srv-x.fmt-hero .fmt-masc-i{
  background-color:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 26px 60px -34px rgba(0,0,0,.9) !important;
}
.srv-x.fmt-hero .fmt-masc-leg{ color:#8F8CA3 !important; }

/* ---------------------------------------------------------------------------
   32.2 — LE SURTITRE
   Sur fond encre il passe en jaune, ailleurs il reste violet.
   Le trait horizontal qui le précédait a été retiré en révision 33.
   --------------------------------------------------------------------------- */
.srv-x.fmt-hero .fmt-sur{ color:#FFBD59 !important; }

/* ---------------------------------------------------------------------------
   32.3 — DES SECTIONS BLANCHES SÉPARÉES PAR UN FILET
   L'alternance blanc / lavande des fiches formation est neutralisée : les
   pages services se lisent d'un seul tenant.
   --------------------------------------------------------------------------- */
.srv-x.fmt-sec,
.srv-x.fmt-sec.fmt-alt{ background-color:#FFFFFF !important; }
.srv-x.fmt-sec{ border-top:1px solid #E9E5F9 !important; }
.srv-x.fmt-cert{ background-color:#FFFFFF !important; }

/* ---------------------------------------------------------------------------
   32.4 — DES ANGLES CARRÉS PARTOUT
   --------------------------------------------------------------------------- */
.srv-x .fmt-srv-c,
.srv-x .fmt-bloc,
.srv-x .fmt-pilier,
.srv-x .fmt-e,
.srv-x .fmt-a,
.srv-x .fmt-cert-carte,
.srv-x .fmt-masc-i{ border-radius:6px !important; }

.srv-x .fmt-srv-c,
.srv-x .fmt-bloc,
.srv-x .fmt-pilier,
.srv-x .fmt-e,
.srv-x .fmt-a{ border-color:#E9E5F9 !important; }

/* La carte du bandeau de réassurance : filet jaune en tête, plus de fond
   lavande. */
.srv-x .fmt-cert-carte{
  background-color:#FFFFFF !important;
  border:1px solid #E9E5F9 !important;
  border-top:3px solid #FFBD59 !important;
}
.srv-x .fmt-cert .fmt-cert-liens a.fmt-cert-lien{ border-radius:6px !important; }

/* ---------------------------------------------------------------------------
   32.5 — LES CARTES DE SERVICE : LISERÉ AU LIEU D'OMBRE
   --------------------------------------------------------------------------- */
.srv-x .fmt-srv-c{
  border-left:3px solid #DED9F3 !important;
  transition:border-color .18s ease !important;
}
.srv-x .fmt-srv-c:hover,
.srv-x .fmt-bloc:hover,
.srv-x .fmt-pilier:hover{
  transform:none !important;
  box-shadow:none !important;
}
.srv-x .fmt-srv-c:hover{ border-left-color:#FFBD59 !important; border-color:#E9E5F9 !important; }
.srv-x .fmt-bloc:hover{ border-color:#1800AD !important; }

.srv-x .fmt-sec .fmt-srv-c a.fmt-srv-lien{ border-radius:6px !important; }

/* ---------------------------------------------------------------------------
   32.6 — PASTILLES ET NUMÉROS EN CONTOUR
   --------------------------------------------------------------------------- */
.srv-x .fmt-srv-pub{
  background-color:transparent !important;
  border:1px solid #DED9F3 !important;
  border-radius:4px !important;
  color:#5B5870 !important;
}
.srv-x .fmt-bloc-n{
  background-color:transparent !important;
  border:1.5px solid #1800AD !important;
  border-radius:4px !important;
  color:#1800AD !important;
  line-height:33px !important;
}
.srv-x .fmt-e-n{
  background-color:#12111A !important;
  border-radius:4px !important;
  color:#FFFFFF !important;
}
.srv-x .fmt-pilier-ic{
  background-color:transparent !important;
  border:1px solid #DED9F3 !important;
  border-radius:6px !important;
}
.srv-x .fmt-liv{ border-radius:4px !important; }
.srv-x .fmt-ref li, .srv-x .fmt-jobs li{ border-radius:4px !important; }


/* ===========================================================================
   33 — LES PAGES ALTERNANCE
   Ces deux pages ne sont ni des fiches formation, ni des pages services.
   Elles gardent les fonds du site (blanc et lavande alternés) mais changent
   de rythme : presque aucune carte, des filets à la place des bordures, des
   formes organiques pour les photos, une frise reliée à la place des étapes
   numérotées, et de grands chiffres posés dans le texte plutôt qu'enfermés
   dans des rectangles.
   La classe « alt-x » se pose sur chaque conteneur, comme « srv-x ».
   Tout est écrit avec !important, comme les blocs 29 à 32.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   33.0 — DIRECTIONS GARANTIES
   --------------------------------------------------------------------------- */
.alt-visuel, .alt-col{ display:flex !important; flex-direction:column !important; }
.alt-duo, .alt-chrono, .alt-gros, .alt-deux{ display:flex !important; flex-direction:row !important; }

/* ---------------------------------------------------------------------------
   33.1 — LES PHOTOS, EN FORME LIBRE
   « alt-photo » est un cadre organique : pas un carré, pas un cercle.
   Deux rayons différents en X et en Y donnent une goutte irrégulière, et une
   seconde forme décalée derrière apporte la profondeur.
   Tant que vous n'avez pas l'image, la classe « alt-vide » affiche un cadre
   en pointillés avec sa légende : la page reste lisible et vous voyez où
   poser la photo.
   --------------------------------------------------------------------------- */
.alt-visuel{ position:relative !important; align-items:center !important; justify-content:center !important; }

.alt-photo{
  position:relative !important; z-index:1 !important;
  margin:0 !important; width:100% !important; max-width:430px !important;
  aspect-ratio:4 / 5 !important;
  border-radius:54% 46% 42% 58% / 48% 42% 58% 52% !important;
  overflow:hidden !important;
  box-shadow:0 44px 86px -54px rgba(24,0,173,.60) !important;
}
.alt-photo img{
  display:block !important; width:100% !important; height:100% !important;
  max-width:none !important; object-fit:cover !important;
}

/* La forme décorative, derrière et décalée. */
.alt-visuel::before{
  content:"" !important; position:absolute !important; z-index:0 !important;
  width:380px !important; height:380px !important;
  left:50% !important; top:50% !important;
  transform:translate(-72%,-20%) !important;
  border-radius:46% 54% 58% 42% / 52% 48% 52% 48% !important;
  background:linear-gradient(140deg, rgba(255,189,89,.55), rgba(167,155,245,.45)) !important;
  pointer-events:none !important;
}

/* L'emplacement en attente de photo. */
.alt-photo.alt-vide{
  background-color:#FFFFFF !important;
  border:2px dashed #C9C0F2 !important;
  box-shadow:none !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  padding:28px !important;
}
.alt-photo.alt-vide span{
  font-family:"Montserrat",sans-serif !important;
  font-size:13.5px !important; line-height:21px !important; font-weight:600 !important;
  color:#1800AD !important; text-align:center !important;
}

/* La légende sous la photo. */
.alt-legende{
  font-family:"Montserrat",sans-serif !important;
  position:relative !important; z-index:1 !important;
  font-size:12.5px !important; line-height:19px !important; font-weight:500 !important;
  color:#5B5870 !important; text-align:center !important;
  margin:20px 0 0 !important; max-width:360px !important;
}

/* ---------------------------------------------------------------------------
   33.2 — LES GRANDS CHIFFRES, SANS CARTE
   Une rangée de chiffres séparés par de simples filets verticaux.
   --------------------------------------------------------------------------- */
.alt-gros{
  align-items:stretch !important; gap:0 !important;
  margin:0 !important; list-style:none !important; padding:0 !important;
}
.alt-gros > li{
  flex:1 1 0 !important; min-width:0 !important;
  padding:0 34px !important; margin:0 !important;
  border-left:1px solid #E3DEF8 !important;
}
.alt-gros > li:first-child{ border-left:0 !important; padding-left:0 !important; }
.alt-gros > li:last-child{ padding-right:0 !important; }

.alt-gros-n{
  font-family:"Montserrat",sans-serif !important;
  font-size:58px !important; line-height:64px !important; font-weight:800 !important;
  letter-spacing:-2px !important; color:#1800AD !important;
  margin:0 0 10px !important;
}
.alt-gros-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:25px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 7px !important;
}
.alt-gros-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:14.5px !important; line-height:23px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   33.3 — LA COMPARAISON EN DEUX VOLETS
   Deux colonnes séparées par un filet, sans cadre ni fond.
   --------------------------------------------------------------------------- */
.alt-duo{ gap:0 !important; align-items:stretch !important; }
.alt-duo > .alt-col{
  flex:1 1 0 !important; min-width:0 !important;
  padding:0 46px !important;
  border-left:1px solid #E3DEF8 !important;
}
.alt-duo > .alt-col:first-child{ border-left:0 !important; padding-left:0 !important; }
.alt-duo > .alt-col:last-child{ padding-right:0 !important; }

.alt-eti{
  font-family:"Montserrat",sans-serif !important;
  font-size:12px !important; line-height:17px !important; font-weight:700 !important;
  letter-spacing:1.2px !important; text-transform:uppercase !important;
  color:#1800AD !important; margin:0 0 12px !important;
}
.fmt-sec .alt-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:25px !important; line-height:33px !important; font-weight:800 !important;
  letter-spacing:-.5px !important; color:#12111A !important;
  margin:0 0 14px !important;
}
.alt-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:16px !important; line-height:28px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 !important;
}
.alt-p + .alt-p{ margin-top:14px !important; }
.alt-p b{ color:#12111A !important; font-weight:700 !important; }

/* La liste à filets, qui remplace les puces encadrées. */
.alt-liste{ list-style:none !important; margin:20px 0 0 !important; padding:0 !important; }
.alt-liste li{
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:24px !important; font-weight:500 !important;
  color:#5B5870 !important;
  padding:12px 0 !important; margin:0 !important;
  border-top:1px solid #EDEAFB !important;
}
.alt-liste li b{ color:#12111A !important; font-weight:700 !important; }

/* ---------------------------------------------------------------------------
   33.4 — LA FRISE RELIÉE
   Les étapes ne sont plus des cartes numérotées mais des points reliés par
   une ligne continue. Sur téléphone la ligne bascule à la verticale.
   --------------------------------------------------------------------------- */
.alt-chrono{
  position:relative !important; gap:0 !important; align-items:flex-start !important;
  margin:0 !important; padding:0 !important; list-style:none !important;
}
.alt-chrono::before{
  content:"" !important; position:absolute !important;
  left:0 !important; right:0 !important; top:11px !important; height:2px !important;
  background:linear-gradient(90deg,#DED9F3,#A79BF5,#DED9F3) !important;
  z-index:0 !important;
}
.alt-chrono > li{
  position:relative !important; z-index:1 !important;
  flex:1 1 0 !important; min-width:0 !important;
  padding:0 18px 0 0 !important; margin:0 !important;
}
.alt-chrono > li::before{
  content:"" !important; display:block !important;
  width:22px !important; height:22px !important; border-radius:50% !important;
  background-color:#FFFFFF !important;
  border:5px solid #1800AD !important;
  margin:0 0 18px !important;
}
.alt-chrono > li:last-child::before{ border-color:#FFBD59 !important; }
.alt-chrono-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:16px !important; line-height:23px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 7px !important;
}
.alt-chrono-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:22px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   33.5 — LA GRILLE DE RÉMUNÉRATION
   Un vrai tableau, mais rendu en lignes : aucune bordure verticale, aucun
   fond de cellule, seulement des filets horizontaux.
   --------------------------------------------------------------------------- */
.alt-tab{ width:100% !important; border-collapse:collapse !important; margin:0 !important; }
.alt-tab th, .alt-tab td{
  font-family:"Montserrat",sans-serif !important;
  text-align:left !important; padding:15px 14px !important;
  border:0 !important; border-bottom:1px solid #EDEAFB !important;
  vertical-align:baseline !important;
}
.alt-tab thead th{
  font-size:11.5px !important; line-height:16px !important; font-weight:700 !important;
  letter-spacing:1.1px !important; text-transform:uppercase !important;
  color:#1800AD !important;
  border-bottom:1px solid #DED9F3 !important;
}
.alt-tab tbody th{
  font-size:15px !important; line-height:23px !important; font-weight:700 !important;
  color:#12111A !important;
}
.alt-tab tbody td{
  font-size:15px !important; line-height:23px !important; font-weight:500 !important;
  color:#5B5870 !important;
}
.alt-tab td b{ color:#12111A !important; font-weight:700 !important; }
.alt-tab th:first-child, .alt-tab td:first-child{ padding-left:0 !important; }
.alt-tab th:last-child, .alt-tab td:last-child{ padding-right:0 !important; }
.alt-tab tbody tr:last-child th,
.alt-tab tbody tr:last-child td{ border-bottom:0 !important; }

.alt-note{
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important; line-height:21px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:22px 0 0 !important; max-width:820px !important;
}
.fmt-sec .alt-note a.fmt-lien-txt,
.fmt-sec .alt-note a.fmt-lien-txt:link,
.fmt-sec .alt-note a.fmt-lien-txt:visited{
  color:#1800AD !important; font-weight:700 !important; text-decoration:none !important;
  box-shadow:inset 0 -1px 0 0 #DED9F3 !important;
}
.fmt-sec .alt-note a.fmt-lien-txt:hover,
.fmt-sec .alt-note a.fmt-lien-txt:focus,
.fmt-sec .alt-note a.fmt-lien-txt:active{
  color:#1800AD !important; box-shadow:inset 0 -2px 0 0 #FFBD59 !important;
}

/* ---------------------------------------------------------------------------
   33.6 — LA BANDE PHOTO PLEINE LARGEUR
   Conteneur « alt-bande » : une photo qui traverse l'écran, assombrie, avec
   une phrase posée dessus. C'est la respiration de la page.
   --------------------------------------------------------------------------- */
.elementor .alt-bande > .e-con-inner,
.elementor .alt-bande.e-con-full{
  padding:0 !important; padding-block:0 !important; padding-inline:0 !important;
  display:block !important;
}
.alt-bande{ background-color:#1800AD !important; }
.alt-bande-in{
  position:relative !important;
  min-height:440px !important;
  display:flex !important; align-items:center !important;
  overflow:hidden !important;
}
/* La photo est fondue en « luminosity » : elle ne garde que ses valeurs de
   clair et de sombre, et prend la teinte du fond. Une photo quelconque
   devient donc un duotone violet Methoria, sans retouche de votre part.
   Le repli, sur un navigateur qui ignore le fondu, est une simple
   transparence : le texte blanc reste lisible dans les deux cas. */
.alt-bande-img{
  position:absolute !important; inset:0 !important; z-index:0 !important;
  width:100% !important; height:100% !important; object-fit:cover !important;
  opacity:.46 !important;
  mix-blend-mode:luminosity !important;
  /* Les photos fournies sont en portrait. Sur une bande très large, un
     cadrage centré tomberait au milieu du torse : on remonte à 40 % de la
     hauteur pour attraper les visages. */
  object-position:50% 55% !important;
}
/* Voile de nuance tant qu'aucune photo n'est posée. */
.alt-bande-vide{
  position:absolute !important; inset:0 !important; z-index:0 !important;
  background:radial-gradient(120% 140% at 18% 12%, rgba(167,155,245,.55), rgba(24,0,173,0) 62%),
             linear-gradient(120deg, rgba(255,255,255,.10), rgba(255,189,89,.16)) !important;
}
/* Voile dégradé posé PAR-DESSUS la photo. Un pseudo-élément « after » et non
   « before » : les enfants d'un élément se peignent au-dessus de son
   « before », donc un « before » serait passé sous l'image. */
.alt-bande-in::after{
  content:"" !important; position:absolute !important; inset:0 !important;
  z-index:0 !important; pointer-events:none !important;
  background:linear-gradient(90deg, rgba(24,0,173,.88) 0%, rgba(24,0,173,.58) 46%, rgba(24,0,173,.08) 100%) !important;
}

.alt-bande-txt{
  position:relative !important; z-index:1 !important;
  max-width:1188px !important; margin:0 auto !important;
  padding:64px 24px !important; width:100% !important;
}
.alt-bande .alt-bande-txt p{
  font-family:"Montserrat",sans-serif !important;
  font-size:30px !important; line-height:42px !important; font-weight:800 !important;
  letter-spacing:-.6px !important; color:#FFFFFF !important;
  margin:0 !important; max-width:780px !important;
}
.alt-bande .alt-bande-txt em{ color:#FFBD59 !important; font-style:normal !important; }
/* La mention descriptive de la photo attendue. Elle doit battre la règle
   .alt-bande .alt-bande-txt p, qui vaut (0,2,1) : sans cela elle s'affichait
   en 30 px gras, au même niveau que la phrase d'accroche. */
.alt-bande .alt-bande-txt p.alt-bande-cred{
  font-family:"Montserrat",sans-serif !important;
  font-size:12.5px !important; line-height:19px !important; font-weight:600 !important;
  letter-spacing:0 !important;
  color:rgba(255,255,255,.70) !important; margin:20px 0 0 !important;
  max-width:560px !important;
}

/* ---------------------------------------------------------------------------
   33.7 — SECTION À DEUX COLONNES AVEC PHOTO
   --------------------------------------------------------------------------- */
.alt-deux{ gap:64px !important; align-items:center !important; }
.alt-deux > .alt-col{ flex:1 1 0 !important; min-width:0 !important; }
.alt-deux.alt-inv{ flex-direction:row-reverse !important; }

/* ---------------------------------------------------------------------------
   33.8 — TABLETTE
   --------------------------------------------------------------------------- */
@media (max-width:1024px){
  .alt-gros > li{ padding:0 22px !important; }
  .alt-gros-n{ font-size:46px !important; line-height:52px !important; }
  .alt-duo > .alt-col{ padding:0 30px !important; }
  .fmt-sec .alt-t{ font-size:22px !important; line-height:30px !important; }
  .alt-deux{ gap:38px !important; }
  .alt-photo{ max-width:330px !important; }
  .alt-visuel::before{ width:250px !important; height:250px !important; }
  .alt-bande .alt-bande-txt p{ font-size:25px !important; line-height:36px !important; }
  .alt-bande-in{ min-height:360px !important; }
  .alt-bande-txt{ padding:52px 20px !important; }
  .alt-chrono > li{ padding-right:14px !important; }
  .alt-tab th, .alt-tab td{ padding:13px 10px !important; }
}

/* ---------------------------------------------------------------------------
   33.9 — MOBILE
   La frise bascule à la verticale : la ligne passe à gauche, les points se
   posent dessus, et chaque étape se lit comme un paragraphe.
   --------------------------------------------------------------------------- */
@media (max-width:767px){
  .alt-gros{ flex-direction:column !important; }
  .alt-gros > li{
    flex:0 0 auto !important; width:100% !important;
    padding:22px 0 !important;
    border-left:0 !important; border-top:1px solid #E3DEF8 !important;
  }
  .alt-gros > li:first-child{ padding-top:0 !important; border-top:0 !important; }
  .alt-gros-n{ font-size:42px !important; line-height:48px !important; }

  .alt-duo{ flex-direction:column !important; }
  .alt-duo > .alt-col{
    flex:0 0 auto !important; width:100% !important;
    padding:26px 0 0 !important;
    border-left:0 !important; border-top:1px solid #E3DEF8 !important;
  }
  .alt-duo > .alt-col:first-child{ padding-top:0 !important; border-top:0 !important; }

  .alt-deux, .alt-deux.alt-inv{ flex-direction:column !important; gap:30px !important; }
  .alt-deux > .alt-col{ flex:0 0 auto !important; width:100% !important; }
  .alt-photo{ max-width:290px !important; }
  .alt-visuel::before{ width:210px !important; height:210px !important; }

  .alt-chrono{ flex-direction:column !important; }
  .alt-chrono::before{
    left:10px !important; right:auto !important; top:8px !important; bottom:8px !important;
    width:2px !important; height:auto !important;
    background:linear-gradient(180deg,#DED9F3,#A79BF5,#DED9F3) !important;
  }
  .alt-chrono > li{
    flex:0 0 auto !important; width:100% !important;
    padding:0 0 26px 40px !important;
  }
  .alt-chrono > li:last-child{ padding-bottom:0 !important; }
  .alt-chrono > li::before{
    position:absolute !important; left:0 !important; top:0 !important;
    margin:0 !important;
  }

  .alt-bande .alt-bande-txt p{ font-size:21px !important; line-height:31px !important; }
  .alt-bande-in{ min-height:300px !important; }
  .alt-bande-txt{ padding:42px 20px !important; }

  /* Le tableau devient une suite de blocs lisibles. */
  .alt-tab, .alt-tab tbody, .alt-tab tr, .alt-tab th, .alt-tab td{ display:block !important; }
  .alt-tab thead{ display:none !important; }
  .alt-tab tbody tr{ padding:16px 0 !important; border-bottom:1px solid #EDEAFB !important; }
  .alt-tab tbody tr:last-child{ border-bottom:0 !important; }
  .alt-tab th, .alt-tab td{ border-bottom:0 !important; padding:3px 0 !important; }
  .alt-tab tbody td::before{
    content:attr(data-col) " : " !important;
    font-weight:700 !important; color:#12111A !important;
  }
}

/* ---------------------------------------------------------------------------
   33.10 — LA FRISE BASCULE PLUS TÔT QUE LE RESTE
   Mesuré : à 768 px, cinq étapes en ligne ne font plus que 146 px de large et
   chaque libellé part sur quatre lignes. La frise passe donc à la verticale
   dès 900 px, alors que le reste de la page tient encore en deux colonnes.
   Ce bloc est écrit après le bloc mobile : à 767 px et moins il réapplique
   les mêmes valeurs, sans conflit.
   --------------------------------------------------------------------------- */
@media (max-width:900px){
  .alt-chrono{ flex-direction:column !important; }
  .alt-chrono::before{
    left:10px !important; right:auto !important; top:8px !important; bottom:8px !important;
    width:2px !important; height:auto !important;
    background:linear-gradient(180deg,#DED9F3,#A79BF5,#DED9F3) !important;
  }
  .alt-chrono > li{
    flex:0 0 auto !important; width:100% !important;
    padding:0 0 26px 40px !important;
  }
  .alt-chrono > li:last-child{ padding-bottom:0 !important; }
  .alt-chrono > li::before{
    position:absolute !important; left:0 !important; top:0 !important;
    margin:0 !important;
  }
}



/* ===========================================================================
   34 — LE PARCOURS VERTICAL ANIMÉ, ET LES CHIFFRES EN DÉCOMPTE
   Deux composants ajoutés à la révision 39. Ils ne remplacent rien : la frise
   horizontale « alt-chrono » du bloc 33.4 reste en place et continue de
   fonctionner partout où elle est déjà posée.

   34.1 à 34.3 — « alt-parc » : la frise devient verticale. Un trait central,
   les étapes disposées alternativement à gauche et à droite, un point sur le
   trait pour chacune. Le trait se remplit de violet au fil du défilement et
   chaque étape apparaît en glissant depuis son côté.

   34.4 — « data-cpt » : un chiffre qui s'anime en décompte quand il entre
   dans l'écran. La valeur finale reste écrite en toutes lettres dans le HTML,
   donc elle est lue par Google et affichée telle quelle si le script ne
   s'exécute pas. Le script ne fait qu'animer, il ne fabrique rien.

   SANS JAVASCRIPT, TOUT RESTE LISIBLE. C'est le script qui pose la classe
   « alt-anim » sur la frise. Sans elle, les étapes sont visibles, les points
   sont violets et le trait est plein : la page est simplement statique.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   34.1 — LA FRISE VERTICALE ALTERNÉE
   Chaque « li » occupe la moitié de la largeur. Les impairs se posent à
   gauche et sont alignés à droite, contre le trait ; les pairs sont décalés
   d'une demi-largeur et alignés à gauche. Les points sont centrés sur le
   trait : le point mesure 20 px, il déborde donc de 10 px hors de l'élément.
   Le trait s'arrête au centre du dernier point, et non au bas de la dernière
   étape : sans cela, un bout de trait pendait sous la dernière puce. C'est le
   script qui mesure cette distance et la pose dans « --parc-fin ». Sans
   JavaScript, la valeur par défaut de 10 px redonne l'ancien comportement.
   --------------------------------------------------------------------------- */
.alt-parc{
  position:relative !important; display:block !important;
  margin:0 !important; padding:0 !important;
  list-style:none !important;
}

/* Le trait de fond, du premier au dernier point. */
.alt-parc::before{
  content:"" !important; position:absolute !important;
  left:50% !important; top:10px !important;
  bottom:var(--parc-fin,10px) !important;
  width:2px !important; transform:translateX(-50%) !important;
  background-color:#E3DEF8 !important;
  z-index:0 !important; pointer-events:none !important;
}

/* Le remplissage violet. Plein par défaut ; piloté au défilement dès que le
   script a posé « alt-anim ». */
.alt-parc::after{
  content:"" !important; position:absolute !important;
  left:50% !important; top:10px !important;
  width:2px !important; transform:translateX(-50%) !important;
  height:calc(100% - 10px - var(--parc-fin,10px)) !important;
  background:linear-gradient(180deg,#1800AD 0%,#A79BF5 100%) !important;
  z-index:1 !important; pointer-events:none !important;
}
.alt-parc.alt-anim::after{
  height:calc(var(--parc,0) * (100% - 10px - var(--parc-fin,10px))) !important;
}

.alt-parc > li{
  position:relative !important; z-index:2 !important;
  display:block !important;
  box-sizing:border-box !important;
  width:50% !important; margin:0 !important;
  padding:0 46px 54px 0 !important;
  text-align:right !important;
}
.alt-parc > li:nth-child(even){
  margin-left:50% !important;
  padding:0 0 54px 46px !important;
  text-align:left !important;
}
.alt-parc > li:last-child{ padding-bottom:0 !important; }

/* Le point, centré sur le trait. */
.alt-parc > li::before{
  content:"" !important; position:absolute !important;
  top:2px !important; right:-10px !important; left:auto !important;
  width:20px !important; height:20px !important;
  box-sizing:border-box !important; border-radius:50% !important;
  background-color:#FFFFFF !important;
  border:4px solid #1800AD !important;
  z-index:3 !important;
  transition:border-color .45s ease, transform .45s ease !important;
}
.alt-parc > li:nth-child(even)::before{
  right:auto !important; left:-10px !important;
}
.alt-parc > li:last-child::before{ border-color:#FFBD59 !important; }

.alt-parc-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:24px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 7px !important;
}
.alt-parc-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:22px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   34.2 — LA RÉVÉLATION AU DÉFILEMENT
   Le contenu de chaque étape est enveloppé dans « alt-parc-c » : c'est lui
   qui glisse, pas le « li ». Le point reste ainsi rigoureusement sur le trait
   pendant toute l'animation, au lieu de partir avec le texte.
   --------------------------------------------------------------------------- */
.alt-parc-c{ display:block !important; }

.alt-parc.alt-anim > li .alt-parc-c{
  opacity:0 !important;
  transform:translateX(-34px) !important;
  transition:opacity .62s cubic-bezier(.22,.61,.36,1),
             transform .62s cubic-bezier(.22,.61,.36,1) !important;
}
.alt-parc.alt-anim > li:nth-child(even) .alt-parc-c{
  transform:translateX(34px) !important;
}
.alt-parc.alt-anim > li.vu .alt-parc-c,
.alt-parc.alt-anim > li:nth-child(even).vu .alt-parc-c{
  opacity:1 !important; transform:translateX(0) !important;
}

/* Le point est pâle et rétréci tant que l'étape n'est pas atteinte. */
.alt-parc.alt-anim > li::before{
  border-color:#DED9F3 !important;
  transform:scale(.72) !important;
}
.alt-parc.alt-anim > li.vu::before{
  border-color:#1800AD !important;
  transform:scale(1) !important;
}
.alt-parc.alt-anim > li:last-child.vu::before{ border-color:#FFBD59 !important; }

/* ---------------------------------------------------------------------------
   34.3 — TABLETTE ET TÉLÉPHONE
   Mesuré : en dessous de 900 px, deux colonnes de 46 % laissent moins de
   290 px de texte utile et chaque libellé part sur quatre lignes. La frise
   repasse donc en une seule colonne, trait à gauche, comme la version
   horizontale le faisait déjà au même seuil.
   --------------------------------------------------------------------------- */
@media (max-width:900px){
  .alt-parc::before, .alt-parc::after{
    left:10px !important; transform:none !important;
  }
  .alt-parc > li,
  .alt-parc > li:nth-child(even){
    width:100% !important; margin-left:0 !important;
    padding:0 0 30px 42px !important;
    text-align:left !important;
  }
  .alt-parc > li:last-child{ padding-bottom:0 !important; }
  .alt-parc > li::before,
  .alt-parc > li:nth-child(even)::before{
    left:0 !important; right:auto !important; top:1px !important;
  }
  .alt-parc.alt-anim > li .alt-parc-c,
  .alt-parc.alt-anim > li:nth-child(even) .alt-parc-c{
    transform:translateX(-22px) !important;
  }
  .alt-parc.alt-anim > li.vu .alt-parc-c,
  .alt-parc.alt-anim > li:nth-child(even).vu .alt-parc-c{
    transform:translateX(0) !important;
  }
}

@media (max-width:767px){
  .alt-parc > li,
  .alt-parc > li:nth-child(even){ padding:0 0 26px 40px !important; }
  .alt-parc > li:last-child{ padding-bottom:0 !important; }
  .alt-parc-t{ font-size:16px !important; line-height:23px !important; }
}

/* ---------------------------------------------------------------------------
   34.4 — LES CHIFFRES EN DÉCOMPTE
   « tabular-nums » est la seule règle indispensable : sans elle, les chiffres
   n'ont pas tous la même largeur et le nombre tressaute pendant le décompte.
   --------------------------------------------------------------------------- */
.alt-gros-n[data-cpt]{
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1 !important;
  white-space:nowrap !important;
}

/* ---------------------------------------------------------------------------
   34.5 — MOUVEMENT RÉDUIT
   Filet de sécurité : si le visiteur a demandé à son système de limiter les
   animations, le script ne démarre pas. Ces règles garantissent qu'aucun
   reste d'animation ne masque quoi que ce soit.
   --------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .alt-parc.alt-anim > li .alt-parc-c,
  .alt-parc.alt-anim > li:nth-child(even) .alt-parc-c{
    opacity:1 !important; transform:none !important; transition:none !important;
  }
  .alt-parc > li::before,
  .alt-parc.alt-anim > li::before{
    transform:none !important; transition:none !important;
    border-color:#1800AD !important;
  }
  .alt-parc > li:last-child::before,
  .alt-parc.alt-anim > li:last-child::before{ border-color:#FFBD59 !important; }
  .alt-parc.alt-anim::after{
    height:calc(100% - 10px - var(--parc-fin,10px)) !important;
  }
}


/* ===========================================================================
   35 — LA PAGE « QUI SOMMES-NOUS »
   Cette page reprend le langage visuel de la page d'accueil : mêmes fonds
   alternés blanc et lavande, même hero lavande avec la mascotte à droite,
   même bande de chiffres en carte blanche posée à cheval sur deux sections,
   mêmes cartes à liseré lilas, même bandeau violet.

   POURQUOI UN BLOC À PART PLUTÔT QUE LES CLASSES « acc- » DE L'ACCUEIL
   L'accueil a été montée avec des widgets Elementor natifs : ses règles
   visent « .acc-carte-h3 .elementor-heading-title », « .acc-btn
   .elementor-button », etc. Elles ne s'appliquent donc pas à du HTML écrit
   à la main. Reconstruire cette page de la même manière demanderait une
   centaine de conteneurs et de widgets à assembler un par un.
   Le bloc 35 reprend exactement les mêmes valeurs — polices, tailles,
   couleurs, rayons, ombres, points de rupture — mais pour du HTML simple,
   un seul widget par section, comme toutes les pages montées depuis.
   Le rendu est le même, le montage prend dix fois moins de temps.

   Aucune règle existante n'est modifiée.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   35.1 — OSSATURE
   --------------------------------------------------------------------------- */
.qui-sec{
  background-color:#FFFFFF !important;
  padding:90px 0 !important;
}
.qui-sec.qui-alt{ background-color:#F4F2FF !important; }
.qui-in{
  max-width:1140px !important; margin:0 auto !important;
  padding:0 24px !important;
  box-sizing:border-box !important;
}
.qui-in, .qui-hero-in, .qui-chiffres-in, .qui-in *, .qui-hero-in *, .qui-chiffres-in *{
  box-sizing:border-box !important;
}

.qui-sur{
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important; line-height:18px !important; font-weight:700 !important;
  letter-spacing:1.5px !important; text-transform:uppercase !important;
  color:#1800AD !important; margin:0 0 10px !important;
}
.qui-sec h2, .qui-in h2, .qui-h2,
.site-main .qui-sec h2, .site-main .qui-in h2{
  font-family:"Montserrat",sans-serif !important;
  font-size:40px !important; line-height:48px !important; font-weight:700 !important;
  letter-spacing:-.5px !important; color:#1800AD !important; margin:0 !important;
}
.qui-sec h2 em, .qui-in h2 em, .qui-h2 em{ font-style:normal !important; color:#12111A !important; }
.qui-chapo{
  font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:30px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:14px 0 0 !important; max-width:760px !important;
}
.qui-eh{ margin:0 0 34px !important; }
.qui-eh .qui-chapo{ margin-bottom:0 !important; }

/* ---------------------------------------------------------------------------
   35.2 — BOUTONS ET LIENS
   Écrits en « a.classe » avec les cinq états, pour passer devant la règle
   « .elementor-kit-6 a{color:#1800AD} » du kit, qui pèse (0,1,1).
   --------------------------------------------------------------------------- */
a.qui-btn:link, a.qui-btn:visited, a.qui-btn:hover, a.qui-btn:focus, a.qui-btn:active{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  gap:9px !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:20px !important; font-weight:700 !important;
  letter-spacing:0 !important; text-decoration:none !important;
  border-radius:10px !important; padding:15px 26px !important; white-space:nowrap !important;
  border:2px solid transparent !important;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease !important;
}
a.qui-btn-jaune:link, a.qui-btn-jaune:visited, a.qui-btn-jaune:focus, a.qui-btn-jaune:active{
  background-color:#FFBD59 !important; color:#12111A !important;
}
a.qui-btn-jaune:hover{ background-color:#1800AD !important; color:#FFFFFF !important; }

a.qui-btn-contour:link, a.qui-btn-contour:visited, a.qui-btn-contour:focus, a.qui-btn-contour:active{
  background-color:transparent !important; color:#1800AD !important; border-color:#DED9F3 !important;
}
a.qui-btn-contour:hover{
  background-color:rgba(24,0,173,.05) !important; color:#1800AD !important; border-color:#1800AD !important;
}

a.qui-btn-blanc:link, a.qui-btn-blanc:visited, a.qui-btn-blanc:focus, a.qui-btn-blanc:active{
  background-color:transparent !important; color:#FFFFFF !important; border-color:rgba(255,255,255,.55) !important;
}
a.qui-btn-blanc:hover{ background-color:#FFFFFF !important; color:#1800AD !important; border-color:#FFFFFF !important; }

a.qui-lien:link, a.qui-lien:visited, a.qui-lien:focus, a.qui-lien:active{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:20px !important; font-weight:700 !important;
  color:#1800AD !important; text-decoration:none !important; white-space:nowrap !important;
}
a.qui-lien:hover{ color:#1800AD !important; text-decoration:underline !important; }

/* ---------------------------------------------------------------------------
   35.3 — LE HERO
   Même composition que l'accueil : texte à gauche, mascotte à droite, fond
   lavande, et la bande des chiffres qui vient mordre dessus par en dessous.
   --------------------------------------------------------------------------- */
.qui-hero{
  background-color:#F4F2FF !important;
  padding:118px 0 120px !important;
  overflow:hidden !important;
}
.qui-hero-in{
  max-width:1140px !important; margin:0 auto !important; padding:0 24px !important;
  display:flex !important; flex-direction:row !important;
  align-items:center !important; gap:40px !important;
}
.qui-hero-txt{ flex:1 1 auto !important; max-width:560px !important; }
.qui-hero h1, .qui-hero-in h1, .site-main .qui-hero h1, .site-main .qui-hero-in h1{
  font-family:"Montserrat",sans-serif !important;
  font-size:56px !important; line-height:62px !important; font-weight:800 !important;
  letter-spacing:-1.4px !important; color:#1800AD !important; margin:0 0 20px !important;
}
.qui-hero h1 em, .qui-hero-in h1 em{ font-style:normal !important; color:#12111A !important; }
.qui-hero-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:30px !important; font-weight:500 !important;
  color:#12111A !important; margin:0 0 12px !important;
}
.qui-hero-p2{
  font-family:"Montserrat",sans-serif !important;
  font-size:16px !important; line-height:27px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 0 30px !important;
}
.qui-hero-cta{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  gap:12px !important; align-items:center !important;
}
.qui-hero-img{
  flex:0 0 520px !important; display:flex !important;
  align-items:center !important; justify-content:center !important;
  position:relative !important; margin:0 !important;
}
/* Un halo lilas derrière le personnage, comme sur les hero des pages
   services. Sans lui, une mascotte agrandie flotte au milieu du lavande ;
   avec lui, elle est posée. Le halo déborde du cadre, mais « overflow:hidden »
   sur « qui-hero » empêche tout défilement horizontal. */
.qui-hero-img::before{
  content:"" !important; position:absolute !important;
  left:50% !important; top:48% !important;
  width:580px !important; height:580px !important;
  transform:translate(-50%,-50%) !important; border-radius:50% !important;
  background:radial-gradient(circle, rgba(167,155,245,.40) 0%, rgba(167,155,245,.15) 46%, rgba(167,155,245,0) 70%) !important;
  z-index:0 !important; pointer-events:none !important;
}
.qui-hero-img img{
  position:relative !important; z-index:1 !important;
  width:100% !important; max-width:500px !important;
  display:block !important; margin:0 auto !important;
  filter:drop-shadow(0 22px 26px rgba(24,0,173,.20));
}

/* ---------------------------------------------------------------------------
   35.4 — LA BANDE DES CHIFFRES
   Carte blanche remontée de 46 px, comme sur l'accueil, pour qu'elle
   chevauche le bas du hero.
   --------------------------------------------------------------------------- */
.qui-chiffres{
  background-color:#FFFFFF !important;
  padding:0 0 0 !important;
  position:relative !important; z-index:2 !important;
}
.qui-chiffres-in{
  max-width:1140px !important; margin:0 auto !important; padding:0 24px !important;
  margin-top:-46px !important;
}
.qui-chiffres-carte{
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important; border-radius:18px !important;
  box-shadow:0 1px 2px rgba(18,17,26,.04), 0 22px 44px -28px rgba(24,0,173,.30) !important;
  display:flex !important; flex-direction:row !important; align-items:stretch !important;
  gap:0 !important; padding:0 !important; margin:0 !important; list-style:none !important;
}
.qui-chiffres-carte > li{
  flex:1 1 0 !important; min-width:0 !important; margin:0 !important;
  display:flex !important; flex-direction:row !important;
  align-items:center !important; justify-content:flex-start !important;
  gap:16px !important; padding:26px 24px !important;
}
.qui-chiffres-carte > li + li{ border-left:1px solid #EDE9FB !important; }
.qui-chiffre-ico{
  flex:0 0 48px !important; width:48px !important; height:48px !important;
  border-radius:13px !important; background-color:#F4F2FF !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  color:#1800AD !important;
}
.qui-chiffre-ico svg{
  width:22px !important; height:22px !important;
  fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important;
  stroke-linecap:round !important; stroke-linejoin:round !important;
}
.qui-chiffre-ico svg path, .qui-chiffre-ico svg circle, .qui-chiffre-ico svg rect,
.qui-chiffre-ico svg line, .qui-chiffre-ico svg polyline, .qui-chiffre-ico svg polygon{
  fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important;
}
.qui-chiffre-txt{
  flex:1 1 auto !important; min-width:0 !important;
  display:flex !important; flex-direction:column !important;
}
.qui-chiffre-n, .qui-chiffre-l{ display:block !important; }
.qui-chiffre-n{
  font-family:"Montserrat",sans-serif !important;
  font-size:34px !important; line-height:38px !important; font-weight:800 !important;
  letter-spacing:-1px !important; color:#1800AD !important; margin:0 !important;
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1 !important;
  white-space:nowrap !important;
}
.qui-chiffre-l{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:19px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:2px 0 0 !important;
}
.qui-note{
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important; line-height:20px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:18px 0 0 !important;
}
.qui-note b{ color:#12111A !important; font-weight:700 !important; }

/* ---------------------------------------------------------------------------
   35.5 — LES PRINCIPES NUMÉROTÉS
   La pastille ronde de l'accueil, en deux colonnes.
   --------------------------------------------------------------------------- */
.qui-principes{
  display:grid !important; grid-template-columns:1fr 1fr !important;
  gap:34px 48px !important; margin:0 !important; padding:0 !important; list-style:none !important;
}
.qui-principes > li{
  display:flex !important; flex-direction:row !important;
  align-items:flex-start !important; gap:18px !important; margin:0 !important;
}
.qui-principe-n{
  flex:0 0 52px !important; width:52px !important; height:52px !important;
  border-radius:50% !important; background-color:#FFFFFF !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:16px !important; line-height:52px !important; font-weight:800 !important;
  color:#1800AD !important; text-align:center !important; margin:0 !important;
  border:1px solid #E3DEF8 !important; box-sizing:border-box !important;
}
.qui-alt .qui-principe-n{ border-color:transparent !important; }
.qui-principe-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:24px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 6px !important;
}
.qui-principe-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:24px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   35.6 — LE PORTRAIT
   Texte à gauche, photo à droite, petite carte blanche posée en débord,
   exactement comme la section « entreprise » de l'accueil.
   Le cadre suit le format réel de la photo livrée, 3:4, donc aucun rognage :
   400 x 533 px sur ordinateur. La carte blanche fait 200 px et déborde de
   22 px vers la droite, ce qui lui fait couvrir 44 % de la largeur de la
   photo, la même proportion que sur l'accueil.
   --------------------------------------------------------------------------- */
.qui-portrait{
  display:flex !important; flex-direction:row !important;
  align-items:center !important; gap:48px !important;
}
.qui-portrait-txt{ flex:1 1 auto !important; max-width:560px !important; }
.qui-portrait-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:16px !important; line-height:28px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 0 16px !important;
}
.qui-portrait-p:last-of-type{ margin-bottom:0 !important; }
.qui-portrait-p b{ color:#12111A !important; font-weight:700 !important; }
.qui-portrait-visu{ flex:0 0 400px !important; position:relative !important; margin:0 !important; }
.qui-portrait-visu img{
  width:100% !important; height:auto !important;
  aspect-ratio:3 / 4 !important; object-fit:cover !important; object-position:50% 40% !important;
  border-radius:18px !important; display:block !important;
}
.qui-flottante{
  position:absolute !important; right:-22px !important; bottom:-18px !important;
  width:200px !important;
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important;
  border-radius:14px !important; padding:18px !important;
  box-shadow:0 18px 40px -22px rgba(24,0,173,.40) !important;
}
.qui-flottante-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important; line-height:18px !important; font-weight:700 !important;
  letter-spacing:.6px !important; text-transform:uppercase !important;
  color:#1800AD !important; margin:0 0 6px !important;
}
.qui-flottante-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:21px !important; font-weight:600 !important;
  color:#12111A !important; margin:0 !important;
}

/* ---------------------------------------------------------------------------
   35.7 — LES CARTES
   Trois ou quatre par rangée, liseré lilas au survol, comme l'accueil.
   --------------------------------------------------------------------------- */
.qui-cartes-3, .qui-cartes-4{
  display:grid !important; gap:20px !important;
  margin:0 !important; padding:0 !important; list-style:none !important;
}
.qui-cartes-3{ grid-template-columns:repeat(3,1fr) !important; }
.qui-cartes-4{ grid-template-columns:repeat(4,1fr) !important; }
.qui-cartes-3 > li, .qui-cartes-4 > li{
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important; border-radius:16px !important;
  padding:24px !important; margin:0 !important; height:100% !important;
  display:flex !important; flex-direction:column !important;
  box-shadow:0 1px 2px rgba(18,17,26,.03), 0 16px 34px -26px rgba(24,0,173,.26) !important;
  transition:border-color .2s ease, transform .2s ease !important;
}
.qui-cartes-3 > li:hover, .qui-cartes-4 > li:hover{
  border-color:#A79BF5 !important; transform:translateY(-3px) !important;
}
.qui-carte-ico{
  width:56px !important; height:56px !important; border-radius:14px !important;
  background-color:#F4F2FF !important; margin:0 0 18px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  color:#1800AD !important; flex:0 0 auto !important;
}
.qui-carte-ico svg{
  width:26px !important; height:26px !important;
  fill:none !important; stroke:currentColor !important; stroke-width:1.7 !important;
  stroke-linecap:round !important; stroke-linejoin:round !important;
}
.qui-carte-ico svg path, .qui-carte-ico svg circle, .qui-carte-ico svg rect,
.qui-carte-ico svg line, .qui-carte-ico svg polyline, .qui-carte-ico svg polygon{
  fill:none !important; stroke:currentColor !important; stroke-width:1.7 !important;
}
.qui-carte-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:25px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 12px !important;
}
.qui-carte-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:24px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 !important;
}
.qui-carte-p b{ color:#12111A !important; font-weight:700 !important; }
.qui-carte-meta{
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important; line-height:19px !important; font-weight:600 !important;
  color:#5B5870 !important; margin:auto 0 0 !important; padding-top:16px !important;
}

/* ---------------------------------------------------------------------------
   35.8 — LES ÉTIQUETTES
   --------------------------------------------------------------------------- */
.qui-pills{
  display:flex !important; flex-wrap:wrap !important; gap:10px !important;
  margin:0 !important; padding:0 !important; list-style:none !important;
}
.qui-pills > li{ margin:0 !important; }
.qui-pill{
  display:inline-block !important;
  background-color:#F4F2FF !important; color:#1800AD !important;
  border:1px solid #DED9F3 !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:20px !important; font-weight:600 !important;
  padding:9px 16px !important; border-radius:999px !important;
}
.qui-alt .qui-pill{ background-color:#FFFFFF !important; }

/* ---------------------------------------------------------------------------
   35.9 — LE BANDEAU VIOLET
   --------------------------------------------------------------------------- */
.qui-bandeau{
  background-color:#1800AD !important; border-radius:24px !important;
  padding:44px 48px !important;
  display:flex !important; flex-direction:row !important;
  align-items:center !important; gap:48px !important;
}
.qui-bandeau-txt{ flex:1 1 auto !important; min-width:0 !important; }
.qui-bandeau h2, .qui-bandeau-h2,
.site-main .qui-bandeau h2, .qui-in .qui-bandeau h2,
.qui-sec .qui-bandeau h2{
  font-family:"Montserrat",sans-serif !important;
  font-size:32px !important; line-height:42px !important; font-weight:700 !important;
  letter-spacing:-.3px !important; color:#FFFFFF !important;
  margin:0 0 12px !important; max-width:560px !important;
}
.qui-bandeau h2 em, .qui-bandeau-h2 em,
.site-main .qui-bandeau h2 em, .qui-in .qui-bandeau h2 em,
.qui-sec .qui-bandeau h2 em{ font-style:normal !important; color:#FFBD59 !important; }
.qui-bandeau-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:16px !important; line-height:26px !important; font-weight:500 !important;
  color:#C9C2F5 !important; margin:0 0 22px !important; max-width:520px !important;
}
.qui-bandeau-cta{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  gap:12px !important; align-items:center !important;
}
.qui-bandeau-aside{
  flex:0 0 250px !important; width:250px !important; max-width:250px !important;
  align-self:stretch !important;
  display:flex !important; flex-direction:column !important; justify-content:center !important;
  border-left:1px solid rgba(255,255,255,.22) !important;
  padding:0 0 0 34px !important;
}
.qui-bandeau-aside-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:12px !important; line-height:17px !important; font-weight:700 !important;
  letter-spacing:1.2px !important; text-transform:uppercase !important;
  color:#FFBD59 !important; margin:0 0 8px !important;
}
.qui-bandeau-aside-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:24px !important; font-weight:500 !important;
  color:#FFFFFF !important; margin:0 !important;
}
a.qui-bandeau-tel:link, a.qui-bandeau-tel:visited, a.qui-bandeau-tel:focus, a.qui-bandeau-tel:active{
  font-family:"Montserrat",sans-serif !important;
  font-size:20px !important; line-height:28px !important; font-weight:800 !important;
  color:#FFFFFF !important; text-decoration:none !important;
}
a.qui-bandeau-tel:hover{ color:#FFBD59 !important; }

/* ---------------------------------------------------------------------------
   35.10 — LA LISTE À PUCES JAUNES
   --------------------------------------------------------------------------- */
.qui-liste{ margin:0 !important; padding:0 !important; list-style:none !important; }
.qui-liste > li{
  position:relative !important; margin:0 !important;
  padding:0 0 0 24px !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:26px !important; font-weight:500 !important;
  color:#5B5870 !important;
}
.qui-liste > li + li{ margin-top:10px !important; }
.qui-liste > li::before{
  content:"" !important; position:absolute !important;
  left:0 !important; top:10px !important;
  width:7px !important; height:7px !important; border-radius:50% !important;
  background-color:#FFBD59 !important;
}
.qui-liste > li b{ color:#12111A !important; font-weight:700 !important; }

/* ---------------------------------------------------------------------------
   35.10 bis — LES ÉCARTS
   Une marge posée en « style="..." » dans le HTML perd contre un
   « margin:0 !important » de la feuille de style. Les écarts se posent donc
   avec ces classes, écrites en deux classes pour gagner en spécificité.
   --------------------------------------------------------------------------- */
.qui-liste.qui-mt, .qui-note.qui-mt, .qui-pills.qui-mt,
.qui-cartes-3.qui-mt, .qui-cartes-4.qui-mt{ margin-top:34px !important; }
.qui-liste.qui-mt-s, .qui-note.qui-mt-s, .qui-portrait-p.qui-mt-s,
.qui-pills.qui-mt-s{ margin-top:22px !important; }
.qui-bandeau-aside-p.qui-mt-xs, .qui-note.qui-mt-xs{ margin-top:8px !important; }

/* ---------------------------------------------------------------------------
   35.13 — LA RÉVÉLATION AU DÉFILEMENT
   « qui-rev » se pose sur une liste de cartes. À l'entrée du bloc dans
   l'écran, les cartes montent et apparaissent l'une après l'autre.

   C'est le CONTENEUR qui est observé, pas chaque carte : dans une grille,
   les quatre cartes entrent en même temps, et c'est le décalage écrit
   ci-dessous qui fabrique la cascade. Observer chaque carte les ferait
   toutes apparaître ensemble.

   Sans JavaScript, la classe « qui-anim » n'est jamais posée : les cartes
   sont visibles dès le chargement. Même chose si le visiteur a demandé à son
   système de limiter les animations.
   --------------------------------------------------------------------------- */
.qui-rev.qui-anim > li{
  opacity:0 !important;
  transform:translateY(24px) !important;
  transition:opacity .62s cubic-bezier(.22,.61,.36,1),
             transform .62s cubic-bezier(.22,.61,.36,1) !important;
}
.qui-rev.qui-anim > li:nth-child(1){ transition-delay:0s !important; }
.qui-rev.qui-anim > li:nth-child(2){ transition-delay:.10s !important; }
.qui-rev.qui-anim > li:nth-child(3){ transition-delay:.20s !important; }
.qui-rev.qui-anim > li:nth-child(4){ transition-delay:.30s !important; }
.qui-rev.qui-anim > li:nth-child(5){ transition-delay:.40s !important; }
.qui-rev.qui-anim > li:nth-child(6){ transition-delay:.50s !important; }
.qui-rev.qui-anim > li.vu{
  opacity:1 !important; transform:translateY(0) !important;
}
/* Le survol doit continuer de fonctionner une fois la carte révélée :
   sans cette ligne, le « transform:translateY(0) » ci-dessus, plus
   spécifique, annulerait le soulèvement au survol. */
.qui-rev.qui-anim > li.vu:hover{ transform:translateY(-3px) !important; }

@media (prefers-reduced-motion:reduce){
  .qui-rev.qui-anim > li,
  .qui-rev.qui-anim > li.vu{
    opacity:1 !important; transform:none !important;
    transition:none !important; transition-delay:0s !important;
  }
}

/* ---------------------------------------------------------------------------
   35.11 — TABLETTE
   --------------------------------------------------------------------------- */
@media (max-width:1024px){
  .qui-sec{ padding:70px 0 !important; }
  .qui-hero{ padding:80px 0 90px !important; }
  .qui-hero-in{ flex-direction:column !important; align-items:stretch !important; gap:34px !important; }
  .qui-hero-txt{ max-width:none !important; width:100% !important; min-width:0 !important; }
  .qui-hero h1, .qui-hero-in h1{ font-size:42px !important; line-height:50px !important; letter-spacing:-1px !important; }
  .qui-hero-img{ flex:0 0 auto !important; width:100% !important; max-width:420px !important; justify-content:center !important; align-self:flex-start !important; }
  .qui-hero-img::before{ width:470px !important; height:470px !important; }
  .qui-sec h2, .qui-h2{ font-size:32px !important; line-height:40px !important; }

  .qui-chiffres-carte{ flex-wrap:wrap !important; }
  .qui-chiffres-carte > li{ flex:1 1 40% !important; }
  .qui-chiffres-carte > li:nth-child(3){ border-left:0 !important; }
  .qui-chiffres-carte > li:nth-child(3),
  .qui-chiffres-carte > li:nth-child(4){ border-top:1px solid #EDE9FB !important; }

  .qui-cartes-4{ grid-template-columns:1fr 1fr !important; }
  .qui-cartes-3{ grid-template-columns:1fr !important; }
  .qui-principes{ grid-template-columns:1fr !important; gap:26px !important; }

  .qui-portrait{ flex-direction:column !important; align-items:flex-start !important; gap:56px !important; }
  .qui-portrait-txt{ max-width:none !important; width:100% !important; min-width:0 !important; }
  .qui-portrait-visu{ flex:0 0 auto !important; width:100% !important; max-width:400px !important; }

  .qui-bandeau{ flex-direction:column !important; align-items:flex-start !important; gap:28px !important; padding:36px 32px !important; }
  .qui-bandeau-aside{
    flex:0 0 auto !important; width:100% !important; max-width:none !important;
    border-left:0 !important; border-top:1px solid rgba(255,255,255,.22) !important;
    padding:22px 0 0 !important;
  }
}

/* ---------------------------------------------------------------------------
   35.12 — TÉLÉPHONE
   --------------------------------------------------------------------------- */
@media (max-width:767px){
  .qui-sec{ padding:56px 0 !important; }
  .qui-in, .qui-hero-in, .qui-chiffres-in{ padding:0 20px !important; }
  .qui-hero{ padding:60px 0 70px !important; }
  .qui-hero h1, .qui-hero-in h1{ font-size:32px !important; line-height:40px !important; letter-spacing:-.6px !important; }
  .qui-hero-p{ font-size:16px !important; line-height:27px !important; }
  .qui-hero-img{ max-width:300px !important; margin:0 auto !important; }
  .qui-hero-img::before{ width:340px !important; height:340px !important; }
  .qui-hero-cta a.qui-btn{ width:100% !important; }
  .qui-sec h2, .qui-h2{ font-size:26px !important; line-height:34px !important; }
  .qui-chapo{ font-size:16px !important; line-height:27px !important; }

  .qui-chiffres-carte > li{ flex:1 1 100% !important; }
  .qui-chiffres-carte > li + li{ border-left:0 !important; border-top:1px solid #EDE9FB !important; }
  .qui-chiffres-carte > li:nth-child(1){ border-top:0 !important; }

  .qui-cartes-4, .qui-cartes-3{ grid-template-columns:1fr !important; }
  .qui-flottante{ position:static !important; width:auto !important; margin:14px 0 0 !important; }

  .qui-bandeau{ padding:30px 22px !important; border-radius:18px !important; }
  .qui-sec .qui-bandeau h2, .qui-bandeau-h2{ font-size:25px !important; line-height:34px !important; }
  .qui-bandeau-cta a.qui-btn{ width:100% !important; }
}


/* ===========================================================================
   36 — LA PAGE RESSOURCES
   Le catalogue des articles. Trois principes :

   1. RIEN N'EST ÉCRIT À LA MAIN. La grille est produite par le widget
      « Articles » d'Elementor. Vous publiez un article, il apparaît. Vous n'
      ouvrez jamais cette page pour la mettre à jour.
   2. LE TRI SE FAIT SANS RECHARGEMENT. Un champ de recherche et des pastilles
      de catégorie filtrent les cartes déjà affichées, instantanément.
      Les pastilles sont construites toutes seules à partir de vos catégories :
      vous n'avez rien à déclarer ici quand vous en ajoutez une.
   3. TOUT RESTE UTILISABLE SANS JAVASCRIPT. Sans lui, la barre de filtres
      disparaît et la grille complète s'affiche. Rien n'est caché.

   Le style vise le balisage du widget « Articles » d'Elementor, dans ses deux
   habillages, « Cartes » et « Classique ». C'est du balisage stable, mais
   c'est celui d'Elementor : si une mise à jour le change, ce sont ces
   sélecteurs qu'il faudra revoir, et eux seuls.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   36.1 — OSSATURE
   --------------------------------------------------------------------------- */
.res-sec{ background-color:#FFFFFF !important; padding:80px 0 !important; }
.res-sec.res-alt{ background-color:#F4F2FF !important; }
.res-in{
  max-width:1140px !important; margin:0 auto !important;
  padding:0 24px !important; box-sizing:border-box !important;
}
.res-in *, .res-hero-in *{ box-sizing:border-box !important; }

.res-sur{
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important; line-height:18px !important; font-weight:700 !important;
  letter-spacing:1.5px !important; text-transform:uppercase !important;
  color:#1800AD !important; margin:0 0 10px !important;
}

/* ---------------------------------------------------------------------------
   36.2 — LE HAUT DE PAGE
   --------------------------------------------------------------------------- */
.res-hero{
  background-color:#F4F2FF !important;
  padding:86px 0 40px !important;
}
.res-hero-in{
  max-width:1140px !important; margin:0 auto !important;
  padding:0 24px !important; box-sizing:border-box !important;
}
.res-hero h1, .res-hero-in h1,
.site-main .res-hero h1, .site-main .res-hero-in h1{
  font-family:"Montserrat",sans-serif !important;
  font-size:48px !important; line-height:56px !important; font-weight:800 !important;
  letter-spacing:-1.2px !important; color:#1800AD !important; margin:0 0 18px !important;
  max-width:820px !important;
}
.res-hero h1 em, .res-hero-in h1 em{ font-style:normal !important; color:#12111A !important; }
.res-chapo{
  font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:30px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 !important; max-width:720px !important;
}

/* ---------------------------------------------------------------------------
   36.3 — LA BARRE DE FILTRES
   Elle est masquée tant que le script n'a pas démarré : une barre qui ne
   filtre rien serait pire que pas de barre du tout.
   --------------------------------------------------------------------------- */
.res-filtres{ display:none !important; }
.res-filtres.res-prete{ display:block !important; margin:34px 0 0 !important; }

.res-recherche{ position:relative !important; max-width:520px !important; }
.res-recherche svg{
  position:absolute !important; left:18px !important; top:50% !important;
  transform:translateY(-50%) !important;
  width:18px !important; height:18px !important;
  fill:none !important; stroke:#5B5870 !important; stroke-width:1.8 !important;
  stroke-linecap:round !important; stroke-linejoin:round !important;
  pointer-events:none !important;
}
.res-recherche svg path, .res-recherche svg circle, .res-recherche svg line{
  fill:none !important; stroke:currentColor !important;
}
input.res-champ{
  width:100% !important; height:54px !important;
  padding:0 46px 0 48px !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:54px !important; font-weight:500 !important;
  color:#12111A !important;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important; border-radius:12px !important;
  box-shadow:0 1px 2px rgba(18,17,26,.03) !important;
  outline:none !important; box-sizing:border-box !important;
  transition:border-color .18s ease, box-shadow .18s ease !important;
}
input.res-champ::placeholder{ color:#8C89A0 !important; opacity:1 !important; }
input.res-champ:focus{
  border-color:#1800AD !important;
  box-shadow:0 0 0 3px rgba(24,0,173,.12) !important;
}
button.res-vider{
  position:absolute !important; right:8px !important; top:50% !important;
  transform:translateY(-50%) !important;
  width:32px !important; height:32px !important; padding:0 !important;
  display:none !important; align-items:center !important; justify-content:center !important;
  background-color:transparent !important; border:0 !important; border-radius:50% !important;
  color:#5B5870 !important; cursor:pointer !important; font-size:20px !important;
  line-height:1 !important;
}
button.res-vider.res-visible{ display:flex !important; }
button.res-vider:hover{ background-color:#F4F2FF !important; color:#1800AD !important; }

.res-pastilles{
  display:flex !important; flex-wrap:wrap !important; gap:9px !important;
  margin:16px 0 0 !important; padding:0 !important; list-style:none !important;
}
.res-pastilles > li{ margin:0 !important; }
button.res-pastille{
  display:inline-flex !important; align-items:center !important; gap:7px !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:20px !important; font-weight:600 !important;
  color:#1800AD !important;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important; border-radius:999px !important;
  padding:9px 16px !important; cursor:pointer !important;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease !important;
}
button.res-pastille:hover{ border-color:#A79BF5 !important; }
button.res-pastille .res-nb{
  font-size:12px !important; font-weight:700 !important; color:#8C89A0 !important;
}
button.res-pastille[aria-pressed="true"]{
  background-color:#1800AD !important; border-color:#1800AD !important; color:#FFFFFF !important;
}
button.res-pastille[aria-pressed="true"] .res-nb{ color:rgba(255,255,255,.72) !important; }

.res-compte{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:20px !important; font-weight:600 !important;
  color:#5B5870 !important; margin:16px 0 0 !important;
}
.res-compte b{ color:#12111A !important; font-weight:700 !important; }

/* ---------------------------------------------------------------------------
   36.4 — LA GRILLE D'ARTICLES
   Balisage du widget « Articles » d'Elementor. « .res-grille » se pose sur le
   conteneur de section pour que ces règles ne débordent jamais sur une autre
   page qui utiliserait le même widget.
   --------------------------------------------------------------------------- */
/* La grille se cale elle-même sur la largeur du site : le conteneur de
   section peut donc rester en « Pleine largeur », comme sur toutes les
   autres pages, sans avoir à le passer « En boîte ». */
.res-grille .elementor-posts-container,
.res-grille .elementor-posts{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:24px !important;
  max-width:1140px !important; margin:0 auto !important;
  padding:0 24px !important; box-sizing:border-box !important;
}
.res-grille .res-vide{
  max-width:1140px !important; margin:28px auto 0 !important;
  box-sizing:border-box !important;
}
.res-grille .elementor-pagination{ max-width:1140px !important; margin:38px auto 0 !important; }
.res-grille .elementor-post{
  margin:0 !important; padding:0 !important;
  background-color:transparent !important; border:0 !important;
}
.res-grille .elementor-post,
.res-grille .elementor-post__card{
  display:flex !important; flex-direction:column !important;
  height:100% !important; overflow:hidden !important;
}
.res-grille .elementor-post__card,
.res-grille .elementor-post.elementor-grid-item:not(:has(.elementor-post__card)){
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important; border-radius:16px !important;
  box-shadow:0 1px 2px rgba(18,17,26,.03), 0 16px 34px -26px rgba(24,0,173,.26) !important;
  transition:border-color .2s ease, transform .2s ease !important;
}
.res-grille .elementor-post:hover .elementor-post__card,
.res-grille .elementor-post.elementor-grid-item:hover{
  border-color:#A79BF5 !important; transform:translateY(-3px) !important;
}

/* La pastille de catégorie est positionnée en absolu : il faut un ancêtre
   positionné, sinon elle part se coller en haut de la page. Selon
   l'habillage choisi, elle est soit dans le lien de la vignette, soit dans
   la carte : on rend les deux positionnés. */
.res-grille .elementor-post,
.res-grille .elementor-post__card,
.res-grille .elementor-post__thumbnail__link{ position:relative !important; }
.res-grille .elementor-post__thumbnail__link{ display:block !important; margin:0 !important; }
.res-grille .elementor-post__thumbnail{
  position:relative !important; padding:0 !important;
  aspect-ratio:16 / 10 !important; overflow:hidden !important;
  background-color:#F4F2FF !important;
}
.res-grille .elementor-post__thumbnail img{
  width:100% !important; height:100% !important;
  object-fit:cover !important; display:block !important;
}
.res-grille .elementor-post__badge{
  position:absolute !important; left:14px !important; top:14px !important;
  background-color:#FFBD59 !important; color:#12111A !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:11.5px !important; line-height:16px !important; font-weight:700 !important;
  letter-spacing:.4px !important; text-transform:uppercase !important;
  padding:6px 12px !important; border-radius:999px !important;
  margin:0 !important; z-index:2 !important;
}

.res-grille .elementor-post__text{
  padding:22px 22px 0 !important; margin:0 !important;
  flex:1 1 auto !important;
  display:flex !important; flex-direction:column !important;
}
.res-grille .elementor-post__title{
  font-family:"Montserrat",sans-serif !important;
  font-size:18px !important; line-height:26px !important; font-weight:700 !important;
  margin:0 0 10px !important;
}
.res-grille a.elementor-post__title__link:link,
.res-grille .elementor-post__title a:link,
.res-grille .elementor-post__title a:visited,
.res-grille .elementor-post__title a:focus,
.res-grille .elementor-post__title a:active{
  color:#12111A !important; text-decoration:none !important;
}
.res-grille .elementor-post__title a:hover{ color:#1800AD !important; }

.res-grille .elementor-post__excerpt{ margin:0 0 16px !important; }
.res-grille .elementor-post__excerpt p{
  font-family:"Montserrat",sans-serif !important;
  font-size:14.5px !important; line-height:23px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 !important;
}
.res-grille .elementor-post__meta-data{
  font-family:"Montserrat",sans-serif !important;
  font-size:12.5px !important; line-height:18px !important; font-weight:600 !important;
  color:#8C89A0 !important;
  margin:auto 0 0 !important; padding:14px 22px 20px !important;
  border-top:1px solid #EDEAFB !important;
}
.res-grille .elementor-post__card .elementor-post__meta-data{ padding:14px 22px 18px !important; }
.res-grille .elementor-post__read-more{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:20px !important; font-weight:700 !important;
  color:#1800AD !important; text-decoration:none !important;
  margin:0 0 20px !important; display:inline-block !important;
}
.res-grille .elementor-post__read-more:hover{ text-decoration:underline !important; }

/* La pagination, le jour où il y aura assez d'articles pour en avoir besoin. */
.res-grille .elementor-pagination{ margin:38px 0 0 !important; text-align:center !important; }
.res-grille .elementor-pagination .page-numbers{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-width:40px !important; height:40px !important; padding:0 12px !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; font-weight:700 !important;
  color:#1800AD !important; text-decoration:none !important;
  background-color:#FFFFFF !important; border:1px solid #DED9F3 !important;
  border-radius:10px !important; margin:0 4px !important;
}
.res-grille .elementor-pagination .page-numbers.current{
  background-color:#1800AD !important; border-color:#1800AD !important; color:#FFFFFF !important;
}

/* ---------------------------------------------------------------------------
   36.5 — QUAND LE FILTRE NE TROUVE RIEN, ET QUAND IL N'Y A ENCORE RIEN
   --------------------------------------------------------------------------- */
/* Masquer une carte filtrée. Écrit en trois classes : la règle
   « .res-grille .elementor-post{display:flex} » pèse (0,2,0) et l'emportait
   sur un « .res-cache » seul. */
.res-cache,
.res-grille .elementor-post.res-cache,
.res-grille .elementor-grid-item.res-cache{ display:none !important; }

.res-vide{
  display:none !important;
  text-align:center !important;
  padding:54px 24px !important;
  background-color:#F4F2FF !important;
  border:1px dashed #DED9F3 !important; border-radius:16px !important;
  margin:0 !important;
}
.res-vide.res-visible{ display:block !important; }
.res-vide-t{
  font-family:"Montserrat",sans-serif !important;
  font-size:19px !important; line-height:27px !important; font-weight:700 !important;
  color:#12111A !important; margin:0 0 8px !important;
}
.res-vide-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:24px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 !important;
}
button.res-reinit{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  margin:18px 0 0 !important; padding:12px 22px !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:20px !important; font-weight:700 !important;
  color:#12111A !important; background-color:#FFBD59 !important;
  border:0 !important; border-radius:10px !important; cursor:pointer !important;
}
button.res-reinit:hover{ background-color:#1800AD !important; color:#FFFFFF !important; }

/* ---------------------------------------------------------------------------
   36.6 — LE BANDEAU DE BAS DE PAGE
   --------------------------------------------------------------------------- */
.res-bandeau{
  background-color:#1800AD !important; border-radius:24px !important;
  padding:44px 48px !important;
  display:flex !important; flex-direction:row !important;
  align-items:center !important; gap:48px !important;
}
.res-bandeau-txt{ flex:1 1 auto !important; min-width:0 !important; }
.res-bandeau h2, .res-bandeau-h2,
.site-main .res-bandeau h2, .res-in .res-bandeau h2{
  font-family:"Montserrat",sans-serif !important;
  font-size:30px !important; line-height:40px !important; font-weight:700 !important;
  letter-spacing:-.3px !important; color:#FFFFFF !important;
  margin:0 0 12px !important; max-width:600px !important;
}
.res-bandeau h2 em, .site-main .res-bandeau h2 em{
  font-style:normal !important; color:#FFBD59 !important;
}
.res-bandeau-p{
  font-family:"Montserrat",sans-serif !important;
  font-size:16px !important; line-height:26px !important; font-weight:500 !important;
  color:#C9C2F5 !important; margin:0 0 22px !important; max-width:560px !important;
}
.res-bandeau-cta{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  gap:12px !important; align-items:center !important;
}
a.res-btn:link, a.res-btn:visited, a.res-btn:hover, a.res-btn:focus, a.res-btn:active{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:15px !important; line-height:20px !important; font-weight:700 !important;
  text-decoration:none !important; border-radius:10px !important;
  padding:15px 26px !important; white-space:nowrap !important;
  border:2px solid transparent !important;
}
a.res-btn-jaune:link, a.res-btn-jaune:visited, a.res-btn-jaune:focus, a.res-btn-jaune:active{
  background-color:#FFBD59 !important; color:#12111A !important;
}
a.res-btn-jaune:hover{ background-color:#FFFFFF !important; color:#1800AD !important; }
a.res-btn-blanc:link, a.res-btn-blanc:visited, a.res-btn-blanc:focus, a.res-btn-blanc:active{
  background-color:transparent !important; color:#FFFFFF !important;
  border-color:rgba(255,255,255,.55) !important;
}
a.res-btn-blanc:hover{ background-color:#FFFFFF !important; color:#1800AD !important; }

/* ---------------------------------------------------------------------------
   36.7 — TABLETTE ET TÉLÉPHONE
   --------------------------------------------------------------------------- */
@media (max-width:1024px){
  .res-sec{ padding:60px 0 !important; }
  .res-hero{ padding:64px 0 34px !important; }
  .res-hero h1, .res-hero-in h1{ font-size:38px !important; line-height:46px !important; }
  .res-grille .elementor-posts-container,
  .res-grille .elementor-posts{ grid-template-columns:repeat(2,1fr) !important; }
  .res-bandeau{
    flex-direction:column !important; align-items:flex-start !important;
    gap:26px !important; padding:36px 32px !important;
  }
}

@media (max-width:767px){
  .res-sec{ padding:48px 0 !important; }
  .res-in, .res-hero-in{ padding:0 20px !important; }
  .res-hero{ padding:48px 0 28px !important; }
  .res-hero h1, .res-hero-in h1{ font-size:29px !important; line-height:37px !important; letter-spacing:-.6px !important; }
  .res-chapo{ font-size:16px !important; line-height:27px !important; }
  .res-recherche{ max-width:none !important; }
  .res-grille .elementor-posts-container,
  .res-grille .elementor-posts{ grid-template-columns:1fr !important; gap:20px !important; padding:0 20px !important; }
  .res-grille .res-vide{ margin-left:20px !important; margin-right:20px !important; }
  .res-bandeau{ padding:30px 22px !important; border-radius:18px !important; }
  .res-bandeau h2, .site-main .res-bandeau h2{ font-size:24px !important; line-height:33px !important; }
  .res-bandeau-cta a.res-btn{ width:100% !important; }
}

/* ---------------------------------------------------------------------------
   36.8 — L'ARTICLE LUI-MÊME
   À poser sur le modèle « Article unique » du constructeur de thème. Sans ce
   modèle, un article publié s'affiche avec la mise en page nue du thème, et
   tout le travail de la page catalogue s'arrête au clic.
   --------------------------------------------------------------------------- */
.art-hero{ background-color:#F4F2FF !important; padding:72px 0 56px !important; }
.art-in{
  max-width:760px !important; margin:0 auto !important;
  padding:0 24px !important; box-sizing:border-box !important;
}
.art-sec{ background-color:#FFFFFF !important; padding:56px 0 80px !important; }

.art-hero h1, .site-main .art-hero h1{
  font-family:"Montserrat",sans-serif !important;
  font-size:42px !important; line-height:52px !important; font-weight:800 !important;
  letter-spacing:-1px !important; color:#1800AD !important; margin:14px 0 18px !important;
}
.art-meta{
  font-family:"Montserrat",sans-serif !important;
  font-size:13.5px !important; line-height:20px !important; font-weight:600 !important;
  color:#5B5870 !important; margin:0 !important;
}
.art-corps p, .art-corps li{
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important; line-height:31px !important; font-weight:500 !important;
  color:#12111A !important;
}
.art-corps p{ margin:0 0 22px !important; }
.art-corps h2, .site-main .art-corps h2{
  font-family:"Montserrat",sans-serif !important;
  font-size:28px !important; line-height:38px !important; font-weight:700 !important;
  color:#1800AD !important; margin:40px 0 16px !important;
}
.art-corps h3, .site-main .art-corps h3{
  font-family:"Montserrat",sans-serif !important;
  font-size:20px !important; line-height:29px !important; font-weight:700 !important;
  color:#12111A !important; margin:30px 0 12px !important;
}
.art-corps ul, .art-corps ol{ margin:0 0 22px !important; padding-left:22px !important; }
.art-corps li{ margin:0 0 8px !important; }
.art-corps img{
  max-width:100% !important; height:auto !important;
  border-radius:14px !important; display:block !important; margin:30px auto !important;
}
.art-corps blockquote{
  margin:30px 0 !important; padding:4px 0 4px 24px !important;
  border-left:3px solid #FFBD59 !important;
  font-size:19px !important; line-height:31px !important; font-style:normal !important;
  color:#12111A !important;
}
.art-corps a:link, .art-corps a:visited{
  color:#1800AD !important; text-decoration:underline !important;
  text-underline-offset:3px !important;
}

@media (max-width:767px){
  .art-hero{ padding:48px 0 36px !important; }
  .art-hero h1, .site-main .art-hero h1{ font-size:29px !important; line-height:38px !important; }
  .art-in{ padding:0 20px !important; }
  .art-corps p, .art-corps li{ font-size:16px !important; line-height:28px !important; }
  .art-corps h2, .site-main .art-corps h2{ font-size:23px !important; line-height:32px !important; }
}

/* ======================= FIN ======================= */
/* ===========================================================================
   BLOC 38 — LA PAGE MERCI
   À coller à la FIN de votre CSS personnalisé, après le bloc 37.
   Aucune règle existante n'est modifiée : tout est porté par la classe
   « mrc », posée sur le conteneur du widget de la page Merci.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   38.1 — LE BOUTON BLANC À CONTOUR VIOLET
   Écrit en « a.classe » avec les cinq états, pour passer devant la règle
   « .elementor-kit-6 a{color:#1800AD} » du kit, qui pèse (0,1,1).
   S'emploie TOUJOURS avec qui-btn : class="qui-btn qui-btn-bleu".
   --------------------------------------------------------------------------- */
a.qui-btn-bleu:link, a.qui-btn-bleu:visited, a.qui-btn-bleu:focus, a.qui-btn-bleu:active{
  background-color:#FFFFFF !important;
  color:#1800AD !important;
  border-color:#1800AD !important;
}
a.qui-btn-bleu:hover{
  background-color:#1800AD !important;
  color:#FFFFFF !important;
  border-color:#1800AD !important;
}

/* ---------------------------------------------------------------------------
   38.2 — LES RESPIRATIONS DE LA PAGE MERCI
   Deux classes valent (0,2,0) contre (0,1,0) : ces règles passent devant
   celles du bloc 35 sans les réécrire ailleurs sur le site.
   --------------------------------------------------------------------------- */
.mrc .qui-chapo{ margin:0 !important; }

.mrc .qui-hero-cta{
  gap:16px !important;
  margin-top:40px !important;
}

.mrc .qui-note{ margin-top:16px !important; }

.mrc .qui-principes{
  gap:54px 56px !important;
  margin-top:64px !important;
}

.mrc .qui-principes > li{ gap:20px !important; }

.mrc .qui-principe-t{ margin:0 0 10px !important; }

.mrc .qui-principe-p{ line-height:26px !important; }

/* La rangée de boutons du bas, davantage détachée des quatre étapes. */
.mrc .qui-principes + .qui-hero-cta{ margin-top:64px !important; }

/* ---------------------------------------------------------------------------
   38.3 — TABLETTE ET TÉLÉPHONE
   En dessous de 900 px les étapes passent sur une colonne : on resserre
   l'écart vertical, sinon la page devient interminable au doigt.
   --------------------------------------------------------------------------- */
@media (max-width:900px){
  .mrc .qui-principes{
    grid-template-columns:1fr !important;
    gap:40px !important;
    margin-top:48px !important;
  }
  .mrc .qui-principes + .qui-hero-cta{ margin-top:48px !important; }
}

@media (max-width:600px){
  .mrc .qui-hero-cta{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .mrc .qui-hero-cta > a{ width:100% !important; }
}
/* ===========================================================================
   BLOC 39 — LE BANDEAU DE COOKIES (Complianz)
   À coller à la FIN de votre CSS personnalisé, après le bloc 38.

   Réglez d'abord les COULEURS dans Complianz lui-même (Apparence → Style) :
   ce bloc ne s'occupe que de ce que le panneau ne sait pas faire —
   la police Montserrat, la forme des boutons, les espacements et le
   comportement sur téléphone.

   Toutes les règles sont en !important et visent plusieurs sélecteurs
   possibles : la classe exacte varie selon la version de Complianz, et
   viser large coûte moins cher que de deviner juste.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   39.1 — LE CADRE
   --------------------------------------------------------------------------- */
#cmplz-cookiebanner-container .cmplz-cookiebanner,
.cmplz-cookiebanner{
  font-family:"Montserrat",sans-serif !important;
  border:1px solid #DED9F3 !important;
  border-radius:16px !important;
  box-shadow:0 18px 44px rgba(24,0,173,.14) !important;
  padding:26px 28px !important;
  max-width:560px !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header,
.cmplz-cookiebanner .cmplz-header{
  margin:0 0 10px !important;
  padding:0 !important;
  border:0 !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:19px !important; line-height:26px !important; font-weight:800 !important;
  color:#1800AD !important; margin:0 !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body,
.cmplz-cookiebanner .cmplz-body{ padding:0 !important; }

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-message{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:23px !important; font-weight:500 !important;
  color:#5B5870 !important; margin:0 0 20px !important;
}

/* ---------------------------------------------------------------------------
   39.2 — LES BOUTONS
   « Accepter » et « Refuser » ont EXACTEMENT la même taille, la même
   graisse et le même rembourrage. La CNIL demande que refuser soit aussi
   simple qu'accepter : c'est la règle la plus souvent enfreinte, et la
   plus facile à respecter.
   --------------------------------------------------------------------------- */
.cmplz-cookiebanner .cmplz-buttons{
  display:flex !important; flex-wrap:wrap !important;
  gap:10px !important; margin:0 !important;
}

.cmplz-cookiebanner .cmplz-btn{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; line-height:20px !important; font-weight:700 !important;
  padding:13px 22px !important;
  border-radius:10px !important;
  border:2px solid transparent !important;
  min-width:0 !important; width:auto !important; flex:1 1 auto !important;
  text-transform:none !important; letter-spacing:0 !important;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept{
  background-color:#1800AD !important; color:#FFFFFF !important; border-color:#1800AD !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover{
  background-color:#12007F !important; border-color:#12007F !important; color:#FFFFFF !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny{
  background-color:#FFFFFF !important; color:#1800AD !important; border-color:#1800AD !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover{
  background-color:#F4F2FF !important; color:#1800AD !important; border-color:#1800AD !important;
}

/* « Préférences » reste un lien discret : ce n'est pas un choix, c'est un
   réglage fin. Il ne doit ni concurrencer, ni écraser les deux autres. */
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences{
  background-color:transparent !important; color:#5B5870 !important;
  border-color:transparent !important; text-decoration:underline !important;
  flex:0 0 auto !important; padding:13px 8px !important; font-weight:600 !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover{
  color:#1800AD !important; background-color:transparent !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{
  background-color:#FFBD59 !important; color:#12111A !important; border-color:#FFBD59 !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover{
  background-color:#1800AD !important; color:#FFFFFF !important; border-color:#1800AD !important;
}

/* ---------------------------------------------------------------------------
   39.3 — LES CATÉGORIES ET LES LIENS
   --------------------------------------------------------------------------- */
.cmplz-cookiebanner .cmplz-categories .cmplz-category{
  border:1px solid #DED9F3 !important;
  border-radius:10px !important;
  background-color:#F4F2FF !important;
  margin:0 0 8px !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-title{
  font-family:"Montserrat",sans-serif !important;
  font-size:14px !important; font-weight:700 !important; color:#12111A !important;
}

.cmplz-cookiebanner .cmplz-links,
.cmplz-cookiebanner .cmplz-links.cmplz-documents{
  margin:16px 0 0 !important;
  padding-top:14px !important;
  border-top:1px solid #DED9F3 !important;
}

.cmplz-cookiebanner .cmplz-links a,
.cmplz-cookiebanner .cmplz-link{
  font-family:"Montserrat",sans-serif !important;
  font-size:12px !important; line-height:18px !important; font-weight:600 !important;
  color:#5B5870 !important; text-decoration:none !important;
}
.cmplz-cookiebanner .cmplz-links a:hover,
.cmplz-cookiebanner .cmplz-link:hover{
  color:#1800AD !important; text-decoration:underline !important;
}

/* ---------------------------------------------------------------------------
   39.4 — LE BOUTON DE RÉOUVERTURE
   Il doit rester atteignable à vie, la loi l'exige, mais discret.
   --------------------------------------------------------------------------- */
.cmplz-manage-consent .cmplz-manage-consent-container,
#cmplz-manage-consent .cmplz-manage-consent-container,
.cmplz-manage-consent button{
  font-family:"Montserrat",sans-serif !important;
  font-size:12px !important; font-weight:700 !important;
  background-color:#1800AD !important; color:#FFFFFF !important;
  border:0 !important; border-radius:10px 10px 0 0 !important;
  padding:9px 16px !important;
}

/* ---------------------------------------------------------------------------
   39.5 — TÉLÉPHONE
   En dessous de 600 px, les deux boutons passent en pleine largeur l'un
   sous l'autre, dans l'ordre Accepter puis Refuser, avec la même taille.
   --------------------------------------------------------------------------- */
@media (max-width:600px){
  #cmplz-cookiebanner-container .cmplz-cookiebanner,
  .cmplz-cookiebanner{
    padding:22px 20px !important;
    border-radius:16px 16px 0 0 !important;
    max-width:100% !important;
  }
  .cmplz-cookiebanner .cmplz-buttons{ flex-direction:column !important; }
  .cmplz-cookiebanner .cmplz-btn{ width:100% !important; flex:1 1 auto !important; }
  .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences{ order:3 !important; }
}

/* ===========================================================================
   BLOC 40 — LES RÉSEAUX SOCIAUX DU PIED DE PAGE
   À coller à la FIN de votre CSS personnalisé, après le bloc 39.
   Aucune règle existante n'est modifiée.

   Le pied de page est sur fond encre (#12111A) : les pastilles sont donc
   claires en transparence, et passent au jaune de la marque au survol.
   =========================================================================== */

.pdp-reseaux{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:4px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}

.pdp-reseaux > li{ margin:0 !important; padding:0 !important; }

/* Écrit en « a.classe » avec les cinq états, pour passer devant la règle
   « .elementor-kit-6 a{color:#1800AD} » du kit, qui pèse (0,1,1). */
.pdp-reseaux a:link, .pdp-reseaux a:visited,
.pdp-reseaux a:focus, .pdp-reseaux a:active{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:40px !important;
  height:40px !important;
  border-radius:50% !important;
  background-color:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#C8C4DC !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease !important;
}

.pdp-reseaux a:hover{
  background-color:#FFBD59 !important;
  border-color:#FFBD59 !important;
  color:#12111A !important;
  transform:translateY(-2px) !important;
}

/* Le contour au clavier doit rester visible sur fond sombre. */
.pdp-reseaux a:focus-visible{
  outline:2px solid #FFBD59 !important;
  outline-offset:3px !important;
}

.pdp-reseaux svg{
  width:19px !important;
  height:19px !important;
  display:block !important;
}

/* Le mouvement est désactivé pour qui l'a demandé à son système. */
@media (prefers-reduced-motion:reduce){
  .pdp-reseaux a:hover{ transform:none !important; }
}

/* Sur téléphone, le pied de page se resserre : on garde la même taille de
   cible tactile, 40 px étant déjà le minimum recommandé. */
@media (max-width:600px){
  .pdp-reseaux{ gap:12px !important; margin-top:8px !important; }
}
/* ==================================================================
   BLOC 41 — LES QUATRE TUILES "NOS SERVICES" DE LA PAGE D'ACCUEIL
   A coller a la suite du bloc 40, dans le CSS personnalise du kit.

   Ce bloc ne sert QUE si vous choisissez la voie B du mode d'emploi,
   c'est-a-dire remplacer la rangee de tuiles par un unique widget
   HTML. Si vous corrigez les tuiles une par une dans Elementor
   (voie A), ne collez pas ce bloc : il ne servirait a rien.

   Les valeurs ci-dessous sont RELEVEES sur vos tuiles actuelles,
   pas inventees : grille de 4 colonnes, ecart 20 px, fond blanc,
   rayon 16 px, bordure #DED9F3, rembourrage 26/22 px, contenu
   centre, icone 30 px en #1800AD, titre 16/22 gras #12111A,
   sous-titre 13/19 en #5B5870. Le rendu est donc identique a
   l'actuel, aux quatre contenus pres.

   Les liens sont ecrits en a.classe avec les cinq etats : deux
   classes valent (0,2,0) et battent .elementor-kit-6 a{} qui ne
   vaut que (0,1,1).
   ================================================================== */

/* --- La grille ---------------------------------------------------- */

.acc-tuiles-h{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:20px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

/* --- La tuile ----------------------------------------------------- */

a.acc-tuile-h:link,
a.acc-tuile-h:visited,
a.acc-tuile-h:hover,
a.acc-tuile-h:focus,
a.acc-tuile-h:active{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  gap:0 !important;
  padding:26px 22px !important;
  background-color:#FFFFFF !important;
  border:1px solid #DED9F3 !important;
  border-radius:16px !important;
  text-decoration:none !important;
  height:100% !important;
  box-sizing:border-box !important;
  transition:border-color .2s ease, transform .2s ease !important;
}

a.acc-tuile-h:hover{
  border-color:#A79BF5 !important;
  transform:translateY(-3px) !important;
}

/* --- L'icone ------------------------------------------------------ */

.acc-tuiles-h .acc-tuile-h-ico{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:30px !important;
  height:30px !important;
  color:#1800AD !important;
  margin:0 0 14px !important;
}

.acc-tuiles-h .acc-tuile-h-ico svg{
  width:30px !important;
  height:30px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* --- Les textes --------------------------------------------------- */

.acc-tuiles-h .acc-tuile-h-t{
  display:block !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:16px !important;
  line-height:22px !important;
  font-weight:700 !important;
  color:#12111A !important;
  margin:0 !important;
}

.acc-tuiles-h .acc-tuile-h-d{
  display:block !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:13px !important;
  line-height:19px !important;
  font-weight:500 !important;
  color:#5B5870 !important;
  margin:6px 0 0 !important;
}

/* --- Accessibilite : le focus clavier doit se voir ---------------- */

a.acc-tuile-h:focus-visible{
  outline:3px solid #FFBD59 !important;
  outline-offset:3px !important;
}

/* --- Tablette : deux colonnes ------------------------------------- */

@media (max-width:900px){
  .acc-tuiles-h{
    grid-template-columns:1fr 1fr !important;
  }
}

/* --- Telephone : une colonne -------------------------------------- */

@media (max-width:600px){
  .acc-tuiles-h{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  /* Sur telephone la tuile passe a l'horizontale : l'icone a gauche
     sur deux rangees, le titre et le sous-titre empiles a droite.
     Une grille, pas un flex : avec trois enfants a plat, un flex en
     ligne mettrait le titre et le sous-titre cote a cote. */
  a.acc-tuile-h:link,
  a.acc-tuile-h:visited,
  a.acc-tuile-h:hover,
  a.acc-tuile-h:focus,
  a.acc-tuile-h:active{
    display:grid !important;
    grid-template-columns:30px 1fr !important;
    column-gap:16px !important;
    align-items:center !important;
    text-align:left !important;
    padding:18px !important;
  }
  .acc-tuiles-h .acc-tuile-h-ico{
    grid-row:span 2 !important;
    margin:0 !important;
  }
  .acc-tuiles-h .acc-tuile-h-t,
  .acc-tuiles-h .acc-tuile-h-d{
    text-align:left !important;
  }
}

/* --- Respect du reglage systeme ------------------------------------ */

@media (prefers-reduced-motion:reduce){
  a.acc-tuile-h:link,
  a.acc-tuile-h:visited,
  a.acc-tuile-h:hover,
  a.acc-tuile-h:focus,
  a.acc-tuile-h:active{
    transition:none !important;
  }
  a.acc-tuile-h:hover{
    transform:none !important;
  }
}
/* ==================================================================
   BLOC 42 — PAGE 404
   A coller a la suite du bloc 41, dans le CSS personnalise du kit.

   Tout est porte par .e404 : deux classes valent (0,2,0) et battent
   la regle .elementor-kit-6 a{color:#1800AD} qui ne vaut que (0,1,1).
   Les liens sont ecrits en a.classe avec les cinq etats, comme
   partout ailleurs sur le site.

   Ce bloc n'invente presque rien : la page reutilise qui-in,
   qui-sur, qui-chapo, qui-hero-cta, qui-btn, qui-cartes-3,
   qui-carte-ico, qui-carte-t, qui-carte-p, qui-lien et qui-note,
   qui existent deja. Il n'ajoute que le H1 et l'espacement.
   ================================================================== */

/* --- La section ------------------------------------------------- */

.e404{
  padding:96px 24px 110px !important;
}

/* --- Le titre ---------------------------------------------------- */

.e404 .e404-h1{
  font-family:"Montserrat",sans-serif !important;
  font-size:44px !important;
  line-height:52px !important;
  font-weight:700 !important;
  letter-spacing:-0.5px !important;
  color:#12111A !important;
  margin:0 !important;
  max-width:760px !important;
}

/* --- Le lien en pied de carte ------------------------------------ */

.e404 .e404-lien{
  margin:16px 0 0 !important;
  padding-top:0 !important;
}

/* Les cartes sont en flex column : cette marge auto colle le lien
   en bas, quelle que soit la longueur du texte au-dessus. Les trois
   liens sont donc alignes entre eux. */
.e404 .qui-cartes-3 > li{
  justify-content:flex-start !important;
}
.e404 .qui-cartes-3 > li .e404-lien{
  margin-top:auto !important;
  padding-top:16px !important;
}

/* --- Les liens : cinq etats, comme ailleurs ---------------------- */

.e404 a.qui-lien:link,
.e404 a.qui-lien:visited,
.e404 a.qui-lien:focus,
.e404 a.qui-lien:active{
  color:#1800AD !important;
  text-decoration:none !important;
}
.e404 a.qui-lien:hover{
  color:#1800AD !important;
  text-decoration:underline !important;
}

/* La note de bas de page contient des liens : ils doivent garder la
   taille du texte qui les entoure, pas celle d'un lien de carte. */
.e404 .qui-note a.qui-lien:link,
.e404 .qui-note a.qui-lien:visited,
.e404 .qui-note a.qui-lien:hover,
.e404 .qui-note a.qui-lien:focus,
.e404 .qui-note a.qui-lien:active{
  font-size:13px !important;
  line-height:20px !important;
  white-space:normal !important;
}

/* --- Boutons : etat de survol ------------------------------------ */

.e404 a.qui-btn-jaune:hover{
  background-color:#F0A93F !important;
  color:#12111A !important;
}
.e404 a.qui-btn-bleu:hover{
  background-color:#1800AD !important;
  color:#FFFFFF !important;
  border-color:#1800AD !important;
}

/* --- Accessibilite : le focus clavier doit se voir --------------- */

.e404 a.qui-btn:focus-visible,
.e404 a.qui-lien:focus-visible{
  outline:3px solid #FFBD59 !important;
  outline-offset:3px !important;
  border-radius:6px !important;
}

/* --- Tablette ----------------------------------------------------- */

@media (max-width:900px){

  .e404{
    padding:70px 24px 84px !important;
  }

  .e404 .e404-h1{
    font-size:34px !important;
    line-height:42px !important;
  }

  .e404 .qui-cartes-3{
    grid-template-columns:1fr !important;
  }

}

/* --- Telephone ---------------------------------------------------- */

@media (max-width:600px){

  .e404{
    padding:56px 20px 70px !important;
  }

  .e404 .e404-h1{
    font-size:29px !important;
    line-height:37px !important;
  }

  .e404 .qui-chapo{
    font-size:16px !important;
    line-height:27px !important;
  }

  /* Les deux boutons passent en pleine largeur, l'un sous l'autre. */
  .e404 .qui-hero-cta{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .e404 .qui-hero-cta a.qui-btn{
    width:100% !important;
    white-space:normal !important;
  }

}

/* --- Respect du reglage systeme ----------------------------------- */

@media (prefers-reduced-motion:reduce){
  .e404 .qui-cartes-3 > li{
    transition:none !important;
  }
  .e404 .qui-cartes-3 > li:hover{
    transform:none !important;
  }
}/* End custom CSS */