/* ==========================================================================
   TADAGBÉ — pages des 11 espaces de l'écosystème
   Fichier dédié : ne rien mettre ici qui concerne l'en-tête, le pied de page
   ou les composants communs (voir style.css / pages.css).
   ========================================================================== */

/* ---------- 1. Variables d'espace ---------------------------------------
   Chaque page d'espace définit --esp sur <body> pour teinter ses accents.
   ------------------------------------------------------------------------ */
.esp{--esp:var(--vert);--esp-clair:var(--vert-clair);--esp-btn:var(--or);--esp-btn-fg:#1A1200;
  --esp-puce:var(--esp)}
.esp-formation{--esp:#2E7D32;--esp-clair:#5DBA3F}

/* bouton principal, teinté par l'espace */
.btn--esp{--bg:var(--esp-btn);--fg:var(--esp-btn-fg)}

/* ---------- 2. Fil d'Ariane --------------------------------------------- */
.esp-bread{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;
  color:rgba(255,255,255,.62);margin-bottom:20px
}
.esp-bread a{transition:color .25s}
.esp-bread a:hover{color:var(--or)}
.esp-bread svg{opacity:.5}
.esp-bread b{color:#fff;font-weight:700}

/* ---------- 3. Héros ----------------------------------------------------- */
.esp-hero{padding:calc(var(--header-h) + 60px) 0 66px;min-height:min(80vh,620px);display:flex;align-items:center}
.esp-hero .in{max-width:660px}
.esp-hero .eyebrow{display:block;color:#fff;opacity:.9;font-size:14px;letter-spacing:.24em;margin-bottom:2px}
.esp-hero h1{
  font-size:clamp(42px,6.4vw,80px);line-height:.98;color:var(--esp-btn);
  text-transform:uppercase;letter-spacing:-.02em;margin-bottom:16px
}
.esp-hero__sub{
  font-family:'Archivo',Arial,sans-serif;font-weight:700;color:#fff;
  font-size:clamp(17px,2.1vw,23px);line-height:1.3;margin-bottom:20px;max-width:520px
}
.esp-quote{
  position:relative;margin:0 0 26px;padding-left:30px;max-width:520px;
  color:rgba(255,255,255,.82);font-size:13.5px;line-height:1.66;font-style:italic
}
.esp-quote::before{
  content:"“";position:absolute;left:0;top:-10px;
  font-family:'Archivo',Georgia,serif;font-size:52px;line-height:1;color:var(--esp-btn)
}

/* ---------- 4. Sections texte + image ------------------------------------ */
.esp-sec{padding:74px 0}
.esp-sec--gris{background:var(--gris)}
.esp-sec h2,.esp-stats h2,.esp-cta h2{
  font-size:clamp(20px,2.4vw,27px);text-transform:uppercase;color:var(--esp);
  letter-spacing:.005em;margin-bottom:18px;display:flex;align-items:center;gap:13px
}
/* icône de titre de section (présente sur la plupart des maquettes) */
.esp-sec h2 .ic-t{flex:none;color:var(--esp-puce)}
.esp-stats h2 .ic-t,.esp-cta h2 .ic-t{color:var(--or)}
.esp-sec h2 + .esp-lead{margin-top:-4px}
.esp-txt p{color:var(--texte-2);font-size:14.5px;line-height:1.72;margin-bottom:14px}
.esp-txt p:last-child{margin-bottom:0}
.esp-txt strong{color:var(--texte);font-weight:700}
.esp-lead{font-weight:600;color:var(--texte)!important}
/* respiration entre un chapeau et la liste qui le suit */
.esp-txt + .esp-checks,.esp-txt + .esp-list,.esp-txt + .esp-prog,.esp-txt + .esp-dom{margin-top:22px}

/* deux colonnes texte | image */
.esp-split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.esp-split--rev .esp-split__img{order:-1}
.esp-split__img{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--ombre-fort);max-height:620px}
.esp-split__img img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--ease)}
.esp-split__img:hover img{transform:scale(1.04)}

