/* Pasivite 2.8.52.46 — Roadmap.
   Feuille locale chargée EN DERNIER : pas de couche corrective cumulative.
   Toutes les règles sont limitées à body.route-roadmap. */

body.route-roadmap .roadmap-shell{
  max-width:1380px;
  margin:0 auto;
  padding:36px 24px 60px;
}

body.route-roadmap .roadmap-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:24px;
  align-items:center;
  padding:28px;
  border:1px solid rgba(40,184,178,.25);
  border-radius:32px;
  background:linear-gradient(135deg,#f6fffe 0%,#eef8ff 100%);
  box-shadow:0 18px 40px rgba(18,53,91,.08);
}
body.route-roadmap .roadmap-hero-copy h1{
  margin:.2rem 0 .7rem;
  color:#12355b;
  font-size:clamp(2rem,3vw,3.3rem);
  line-height:1.08;
}
body.route-roadmap .roadmap-hero-copy .lead{
  max-width:60ch;
  color:#496179;
  font-size:1.12rem;
}
body.route-roadmap .roadmap-hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
body.route-roadmap .roadmap-hero-badges span,
body.route-roadmap .roadmap-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  background:#dff4ef;
  color:#0b6f6a;
  font-weight:800;
  letter-spacing:.02em;
}
body.route-roadmap .roadmap-hero-visual{text-align:center}
body.route-roadmap .roadmap-hero-visual img{
  width:min(100%,340px);
  height:auto;
  filter:drop-shadow(0 18px 24px rgba(18,53,91,.16));
}

