:root{
  /* alias de compatibilite (post_content) ; --e3-charcoal et --e3-cream : snippet 350 */
  --e3-navy:var(--ui-link); --e3-ink:var(--ui-text);
  --e3-gray:var(--ui-text-muted); --e3-line:var(--ui-border); --e3-line-soft:var(--ui-border);
  --e3-paper:var(--ui-surface-raised); --e3-gold:var(--ui-brand); --e3-terra:var(--ui-brand);
  --e3-pos:var(--ui-positive);
  --e3-cool-zone:var(--ui-data-seq-1); --e3-cool-line:var(--ui-data-seq-3); --e3-cool-ink:var(--ui-data-seq-5);
  --e3-warm-zone:var(--ui-data-seq-warm-1); --e3-warm-line:var(--ui-data-seq-warm-3); --e3-warm-ink:var(--ui-data-seq-warm-5);
  --e3-serif:var(--ui-font-serif);
  --e3-sans:var(--ui-font-sans);
  --e3-mono:var(--ui-font-mono);
}

/* shared atoms */
.eco3-kicker{font-family:var(--e3-mono);font-size:10px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ui-text-muted);}
.eco3-rule{height:2px;width:46px;background:var(--ui-brand);border:0;margin:0;}

/* ---------------------------------------------------------- 1. CHAPTER */
.eco3-chapter{margin:64px 0 18px;padding:0;}
.eco3-chapter__top{display:flex;align-items:baseline;gap:14px;margin-bottom:10px;}
.eco3-chapter__num{font-family:var(--e3-serif);font-weight:700;font-size:15px;
  line-height:1;color:var(--ui-brand-text);letter-spacing:.02em;}
.eco3-chapter__tag{font-family:var(--e3-mono);font-size:10px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ui-text-muted);
  border-top:2px solid var(--ui-border);padding-top:8px;flex:1;}
.eco3-chapter__title{margin:6px 0 10px!important;}  /* on garde la typo h2 du thème */
.eco3-chapter__lead{font-family:var(--e3-serif);font-style:italic;color:var(--ui-text-muted);
  font-size:1.04rem;line-height:1.55;margin:0;max-width:60ch;}
.eco3-chapter--warm .eco3-chapter__num{color:var(--ui-data-seq-warm-4);}
.eco3-chapter--warm .eco3-chapter__tag{border-top-color:var(--ui-data-seq-warm-1);}
.eco3-chapter--cool .eco3-chapter__num{color:var(--ui-data-seq-4);}
.eco3-chapter--cool .eco3-chapter__tag{border-top-color:var(--ui-data-seq-1);}

/* --------------------------------------------------------- 2. STAT ROW */
.eco3-statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:0;margin:34px 0;border:1px solid var(--ui-border);background:var(--ui-surface-raised);}
.eco3-statrow .eco3-stat{border:0;border-right:1px solid var(--ui-border);margin:0;background:transparent;}
.eco3-statrow .eco3-stat:last-child{border-right:0;}
.eco3-stat{margin:28px 0;padding:20px 22px;background:var(--ui-surface-raised);
  border:1px solid var(--ui-border);border-top:2px solid var(--ui-border);
  position:relative;transition:border-color .2s ease,transform .2s ease;}