/* Vision + Mission côte à côte */
.esp-duo{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.esp-duo__c{
  background:#fff;border:1px solid var(--bord);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)
}
.esp-duo__c:hover{transform:translateY(-6px);box-shadow:var(--ombre-fort)}
.esp-duo__b{padding:32px 30px 28px}
.esp-duo__c h2{margin-bottom:14px}
.esp-duo__img{height:250px;overflow:hidden;margin-top:auto}
.esp-duo__img img{width:100%;height:100%;object-fit:cover}

/* ---------- 5. Listes à puces iconiques ---------------------------------- */
.esp-list{display:grid;gap:15px}
.esp-list--2{grid-template-columns:1fr 1fr;gap:15px 34px}
.esp-list li{display:flex;gap:13px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--texte-2)}
.esp-list .ic{
  flex:none;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;
  background:rgba(0,0,0,.05);color:var(--esp-puce);margin-top:1px
}
.esp-list--or .ic{background:rgba(0,0,0,.055);color:var(--esp-btn)}
/* puce en anneau : cercle vide bordé de la couleur d'accent (maquette Formation) */
.esp-list--anneau .ic{background:none;border:1.7px solid var(--esp-btn);color:var(--esp-btn)}
.esp-list--anneau.esp-list--vert .ic{border-color:var(--esp);color:var(--esp)}
/* puce pleine : disque coloré, glyphe blanc */
.esp-list--plein .ic{background:var(--esp-btn);color:#fff}

/* liste simple avec coche nue (le style le plus courant dans les maquettes) */
.esp-checks--2{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
.esp-checks--2 li{margin-bottom:13px}
.esp-checks li{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--texte-2);
  line-height:1.55;margin-bottom:11px}
.esp-checks li:last-child{margin-bottom:0}
.esp-checks svg{flex:none;color:var(--esp-puce);margin-top:3px}

/* ---------- 6. Programmes (cartes à icône carrée) ------------------------ */
.esp-prog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.esp-prog__c{
  display:flex;gap:15px;padding:17px 18px;background:#fff;border:1px solid var(--bord);
  border-radius:var(--r);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s
}
.esp-prog__c:hover{transform:translateY(-4px);box-shadow:var(--ombre-fort);border-color:transparent}
/* variante sans carte : simple pastille ronde + texte (maquette Formation) */
.esp-prog--nu .esp-prog__c{background:none;border:0;padding:0 0 4px;box-shadow:none}
.esp-prog--nu .esp-prog__c:hover{transform:none;box-shadow:none}
.esp-prog--nu .esp-prog__ic{width:42px;height:42px}
.esp-prog--rond .esp-prog__ic{border-radius:50%}
.esp-prog--nu .esp-prog__c:hover .esp-prog__ic{transform:scale(1.08)}
.esp-prog--nu .esp-prog__ic{transition:transform .4s var(--ease)}
.esp-prog__ic{
  flex:none;width:38px;height:38px;border-radius:9px;display:grid;place-items:center;color:#fff
}
.esp-prog__c b{display:block;font-family:'Archivo',Arial,sans-serif;font-size:14px;margin-bottom:3px}
.esp-prog__c p{font-size:12.6px;color:var(--texte-2);line-height:1.5}

/* ---------- 7. Domaines (pastilles) -------------------------------------- */
.esp-dom{display:grid;grid-template-columns:1fr 1fr;gap:11px 26px}
.esp-dom li{display:flex;align-items:center;gap:11px;font-size:13.6px;color:var(--texte)}
.esp-dom .ic{
  flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:rgba(0,0,0,.05);color:var(--esp-puce)
}
/* pastille pleine, glyphe blanc (maquette Formation) */
.esp-dom--plein .ic{background:var(--esp);color:#fff}
.esp-dom__img{display:grid;place-items:center}
.esp-dom__img img{max-height:390px;width:auto;border-radius:var(--r-lg)}

/* domaines présentés en grille d'icônes (maquettes Culture, Sport…) */
.esp-domg{display:grid;grid-template-columns:repeat(5,1fr);gap:30px 18px;margin-top:28px}
.esp-domg li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:11px;
  font-size:12.8px;line-height:1.35;color:var(--texte)}
.esp-domg .ic{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  background:rgba(0,0,0,.045);transition:transform .4s var(--ease)}
.esp-domg--nu .ic{background:none;width:auto;height:44px}
.esp-domg--plein .ic{color:#fff}
.esp-domg li:hover .ic{transform:translateY(-4px) scale(1.06)}

/* appel à l'action en tuiles colorées */
.esp-cta__tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;max-width:880px}
.esp-cta__tuiles a,.esp-cta__tuiles button{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  padding:20px 12px;border-radius:var(--r);color:#fff;font-family:'Archivo',Arial,sans-serif;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-align:center;
  line-height:1.35;transition:transform .4s var(--ease),box-shadow .4s var(--ease)
}
.esp-cta__tuiles a:hover,.esp-cta__tuiles button:hover{transform:translateY(-5px);box-shadow:var(--ombre-fort)}

/* ---------- 8. Partenaires ----------------------------------------------- */
.esp-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.esp-logos span{
  display:grid;place-items:center;background:#fff;border:1px solid var(--bord);
  border-radius:var(--r);padding:14px 12px;min-height:78px;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)
}
.esp-logos span:hover{transform:translateY(-3px);box-shadow:var(--ombre)}
.esp-logos--4{grid-template-columns:repeat(4,1fr)}
.esp-logos img{max-height:46px;max-width:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}