/* Évolution phare : palette sombre contrôlée localement. */
body.route-roadmap .roadmap-identity{
  margin-top:28px;
  padding:26px;
  border-radius:30px;
  background:linear-gradient(135deg,#12355b 0%,#15496d 55%,#0d7775 100%);
  color:#fff;
  box-shadow:0 22px 50px rgba(18,53,91,.16);
}
body.route-roadmap .roadmap-identity-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
body.route-roadmap .roadmap-identity .eyebrow{
  display:inline-flex;
  width:auto;
  max-width:100%;
  margin:0 0 8px;
  padding:7px 14px;
  border-radius:999px;
  background:#dff4ef;
  color:#0b625e;
  font-size:.78rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.route-roadmap .roadmap-identity-head h2{
  margin:.2rem 0 .65rem;
  color:#fff;
  font-size:clamp(1.7rem,2.6vw,2.7rem);
  line-height:1.12;
}
body.route-roadmap .roadmap-identity-head > div > p:not(.eyebrow){
  max-width:72ch;
  margin:0;
  color:#e7f3f8;
}
body.route-roadmap .roadmap-identity-head .primary-button{
  flex:0 0 auto;
  border-color:#fff;
  background:#fff;
  color:#12355b;
}

body.route-roadmap .roadmap-identity-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
body.route-roadmap .roadmap-identity-steps article{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:20px;
  background:rgba(255,255,255,.12);
}
body.route-roadmap .roadmap-identity-steps article > span{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#73e2d9;
  color:#12355b;
  font-weight:900;
}
body.route-roadmap .roadmap-identity-steps h3{
  margin:0 0 6px;
  color:#fff;
  font-size:1.02rem;
}
body.route-roadmap .roadmap-identity-steps p{
  margin:0;
  color:#eef8ff;
  font-size:.94rem;
  line-height:1.48;
}
body.route-roadmap .roadmap-trust{
  margin-top:18px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.09);
  color:#fff;
}
body.route-roadmap .roadmap-trust strong{
  display:block;
  margin-bottom:10px;
  color:#fff;
}
body.route-roadmap .roadmap-trust div{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
}
body.route-roadmap .roadmap-trust span{color:#eef8ff}

/* Cartes feuille de route. */
body.route-roadmap .roadmap-section{margin-top:32px}
body.route-roadmap .roadmap-section-head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:end;
  margin-bottom:18px;
}
body.route-roadmap .roadmap-section-head h2{
  margin:.15rem 0 0;
  color:#12355b;
  font-size:clamp(1.6rem,2.4vw,2.5rem);
}
body.route-roadmap .roadmap-section-head p:last-child{
  max-width:50ch;
  color:#59728a;
}
body.route-roadmap .roadmap-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:18px;
}
body.route-roadmap .roadmap-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px;
  border:1px solid rgba(18,53,91,.09);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 36px rgba(18,53,91,.07);
}
body.route-roadmap .roadmap-card h3{
  margin:0;
  color:#12355b;
  font-size:1.25rem;
}
body.route-roadmap .roadmap-card p{
  margin:0;
  color:#4e667d;
}
body.route-roadmap .roadmap-card ul{
  display:grid;
  gap:8px;
  margin:0;
  padding-left:20px;
  color:#31506a;
}
body.route-roadmap .roadmap-card.is-featured{
  grid-column:span 2;
  border-color:rgba(40,184,178,.5);
  background:linear-gradient(135deg,#f5fffd 0%,#eef9ff 100%);
  box-shadow:0 20px 42px rgba(18,53,91,.1);
}
body.route-roadmap .roadmap-card.is-featured .roadmap-status{
  background:#12355b;
  color:#fff;
}

/* Annuaire des fonctionnalités. */
body.route-roadmap .roadmap-directory-groups{display:grid;gap:18px}
body.route-roadmap .roadmap-directory-group{
  padding:20px 20px 16px;
  border:1px solid rgba(18,53,91,.09);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 36px rgba(18,53,91,.06);
}
body.route-roadmap .roadmap-directory-group h3{
  margin:0 0 14px;
  color:#12355b;
  font-size:1.25rem;
}
body.route-roadmap .roadmap-directory-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
}
body.route-roadmap .roadmap-directory-item{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:16px 18px;
  border:1px solid rgba(40,184,178,.28);
  border-radius:18px;
  background:linear-gradient(180deg,#f9ffff 0%,#f3fbff 100%);
  text-decoration:none;
  box-shadow:0 12px 28px rgba(18,53,91,.05);
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
body.route-roadmap .roadmap-directory-item:hover,
body.route-roadmap .roadmap-directory-item:focus{
  transform:translateY(-2px);
  border-color:rgba(40,184,178,.5);
  box-shadow:0 18px 34px rgba(18,53,91,.09);
}
body.route-roadmap .roadmap-directory-item strong{color:#12355b;font-size:1.05rem}
body.route-roadmap .roadmap-directory-item span{color:#5a7288}
body.route-roadmap .roadmap-directory-item em{color:#0b6f6a;font-style:normal;font-weight:800}

/* PWA : même hiérarchie, une seule colonne. 
   Les !important sont limités aux couleurs que les feuilles mobiles globales forcent elles-mêmes en !important. */
body.mobile-mode.route-roadmap .mobile-app-main .roadmap-identity .eyebrow{
  background:#dff4ef!important;
  color:#0b625e!important;
}
body.mobile-mode.route-roadmap .mobile-app-main .roadmap-identity-head h2,
body.mobile-mode.route-roadmap .mobile-app-main .roadmap-identity-steps h3,
body.mobile-mode.route-roadmap .mobile-app-main .roadmap-trust strong{
  color:#fff!important;
}
body.mobile-mode.route-roadmap .mobile-app-main .roadmap-identity-head > div > p:not(.eyebrow),
body.mobile-mode.route-roadmap .mobile-app-main .roadmap-identity-steps p,
body.mobile-mode.route-roadmap .mobile-app-main .roadmap-trust span{
  color:#eef8ff!important;
}
body.mobile-mode.route-roadmap .mobile-app-main .roadmap-identity-steps article > span,
body.mobile-mode.route-roadmap .mobile-app-main .roadmap-identity .primary-button{
  color:#12355b!important;
}
body.mobile-mode.route-roadmap .roadmap-shell{
  padding:20px 16px 32px;
}
body.mobile-mode.route-roadmap .roadmap-hero{
  grid-template-columns:1fr;
  padding:22px;
  border-radius:28px;
}
body.mobile-mode.route-roadmap .roadmap-hero-visual{order:-1}
body.mobile-mode.route-roadmap .roadmap-hero-visual img{width:min(100%,240px)}
body.mobile-mode.route-roadmap .roadmap-identity{
  padding:20px;
  border-radius:26px;
}
body.mobile-mode.route-roadmap .roadmap-identity-head{display:block}
body.mobile-mode.route-roadmap .roadmap-identity-head .primary-button{margin-top:16px}
body.mobile-mode.route-roadmap .roadmap-identity-steps{grid-template-columns:1fr}
body.mobile-mode.route-roadmap .roadmap-trust div{display:grid}
body.mobile-mode.route-roadmap .roadmap-section-head{display:block}
body.mobile-mode.route-roadmap .roadmap-section-head p:last-child{max-width:none;margin-top:8px}
body.mobile-mode.route-roadmap .roadmap-grid,
body.mobile-mode.route-roadmap .roadmap-directory-list{grid-template-columns:1fr}
body.mobile-mode.route-roadmap .roadmap-card.is-featured{grid-column:auto}

@media (max-width:980px){
  body.route-roadmap .roadmap-identity-head{display:block}
  body.route-roadmap .roadmap-identity-head .primary-button{margin-top:16px}
  body.route-roadmap .roadmap-identity-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.route-roadmap .roadmap-card.is-featured{grid-column:auto}
}
@media (max-width:920px){
  body.route-roadmap .roadmap-shell{padding:28px 18px 48px}
  body.route-roadmap .roadmap-hero{grid-template-columns:1fr}
  body.route-roadmap .roadmap-hero-visual{order:-1}
  body.route-roadmap .roadmap-section-head{display:block}
  body.route-roadmap .roadmap-section-head p:last-child{max-width:none;margin-top:8px}
}
@media (max-width:620px){
  body.route-roadmap .roadmap-identity{padding:20px}
  body.route-roadmap .roadmap-identity-steps{grid-template-columns:1fr}
  body.route-roadmap .roadmap-trust div{display:grid}
}