.eco3-stat__value{font-family:var(--e3-serif);font-weight:700;color:var(--ui-text);
  font-size:2.35rem;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.eco3-stat__label{display:block;font-family:var(--e3-sans);font-size:.86rem;
  line-height:1.4;color:var(--ui-text);margin-top:11px;}
.eco3-stat__note{display:block;font-family:var(--e3-mono);font-size:9.5px;
  letter-spacing:.04em;color:var(--ui-text-muted);margin-top:9px;}
.eco3-stat--accent{border-top-color:var(--ui-brand);}
.eco3-statrow .eco3-stat--accent{box-shadow:inset 0 2px 0 0 var(--ui-brand);}
.eco3-stat:hover{border-top-color:var(--ui-link);}

/* -------------------------------------------------------- 3. DICHOTOMY */
.eco3-dicho{margin:46px 0;}
.eco3-dicho__grid{display:grid;grid-template-columns:1fr auto 1fr;
  align-items:stretch;gap:0;}
.eco3-dicho__side{padding:24px 26px;border:1px solid var(--ui-border);
  transition:transform .2s ease,box-shadow .2s ease;}
.eco3-dicho__side:hover{transform:translateY(-2px);
  box-shadow:0 6px 22px -14px color-mix(in srgb,var(--ui-text) 40%,transparent);}
.eco3-dicho__side--cool{background:var(--ui-data-seq-1);border-color:color-mix(in srgb,var(--ui-data-seq-2) 40%,var(--ui-data-seq-1));}
.eco3-dicho__side--warm{background:var(--ui-data-seq-warm-1);border-color:color-mix(in srgb,var(--ui-data-seq-warm-2) 40%,var(--ui-data-seq-warm-1));}
.eco3-dicho__kicker{font-family:var(--e3-mono);font-size:10px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;}
.eco3-dicho__side--cool .eco3-dicho__kicker{color:var(--ui-data-seq-4);}
.eco3-dicho__side--warm .eco3-dicho__kicker{color:var(--ui-data-seq-warm-4);}
.eco3-dicho__title{font-family:var(--e3-serif);font-weight:700;font-size:1.18rem;
  line-height:1.25;margin:9px 0 12px;}
.eco3-dicho__side--cool .eco3-dicho__title{color:var(--ui-data-seq-5);}
.eco3-dicho__side--warm .eco3-dicho__title{color:var(--ui-data-seq-warm-5);}
.eco3-dicho__body{font-family:var(--e3-sans);font-size:.95rem;line-height:1.62;
  color:var(--ui-text);}
.eco3-dicho__body p{margin:0 0 .5em;}
.eco3-dicho__body ul{margin:.2em 0 0;padding-left:1.05em;}
.eco3-dicho__body li{margin:.32em 0;}
.eco3-dicho__arrow{display:flex;align-items:center;justify-content:center;
  width:54px;font-family:var(--e3-serif);font-size:1.5rem;color:var(--ui-text-muted);
  user-select:none;}
.eco3-dicho__verdict{margin-top:0;border:1px solid var(--ui-border);border-top:0;
  border-left:3px solid var(--ui-brand);background:var(--ui-surface);
  padding:18px 24px;font-family:var(--e3-serif);font-style:italic;
  font-size:1.06rem;line-height:1.55;color:var(--ui-text);}
.eco3-dicho__verdict strong{font-style:normal;}

/* ----------------------------------------------------------- 4. FORCES */
.eco3-forces{margin:46px 0;}
.eco3-forces__head{margin-bottom:20px;}
.eco3-forces__title{font-family:var(--e3-serif)!important;color:var(--ui-text)!important;
  font-weight:700;font-size:1.38rem;line-height:1.2;margin:8px 0 8px;}
.eco3-forces__intro{font-family:var(--e3-sans);color:var(--ui-text-muted);
  font-size:.96rem;line-height:1.6;margin:0;max-width:64ch;}
.eco3-forces__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;}
.eco3-force{padding:22px 22px 20px;background:var(--ui-surface-raised);
  border:1px solid var(--ui-border);position:relative;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.eco3-force:hover{transform:translateY(-2px);border-color:var(--ui-brand);
  box-shadow:0 8px 24px -16px color-mix(in srgb,var(--ui-text) 45%,transparent);}
.eco3-force__n{font-family:var(--e3-mono);font-size:11px;font-weight:500;
  letter-spacing:.12em;color:var(--ui-brand-text);}
.eco3-force__title{font-family:var(--e3-serif);font-weight:700;font-size:1.07rem;
  line-height:1.28;color:var(--ui-text);margin:8px 0 10px;}
.eco3-force__body{font-family:var(--e3-sans);font-size:.92rem;line-height:1.58;
  color:var(--ui-text);margin:0;}
.eco3-force__link{display:inline-block;margin-top:13px;font-family:var(--e3-mono);
  font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;
  color:var(--ui-link)!important;text-decoration:none;
  border-bottom:1px solid var(--ui-border);padding-bottom:2px;transition:border-color .2s;}
.eco3-force__link:hover{border-bottom-color:var(--ui-brand);}

/* ------------------------------------------------------- 5. LADDER (niveaux) */
.eco3-ladder{margin:30px 0 42px;}
.eco3-ladder__head{margin-bottom:16px;}
.eco3-ladder__title{font-family:var(--e3-serif);font-weight:700;font-size:1.16rem;
  color:var(--ui-text);line-height:1.25;margin:7px 0 0;}
.eco3-ladder__track{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch;}
.eco3-ladder__step{display:flex;flex-direction:column;gap:7px;text-decoration:none!important;
  padding:18px 18px 16px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);
  border-top:3px solid var(--ui-border);position:relative;color:inherit;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
a.eco3-ladder__step:hover{transform:translateY(-3px);border-color:var(--ui-brand);
  box-shadow:0 10px 30px -18px color-mix(in srgb,var(--ui-text) 50%,transparent);}
.eco3-ladder__lvl{font-family:var(--e3-mono);font-size:10px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ui-text-muted);}
.eco3-ladder__name{font-family:var(--e3-serif);font-weight:700;font-size:1.1rem;
  color:var(--ui-text);line-height:1.2;}
