/* Fiche formation — Mon Pôle Formation
   Généré depuis templates/fiche-formation.html par build_php_assets.py.
   Ne pas éditer ici : les modifications seraient écrasées. */
/* ============================================================
   1. TOKENS & RESET (scopés sous .mpf-fiche pour ne rien casser)
   ============================================================ */
.mpf-fiche{
  /* Charte Mon Pôle Formation */
  --mpf-navy:#00014E;
  --mpf-indigo:#1D1B75;
  --mpf-blue:#1863DC;
  --mpf-blue-dark:#1250b4;
  --mpf-coral:#F05454;
  --mpf-coral-dark:#d93f3f;
  --mpf-ink:#262626;
  --mpf-muted:#6B6B8A;
  --mpf-line:#E4E4EF;
  --mpf-bg:#F7F7FC;
  --mpf-bg2:#EEEEF6;
  --mpf-white:#FFFFFF;
  --mpf-green:#12855F;
  --mpf-amber:#B8730A;

  --mpf-r:10px;
  --mpf-r-lg:16px;
  --mpf-shadow:0 1px 2px rgba(0,1,78,.04), 0 8px 24px rgba(0,1,78,.06);
  --mpf-shadow-lg:0 2px 4px rgba(0,1,78,.05), 0 16px 40px rgba(0,1,78,.10);

  --mpf-font:"Open Sans","Helvetica Neue",Arial,sans-serif;
  --mpf-font-h:"Sora","Open Sans",Helvetica,Arial,sans-serif;

  /* ⚠️ Hauteur de ton header Divi fixe — à ajuster si besoin */
  --mpf-header-h:90px;

  font-family:var(--mpf-font) !important;
  color:var(--mpf-ink) !important;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.mpf-fiche *,.mpf-fiche *::before,.mpf-fiche *::after{box-sizing:border-box;}
/* La couleur est reposee explicitement sur p et li : un theme qui cible
   directement ces balises (Divi le fait) battrait sinon l'heritage. */
.mpf-fiche p,.mpf-fiche .mpf-p{margin:0 0 1em;color:var(--mpf-ink) !important;}
.mpf-fiche ul,.mpf-fiche ol{margin:0 0 1em;padding-left:1.25em;}
.mpf-fiche li{margin:0 0 .45em;color:var(--mpf-ink) !important;}
.mpf-fiche a{color:var(--mpf-blue) !important;text-decoration:none;}
.mpf-fiche a:hover{text-decoration:underline;}
.mpf-fiche h1,.mpf-fiche h2,.mpf-fiche h3,.mpf-fiche h4{
  font-family:var(--mpf-font-h) !important;color:var(--mpf-navy) !important;
  margin:0 0 .5em;line-height:1.25;font-weight:800;letter-spacing:-.01em;
}
.mpf-fiche button{font-family:inherit !important;}
.mpf-fiche img{max-width:100%;height:auto;}
.mpf-fiche svg{flex:0 0 auto;}

/* ============================================================
   2. GRILLE GÉNÉRALE
   ============================================================ */
.mpf-wrap{max-width:1240px;margin:0 auto;padding:0 20px;}
.mpf-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 372px;
  gap:48px;align-items:start;padding:40px 0 64px;
}
.mpf-main{min-width:0;}
.mpf-aside{position:sticky;top:calc(var(--mpf-header-h) + 78px);}

/* ============================================================
   3. FIL D'ARIANE + HERO
   ============================================================ */
