﻿/* ---- Page Formations -- styles specifiques ---- */

/* Grandes cartes formation (image + corps céte é céte sur large écran) */
.formation-row { display:grid; grid-template-columns:1fr; gap:0; border:1px solid var(--line); margin-bottom:var(--sp-5); }
.formation-row .ph { aspect-ratio:16/10; min-height:14rem; }
/* Photo de carte (champ Média "fiche_photo" de l'article) — remplit la cellule, recadrage centré */
.formation-row__img { display:block; width:100%; height:100%; min-width:0; aspect-ratio:16/10; min-height:14rem; object-fit:cover; overflow:hidden; }
.formation-row__body { padding:clamp(1.5rem,4vw,2.5rem); display:flex; flex-direction:column; gap:var(--sp-3); }
.formation-row__body h2 { font-size:var(--step-3); }
.formation-row__meta { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.formation-row__body p { color:var(--ink-soft); font-size:var(--step-0); }
.formation-row__actions { display:flex; flex-wrap:wrap; gap:var(--sp-3); margin-top:auto; padding-top:var(--sp-2); }
@media (min-width:54rem) {
  .formation-row { grid-template-columns: 1fr 1.1fr; }
  .formation-row.is-reverse .ph,
  .formation-row.is-reverse .formation-row__img { order:2; }
}

/* Étapes de candidature */
.steps { display:grid; grid-template-columns:1fr; gap:var(--sp-4); counter-reset: step; }
.step { background:var(--paper); border:1px solid var(--line); padding:var(--sp-4); }
.step::before { counter-increment: step; content: counter(step,decimal-leading-zero);
  font-family:var(--font-head); font-weight:700; color:var(--olive); font-size:var(--step-1); display:block; }
.step h3 { font-size:var(--step-1); margin-top:0.3rem; }
.step p { color:var(--ink-soft); font-size:var(--step--1); margin-top:0.3rem; }
@media (min-width:40rem) { .steps { grid-template-columns:repeat(2,1fr); } }
@media (min-width:64rem) { .steps { grid-template-columns:repeat(4,1fr); } }

/* Bloc Formation continue (mention "en plus") */
.also-fc { display:grid; grid-template-columns:1fr; gap:var(--sp-3) var(--sp-6); align-items:center;
  border:1px solid var(--line); border-left:0.35rem solid var(--olive); background:var(--paper-2);
  padding:clamp(1.4rem,3.5vw,2.2rem); }
.also-fc__txt h2 { font-size:var(--step-2); margin-top:0.3rem; }
.also-fc__txt p { color:var(--ink-soft); font-size:var(--step-0); margin-top:0.5rem; max-width:60ch; }
.also-fc__actions { display:flex; flex-wrap:wrap; gap:var(--sp-3); }
@media (min-width:50rem) { .also-fc { grid-template-columns:1.6fr auto; } }