.eco3-ladder__desc{font-family:var(--e3-sans);font-size:.85rem;line-height:1.5;
  color:var(--ui-text-muted);flex:1;}
.eco3-ladder__go{font-family:var(--e3-mono);font-size:10px;font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ui-link);margin-top:3px;}
.eco3-ladder__hereTag{align-self:flex-start;margin-top:3px;font-family:var(--e3-mono);
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ui-action-text);
  background:var(--ui-brand);padding:4px 11px;border-radius:2px;}
.eco3-ladder__step--deb{border-top-color:var(--ui-data-seq-3);}
.eco3-ladder__step--deb .eco3-ladder__lvl,
.eco3-ladder__step--deb .eco3-ladder__go{color:var(--ui-data-seq-4);}
.eco3-ladder__step--adv{border-top-color:var(--ui-data-seq-5);}
.eco3-ladder__step--adv .eco3-ladder__lvl,
.eco3-ladder__step--adv .eco3-ladder__go{color:var(--ui-data-seq-5);}
.eco3-ladder__step--here{border-top-color:var(--ui-brand);background:var(--ui-surface);}
.eco3-ladder__step--here .eco3-ladder__lvl{color:var(--ui-brand-text);}

/* ----------------------------------------------------------- 6. LEVEL TAG */
.eco3-level-tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--e3-mono);
  font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 11px;border:1px solid var(--ui-border);border-radius:2px;background:var(--ui-surface-raised);
  color:var(--ui-text-muted);margin:6px 0;}
.eco3-level-tag::before{content:"";width:7px;height:7px;border-radius:50%;
  background:var(--ui-text-muted);flex:none;}
.eco3-level-tag--deb{color:var(--ui-text-muted);border-color:var(--ui-border);}
.eco3-level-tag--deb::before{background:var(--ui-data-seq-3);}
.eco3-level-tag--inter{color:var(--ui-text-muted);border-color:var(--ui-border);}
.eco3-level-tag--inter::before{background:var(--ui-brand);}
.eco3-level-tag--adv{color:var(--ui-text-muted);border-color:var(--ui-border);}
.eco3-level-tag--adv::before{background:var(--ui-data-seq-5);}

