/* SERVICE PROCESSUS 6 - HORIZONTAL STEPPER */
.processus-6 {
  padding: 90px 5%;
  background: var(--gray-light);
  font-family: var(--font-body);
}
.processus-6__inner {
  max-width: 1300px;
  margin: 0 auto;
}
.processus-6__title {
  margin: 0 0 56px;
  text-align: center;
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3.5vw, 2.15rem);
  font-weight: 600;
  color: var(--primary);
}
.processus-6__grid {
  position: relative;
  display: grid;
  /* Une colonne par étape : --processus-6-etapes est posé par le PHP
     (4 si absent, l'ancienne grille). */
  grid-template-columns: repeat(var(--processus-6-etapes, 4), minmax(0, 1fr));
}
/* La ligne va du centre de la première pastille au centre de la dernière :
   chaque colonne mesure 100% / N, son centre est à une demi-colonne du bord.
   Aucune valeur propre à un nombre d'étapes. */
.processus-6__line {
  position: absolute;
  top: 29px;
  left: calc(50% / var(--processus-6-etapes, 4));
  right: calc(50% / var(--processus-6-etapes, 4));
  height: 2px;
  background: repeating-linear-gradient(
    90deg,
    color-mix(in srgb, var(--secondary) 35%, transparent) 0 10px,
    transparent 10px 20px
  );
}
.processus-6__step {
  position: relative;
  /* 16px jusqu'à 4 étapes, puis la gouttière se resserre avec leur nombre
     pour laisser la place aux titres. */
  padding: 0 min(16px, calc(64px / var(--processus-6-etapes, 4)));
  text-align: center;
  opacity: 0;
  animation: processus6FadeUp 0.7s both;
  animation-delay: calc(var(--i) * 0.12s);
}
.processus-6__num {
  position: relative;
  z-index: 2;
  width: 58px;
  height: 58px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--secondary);
  color: var(--on-secondary);
  font-size: 1.25rem;
  font-weight: 700;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--secondary) 30%, transparent);
}
.processus-6__step-title {
  margin: 0 0 8px;
  font-size: 1.06rem;
  font-weight: 600;
  color: var(--primary);
}
.processus-6__step-desc {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--gray-dark);
}
@keyframes processus6FadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 860px) {
  .processus-6__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 0;
  }
  /* En deux colonnes, la gouttière ne dépend plus du nombre d'étapes. */
  .processus-6__step {
    padding: 0 16px;
  }
  .processus-6__line {
    display: none;
  }
}
@media (max-width: 480px) {
  .processus-6__grid {
    grid-template-columns: 1fr;
  }
}

/* Eyebrow (page service) */
.processus-6__eyebrow {
  text-align: center;
  margin-bottom: 12px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--secondary);
}

/* ── TITRES : couleur de survol explicite (CLAUDE.md §4.13) ──────────
   Le main.css des themes stylise les balises Hn, hover compris. Chaque
   titre reprend ici sa couleur de base pour neutraliser cet heritage. */
.processus-6__step-title:hover,
.processus-6__title:hover {
  color: var(--primary);
}

/* Accent ((…)) d'une description de l'offre : gras, dans la couleur du
   texte qui le porte (la description déclare la sienne, fond réel compris). */
.processus-6__step-desc .mcl-accent {
  color: inherit;
  font-weight: 700;
}

/* D-42 : l'accent ((…)) d'un titre de l'offre (service, sous-service,
   atout, étape) garde la couleur du texte qui le porte et passe en italique. */
.processus-6__title .mcl-accent,
.processus-6__step-title .mcl-accent {
  color: inherit;
  font-style: italic;
}