.mpf-hero{background:linear-gradient(180deg,#F7F7FC 0%,#FFFFFF 100%);border-bottom:1px solid var(--mpf-line);}
.mpf-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;padding:18px 0 0;font-size:13px;color:var(--mpf-muted) !important;list-style:none;margin:0;}
.mpf-breadcrumb li{margin:0;display:flex;align-items:center;gap:6px;}
.mpf-breadcrumb li+li::before{content:"›";color:#B9B9CC !important;}
.mpf-breadcrumb a{color:var(--mpf-muted) !important;}
.mpf-breadcrumb a:hover{color:var(--mpf-blue) !important;}
.mpf-breadcrumb [aria-current]{color:var(--mpf-navy) !important;font-weight:600;}

.mpf-hero__inner{padding:16px 0 30px;max-width:900px;}
.mpf-tag{
  display:inline-block;background:var(--mpf-coral);color:#fff !important;
  font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:5px 11px;border-radius:4px;margin-bottom:14px;font-family:var(--mpf-font-h) !important;
}
.mpf-tag--blue{background:var(--mpf-blue);}
.mpf-tag--navy{background:var(--mpf-navy);}
.mpf-hero h1{font-size:clamp(26px,3.2vw,38px);margin-bottom:12px;}
.mpf-hero__sub{font-size:clamp(16px,1.6vw,19px);color:var(--mpf-indigo) !important;font-weight:600;
  font-family:var(--mpf-font-h) !important;line-height:1.4;margin:0 0 18px;}

/* Note / étoiles */
.mpf-rating{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.mpf-stars{display:inline-flex;gap:2px;}
.mpf-stars svg{width:17px;height:17px;}
.mpf-stars .on{fill:#F5A623;}
.mpf-stars .off{fill:#D8D8E4;}
.mpf-rating__score{font-weight:800;color:var(--mpf-navy) !important;font-family:var(--mpf-font-h) !important;}
.mpf-fiche .mpf-rating__count{font-size:14px;color:var(--mpf-muted) !important;}
.mpf-fiche .mpf-rating__count:hover{color:var(--mpf-blue) !important;}

/* Bandeau de pictos clés */
.mpf-keyfacts{display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;margin:0;list-style:none;}
.mpf-keyfacts li{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--mpf-indigo) !important;margin:0;}
.mpf-keyfacts svg{width:17px;height:17px;stroke:var(--mpf-blue);}
.mpf-keyfacts .mpf-kf-badge{
  background:#E7F5EF;color:var(--mpf-green) !important;border-radius:4px;padding:3px 9px;font-size:12.5px;
  font-weight:700;display:inline-flex;align-items:center;gap:6px;
}
.mpf-keyfacts .mpf-kf-badge svg{stroke:var(--mpf-green);width:14px;height:14px;}

/* ============================================================
   4. SOUS-NAVIGATION STICKY
   ============================================================ */
.mpf-subnav{
  position:sticky;top:var(--mpf-header-h);z-index:40;
  background:var(--mpf-navy);border-bottom:1px solid var(--mpf-navy);
}
.mpf-subnav__inner{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;}
.mpf-subnav__inner::-webkit-scrollbar{display:none;}
.mpf-subnav a{
  position:relative;white-space:nowrap;padding:16px 14px;font-size:14.5px;font-weight:600;
  color:rgba(255,255,255,.78) !important;font-family:var(--mpf-font-h) !important;text-decoration:none;
}
.mpf-subnav a:hover{color:#fff !important;text-decoration:none;}
.mpf-subnav a.is-active{color:#fff !important;}
.mpf-subnav a.is-active::after{
  content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;
  background:var(--mpf-coral);border-radius:3px 3px 0 0;
}
/* Le PDF est le seul appel à l'action de la barre : traité en bouton plein,
   pas en lien, pour qu'il ne se fonde pas dans les ancres de sommaire. */
.mpf-subnav a.mpf-subnav__pdf{
  margin-left:auto;margin-right:2px;display:inline-flex;align-items:center;gap:8px;
  background:var(--mpf-coral);color:#fff !important;font-weight:700;
  border-radius:8px;padding:9px 16px;
}
.mpf-subnav a.mpf-subnav__pdf:hover{background:var(--mpf-coral-dark);color:#fff !important;}
.mpf-subnav a.mpf-subnav__pdf::after{display:none;}
.mpf-subnav a.mpf-subnav__pdf svg{width:16px;height:16px;stroke:currentColor;}

/* ============================================================
   5. BOUTONS
   ============================================================ */
/* ⚠️ Les sélecteurs sont préfixés .mpf-fiche : sans cela, la règle
   générique « .mpf-fiche a » (plus spécifique que « .mpf-btn--primary »)
   repeindrait le texte des boutons en bleu. */
.mpf-fiche .mpf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 20px;border-radius:var(--mpf-r);border:2px solid transparent;
  font-family:var(--mpf-font-h) !important;font-size:14.5px;font-weight:700;line-height:1.2;
  cursor:pointer;text-align:center;transition:.16s ease;text-decoration:none;
}
.mpf-fiche .mpf-btn:hover{text-decoration:none;transform:translateY(-1px);}
.mpf-fiche .mpf-btn svg{width:16px;height:16px;stroke:currentColor;}
.mpf-fiche .mpf-btn--primary,
.mpf-fiche .mpf-btn--primary:visited{background:var(--mpf-coral);color:#fff !important;border-color:var(--mpf-coral);}
.mpf-fiche .mpf-btn--primary:hover,
.mpf-fiche .mpf-btn--primary:focus{background:var(--mpf-coral-dark);border-color:var(--mpf-coral-dark);color:#fff !important;}
.mpf-fiche .mpf-btn--navy,
.mpf-fiche .mpf-btn--navy:visited{background:var(--mpf-navy);color:#fff !important;border-color:var(--mpf-navy);}
.mpf-fiche .mpf-btn--navy:hover,
.mpf-fiche .mpf-btn--navy:focus{background:var(--mpf-indigo);border-color:var(--mpf-indigo);color:#fff !important;}
.mpf-fiche .mpf-btn--ghost,
.mpf-fiche .mpf-btn--ghost:visited{background:#fff;color:var(--mpf-navy) !important;border-color:var(--mpf-line);}
.mpf-fiche .mpf-btn--ghost:hover,
.mpf-fiche .mpf-btn--ghost:focus{border-color:var(--mpf-navy);color:var(--mpf-navy) !important;background:#fff;}
.mpf-fiche .mpf-btn--link{background:none;border:none;color:var(--mpf-blue) !important;padding:0;font-size:14px;text-decoration:underline;}
.mpf-fiche .mpf-btn--sm{padding:8px 14px;font-size:13px;}
.mpf-fiche .mpf-btn--block{width:100%;}

/* ============================================================
   6. TITRES DE SECTION (séparateur type modèle)
   ============================================================ */
.mpf-section{scroll-margin-top:calc(var(--mpf-header-h) + 70px);padding-top:8px;margin-bottom:40px;}
.mpf-sep{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.mpf-sep h2{font-size:clamp(20px,2.3vw,26px);margin:0;white-space:nowrap;}
.mpf-sep__line{flex:1;height:1px;background:linear-gradient(90deg,var(--mpf-line),transparent);}
.mpf-sep__dots{display:flex;gap:4px;}
.mpf-sep__dots span{width:5px;height:5px;border-radius:50%;background:var(--mpf-coral);}
.mpf-h3{font-size:18px;margin:28px 0 12px;color:var(--mpf-indigo) !important;}

/* Encadré (Objectifs pédagogiques) */
.mpf-framed{
  background:var(--mpf-bg);border:1px solid var(--mpf-line);
  border-left:4px solid var(--mpf-coral);border-radius:var(--mpf-r);padding:24px 26px;
  margin-top:40px;
}
.mpf-framed .mpf-sep{margin-bottom:14px;}
.mpf-framed ul{list-style:none;padding:0;margin:0;}
.mpf-framed li{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:var(--mpf-navy) !important;}
.mpf-framed li svg{width:18px;height:18px;stroke:var(--mpf-green);margin-top:3px;}

/* ============================================================
   7. ACCORDÉONS (programme, pour qui, financement, FAQ)
   ============================================================ */
.mpf-acc{border:1px solid var(--mpf-line);border-radius:var(--mpf-r);overflow:hidden;background:#fff;}
.mpf-acc+.mpf-acc{margin-top:10px;}
.mpf-acc__head{
  width:100%;display:flex;align-items:center;gap:14px;justify-content:space-between;
  background:#fff;border:0;padding:16px 20px;cursor:pointer;text-align:left;
}
.mpf-acc__head:hover{background:var(--mpf-bg);}
.mpf-acc__title{font-family:var(--mpf-font-h) !important;font-weight:700;font-size:16px;color:var(--mpf-navy) !important;}
.mpf-acc__num{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:26px;height:26px;border-radius:50%;background:var(--mpf-navy);color:#fff !important;
  font-size:12.5px;font-weight:700;font-family:var(--mpf-font-h) !important;margin-right:10px;
}
.mpf-acc__chev{width:20px;height:20px;stroke:var(--mpf-blue);transition:transform .22s ease;}
.mpf-acc__head[aria-expanded="true"] .mpf-acc__chev{transform:rotate(180deg);}
.mpf-acc__head[aria-expanded="true"]{background:var(--mpf-bg);border-bottom:1px solid var(--mpf-line);}
.mpf-acc__panel{display:none;padding:18px 22px 22px;}
.mpf-acc__panel.is-open{display:block;}
.mpf-acc__panel>*:last-child{margin-bottom:0;}
.mpf-acc__panel h4{font-size:15.5px;color:var(--mpf-indigo) !important;margin:18px 0 8px;}
.mpf-acc__panel h4:first-child{margin-top:0;}
.mpf-acc__panel ul{padding-left:20px;}
.mpf-acc__panel ul li::marker{color:var(--mpf-coral) !important;}

/* Encart atelier / cas pratique */
.mpf-callout{
  background:#F2F6FE;border-left:3px solid var(--mpf-blue);border-radius:6px;
  padding:11px 14px;margin:12px 0;font-size:14.5px;color:var(--mpf-indigo) !important;
}
.mpf-callout strong{color:var(--mpf-navy) !important;}
.mpf-callout--soft{background:var(--mpf-bg);border-left-color:var(--mpf-coral);}

/* Étapes engagement / transfert */
.mpf-step{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:var(--mpf-bg);
  border:1px dashed var(--mpf-line);border-radius:var(--mpf-r);margin-bottom:12px;}
.mpf-step svg{width:22px;height:22px;stroke:var(--mpf-blue);margin-top:2px;}
.mpf-step h4{margin:0 0 4px;font-size:15px;}
.mpf-step p,.mpf-step .mpf-p{margin:0;font-size:14.5px;color:var(--mpf-muted) !important;}

/* ============================================================
   8. POINTS FORTS
   ============================================================ */
.mpf-strengths{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:22px;}
.mpf-strength{background:var(--mpf-navy);color:#fff !important;border-radius:var(--mpf-r);padding:18px;
  display:flex;flex-direction:column;gap:10px;}
.mpf-strength svg{width:24px;height:24px;stroke:var(--mpf-coral);}
.mpf-strength span{font-family:var(--mpf-font-h) !important;font-weight:600;font-size:14.5px;line-height:1.4;}

/* ============================================================
   9. SESSIONS
   ============================================================ */
.mpf-sessions__bar{
  display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;
  background:var(--mpf-navy);color:#fff !important;border-radius:var(--mpf-r) var(--mpf-r) 0 0;padding:14px 20px;
}
.mpf-sessions__bar span{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;}
.mpf-sessions__bar svg{width:16px;height:16px;stroke:#fff;}
.mpf-sessions__bar .mpf-price{margin-left:auto;font-family:var(--mpf-font-h) !important;font-size:20px;font-weight:800;}
.mpf-sessions__box{border:1px solid var(--mpf-line);border-top:0;border-radius:0 0 var(--mpf-r) var(--mpf-r);
  background:#fff;padding:18px 20px 20px;}
.mpf-places{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.mpf-place{
  border:1px solid var(--mpf-line);background:#fff;border-radius:99px;padding:7px 15px;
  font-size:13.5px;font-weight:600;color:var(--mpf-muted) !important;cursor:pointer;
  font-family:var(--mpf-font-h) !important;transition:.15s;
}
.mpf-place:hover{border-color:var(--mpf-blue);color:var(--mpf-blue) !important;}
.mpf-place.is-active{background:var(--mpf-navy);border-color:var(--mpf-navy);color:#fff !important;}
.mpf-sess{
  display:grid;grid-template-columns:1fr auto;gap:10px 18px;align-items:center;
  padding:14px 0;border-bottom:1px solid var(--mpf-line);
}
.mpf-sess:last-child{border-bottom:0;}
.mpf-sess__date{font-family:var(--mpf-font-h) !important;font-weight:700;color:var(--mpf-navy) !important;font-size:15px;}
.mpf-sess__city{text-transform:uppercase;font-size:13px;color:var(--mpf-muted) !important;font-weight:700;letter-spacing:.04em;}
.mpf-badge-ok{
  display:inline-flex;align-items:center;gap:5px;background:#E7F5EF;color:var(--mpf-green) !important;
  border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700;margin-left:8px;
}
.mpf-badge-ok svg{width:13px;height:13px;stroke:var(--mpf-green);}
.mpf-badge-warn{background:#FDF3E3;color:var(--mpf-amber) !important;}
.mpf-badge-warn svg{stroke:var(--mpf-amber);}
.mpf-sess__actions{display:flex;gap:8px;flex-wrap:wrap;}
.mpf-note{font-size:13px;color:var(--mpf-muted) !important;background:var(--mpf-bg);border-radius:8px;padding:12px 14px;margin-top:16px;}
.mpf-note strong{color:var(--mpf-navy) !important;}

/* ============================================================
   10. BLOCS INFO (pour qui / prérequis / modalités)
   ============================================================ */
.mpf-infogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:18px 0;}
.mpf-info{background:#fff;border:1px solid var(--mpf-line);border-radius:var(--mpf-r);padding:16px 18px;}
.mpf-info__label{display:flex;align-items:center;gap:8px;font-family:var(--mpf-font-h) !important;font-size:12px;
  font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mpf-muted) !important;margin-bottom:6px;}
.mpf-info__label svg{width:15px;height:15px;stroke:var(--mpf-blue);}
.mpf-info__value{font-weight:600;color:var(--mpf-navy) !important;font-size:15px;line-height:1.5;}
.mpf-info__value small{display:block;font-weight:400;color:var(--mpf-muted) !important;font-size:13.5px;margin-top:3px;}

/* ============================================================
   11. CARTES FORMATIONS
   ============================================================ */
.mpf-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;}
.mpf-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--mpf-line);
  border-radius:var(--mpf-r);padding:18px;transition:.18s;text-decoration:none;
}
.mpf-card:hover{box-shadow:var(--mpf-shadow-lg);transform:translateY(-3px);border-color:#D6D6E6;text-decoration:none;}
.mpf-card__tag{align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--mpf-bg2);color:var(--mpf-indigo) !important;border-radius:4px;padding:3px 8px;margin-bottom:10px;font-family:var(--mpf-font-h) !important;}
.mpf-card h3{font-size:15.5px;line-height:1.35;margin:0 0 10px;}
.mpf-card__cat{font-size:13px;color:var(--mpf-muted) !important;margin-bottom:10px;}
.mpf-card__meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--mpf-muted) !important;
  padding-top:12px;border-top:1px solid var(--mpf-line);}
.mpf-card__price{font-family:var(--mpf-font-h) !important;font-weight:800;color:var(--mpf-navy) !important;font-size:16px;}

/* ============================================================
   12. AVIS
   ============================================================ */
.mpf-reviews__top{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:var(--mpf-bg);
  border-radius:var(--mpf-r);padding:20px 24px;margin-bottom:20px;}
.mpf-reviews__score{font-family:var(--mpf-font-h) !important;font-size:40px;font-weight:800;color:var(--mpf-navy) !important;line-height:1;}
.mpf-reviews__score small{font-size:17px;color:var(--mpf-muted) !important;font-weight:600;}
.mpf-reviews__meta{font-size:14px;color:var(--mpf-muted) !important;}
.mpf-reviews__src{margin-left:auto;font-size:13px;color:var(--mpf-muted) !important;}
/* Carrousel Trust.Reviews (widget 7932), identique à la page d'accueil.
   overflow-x : le slider pose ses diapositives au-delà du conteneur et
   ferait défiler la page sur mobile.
   min-height : hauteur réservée avant le chargement du script tiers, sinon
   le contenu saute à son apparition (CLS). */
.mpf-reviews__carousel{margin-top:20px;overflow-x:hidden;}
.mpf-reviews__carousel .tr-widget{display:block;margin:0 auto;max-width:100%;}
.mpf-reviews__carousel .tr-widget:empty{min-height:320px;}

/* ============================================================
   13. FAQ
   ============================================================ */
.mpf-faq .mpf-acc__title{font-weight:600;}

/* ============================================================
   14. CARTE D'INSCRIPTION (colonne droite sticky)
   ============================================================ */
.mpf-reg{background:#fff;border:1px solid var(--mpf-line);border-radius:var(--mpf-r-lg);
  box-shadow:var(--mpf-shadow);overflow:hidden;}
.mpf-reg__tabs{display:flex;border-bottom:1px solid var(--mpf-line);}
.mpf-reg__tab{
  flex:1;padding:13px 6px;border:0;background:#fff;cursor:pointer;font-family:var(--mpf-font-h) !important;
  font-size:14px;font-weight:700;color:var(--mpf-muted) !important;border-bottom:3px solid transparent;
}
.mpf-reg__tab:hover{color:var(--mpf-navy) !important;}
.mpf-reg__tab.is-active{color:var(--mpf-navy) !important;border-bottom-color:var(--mpf-coral);}
.mpf-reg__panel{display:none;padding:20px;}
.mpf-reg__panel.is-active{display:block;}
.mpf-reg__next{background:var(--mpf-bg);border-radius:var(--mpf-r);padding:14px 16px;margin-bottom:16px;}
.mpf-reg__next-label{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--mpf-muted) !important;font-family:var(--mpf-font-h) !important;margin-bottom:6px;}
.mpf-reg__next-value{font-family:var(--mpf-font-h) !important;font-weight:700;color:var(--mpf-navy) !important;font-size:15px;line-height:1.4;}
.mpf-reg__facts{list-style:none;padding:0;margin:0 0 16px;}
.mpf-reg__facts li{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--mpf-indigo) !important;
  font-weight:600;padding:7px 0;border-bottom:1px dashed var(--mpf-line);margin:0;}
.mpf-reg__facts li:last-child{border-bottom:0;}
.mpf-reg__facts svg{width:16px;height:16px;stroke:var(--mpf-blue);}
.mpf-reg__price{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;}
.mpf-reg__price b{font-family:var(--mpf-font-h) !important;font-size:30px;font-weight:800;color:var(--mpf-navy) !important;line-height:1;}
.mpf-reg__price span{font-size:13.5px;color:var(--mpf-muted) !important;font-weight:600;}
.mpf-reg__finance{font-size:13px;color:var(--mpf-green) !important;font-weight:700;margin-bottom:16px;
  display:flex;align-items:center;gap:6px;}
.mpf-reg__finance svg{width:15px;height:15px;stroke:var(--mpf-green);}
.mpf-reg__discount{background:#FFF4F4;border:1px solid #FBD9D9;border-radius:var(--mpf-r);padding:13px 15px;margin-bottom:16px;}
.mpf-reg__discount b{display:block;font-family:var(--mpf-font-h) !important;color:var(--mpf-coral) !important;font-size:13.5px;margin-bottom:4px;}
.mpf-reg__discount p,.mpf-reg__discount .mpf-p{font-size:12.5px;color:var(--mpf-muted) !important;margin:0;line-height:1.5;}
.mpf-reg__actions{display:flex;flex-direction:column;gap:9px;}
.mpf-reg__ref{font-size:12px;color:var(--mpf-muted) !important;letter-spacing:.04em;margin-bottom:12px;}
.mpf-reg__text{font-size:14px;color:var(--mpf-muted) !important;margin-bottom:16px;}
.mpf-reg__trust{border-top:1px solid var(--mpf-line);padding:14px 20px;display:flex;flex-direction:column;gap:8px;
  background:var(--mpf-bg);}
.mpf-reg__trust div{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--mpf-indigo) !important;font-weight:600;}
.mpf-reg__trust svg{width:15px;height:15px;stroke:var(--mpf-green);}

/* ============================================================
   15. BARRE CTA MOBILE
   ============================================================ */
.mpf-mobilebar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:#fff;border-top:1px solid var(--mpf-line);box-shadow:0 -6px 20px rgba(0,1,78,.1);
  padding:10px 14px;gap:10px;align-items:center;
}
.mpf-mobilebar__price{font-family:var(--mpf-font-h) !important;font-weight:800;color:var(--mpf-navy) !important;font-size:17px;line-height:1.1;}
.mpf-mobilebar__price small{display:block;font-size:11px;color:var(--mpf-muted) !important;font-weight:600;}
.mpf-mobilebar .mpf-btn{flex:1;}

/* ============================================================
   16. BAS DE PAGE : AUTRES FORMATIONS
   ============================================================ */
.mpf-related{background:var(--mpf-bg);border-top:1px solid var(--mpf-line);padding:48px 0 56px;}

/* ============================================================
   17. DURCISSEMENT z-index (environnement Divi)
   ------------------------------------------------------------
   Le site applique :
     .et_pb_section *, .et_pb_row *, .et_pb_column * { z-index:1 !important }
   Tous les descendants se retrouvent donc au même niveau, et le contenu,
   plus bas dans le DOM, se dessine PAR-DESSUS la sous-nav sticky.
   Deux classes (0,2,0) suffisent à repasser devant `.et_pb_section *` (0,1,0).
   ============================================================ */
/* Certains thèmes redéfinissent display sur les div : on garantit que
   l'attribut hidden masque réellement (notes filtrées par lieu). */
.mpf-fiche [hidden]{display:none !important;}
.mpf-fiche .mpf-subnav{z-index:60 !important;}
.mpf-fiche .mpf-mobilebar{z-index:80 !important;}
.mpf-fiche .mpf-aside{z-index:20 !important;}

/* ============================================================
   18. RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .mpf-layout{grid-template-columns:minmax(0,1fr) 330px;gap:32px;}
}
@media (max-width:920px){
  .mpf-layout{grid-template-columns:1fr;gap:0;padding-bottom:96px;}
  .mpf-aside{position:static;margin-top:36px;}
  .mpf-mobilebar{display:flex;}
  .mpf-sess{grid-template-columns:1fr;}
  .mpf-sess__actions{justify-content:flex-start;}
  .mpf-sessions__bar .mpf-price{margin-left:0;width:100%;}
}
@media (max-width:560px){
  .mpf-wrap{padding:0 15px;}
  .mpf-sep h2{white-space:normal;}
  .mpf-cards{grid-template-columns:1fr;}
  .mpf-reg__tab{font-size:12.5px;}
}
@media print{
  .mpf-subnav,.mpf-mobilebar,.mpf-aside,.mpf-related{display:none!important;}
  .mpf-acc__panel{display:block!important;}
}

/* --------------------------------------------------------------------------
   Garde-fou : conteneurs WooCommerce laissés vides sur les fiches maison.
   Les crochets d'affichage sont retirés côté PHP (includes/layout.php) ;
   ces règles neutralisent ce que le gabarit imprime malgré tout.
   -------------------------------------------------------------------------- */
body.mpf-fiche-page .woocommerce-breadcrumb,
body.mpf-fiche-page div.product > .woocommerce-product-gallery,
body.mpf-fiche-page div.product > .entry-summary,
body.mpf-fiche-page div.product > .onsale,
body.mpf-fiche-page .woocommerce-tabs,
body.mpf-fiche-page .related.products,
body.mpf-fiche-page .up-sells{display:none !important;}
body.mpf-fiche-page div.product{margin:0 !important;padding:0 !important;}
body.mpf-fiche-page div.product::before,
body.mpf-fiche-page div.product::after{display:none !important;}

/* « À partir de » : le tarif inter affiché est celui du distanciel. */
.mpf-fiche .mpf-reg__from{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--mpf-muted);margin-bottom:2px;}
.mpf-fiche .mpf-reg__hint{margin:6px 0 0;font-size:12px;line-height:1.45;color:var(--mpf-muted);}