/* --------------------------------------------- 7. SWITCH (regime, CSS pur) */
.eco3-switch{margin:38px 0;border:1px solid var(--ui-border);background:var(--ui-surface-raised);position:relative;}
.eco3-switch__radio{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.eco3-switch__head{padding:20px 24px 0;}
.eco3-switch__q{font-family:var(--e3-serif);font-weight:700;font-size:1.18rem;
  color:var(--ui-text);margin:0 0 4px;line-height:1.25;}
.eco3-switch__sub{font-family:var(--e3-mono);font-size:10px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ui-text-muted);}
.eco3-switch__tabs{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px 0;}
.eco3-switch__tab{cursor:pointer;font-family:var(--e3-mono);font-size:11px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted);background:var(--ui-surface-raised);
  border:1px solid var(--ui-border);padding:9px 16px;user-select:none;
  transition:border-color .15s ease,color .15s ease,background .15s ease;}
.eco3-switch__tab:hover{border-color:var(--ui-link);color:var(--ui-text);}
.eco3-switch__panels{padding:18px 24px 6px;}
.eco3-switch__panel{display:none;}
.eco3-switch__line{display:block;font-family:var(--e3-mono);font-size:10px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text-muted);margin-bottom:8px;}
.eco3-switch__big{display:block;font-family:var(--e3-serif);font-weight:700;
  font-size:2rem;line-height:1.05;letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
.eco3-switch__big--pos{color:var(--ui-positive-text);}
.eco3-switch__big--neg{color:var(--ui-negative-text);}
.eco3-switch__verdict{display:block;font-family:var(--e3-sans);font-size:.95rem;
  line-height:1.55;color:var(--ui-text);margin-top:10px;max-width:60ch;}
.eco3-switch__foot{margin:14px 0 0;padding:14px 24px 20px;font-family:var(--e3-serif);
  font-style:italic;font-size:.95rem;color:var(--ui-text-muted);border-top:1px solid var(--ui-border);}
/* etat actif independant des IDs : on cible l'ordre des radios */
.eco3-switch__radio:first-of-type:checked ~ .eco3-switch__panels .eco3-switch__panel--low{display:block!important;}
.eco3-switch__radio:nth-of-type(2):checked ~ .eco3-switch__panels .eco3-switch__panel--high{display:block!important;}
.eco3-switch__radio:first-of-type:checked ~ .eco3-switch__tabs .eco3-switch__tab--low,
.eco3-switch__radio:nth-of-type(2):checked ~ .eco3-switch__tabs .eco3-switch__tab--high{
  background:var(--ui-action);color:var(--ui-action-text);border-color:var(--ui-action);}

/* ------------------------------------------ 8. CLUSTER NAV (sous-pilier) */
/* Orientation de SOUS-PILIER : fil vers le pilier parent + satellites du cluster.
   Remplace l'ancien duo "Pour approfondir" (liste de liens) + "Retour pilier".
   Degradation gracieuse : sans CSS, reste un <nav> avec titre + liens lisibles. */
.eco3-cluster-nav{margin:34px 0 26px;border:1px solid var(--ui-border);background:var(--ui-surface-raised);}
.eco3-cluster-nav__head{display:flex;flex-wrap:wrap;align-items:baseline;
  justify-content:space-between;gap:10px 18px;padding:16px 22px;
  border-bottom:1px solid var(--ui-border);background:var(--ui-surface);}
.eco3-cluster-nav__kicker{font-family:var(--e3-mono);font-size:10px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ui-text-muted);}
.eco3-cluster-nav__parent{font-family:var(--e3-mono);font-size:11px;font-weight:500;
  letter-spacing:.05em;text-transform:uppercase;color:var(--ui-link)!important;
  text-decoration:none!important;border-bottom:1px solid var(--ui-border);
  padding-bottom:2px;transition:border-color .2s ease;}
.eco3-cluster-nav__parent:hover{border-bottom-color:var(--ui-brand);}
.eco3-cluster-nav__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));
  gap:14px;padding:18px 22px 22px;}
.eco3-cluster-nav__item{display:flex;flex-direction:column;text-decoration:none!important;
  color:inherit;padding:16px 18px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);
  border-top:2px solid var(--ui-border);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
