.elementor-kit-6{--e-global-color-primary:#54728A;--e-global-color-secondary:#7898B0;--e-global-color-text:#303030;--e-global-color-accent:#171717;--e-global-color-jpfheader:#EFEFEF;--e-global-color-jpftitle:#DEDEDE;--e-global-color-jpfrow:#F2F2F2;--e-global-color-jpfmuted:#68747B;--e-global-typography-primary-font-family:"Oswald";--e-global-typography-primary-font-size:36px;--e-global-typography-primary-font-weight:300;--e-global-typography-primary-line-height:44px;--e-global-typography-primary-letter-spacing:0.3px;--e-global-typography-secondary-font-family:"Oswald";--e-global-typography-secondary-font-size:27px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:36px;--e-global-typography-secondary-letter-spacing:0.2px;--e-global-typography-text-font-family:"Oswald";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:28px;--e-global-typography-text-letter-spacing:0.2px;--e-global-typography-accent-font-family:"Oswald";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:26px;--e-global-typography-accent-letter-spacing:0.2px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;}.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-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* JPF — CSS résiduel. Ne contient que ce qu'Elementor ne sait pas produire. */

/* 1. Flou d'arrière-plan des panneaux (« glassmorphisme »). */
.jpf-panel {
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}

/* 2. Listes à puces dans les widgets Éditeur de texte. */
.elementor-widget-text-editor ul { margin: 0; padding-left: 22px; }
.elementor-widget-text-editor li { margin: 0 0 7px; }
.elementor-widget-text-editor li:last-child { margin-bottom: 0; }

/* 3. Chiffres alignés dans les tableaux de durées. */
.elementor-widget-text-editor { font-variant-numeric: tabular-nums; }

/* 4. Liens du pied de page : sans ça ils restent rouges sur bleu. */
.jpf-footer a { color: #fff; }
.jpf-footer .jpf-footer-links a { text-decoration: underline; }
.jpf-footer .jpf-footer-links a[href^="mailto"] { text-decoration: none; }

/* 5. Barre de navigation : une seule ligne, et un vrai menu déroulant.

      Sur le staging, les six fiches formation s'affichaient empilées dans la
      barre bleue, sur toutes les pages : le sous-menu était rendu ouvert, dans
      le flux. Cela arrive dès que le JS ou le CSS d'Elementor Pro est combiné
      ou différé (LiteSpeed) — le widget perd son comportement et le <ul>
      imbriqué reste visible. Les règles ci-dessous rendent le déroulé
      indépendant du JS : survol et focus clavier suffisent. */
.elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; }
.elementor-nav-menu--main .elementor-nav-menu > li > a { white-space: nowrap; }
.elementor-nav-menu--main .elementor-nav-menu li { position: relative; }
.elementor-nav-menu--main .elementor-nav-menu .sub-menu {
  position: absolute; top: 100%; left: 0; z-index: 999;
  min-width: 268px; margin: 0; padding: 0; list-style: none;
  background: #54728A; box-shadow: 0 6px 18px rgba(0,0,0,.18);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .18s ease;
}
.elementor-nav-menu--main .elementor-nav-menu li:hover > .sub-menu,
.elementor-nav-menu--main .elementor-nav-menu li:focus-within > .sub-menu {
  opacity: 1; visibility: visible; pointer-events: auto;
}
.elementor-nav-menu--main .elementor-nav-menu .sub-menu > li > a {
  white-space: normal; line-height: 1.35; padding: 11px 18px;
}
/* le menu du mobile, lui, doit rester dans le flux */
.elementor-nav-menu--dropdown .sub-menu {
  position: static; opacity: 1; visibility: visible; pointer-events: auto;
  box-shadow: none; min-width: 0;
}


/* 6. Effets de survol, relevés dans le CSS de jpf-formation-2.
      Elementor ne pilote que le survol des boutons et du menu ; le reste
      (cartes, étapes, logos, liens du pied) n'a pas de contrôle dédié. */

/* cartes de l'accueil */
.jpf-card { overflow: hidden; }
.jpf-card .jpf-card-visuel {
  transition: transform .35s ease;
}
.jpf-card:hover .jpf-card-visuel { transform: scale(1.025); }
.jpf-card .jpf-card-barre { transition: background-color .25s ease; }
.jpf-card:hover .jpf-card-barre { background-color: #EDEDED !important; }

/* les trois phases de l'audit */
.jpf-step { transition: filter .25s ease; }
.jpf-step:hover { filter: brightness(1.08); }

/* lignes de la liste des formations */
.jpf-course-row { transition: background-color .25s ease; }
.jpf-course-row:hover { background-color: #EAEEF1 !important; }
.jpf-course-row:hover h3 { color: #54728A; }

/* logos partenaires */
.jpf-partner img { transition: transform .3s ease, opacity .3s ease; }
.jpf-partner:hover img { transform: scale(1.045); opacity: .84; }

/* liens du pied de page */
.jpf-footer a { transition: color .2s ease; }
.jpf-footer a:hover { color: #D7E4ED; }

/* bloc Qualiopi */
.jpf-quality-logo { transition: opacity .25s ease; }
.jpf-quality-logo:hover { opacity: .88; }

/* 8. Mobile : le panneau ne doit pas déborder du héros. */
@media (max-width: 860px) {
  .jpf-panel { padding: 20px 22px !important; }
  .jpf-hero  { min-height: 260px !important; }
}/* End custom CSS */