.elementor-583908 .elementor-element.elementor-element-48f9e78{margin-top:-20px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-583908 .elementor-element.elementor-element-59840d3{text-align:center;}.elementor-583908 .elementor-element.elementor-element-59840d3 .elementor-heading-title{text-shadow:31px 0px 48px rgba(2.9999999999999893, 2.602173913043469, 2.602173913043469, 0.98);}.elementor-583908 .elementor-element.elementor-element-26ebd2e{text-align:center;}.elementor-583908 .elementor-element.elementor-element-26ebd2e .elementor-heading-title{text-shadow:31px 0px 48px rgba(2.9999999999999893, 2.602173913043469, 2.602173913043469, 0.98);}.elementor-583908 .elementor-element.elementor-element-f2deee7{margin-top:0px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-ee9f7c8 > .elementor-container{max-width:1245px;}.elementor-583908 .elementor-element.elementor-element-ee9f7c8{margin-top:-35px;margin-bottom:-113px;}.elementor-583908 .elementor-element.elementor-element-4e0af2e{text-align:center;}.elementor-583908 .elementor-element.elementor-element-4e0af2e .elementor-heading-title{color:#FFFFFF;font-size:39px;font-weight:700;}.elementor-583908 .elementor-element.elementor-element-4e0af2e > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-583908 .elementor-element.elementor-element-847694b{text-align:center;letter-spacing:0px;}.elementor-583908 .elementor-element.elementor-element-90f2455{margin-top:0px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-8faea30{text-align:center;}.elementor-583908 .elementor-element.elementor-element-8faea30 .elementor-heading-title{text-shadow:31px 0px 48px rgba(2.9999999999999893, 2.602173913043469, 2.602173913043469, 0.98);}.elementor-583908 .elementor-element.elementor-element-c1b32ca{margin-top:-24px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-5ecac74 > .elementor-container{max-width:1245px;}.elementor-583908 .elementor-element.elementor-element-5ecac74{margin-top:-35px;margin-bottom:-100px;}.elementor-583908 .elementor-element.elementor-element-7508f92{text-align:center;}.elementor-583908 .elementor-element.elementor-element-7508f92 .elementor-heading-title{color:#FFFFFF;font-size:39px;font-weight:700;}.elementor-583908 .elementor-element.elementor-element-7508f92 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-583908 .elementor-element.elementor-element-56fffe0{text-align:center;letter-spacing:0px;}.elementor-583908 .elementor-element.elementor-element-86faad5{margin-top:-23px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-e5e7b3e{margin-top:7px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-525c02d{text-align:center;}.elementor-583908 .elementor-element.elementor-element-525c02d .elementor-heading-title{text-shadow:31px 0px 48px rgba(2.9999999999999893, 2.602173913043469, 2.602173913043469, 0.98);}.elementor-583908 .elementor-element.elementor-element-6d49efc{margin-top:-26px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-f112df9{margin-top:7px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-0aa579b{text-align:center;}.elementor-583908 .elementor-element.elementor-element-0aa579b .elementor-heading-title{text-shadow:31px 0px 48px rgba(2.9999999999999893, 2.602173913043469, 2.602173913043469, 0.98);}.elementor-583908 .elementor-element.elementor-element-f7d121b{margin-top:-26px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-b2522b9 > .elementor-container{max-width:1245px;}.elementor-583908 .elementor-element.elementor-element-b2522b9{margin-top:-39px;margin-bottom:-60px;}.elementor-583908 .elementor-element.elementor-element-d6924dc{text-align:center;}.elementor-583908 .elementor-element.elementor-element-d6924dc .elementor-heading-title{color:#FFFFFF;font-size:39px;font-weight:700;}.elementor-583908 .elementor-element.elementor-element-d6924dc > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-583908 .elementor-element.elementor-element-3c661a1 > .elementor-container{max-width:1320px;}.elementor-583908 .elementor-element.elementor-element-63b7cb4 > .elementor-widget-container{margin:30px 0px 0px 0px;}.elementor-583908 .elementor-element.elementor-element-7b29ebd{text-align:center;}.elementor-583908 .elementor-element.elementor-element-7b29ebd .elementor-heading-title{text-shadow:31px 0px 48px rgba(2.9999999999999893, 2.602173913043469, 2.602173913043469, 0.98);}.elementor-583908 .elementor-element.elementor-element-789ec8a > .elementor-container{max-width:1245px;}.elementor-583908 .elementor-element.elementor-element-789ec8a{margin-top:-39px;margin-bottom:-100px;}.elementor-583908 .elementor-element.elementor-element-509159f{text-align:center;}.elementor-583908 .elementor-element.elementor-element-509159f .elementor-heading-title{color:#FFFFFF;font-size:39px;font-weight:700;}.elementor-583908 .elementor-element.elementor-element-509159f > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-583908 .elementor-element.elementor-element-bc4eb4c{margin-top:-13px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-3c5a1c4{text-align:center;}.elementor-583908 .elementor-element.elementor-element-3c5a1c4 .elementor-heading-title{text-shadow:31px 0px 48px rgba(2.9999999999999893, 2.602173913043469, 2.602173913043469, 0.98);}@media(max-width:1024px){.elementor-583908 .elementor-element.elementor-element-ee9f7c8{margin-top:0px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-5ecac74{margin-top:0px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-b2522b9{margin-top:0px;margin-bottom:0px;}.elementor-583908 .elementor-element.elementor-element-789ec8a{margin-top:0px;margin-bottom:0px;}}@media(max-width:767px){.elementor-583908 .elementor-element.elementor-element-ee9f7c8{margin-top:-35px;margin-bottom:-100px;}.elementor-583908 .elementor-element.elementor-element-5ecac74{margin-top:-35px;margin-bottom:-120px;}.elementor-583908 .elementor-element.elementor-element-7508f92 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-583908 .elementor-element.elementor-element-b2522b9{margin-top:-35px;margin-bottom:-74px;}}/* Start custom CSS */.hv2{
  /* ---- Tokens ---- */
  --cyan:#06b6d4; --cyan-d:#0891b2; --cyan-50:#ecfeff;
  --blue:#2563eb; --blue-d:#1d4ed8; --blue-50:#eff6ff;
  --violet:#7c3aed; --violet-50:#f5f3ff;
  --slate-900:#0f172a; --blue-900:#1e3a8a;
  --txt:#111827; --txt-2:#4b5563; --txt-3:#6b7280;
  --bg-soft:#f9fafb; --border:#e5e7eb;
  --grad-main:linear-gradient(90deg,var(--cyan) 0%,var(--blue) 100%);
  --grad-hero:linear-gradient(135deg,var(--cyan-50) 0%,var(--blue-50) 50%,#ede9fe 100%);
  --grad-dark:linear-gradient(135deg,var(--slate-900) 0%,var(--blue-900) 100%);
  --radius:14px; --radius-lg:20px;
  --shadow:0 10px 25px -5px rgba(2,6,23,.10),0 8px 10px -6px rgba(2,6,23,.06);
  --shadow-lg:0 20px 40px -12px rgba(2,6,23,.18);
  font-family:inherit;
  color:var(--txt);
  box-sizing:border-box;
}
.hv2 *,.hv2 *::before,.hv2 *::after{box-sizing:border-box;margin:0;padding:0}
.hv2 img{max-width:100%;display:block}
.hv2 a{text-decoration:none;color:inherit}
.hv2 ul{list-style:none}
.hv2 svg{flex-shrink:0}

/* ---- Layout ---- */
.hv2-container{max-width:1200px;margin:0 auto;padding:0 16px}
.hv2-section{padding:56px 0}
.hv2-head{text-align:center;margin-bottom:40px}
.hv2-h2{font-size:30px;font-weight:800;color:var(--txt);margin-bottom:12px;line-height:1.2}
.hv2-sub{font-size:18px;color:var(--txt-2);max-width:760px;margin:0 auto;line-height:1.6}

/* ---- Boutons ---- */
.hv2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;border-radius:999px;padding:14px 30px;font-size:17px;
  transition:.25s;cursor:pointer;line-height:1.2}
.hv2-btn-grad{background:var(--grad-main);color:#fff;box-shadow:var(--shadow)}
.hv2-btn-grad:hover{filter:brightness(1.06);transform:scale(1.04);box-shadow:var(--shadow-lg);color:#fff}
.hv2-btn-outline{border:2px solid #d1d5db;color:var(--txt-2)}
.hv2-btn-outline:hover{border-color:var(--blue);color:var(--blue)}
.hv2-btn-white{background:#fff;color:var(--blue);box-shadow:var(--shadow)}
.hv2-btn-white:hover{background:var(--cyan-50);transform:scale(1.04);color:var(--blue)}
.hv2-btn-ghost{border:2px solid #fff;color:#fff}
.hv2-btn-ghost:hover{background:#fff;color:var(--blue)}

/* ---- Cartes ---- */
.hv2-card{background:#fff;border-radius:var(--radius);padding:24px;
  box-shadow:var(--shadow);transition:.3s}
.hv2-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}
.hv2-icon{width:60px;height:60px;border-radius:50%;background:var(--grad-main);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:#fff;transition:.3s}
.hv2-card:hover .hv2-icon{transform:scale(1.1)}
.hv2-card h3{font-size:19px;font-weight:800;margin-bottom:10px;color:var(--txt)}
.hv2-card p{color:var(--txt-2);font-size:15px;line-height:1.55}
.hv2-tags{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;margin-top:14px;border-top:1px solid #f3f4f6}
.hv2-tag{font-size:12px;padding:4px 10px;background:#f3f4f6;color:var(--txt-2);
  border-radius:999px;transition:.25s}
.hv2-tag:hover{background:var(--violet);color:#fff}

/* ---- Liens fléchés ---- */
.hv2-link{display:inline-flex;align-items:center;gap:5px;color:var(--blue);
  font-weight:600;transition:.2s;font-size:15px}
.hv2-link:hover{color:var(--blue-d)}
.hv2-link svg{transition:transform .2s}
.hv2-link:hover svg{transform:translateX(4px)}

/* ---- Grilles ---- */
.hv2-grid{display:grid;gap:24px}
.hv2-grid-2{grid-template-columns:repeat(2,1fr)}
.hv2-grid-3{grid-template-columns:repeat(3,1fr)}
.hv2-grid-4{grid-template-columns:repeat(4,1fr)}
.hv2-grid-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1024px){
  .hv2-grid-5{grid-template-columns:repeat(2,1fr)}
  .hv2-grid-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .hv2-grid-2,.hv2-grid-3,.hv2-grid-4,.hv2-grid-5{grid-template-columns:1fr}
  .hv2-section{padding:40px 0}
  .hv2-h2{font-size:24px}
  .hv2-sub{font-size:16px}
}

/* ============ S01 — HERO ============ */
.hv2-hero{background:var(--grad-hero);padding:64px 0;overflow:hidden}
.hv2-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hv2-hero-badge{display:inline-block;background:var(--grad-main);color:#fff;
  padding:8px 16px;border-radius:999px;font-size:13px;font-weight:700;
  margin-bottom:22px;box-shadow:var(--shadow)}
.hv2-hero h1{font-size:44px;font-weight:800;line-height:1.15;margin-bottom:20px;color:var(--txt)}
.hv2-hero-intro{font-size:19px;color:var(--txt-2);line-height:1.6;margin-bottom:28px}
.hv2-checks{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}
.hv2-checks li{display:flex;align-items:center;gap:12px;color:var(--txt-2);font-size:16px}
.hv2-checks svg{color:#22c55e}
.hv2-hero-ctas{display:flex;gap:16px;flex-wrap:wrap}
.hv2-hero-visual{position:relative}
.hv2-hero-frame{background:linear-gradient(135deg,var(--cyan) 0%,var(--violet) 100%);
  border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-lg)}
.hv2-hero-frame img{border-radius:10px;width:100%;height:380px;object-fit:cover;box-shadow:var(--shadow)}
.hv2-hero-stat{position:absolute;bottom:-22px;left:-22px;background:#fff;
  padding:20px 24px;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.hv2-hero-stat strong{display:block;font-size:34px;font-weight:800;
  background:var(--grad-main);-webkit-background-clip:text;background-clip:text;color:transparent}
.hv2-hero-stat span{font-size:13px;color:var(--txt-2);font-weight:600}
@media(max-width:900px){
  .hv2-hero-grid{grid-template-columns:1fr}
  .hv2-hero h1{font-size:30px}
  .hv2-hero-frame img{height:260px}
  .hv2-hero-stat{left:8px;bottom:-16px}
}

/* ============ S02 — BANDEAU CONTACT ============ */
.hv2-band{background:var(--grad-main);padding:40px 0;text-align:center;color:#fff}
.hv2-band h2{font-size:24px;font-weight:800;margin-bottom:10px}
.hv2-band p{font-size:17px;color:var(--cyan-50);max-width:640px;margin:0 auto 24px}
.hv2-band-ctas{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}

/* ============ S04 — CHIFFRES ============ */
.hv2-stats-panel{border-radius:var(--radius-lg);padding:32px;color:#fff}
.hv2-stats-panel.is-blue{background:var(--grad-main)}
.hv2-stats-panel.is-dark{background:var(--grad-dark)}
.hv2-stats-panel>div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.hv2-stats-panel>div:last-child{border-bottom:none}
.hv2-stats-panel strong{display:block;font-size:44px;font-weight:800;line-height:1.1;margin-bottom:4px}
.hv2-stats-panel span{color:var(--cyan-50);font-size:15px;line-height:1.4;display:block}

/* ============ S05 — FINANCEMENT ============ */
.hv2-fin-card{background:linear-gradient(135deg,var(--cyan-50),var(--blue-50));
  border:1px solid #cffafe;border-radius:var(--radius);padding:24px;transition:.3s}
.hv2-fin-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.hv2-fin-card .hv2-icon{width:54px;height:54px}
.hv2-fin-card h3{font-size:17px;font-weight:800;margin-bottom:10px}
.hv2-fin-card p{font-size:14px;color:var(--txt-2);line-height:1.5}
.hv2-cta-box{background:var(--grad-main);border-radius:var(--radius-lg);
  padding:28px;text-align:center;color:#fff;margin-top:36px}
.hv2-cta-box h3{font-size:21px;font-weight:800;margin-bottom:10px}
.hv2-cta-box p{color:var(--cyan-50);max-width:640px;margin:0 auto 20px;font-size:16px}

/* ============ S06 — ACTUALITÉS ============ */
.hv2-news{background:#fff;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:.3s;display:flex;flex-direction:column}
.hv2-news:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}
.hv2-news-img{position:relative;height:190px;overflow:hidden}
.hv2-news-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.hv2-news:hover .hv2-news-img img{transform:scale(1.08)}
.hv2-news-date{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);
  padding:4px 12px;border-radius:999px;font-size:13px;color:var(--txt-2);
  display:flex;align-items:center;gap:5px;backdrop-filter:blur(4px)}
.hv2-news-body{padding:22px;display:flex;flex-direction:column;flex:1}
.hv2-news-body h3{font-size:19px;font-weight:800;margin-bottom:10px;transition:.2s}
.hv2-news:hover .hv2-news-body h3{color:var(--blue)}
.hv2-news-body p{color:var(--txt-2);font-size:15px;line-height:1.55;margin-bottom:14px;flex:1}

/* ============ S07 — CENTRES ============ */
.hv2-centre{background:linear-gradient(135deg,#f8fafc,var(--blue-50));
  border:1px solid #dbeafe;border-radius:var(--radius);padding:24px;transition:.3s}
.hv2-centre:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}
.hv2-centre h3{font-size:22px;font-weight:800;margin-bottom:14px;
  background:linear-gradient(90deg,var(--cyan-d),var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hv2-centre-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;font-size:14px;color:var(--txt-2);line-height:1.45}
.hv2-centre-row svg{color:var(--blue);margin-top:2px}
.hv2-centre-row svg.is-green{color:#16a34a}
.hv2-centre-row a{color:var(--txt);font-weight:700}
.hv2-centre-row a:hover{color:var(--blue)}
.hv2-centre-row b{display:block;font-size:12px;color:var(--txt);margin-bottom:2px}
.hv2-centre h4{font-size:14px;font-weight:700;margin:14px 0 8px;color:var(--txt)}
.hv2-pill{background:#fff;color:var(--blue);font-size:12px;padding:3px 9px;
  border-radius:999px;border:1px solid #bfdbfe;display:inline-block;margin:0 6px 6px 0}
.hv2-centre .hv2-link{margin-top:8px;font-size:14px}
/* Bloc locaux + vidéo */
.hv2-locaux{background:var(--grad-dark);border-radius:var(--radius-lg);
  overflow:hidden;display:grid;grid-template-columns:1fr 1fr;margin-top:40px}
.hv2-locaux-txt{padding:32px;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hv2-locaux-txt h3{font-size:24px;font-weight:800;margin-bottom:12px}
.hv2-locaux-txt p{color:#cffafe;margin-bottom:18px;font-size:16px}
.hv2-locaux-txt ul{margin-bottom:24px;display:flex;flex-direction:column;gap:8px}
.hv2-locaux-txt li{display:flex;align-items:center;gap:12px;color:var(--cyan-50);font-size:15px}
.hv2-locaux-txt li::before{content:"";width:8px;height:8px;border-radius:50%;background:#22d3ee;flex-shrink:0}
.hv2-video{position:relative;min-height:280px;cursor:pointer}
.hv2-video img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hv2-video-overlay{position:absolute;inset:0;background:rgba(0,0,0,.32);
  display:flex;align-items:center;justify-content:center;transition:.25s}
.hv2-video:hover .hv2-video-overlay{background:rgba(0,0,0,.45)}
.hv2-play{width:76px;height:76px;background:#dc2626;border-radius:50%;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:.25s}
.hv2-video:hover .hv2-play{transform:scale(1.12)}
@media(max-width:900px){.hv2-locaux{grid-template-columns:1fr}}

/* ============ S08 — POURQUOI ============ */
.hv2-why{background:linear-gradient(135deg,var(--cyan-50),var(--blue-50),var(--violet-50))}

/* ============ S09 — FAQ ============ */
.hv2-faq-grid{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start}
.hv2-faq-aside{background:var(--grad-main);border-radius:var(--radius);
  padding:26px;color:#fff;position:sticky;top:20px}
.hv2-faq-aside h3{font-size:22px;font-weight:800;margin-bottom:12px}
.hv2-faq-aside p{color:var(--cyan-50);margin-bottom:20px;font-size:15px;line-height:1.5}
.hv2-faq-aside .hv2-btn{width:100%;margin-bottom:12px;font-size:15px;padding:12px 20px}
.hv2-btn-deep{background:var(--blue-d);color:#fff}
.hv2-btn-deep:hover{background:#1e40af;transform:scale(1.03);color:#fff}
.hv2-faq-list{display:flex;flex-direction:column;gap:14px}
.hv2-faq-item{background:var(--bg-soft);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;transition:border-color .2s}
.hv2-faq-item:hover{border-color:#93c5fd}
.hv2-faq-q{width:100%;background:none;border:none;padding:18px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  cursor:pointer;text-align:left;font:inherit}
.hv2-faq-q h3{font-size:16px;font-weight:700;color:var(--txt);line-height:1.4}
.hv2-faq-q svg{color:#9ca3af;transition:transform .25s}
.hv2-faq-item.is-open .hv2-faq-q svg{transform:rotate(180deg)}
.hv2-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.hv2-faq-a>div{padding:0 22px 18px;color:var(--txt-2);font-size:15px;line-height:1.6}
.hv2-faq-item.is-open .hv2-faq-a{max-height:400px}
@media(max-width:900px){.hv2-faq-grid{grid-template-columns:1fr}.hv2-faq-aside{position:static}}

/* ---- Accessibilité ---- */
.hv2 a:focus-visible,.hv2 button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  .hv2 *,.hv2 *::before,.hv2 *::after{transition:none!important;transform:none!important}
}

/* ============================================================
   PATCH v2 — SURCHARGES ANTI-THÈME
   Le thème Irilus + Elementor imposent leurs couleurs sur les
   liens/titres (texte invisible sur fonds colorés). On force ici
   les couleurs critiques avec !important.
   ============================================================ */

/* Titres & textes sur fonds colorés */
.hv2 .hv2-band h2,.hv2 .hv2-band p,
.hv2 .hv2-cta-box h3,.hv2 .hv2-cta-box p,
.hv2 .hv2-faq-aside h3,.hv2 .hv2-faq-aside p,
.hv2 .hv2-locaux-txt h3,
.hv2 .hv2-stats-panel strong{color:#fff!important}
.hv2 .hv2-band p,.hv2 .hv2-cta-box p,.hv2 .hv2-faq-aside p,
.hv2 .hv2-stats-panel span,.hv2 .hv2-locaux-txt li{color:#cffafe!important}
.hv2 .hv2-locaux-txt p{color:#a5f3fc!important}

/* Titres sur fonds clairs */
.hv2 .hv2-h2,.hv2 .hv2-card h3,.hv2 .hv2-fin-card h3,
.hv2 .hv2-news-body h3,.hv2 .hv2-faq-q h3{color:#111827!important}
.hv2 .hv2-centre h3{color:transparent!important}
.hv2 .hv2-news:hover .hv2-news-body h3{color:#2563eb!important}

/* Boutons — texte ET fond forcés */
.hv2 a.hv2-btn-grad,.hv2 .hv2-btn-grad{color:#fff!important;background:linear-gradient(90deg,#06b6d4,#2563eb)!important}
.hv2 a.hv2-btn-white,.hv2 .hv2-btn-white{color:#2563eb!important;background:#fff!important}
.hv2 a.hv2-btn-white:hover{background:#ecfeff!important;color:#1d4ed8!important}
.hv2 a.hv2-btn-ghost,.hv2 .hv2-btn-ghost{color:#fff!important;background:transparent!important}
.hv2 a.hv2-btn-ghost:hover{background:#fff!important;color:#2563eb!important}
.hv2 a.hv2-btn-deep,.hv2 .hv2-btn-deep{color:#fff!important;background:#1d4ed8!important}
.hv2 a.hv2-btn-outline,.hv2 .hv2-btn-outline{color:#4b5563!important;background:transparent!important}
.hv2 a.hv2-btn-outline:hover{color:#2563eb!important}

/* Liens, tags, pastilles */
.hv2 a.hv2-link{color:#2563eb!important}
.hv2 a.hv2-link:hover{color:#1d4ed8!important}
.hv2 a.hv2-tag{color:#4b5563!important;background:#f3f4f6!important}
.hv2 a.hv2-tag:hover{color:#fff!important;background:#7c3aed!important}
.hv2 .hv2-pill{color:#2563eb!important;background:#fff!important}
.hv2 .hv2-centre-row a{color:#111827!important}
.hv2 .hv2-centre-row a:hover{color:#2563eb!important}
.hv2 .hv2-checks li{color:#4b5563!important}
.hv2 .hv2-news-date{color:#4b5563!important}

/* Neutraliser les décos de liens du thème */
.hv2 a{text-decoration:none!important;box-shadow:none!important;border-bottom:none!important}

/* ============ PATCH v3 — composants du contenu validé ============ */
.hv2 .hv2-card-col{display:flex;flex-direction:column}
.hv2 .hv2-card-cta{margin-top:auto;padding-top:18px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hv2 .hv2-ptitle{text-align:center;font-size:22px;font-weight:800;color:#111827!important;margin:48px 0 28px}
.hv2 .hv2-h4,.hv2 .hv2-card h4.hv2-h4{font-size:19px;font-weight:800;margin-bottom:10px;color:#111827!important;line-height:1.35}
.hv2 .hv2-price{font-size:30px;font-weight:800;white-space:nowrap;
  background:linear-gradient(90deg,#0891b2,#2563eb);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.hv2 .hv2-bignote{text-align:center;font-size:18px;color:#374151!important;max-width:820px;margin:32px auto 8px;line-height:1.6}
.hv2 .hv2-note{text-align:center;font-size:13px;font-style:italic;color:#6b7280!important}
.hv2 .hv2-bdd{background:#fff;border-radius:20px;padding:32px;box-shadow:0 10px 25px -5px rgba(2,6,23,.10);max-width:860px;margin:0 auto}
.hv2 .hv2-bdd p{color:#4b5563}
.hv2 .hv2-list-check{display:flex;flex-direction:column;gap:10px}
.hv2 .hv2-list-check li{position:relative;padding-left:30px;color:#374151;font-size:15px;line-height:1.5}
.hv2 .hv2-list-check li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;
  border-radius:50%;background:linear-gradient(90deg,#06b6d4,#2563eb);color:#fff;font-size:12px;
  display:flex;align-items:center;justify-content:center;font-weight:700}
.hv2 .hv2-centre h4{color:#111827!important}
.hv2 .hv2-checks li span{color:#4b5563}
.hv2 .hv2-faq-aside a[href^="tel"],.hv2 .hv2-faq-aside a[href^="mailto"]{color:#fff!important}
@media(max-width:640px){.hv2 .hv2-hero-ctas .hv2-btn{width:100%}}

/* ============ PATCH v4 — blocs UX réintégrés (titres en <p>) ============ */
.hv2 .hv2-band-title{font-size:24px;font-weight:800;margin-bottom:10px;color:#fff!important}
.hv2 .hv2-fin-title{font-size:17px;font-weight:800;margin-bottom:10px;color:#111827!important}
.hv2 .hv2-ctabox-title{font-size:21px;font-weight:800;margin-bottom:10px;color:#fff!important}
.hv2 p.hv2-h2{color:#111827!important}
.hv2 .hv2-regions-label{font-size:14px;font-weight:700;margin:14px 0 8px;color:#111827!important}
.hv2 .hv2-locaux-title{font-size:24px;font-weight:800;margin-bottom:12px;color:#fff!important}

/* ============ PATCH v4.2 — visuels cartes profils ============
   !important partout : les thèmes WP imposent img{height:auto} qui casse le bloc.
   object-fit:contain (pas cover) car ce sont des illustrations à fond clair. */
.hv2 .hv2-profil-img{margin:-24px -24px 20px!important;height:230px!important;
  overflow:hidden!important;border-radius:14px 14px 0 0!important;
  background:linear-gradient(135deg,#ecfeff,#eff6ff)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:10px!important}
.hv2 .hv2-profil-img img{width:auto!important;max-width:100%!important;
  height:100%!important;max-height:100%!important;object-fit:contain!important;
  margin:0 auto!important;transition:transform .35s}
.hv2 .hv2-card:hover .hv2-profil-img img{transform:scale(1.04)}
@media(max-width:640px){.hv2 .hv2-profil-img{height:170px!important}}

/* ============ PATCH v4.3 — boutons rognés ============
   Le thème/Elementor écrase line-height, padding ou height des liens :
   on fige tout le box model des .hv2-btn. */
.hv2 .hv2-btn,.hv2 a.hv2-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;height:auto!important;min-height:0!important;max-height:none!important;
  padding:14px 30px!important;line-height:1.4!important;font-size:17px!important;
  font-weight:700!important;border-radius:999px!important;
  overflow:visible!important;white-space:normal!important;text-align:center!important;
  vertical-align:middle!important;box-sizing:border-box!important}
.hv2 .hv2-btn svg{flex-shrink:0!important;width:auto;height:auto}
.hv2 .hv2-faq-aside .hv2-btn{padding:12px 20px!important;font-size:15px!important;width:100%!important}
@media(max-width:640px){.hv2 .hv2-btn,.hv2 a.hv2-btn{font-size:16px!important;padding:13px 24px!important}}

/* ============ PATCH v5 ============ */
/* CTA : ceinture + bretelles (min-height, padding bas des cartes) */
.hv2 .hv2-btn,.hv2 a.hv2-btn{min-height:52px!important;position:relative;z-index:1}
.hv2 .hv2-card{padding-bottom:28px!important}
.hv2 .hv2-card-cta{padding-bottom:2px}

/* Images de cartes : padding réduit + zoom pour croquer les marges blanches des illustrations */
.hv2 .hv2-profil-img{padding:0!important;background:#fff!important}
.hv2 .hv2-profil-img img{transform:scale(1.22);transform-origin:center}
.hv2 .hv2-card:hover .hv2-profil-img img{transform:scale(1.28)}

/* Icônes : toujours centrées (desktop + mobile), titres des cartes à icône centrés */
.hv2 .hv2-icon{margin-left:auto!important;margin-right:auto!important}
.hv2 .hv2-card:has(.hv2-icon) h3,
.hv2 .hv2-fin-card{text-align:center}
.hv2 .hv2-fin-card .hv2-icon{margin:0 auto 16px!important}
.hv2 .hv2-card:has(.hv2-icon) p{text-align:left}
@supports not body.elementor-page-583908(:has(*)){ .hv2 .hv2-card h3{text-align:center} }
@media(max-width:640px){
  .hv2 .hv2-fin-card p,.hv2 .hv2-card:has(.hv2-icon) p{text-align:center}
}

/* Vidéo inline */
.hv2 button.hv2-video{border:none;padding:0;background:none;width:100%;display:block}
.hv2 .hv2-video-iframe{width:100%;height:100%;min-height:320px;border:0;display:block}
@media(max-width:900px){.hv2 .hv2-video-iframe{min-height:230px}}

/* Compteurs : largeur stable pendant l'animation */
.hv2 .hv2-count{font-variant-numeric:tabular-nums}

/* ============ PATCH v5.1 — bas des CTA recouvert ============
   Cause probable : pseudo-élément de soulignement du thème (a::after/::before
   positionné en bas du lien) qui peint par-dessus l'arrondi des pilules.
   On neutralise tous les pseudo-éléments et effets de découpe sur les liens. */
.hv2 a::before,.hv2 a::after,
.hv2 .hv2-btn::before,.hv2 .hv2-btn::after,
.hv2 button::before,.hv2 button::after{
  content:none!important;display:none!important;
  background:none!important;border:none!important;height:0!important}
.hv2 .hv2-btn,.hv2 a.hv2-btn{
  clip-path:none!important;-webkit-clip-path:none!important;
  mask:none!important;-webkit-mask:none!important;
  filter:none!important;outline-offset:2px}
/* on restaure l'ombre des boutons (le patch v2 l'avait neutralisée avec les décos de liens) */
.hv2 a.hv2-btn-grad,.hv2 a.hv2-btn-white{box-shadow:0 10px 25px -5px rgba(2,6,23,.15)!important}

/* ============ PATCH v5.3 — logos partenaires ============ */
.hv2 .hv2-partner{text-align:center}
.hv2 .hv2-partner p:not(.hv2-partner-name){text-align:left;font-size:14px}
.hv2 .hv2-partner-logo{height:72px!important;display:flex!important;align-items:center!important;
  justify-content:center!important;margin-bottom:16px!important}
.hv2 .hv2-partner-logo img{max-height:72px!important;max-width:80%!important;
  width:auto!important;height:auto!important;object-fit:contain!important;margin:0 auto!important}
.hv2 .hv2-partner-fallback{font-size:26px;font-weight:800;
  background:linear-gradient(90deg,#0891b2,#2563eb);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.hv2 .hv2-partner-name{font-size:19px;font-weight:800;color:#111827!important;margin-bottom:10px;text-align:center}
.hv2 .hv2-bdd-logo{height:90px!important;margin-bottom:20px!important}
.hv2 .hv2-bdd-logo img{max-height:90px!important}
@media(max-width:640px){.hv2 .hv2-partner p:not(.hv2-partner-name){text-align:center}}

/* ============ PATCH v5.6 — cartes grises sur fond blanc (formations phares) ============ */
.hv2 .hv2-card-gray{background:#f3f4f6!important;border:1px solid #e5e7eb;box-shadow:none}
.hv2 .hv2-card-gray:hover{box-shadow:0 20px 40px -12px rgba(2,6,23,.14);background:#f9fafb!important}

/* ============ PATCH v6.4 — relief des cartes ============ */
.hv2 .hv2-card{
  border:1px solid #e6eaf2!important;
  box-shadow:0 14px 34px -10px rgba(15,23,42,.16),0 4px 10px -4px rgba(15,23,42,.08)!important}
.hv2 .hv2-card:hover{
  box-shadow:0 24px 48px -12px rgba(15,23,42,.24),0 8px 16px -6px rgba(15,23,42,.10)!important;
  border-color:#c7d6f5!important}
/* Barre d'accent en haut des cartes piliers */
.hv2 .hv2-accent{position:relative;overflow:hidden}
.hv2 .hv2-accent::before{content:""!important;display:block!important;position:absolute;
  top:0;left:0;right:0;height:5px!important;border:none!important;
  border-radius:14px 14px 0 0}
.hv2 .hv2-accent-1::before{background:linear-gradient(90deg,#06b6d4,#2563eb)!important}
.hv2 .hv2-accent-2::before{background:linear-gradient(90deg,#3b82f6,#8b5cf6)!important}
.hv2 .hv2-accent-3::before{background:linear-gradient(90deg,#8b5cf6,#a855f7)!important}

/* ============ PATCH v6.10 — images des cartes ============
   Le thème impose border-radius circulaire + bordure sur les <img> : on neutralise
   dans .hv2. Variante .hv2-img-cover pour les PHOTOS (plein cadre), le mode
   "contain + zoom" restant pour les illustrations. */
.hv2 .hv2-profil-img img,.hv2 .hv2-news-img img,.hv2 .hv2-partner-logo img,
.hv2 .hv2-hero-frame img,.hv2 .hv2-video img{
  border-radius:0!important;border:none!important;outline:none!important;
  box-shadow:none!important;clip-path:none!important;-webkit-clip-path:none!important}
.hv2 .hv2-hero-frame img{border-radius:10px!important}
.hv2 .hv2-img-cover{padding:0!important;background:#eef2f7!important;display:block!important}
.hv2 .hv2-img-cover img{width:100%!important;max-width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;transform:none;margin:0!important}
.hv2 .hv2-card:hover .hv2-img-cover img{transform:scale(1.05)}

/* ============ PATCH v6.11 — prix au-dessus du CTA ============ */
.hv2 .hv2-price-row{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}
.hv2 .hv2-price{display:block!important}

/* ============ PATCH v6.13 — espacement des CTA dans les cartes ============
   Le thème écrase le flex du conteneur : on fige tout en !important. */
.hv2 .hv2-card-cta{margin-top:auto!important;padding-top:22px!important;display:flex!important;
  flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important}
.hv2 .hv2-card-cta .hv2-btn{flex:0 0 auto!important;width:auto!important;display:inline-flex!important;margin:0!important;float:none!important}

/* ============ PATCH v6.15 — visibilite des CTA secondaires (outline) ============ */
.hv2 .hv2-btn-outline{background:#fff!important;border:2px solid #2563eb!important;color:#1d4ed8!important;
  box-shadow:0 4px 14px -6px rgba(2,6,23,.14)!important}
.hv2 .hv2-btn-outline:hover{background:#eff6ff!important;border-color:#1d4ed8!important;color:#1e40af!important}

/* ============ PATCH v6.16 — hero en fond blanc ============ */
.hv2 .hv2-hero,.hv2-hero{background:#fff!important}

/* ============ PATCH v6.17 — video de presentation dans le hero ============ */
.hv2 .hv2-hero-video{position:relative;display:block;width:100%;aspect-ratio:16/9;border:none;padding:0;
  border-radius:18px;overflow:hidden;cursor:pointer;background:#0f172a;box-shadow:var(--shadow)}
.hv2 .hv2-hero-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0!important;border:none!important}
.hv2 .hv2-hero-video-iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:18px;box-shadow:var(--shadow);display:block}

/* ============ PATCH v6.18 — cartes profils : titres visibles + lire la suite ============ */
.hv2 .hv2-profils .hv2-card h3{font-size:22px;line-height:1.3;margin-bottom:14px}
.hv2 .hv2-readmore-txt.is-clamped{display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;overflow:hidden}
.hv2 button.hv2-readmore{background:none!important;border:none!important;padding:0!important;margin-top:12px;
  color:#2563eb!important;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start}
.hv2 button.hv2-readmore:hover{color:#1d4ed8!important}
.hv2 button.hv2-readmore svg{transition:transform .25s}
.hv2 button.hv2-readmore[aria-expanded="true"] svg{transform:rotate(180deg)}

/* ============ PATCH v6.19 — formations phares : prix alignes + titres H3 ============
   v6.13 (card-cta en row) repassait au-dessus de v6.11 : on fige la colonne
   avec une specificite superieure. */
.hv2 .hv2-card-cta.hv2-price-row{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}
.hv2 .hv2-card-cta.hv2-price-row .hv2-price{display:block!important;margin:0!important}
.hv2 h3.hv2-h4{font-size:19px;font-weight:800;margin-bottom:10px;color:#111827!important;line-height:1.35}

/* ============ PATCH v6.20 — photos plein cadre moins hautes + nettoyage cercle theme ============ */
.hv2 .hv2-profil-img.hv2-img-cover{height:185px!important;border-radius:14px 14px 0 0!important}
.hv2 .hv2-profil-img.hv2-img-cover img{border-radius:0!important;border:0!important;outline:0!important;
  box-shadow:none!important;clip-path:none!important;-webkit-clip-path:none!important}
.hv2 .hv2-profil-img::before,.hv2 .hv2-profil-img::after,
.hv2 .hv2-img-cover::before,.hv2 .hv2-img-cover::after{content:none!important;display:none!important;
  border:none!important;background:none!important}
@media(max-width:640px){.hv2 .hv2-profil-img.hv2-img-cover{height:160px!important}}

/* ============ PATCH v6.21 — piliers : lire la suite carte 1 + CTA compactes ============ */
.hv2 .hv2-piliers .hv2-readmore-txt.is-clamped ~ p{display:none}
.hv2 .hv2-piliers .hv2-card-cta .hv2-btn{padding:13px 15px!important;font-size:15px!important;max-width:100%!important}
.hv2 .hv2-piliers .hv2-readmore{align-self:flex-start}

/* ============ PATCH v6.22 — lien itineraire sous chaque centre ============ */
.hv2 .hv2-itineraire{margin-top:16px;font-size:14px}

/* ============ PATCH v6.23 — hero compacte, elements remontes comme la HP actuelle ============ */
.hv2 .hv2-hero{padding:40px 0 60px!important}
.hv2 .hv2-hero-grid{align-items:start!important}
.hv2 .hv2-hero h1{font-size:38px!important;line-height:1.18!important;margin-bottom:16px!important}
.hv2 .hv2-hero-badge{margin-bottom:16px!important}
.hv2 .hv2-hero-intro{margin-bottom:22px!important}
.hv2 .hv2-checks{margin-bottom:24px!important}
.hv2 .hv2-hero-visual{margin-top:6px}
@media(max-width:900px){.hv2 .hv2-hero h1{font-size:30px!important}}

/* ============ PATCH v6.24 — hero : coches et CTA centres sous les 2 colonnes ============ */
.hv2 .hv2-hero-grid{align-items:center!important}
.hv2 .hv2-hero-bottom{margin-top:38px}
.hv2 .hv2-hero-bottom .hv2-checks{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;
  gap:14px 48px;margin:0 0 28px}
.hv2 .hv2-hero-bottom .hv2-checks li{max-width:480px;align-items:flex-start}
.hv2 .hv2-hero-bottom .hv2-checks svg{margin-top:3px}
.hv2 .hv2-hero-bottom .hv2-hero-ctas{justify-content:center}

/* ============ PATCH v6.25 — carte stat : flux normal sur mobile, masquee pendant la lecture ============ */
@media(max-width:900px){
  .hv2 .hv2-hero-stat{position:absolute!important;left:-8px!important;bottom:-16px!important;
    margin:0;padding:10px 14px;border-radius:10px;
    box-shadow:0 12px 28px -8px rgba(2,6,23,.28)!important}
  .hv2 .hv2-hero-stat strong{font-size:22px}
  .hv2 .hv2-hero-stat span{font-size:11px}
  .hv2 .hv2-hero-visual{margin-bottom:34px}
  .hv2 .hv2-hero-bottom{margin-top:14px}
}
/* la carte stat s'efface pendant la lecture de la video (desktop) */
.hv2 .hv2-hero-stat{transition:opacity .3s}
.hv2 .hv2-hero-visual:has(.hv2-hero-video-iframe) .hv2-hero-stat{opacity:0;pointer-events:none}

/* ============ PATCH v6.26 — profils : illustrations agrandies a taille de carte egale ============ */
.hv2 .hv2-profils .hv2-profil-img img{transform:scale(1.72)}
.hv2 .hv2-profils .hv2-card:hover .hv2-profil-img img{transform:scale(1.78)}

/* ============ PATCH v6.27 — bordure du bouton ghost (tel) retablie ============
   Le patch v2 (.hv2 a{border-bottom:none!important}) gommait le bas de la pilule. */
.hv2 a.hv2-btn-ghost,.hv2 .hv2-btn-ghost{border:2px solid #fff!important}
.hv2 a.hv2-btn-ghost:hover{border-color:#fff!important;background:#fff!important;color:#2563eb!important}

/* ============ PATCH v6.29 — logo BDD agrandi ============ */
.hv2 .hv2-bdd-logo{height:170px!important;margin-bottom:18px!important}
.hv2 .hv2-bdd-logo img{max-height:170px!important;width:auto!important}
@media(max-width:640px){.hv2 .hv2-bdd-logo,.hv2 .hv2-bdd-logo img{height:128px!important;max-height:128px!important}}

/* ============ PATCH v6.30 — logos financeurs (remplacent les icones) ============ */
.hv2 .hv2-fin-logo{height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.hv2 .hv2-fin-logo img{max-height:58px!important;max-width:160px!important;width:auto!important;height:auto!important;
  object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0 auto!important}/* End custom CSS */