/* ────────────────────────────────────────────────────────────────
   OFFRES DE FORMATION — gabarit fiche de décision
   Chargé par post.hbs pour les posts « Offre de formation ».
   Scopé sur body.tag-offre-formation : aucun effet sur les autres posts.
   Tokens existants uniquement. Corail : bouton principal du CTA final.
──────────────────────────────────────────────────────────────── */

body.tag-offre-formation { --measure-article: 64ch; }

/* ── Titres : pas de césure automatique, espace insécable géré en JS ── */
body.tag-offre-formation h1,
body.tag-offre-formation .gh-content h2,
body.tag-offre-formation .gh-content h3,
body.tag-offre-formation .post-next-layout h2 {
  hyphens: manual;
  -webkit-hyphens: manual;
  overflow-wrap: break-word;
  text-wrap: balance;
}

/* ── Rythme vertical régulier dans le corps ── */
body.tag-offre-formation .gh-content > * + * { margin-top: 1.1rem; }
body.tag-offre-formation .gh-content > h2 { margin-top: 3rem; }
body.tag-offre-formation .gh-content > h3 { margin-top: 2rem; }
body.tag-offre-formation .gh-content > h2 + *,
body.tag-offre-formation .gh-content > h3 + * { margin-top: .75rem; }

/* ── Bandeau de faits clés (.offer-facts) ───────────────────────── */
.offer-facts-slot { background: var(--paper-alt); border-bottom: 1px solid var(--line-light); }
.offer-facts-slot[hidden] { display: none; }
.offer-facts-slot .offer-facts { margin: 0; padding-block: 1.5rem; }

.offer-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.5rem;
  margin: 0 0 2rem;
  padding: 0;
}
.offer-facts > div {
  padding: .9rem 0;
  border-top: 1px solid var(--line-light);
  min-width: 0;
}
.offer-facts dt {
  margin: 0 0 .3rem;
  font-family: var(--font-sans);
  font-size: .75rem;
  font-weight: 600;
  font-variant-caps: all-small-caps;
  letter-spacing: var(--tracking-label);
  text-transform: lowercase;
  color: var(--ink-muted);
}
.offer-facts dd {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--cadre);
}
@media (min-width: 900px) {
  .offer-facts { grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); }
}

/* ── Bloc « Format, prix, financement » : dl en grille ──────────── */
body.tag-offre-formation .gh-content dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: 1rem 0 0;
  border-bottom: 1px solid var(--line-light);
}
body.tag-offre-formation .gh-content dt {
  margin: 0;
  padding: .9rem 0 .15rem;
  border-top: 1px solid var(--line-light);
  font-family: var(--font-sans);
  font-size: .8125rem;
  font-weight: 600;
  font-variant-caps: all-small-caps;
  letter-spacing: var(--tracking-label);
  text-transform: lowercase;
  color: var(--ink-muted);
}
body.tag-offre-formation .gh-content dd {
  margin: 0;
  padding: 0 0 .9rem;
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--ink);
}
@media (min-width: 640px) {
  body.tag-offre-formation .gh-content dl { grid-template-columns: 10rem minmax(0, 1fr); column-gap: 1.5rem; }
  body.tag-offre-formation .gh-content dt { padding: .9rem 0; }
  body.tag-offre-formation .gh-content dd { padding: .9rem 0; border-top: 1px solid var(--line-light); }
}

/* ── Compris / sur devis ────────────────────────────────────────── */
.offer-included,
.offer-extra {
  margin-block: 1.5rem;
  padding: 1.25rem 1.5rem;
}
.offer-included { background: var(--surface); border: 1px solid var(--line-light); }
.offer-extra    { background: var(--paper-rose); border: 1px solid var(--cadre-600); }
.offer-included > :first-child,
.offer-extra > :first-child { margin-top: 0; }
.offer-included > :last-child,
.offer-extra > :last-child { margin-bottom: 0; }
.offer-status {
  margin: 0 0 .5rem;
  font-family: var(--font-sans);
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--cadre);
}

/* ── Témoignages compacts ───────────────────────────────────────── */
body.tag-offre-formation .snip--temoignage {
  column-gap: 14px;
  padding: 10px 0;
}
body.tag-offre-formation .temoignage__mark { width: 28px; height: 28px; margin-top: 2px; }
body.tag-offre-formation .temoignage__label { margin-bottom: 6px; }
body.tag-offre-formation .temoignage__quote { font-size: 17px; line-height: 1.5; }
body.tag-offre-formation .temoignage__attr { margin-top: 10px; }

.offer-quotes {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem 1.5rem;
}
.offer-quotes .snip--temoignage {
  grid-template-columns: minmax(0, 1fr);
  border-top: 1px solid var(--line-light);
}
.offer-quotes .temoignage__mark { display: none; }
@media (min-width: 900px) {
  .offer-quotes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ── Sommaire ──────────────────────────────────────────────────── */
body.tag-offre-formation .reader-title { display: none; }
body.tag-offre-formation .reader-bar { background: var(--paper-alt); }
body.tag-offre-formation .reader-grid {
  grid-template-columns: minmax(0, 1fr);
  padding-block: 0;
}

.toc-details { border-bottom: 1px solid var(--line-light); }
.toc-details:not(:has(.toc:not([hidden]))) { display: none; }
.toc-details summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding-block: 10px;
  font-family: var(--font-sans);
  font-size: .9375rem;
  font-weight: 600;
  color: var(--cadre);
  cursor: pointer;
}
.toc-details summary:focus-visible { outline: var(--focus-ring); outline-offset: 3px; }
.toc-details .toc {
  display: grid;
  gap: 2px;
  padding-bottom: 1rem;
}
.toc-details .toc a { background: transparent; padding: 8px 0; min-height: 44px; font-weight: 600; }

/* Desktop : le rail (progression + section courante) passe à droite du texte */
@media (min-width: 1100px) {
  body.tag-offre-formation .reader-bar { display: none; }
  body.tag-offre-formation .article-shell,
  body.tag-offre-formation .article-shell.has-side,
  body.tag-offre-formation .article-shell.is-short-read {
    grid-template-columns: minmax(0, var(--measure-article)) minmax(200px, 260px);
    justify-content: center;
  }
  body.tag-offre-formation .article { grid-column: 1; grid-row: 1; }
  body.tag-offre-formation .rail { display: grid; grid-column: 2; grid-row: 1; }
  body.tag-offre-formation .side-snippets { grid-column: 1 / -1; }
}

/* ── CTA final : fond sombre, corail réservé au bouton principal ── */
body.tag-offre-formation .post-next { background: var(--cadre); color: var(--on-dark); }
body.tag-offre-formation .post-next-layout p { color: var(--on-dark-2); }
body.tag-offre-formation .post-next-layout h2 { font-size: clamp(32px, 4vw, 52px); }
body.tag-offre-formation .post-next-layout .button:not(.button--quiet) {
  background: var(--resolution-cta);
  color: var(--surface);
}
.post-next__secondary {
  margin: 1.25rem 0 0;
  font-family: var(--font-sans);
  font-size: .9375rem;
}
.post-next__secondary a { color: var(--on-dark); text-decoration: underline; text-underline-offset: 3px; }
.post-next__secondary a:focus-visible { outline: 2px solid var(--on-dark); outline-offset: 3px; }