/* ---------- 9. Chiffres clés (bandeau sombre) ---------------------------- */
.esp-stats{position:relative;background:var(--vert-nuit);color:#fff;padding:56px 0;overflow:hidden}
.esp-stats::before{
  content:"";position:absolute;inset:0;opacity:.16;
  background:var(--tex,url(../img/espaces/formation/hero.jpg)) center/cover;z-index:0;filter:blur(3px)
}
.esp-stats .wrap{position:relative;z-index:1}
.esp-stats h2{color:#fff;font-size:clamp(19px,2.2vw,25px);text-transform:uppercase;margin-bottom:34px}
.esp-stats__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px 24px;text-align:center}
.esp-stats__g .ic{
  width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid rgba(233,172,38,.4);color:var(--or)
}
.esp-stats__n{font-family:'Archivo',Arial,sans-serif;font-size:clamp(24px,3vw,34px);
  font-weight:800;color:var(--or);line-height:1}
.esp-stats__l{font-size:12.4px;color:rgba(255,255,255,.72);margin-top:6px;line-height:1.4}

/* ---------- 10. Témoignages ---------------------------------------------- */
.esp-temo{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
/* témoignages sans vidéo : deux colonnes */
.esp-temo__duo{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.esp-temo__duo .esp-temo__i{margin-bottom:0}
.esp-temo__i{display:flex;gap:16px;margin-bottom:26px}
.esp-temo__i:last-child{margin-bottom:0}
.esp-temo__av{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;
  border:2px solid var(--bord)}
.esp-temo__i p{font-size:13.6px;line-height:1.62;color:var(--texte-2);font-style:italic}
.esp-temo__i b{display:block;margin-top:9px;font-size:12.6px;color:var(--texte);font-style:normal}
.esp-video{position:relative;border-radius:var(--r-lg);overflow:hidden;display:block;
  box-shadow:var(--ombre-fort)}
.esp-video img{width:100%;display:block;transition:transform .8s var(--ease)}
.esp-video:hover img{transform:scale(1.05)}
/* le bouton de lecture fait déjà partie du visuel : on n'ajoute qu'un voile au survol */
.esp-video__p{
  position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .35s
}
.esp-video:hover .esp-video__p{background:rgba(0,0,0,.16)}
.esp-video__cap{display:block;text-align:center;margin-top:13px;font-size:12.6px;color:var(--texte-2)}

/* ---------- 11. FAQ ------------------------------------------------------ */
.esp-faq{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
/* variante sans visuel : l'accordéon occupe une colonne centrée */
.esp-faq--seule{grid-template-columns:minmax(0,760px);justify-content:center}
.esp-faq .acc{margin-bottom:10px;border-radius:9px}
.esp-faq .acc:last-child{margin-bottom:0}
.esp-faq .acc__h{font-size:13.4px;font-weight:600;gap:13px}
.esp-faq__q{
  flex:none;width:24px;height:24px;border-radius:50%;background:var(--esp);color:#fff;
  display:grid;place-items:center;font-size:12px;font-weight:800;font-family:'Archivo',Arial,sans-serif
}
.esp-faq__img{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--ombre-fort);max-height:480px}
.esp-faq__img img{width:100%;height:480px;object-fit:cover;object-position:center 30%;display:block}

/* ---------- 12. Actualités ----------------------------------------------- */
.esp-actus{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.esp-actu{
  display:flex;gap:16px;align-items:center;padding:12px;background:#fff;
  border:1px solid var(--bord);border-radius:var(--r);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)
}
.esp-actu:hover{transform:translateX(5px);box-shadow:var(--ombre)}
.esp-actu img{flex:none;width:96px;height:70px;object-fit:cover;border-radius:7px}
.esp-actu time{display:block;font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  font-weight:700;color:var(--or);margin-bottom:5px}
.esp-actu b{font-family:'Archivo',Arial,sans-serif;font-size:13.6px;line-height:1.35;display:block}
.esp-actus__more{display:inline-flex;align-items:center;gap:9px;margin-top:20px;
  font-size:12.8px;font-weight:700;color:var(--esp);transition:gap .3s}
.esp-actu time{color:var(--esp-btn)}
.esp-actus__more:hover{gap:14px}

/* ---------- 13. Appel à l'action final ----------------------------------- */
.esp-cta{position:relative;overflow:hidden;background:#0A0A0A;color:#fff;padding:76px 0}
.esp-cta__bg{position:absolute;inset:0;background-size:cover;background-position:center right;z-index:0}
.esp-cta__veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,#08160B 0%,rgba(8,22,11,.94) 38%,rgba(8,22,11,.6) 68%,rgba(8,22,11,.35) 100%)}
.esp-cta .wrap{position:relative;z-index:2}
.esp-cta h2{color:#fff;font-size:clamp(22px,3vw,34px);text-transform:uppercase;margin-bottom:16px}
.esp-cta p{color:rgba(255,255,255,.8);font-size:15px;line-height:1.62;margin-bottom:28px;max-width:420px}
.esp-cta__btns{display:flex;flex-direction:column;align-items:flex-start;gap:11px;max-width:330px}
.esp-cta__btns .btn{width:100%;justify-content:flex-start;gap:11px}

/* ---------- 14. Responsive ----------------------------------------------- */
@media(max-width:1080px){
  .esp-stats__g{grid-template-columns:repeat(3,1fr);gap:30px 20px}
  .esp-temo__duo{grid-template-columns:1fr 1fr}
  .esp-domg{grid-template-columns:repeat(4,1fr)}
  .esp-logos,.esp-logos--4{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .esp-sec{padding:56px 0}
  .esp-split,.esp-duo,.esp-temo,.esp-faq,.esp-temo__duo{grid-template-columns:minmax(0,1fr);gap:30px}
  .esp-split--rev .esp-split__img{order:0}
  .esp-prog{grid-template-columns:minmax(0,1fr)}
  .esp-dom{grid-template-columns:1fr}
  .esp-dom__img{margin-top:8px}
  .esp-dom__img img{max-height:300px}
  .esp-list--2,.esp-checks--2{grid-template-columns:1fr}
  .esp-actus{grid-template-columns:1fr}
  .esp-domg{grid-template-columns:repeat(3,1fr)}
  .esp-cta__tuiles{grid-template-columns:repeat(2,1fr);max-width:none}
  .esp-split__img{max-height:420px}
  .esp-faq__img{max-height:340px}
  .esp-faq__img img{height:340px}
  .esp-hero{min-height:auto;padding:calc(var(--header-h) + 44px) 0 50px}
}
@media(max-width:620px){
  .esp-stats__g{grid-template-columns:repeat(2,1fr)}
  .esp-logos{grid-template-columns:repeat(2,1fr)}
  .esp-cta__btns{max-width:none}
  .esp-actu img{width:74px;height:58px}
  .esp-duo__img{height:200px}
  .esp-domg{grid-template-columns:repeat(2,1fr);gap:24px 14px}
}

/* ==========================================================================
   15. Habillage : sommaire collant, traitement des visuels, rythme des sections
   ========================================================================== */

/* ---------- sommaire d'onglets sous le héros ----------------------------- */
.esp-nav{
  position:sticky;top:var(--header-h);z-index:60;display:flex;gap:4px;overflow-x:auto;
  background:rgba(255,255,255,.88);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--bord);padding:0 max(28px,calc((100% - var(--wrap))/2 + 28px));
  scrollbar-width:none;transition:box-shadow .35s var(--ease),background .35s
}
.esp-nav::-webkit-scrollbar{display:none}
.esp-nav.is-stuck{box-shadow:0 8px 22px -16px rgba(0,0,0,.5)}
.esp-nav a{
  flex:none;position:relative;padding:15px 14px;font-size:12px;font-weight:600;
  letter-spacing:.02em;color:var(--texte-2);white-space:nowrap;transition:color .25s
}
.esp-nav a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:0;height:2.5px;border-radius:2px;
  background:var(--esp-puce);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease)
}
.esp-nav a:hover{color:var(--texte)}
.esp-nav a.is-on{color:var(--esp-puce)}
.esp-nav a.is-on::after{transform:scaleX(1)}

/* décale les ancres pour ne pas passer sous l'en-tête + le sommaire */
.esp-sec[id],.esp-stats[id]{scroll-margin-top:calc(var(--header-h) + 54px)}

/* ---------- numérotation des sections ------------------------------------ */
.esp-num{
  display:block;font-family:'Archivo',Arial,sans-serif;font-size:12px;font-weight:800;
  letter-spacing:.18em;color:var(--esp-puce);opacity:.5;margin-bottom:8px
}

/* ---------- traitement des visuels --------------------------------------- */
.esp-split__img,.esp-duo__img,.esp-faq__img,.esp-video{position:relative}
/* voile dégradé en bas : ancre l'image et masque la douceur du bas de cadre */
.esp-split__img::after,.esp-duo__img::after,.esp-faq__img::after{
  content:"";position:absolute;inset:auto 0 0;height:45%;pointer-events:none;
  background:linear-gradient(to top,rgba(10,10,10,.42),rgba(10,10,10,0))
}
/* grain fin : rend la faible définition beaucoup moins visible */
.esp-split__img::before,.esp-duo__img::before,.esp-faq__img::before,.esp-video::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.16;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")
}
/* étiquette d'angle */
.esp-media__tag{
  position:absolute;left:16px;bottom:14px;z-index:3;display:inline-flex;align-items:center;gap:7px;
  padding:7px 12px;border-radius:100px;background:rgba(255,255,255,.92);
  font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#141414
}
.esp-media__tag i{width:6px;height:6px;border-radius:50%;background:var(--esp-puce);flex:none}

/* ---------- listes pleine largeur : occuper la largeur -------------------- */
.esp-sec > .wrap > .esp-checks,
.esp-sec > .wrap > .esp-list{column-gap:56px}
.esp-checks--large{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:2px 56px}
.esp-checks--large li{margin-bottom:13px}
.esp-list--large{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:15px 56px}

/* ---------- accents décoratifs de fond ----------------------------------- */
.esp-sec{position:relative;overflow:hidden}
.esp-sec > .wrap{position:relative;z-index:1}
.esp-sec--deco::before{
  content:"";position:absolute;z-index:0;width:520px;height:520px;border-radius:50%;
  right:-190px;top:-180px;pointer-events:none;
  background:radial-gradient(circle,var(--esp-clair) 0%,transparent 68%);opacity:.09
}
.esp-sec--deco2::before{left:-210px;bottom:-200px;top:auto;right:auto}

@media(max-width:900px){
  .esp-nav{top:var(--header-h);padding:0 20px}
  .esp-nav a{padding:13px 11px;font-size:11.5px}
  .esp-checks--large,.esp-list--large{grid-template-columns:minmax(0,1fr)}
}

/* ---------- 16. Bandeau de démarches, juste sous le héros ---------------- */
.esp-actions{background:#0C0C0C;padding:24px 0 28px;position:relative;z-index:3}
.esp-actions__t{
  display:block;margin-bottom:15px;font-family:'Archivo',Arial,sans-serif;font-size:11px;
  font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--esp-btn)
}
.esp-actions .esp-cta__tuiles{max-width:none}
.esp-actions .esp-cta__tuiles a,.esp-cta__tuiles button{padding:17px 12px}
@media(max-width:620px){
  .esp-actions{padding:20px 0 22px}
  .esp-actions .esp-cta__tuiles a,.esp-cta__tuiles button{padding:15px 10px}
}