a.eco3-cluster-nav__item:hover{transform:translateY(-2px);border-top-color:var(--ui-brand);
  box-shadow:0 8px 24px -16px color-mix(in srgb,var(--ui-text) 45%,transparent);}
.eco3-cluster-nav__item-label{font-family:var(--e3-serif);font-weight:700;font-size:1.04rem;
  line-height:1.28;color:var(--ui-text);}
.eco3-cluster-nav__item-desc{font-family:var(--e3-sans);font-size:.86rem;line-height:1.5;
  color:var(--ui-text-muted);margin-top:7px;flex:1;}
.eco3-cluster-nav__item-go{font-family:var(--e3-mono);font-size:10px;font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ui-link);margin-top:11px;}

/* ----------------------------------------------------------- responsive */
@media (max-width:680px){
  .eco3-statrow{grid-template-columns:1fr;}
  .eco3-statrow .eco3-stat{border-right:0;border-bottom:1px solid var(--ui-border);}
  .eco3-statrow .eco3-stat:last-child{border-bottom:0;}
  .eco3-dicho__grid{grid-template-columns:1fr;}
  .eco3-dicho__arrow{width:auto;padding:8px 0;transform:rotate(90deg);}
  .eco3-ladder__track{grid-template-columns:1fr;}
  .eco3-cluster-nav__grid{grid-template-columns:1fr;}
  .eco3-cluster-nav__head{flex-direction:column;align-items:flex-start;}
}
@media (prefers-reduced-motion:reduce){
  .eco3-stat,.eco3-dicho__side,.eco3-force,.eco3-ladder__step,.eco3-switch__tab,
  .eco3-cluster-nav__item{transition:none;}
}
/* Titre passé de h3 à h2 (crawl SiteOne du 31/10/2026, h1 suivi d'un h3) : rendu du h3 du thème conservé. */
.entry-content h2.eco3-forces__title{font-size:1.25rem;line-height:1.3;margin-top:2.25rem;margin-bottom:.75rem;}
@media(min-width:768px){.entry-content h2.eco3-forces__title{font-size:1.375rem;}}
@media(max-width:768px){.entry-content h2.eco3-forces__title{font-size:1.125rem;margin-top:1.5rem;}}

/* -------------------------- 9. CYCLE (schema SVG) et tableau defilant (reprise 4397, 05/11/2026) */
.eco3-cycle{margin:30px 0;padding:18px 18px 14px;border:1px solid var(--ui-border);background:var(--ui-surface-raised);}
.eco3-cycle p{margin:0!important;}
.eco3-cycle svg{display:block;width:100%;max-width:620px;height:auto;margin:0 auto;}
.eco3-cycle__zone--exp{fill:var(--ui-data-seq-1);}
.eco3-cycle__zone--con{fill:var(--ui-data-seq-warm-1);}
.eco3-cycle__axe{stroke:var(--ui-border);stroke-width:1.5;fill:none;}
.eco3-cycle__tendance{stroke:var(--ui-text-muted);stroke-width:1.5;stroke-dasharray:5 5;fill:none;}
.eco3-cycle__courbe{stroke:var(--ui-text);stroke-width:3;fill:none;}
.eco3-cycle__point{fill:var(--ui-brand);}
.eco3-cycle__txt{font-family:var(--e3-sans);font-size:13px;fill:var(--ui-text-muted);}
.eco3-cycle__txt--fort{font-family:var(--e3-sans);font-size:14px;font-weight:600;fill:var(--ui-text);}
.eco3-cycle__legende{margin-top:10px;font-family:var(--e3-sans);font-size:.86rem;line-height:1.5;color:var(--ui-text-muted);}
.eco3-table-scroll{overflow-x:auto;margin:22px 0;}
.eco3-table-scroll .eco3min-table{min-width:560px;margin:0;}
.eco3-switch>p:empty,.eco3-force>p:empty{display:none;}
