/* ══════ ARTICLES DU BLOG (lab-*.html) : alignement sur la DA Vgama ══════
   Chargée en dernier dans chaque article pour primer sur les styles inline hérités.
   Classes répétées (.x.x.x) volontairement : elles relèvent la spécificité au-dessus
   des anciennes règles (ex. « html body .article-body .toc-label »).
   DA : Inter (IBM Plex Mono pour les étiquettes), gris foncé #292929, cartes blanches
   arrondies avec large bande diagonale, sans puces, sans traits, sans gros chiffres. */

/* ── Typographie ── */
html body .article-title.article-title,
html body .article-content.article-content h2,
html body .article-content.article-content h3,
html body .article-content.article-content h4 {
  font-family:'Inter',-apple-system,sans-serif !important;
  color:#292929 !important;
  letter-spacing:-.015em !important;
}
html body .article-content.article-content h2 { font-size:28px !important; font-weight:700 !important; line-height:1.25 !important; margin:72px 0 20px !important; }
html body .article-content.article-content h3 { font-size:19px !important; font-weight:600 !important; line-height:1.35 !important; margin:36px 0 12px !important; }
html body .article-content.article-content > h2:first-child,
html body .article-content.article-content > h3:first-child { margin-top:0 !important; }
html body .article-subtitle.article-subtitle,
html body .article-content.article-content p,
html body .article-content.article-content li,
html body .article-content.article-content td,
html body .article-content.article-content th {
  font-family:'Inter',-apple-system,sans-serif !important;
}
html body .article-content.article-content p,
html body .article-content.article-content li {
  font-size:16px !important;
  line-height:1.75 !important;
  color:#555 !important;
}
html body .article-content.article-content strong,
html body .article-content.article-content b { color:#292929 !important; font-weight:600 !important; }
html body .article-content.article-content em { color:#737373 !important; }
html body .article-content.article-content a:not(.art-cta-btn) { color:#292929 !important; text-decoration:underline !important; text-decoration-color:#C4C4C4 !important; text-underline-offset:3px; }

/* ── Listes : sans puces ; listes numérotées en chiffres discrets ── */
html body .article-content.article-content ul {
  list-style:none !important;
  padding-left:18px !important;
  margin:0 0 24px !important;
  display:flex; flex-direction:column; gap:10px;
}
html body .article-content.article-content ul li { margin:0 !important; padding-left:0 !important; }
html body .article-content.article-content ul li::before,
html body .article-content.article-content ul li::marker { content:none !important; display:none !important; }
html body .article-content.article-content ol { padding-left:22px !important; margin:0 0 24px !important; }
html body .article-content.article-content ol li { margin-bottom:10px !important; padding-left:4px !important; }
html body .article-content.article-content ol li::marker { color:#292929 !important; font-weight:600 !important; font-size:inherit !important; }

/* ── Aucun trait de séparation ── */
html body .article-content.article-content hr,
html body .article-sep.article-sep.article-sep { display:none !important; }

/* ── Encadrés : cartes blanches arrondies avec large bande diagonale ── */
html body .article-block.article-block.article-block,
html body .signal-card.signal-card.signal-card,
html body .stat-block.stat-block.stat-block,
html body .pebtd-card.pebtd-card.pebtd-card,
html body .roles-block.roles-block.roles-block,
html body .compare-block.compare-block.compare-block,
html body .article-content.article-content blockquote {
  background:linear-gradient(114deg, transparent 0 58%, #F5F5F5 58% 82%, transparent 82%) #fff !important;
  border:0 !important;
  border-radius:16px !important;
  box-shadow:0 1px 2px rgba(16,24,40,.04), 0 16px 40px -32px rgba(16,24,40,.35) !important;
  padding:22px 26px !important;
  margin:20px 0 !important;
}
html body .article-block.article-block.article-block::before,
html body .signal-card.signal-card.signal-card::before,
html body .stat-block.stat-block.stat-block::before,
html body .pebtd-card.pebtd-card.pebtd-card::before,
html body .compare-block.compare-block.compare-block::before { content:none !important; display:none !important; }
html body .article-block.article-block.article-block p,
html body .signal-card.signal-card.signal-card p,
html body .pebtd-card.pebtd-card.pebtd-card p,
html body .compare-block.compare-block.compare-block li { font-size:15px !important; line-height:1.7 !important; color:#555 !important; margin:0 0 8px !important; }
html body .article-block.article-block.article-block p:last-child,
html body .signal-card.signal-card.signal-card p:last-child,
html body .pebtd-card.pebtd-card.pebtd-card p:last-child { margin-bottom:0 !important; }
html body .pebtd-card.pebtd-card.pebtd-card strong,
html body .signal-card.signal-card.signal-card strong { color:#292929 !important; }

/* Chiffres-clés : plus de gros chiffres colorés, intégrés à la phrase */
html body .stat-block.stat-block.stat-block { display:block !important; }
html body .stat-number.stat-number.stat-number {
  display:inline !important;
  font-family:'Inter',-apple-system,sans-serif !important;
  font-size:15px !important; font-weight:600 !important; line-height:1.7 !important;
  color:#292929 !important; letter-spacing:0 !important;
  margin:0 4px 0 0 !important;
}
html body .stat-text.stat-text.stat-text { display:inline !important; font-size:15px !important; line-height:1.7 !important; color:#555 !important; margin:0 !important; }
html body .stat-text.stat-text.stat-text strong { display:inline !important; font-size:inherit !important; color:#292929 !important; margin:0 !important; }

/* Étiquettes : mono grise */
html body .error-label.error-label.error-label,
html body .error-sub.error-sub.error-sub,
html body .compare-label.compare-label.compare-label,
html body .toc-label.toc-label.toc-label {
  display:block;
  font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace !important;
  font-size:11px !important; font-weight:500 !important; line-height:1.4 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#9a9a9a !important;
}

/* Erreurs numérotées : plus de pastille numéro */
html body .error-number.error-number.error-number { display:none !important; }
html body .error-section.error-section.error-section { margin-top:64px !important; }
html body .error-label.error-label.error-label { margin:0 0 8px !important; }
html body .error-sub.error-sub.error-sub { margin:28px 0 10px !important; }
html body .error-title.error-title.error-title { font-family:'Inter',-apple-system,sans-serif !important; font-size:22px !important; font-weight:700 !important; line-height:1.3 !important; color:#292929 !important; margin:0 0 4px !important; }

/* Frise d'étapes : sans pastilles numérotées ni ligne verticale */
html body .timeline-dot.timeline-dot.timeline-dot { display:none !important; }
html body .timeline-step.timeline-step.timeline-step::before,
html body .timeline-step.timeline-step.timeline-step::after { display:none !important; content:none !important; }
html body .timeline.timeline.timeline { display:flex !important; flex-direction:column; gap:12px; margin:28px 0 !important; padding:0 !important; border:0 !important; }
html body .timeline-step.timeline-step.timeline-step {
  display:block !important; padding:20px 24px !important; margin:0 !important;
  background:linear-gradient(114deg, transparent 0 58%, #F5F5F5 58% 82%, transparent 82%) #fff !important;
  border:0 !important; border-radius:16px !important;
  box-shadow:0 1px 2px rgba(16,24,40,.04), 0 16px 40px -32px rgba(16,24,40,.35) !important;
}
html body .timeline-title.timeline-title.timeline-title { font-family:'Inter',-apple-system,sans-serif !important; font-size:16px !important; font-weight:600 !important; color:#292929 !important; margin:0 0 6px !important; }
html body .timeline-desc.timeline-desc.timeline-desc { font-size:15px !important; line-height:1.7 !important; color:#555 !important; margin:0 !important; }

/* Comparatif : deux cartes, étiquettes sur pastilles de la DA */
html body .compare-grid.compare-grid.compare-grid { gap:16px !important; }
html body .compare-block.compare-block.compare-block .compare-label { display:inline-block !important; width:fit-content; color:#292929 !important; border-radius:8px; padding:7px 12px; margin-bottom:16px !important; }
html body .compare-block.danger.danger.danger .compare-label { background:#EBD7B0 !important; }
html body .compare-block.success.success.success .compare-label { background:#C6E4D0 !important; }

/* Rôles */
html body .roles-block.roles-block.roles-block { padding:6px 0 !important; }
html body .role-row.role-row.role-row { border:0 !important; padding:16px 26px !important; }
html body .role-title.role-title.role-title { font-family:'Inter',-apple-system,sans-serif !important; color:#292929 !important; font-size:15px !important; font-weight:600 !important; }
html body .role-desc.role-desc.role-desc { color:#555 !important; font-size:15px !important; }

/* Formules KPI */
html body .kpi-formula.kpi-formula.kpi-formula {
  background:#F5F5F5 !important; border:0 !important; border-radius:10px !important;
  font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace !important; font-size:12.5px !important;
  color:#555 !important;
}

/* Tableaux : carte blanche, lignes en alternance plutôt qu'en traits */
html body .article-table-wrap.article-table-wrap.article-table-wrap { border:0 !important; border-radius:16px !important; background:#fff !important; box-shadow:0 1px 2px rgba(16,24,40,.04), 0 16px 40px -32px rgba(16,24,40,.35) !important; }
html body .article-table.article-table.article-table { border-collapse:collapse !important; width:100%; border:0 !important; }
html body .article-table.article-table.article-table th,
html body .article-table.article-table.article-table td { border:0 !important; padding:14px 18px !important; font-size:14px !important; line-height:1.55 !important; color:#555 !important; background:transparent !important; }
html body .article-table.article-table.article-table th { font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace !important; font-size:11px !important; font-weight:500 !important; letter-spacing:.08em !important; text-transform:uppercase; color:#737373 !important; background:#F5F5F5 !important; }
html body .article-table.article-table.article-table tbody tr:nth-child(even) td { background:#FAFAFA !important; }

/* ── Sommaire : gris, sans trait latéral ── */
html body .toc-label.toc-label.toc-label { margin:0 0 12px !important; }
html body .toc-list.toc-list.toc-list { border:0 !important; }
html body .toc-link.toc-link.toc-link {
  border:0 !important; padding:5px 0 !important;
  font-family:'Inter',-apple-system,sans-serif !important; font-size:13px !important; line-height:1.45 !important;
  color:#9a9a9a !important;
}
html body .toc-link.toc-link.toc-link:hover { color:#292929 !important; }
html body .toc-link.toc-link.toc-link.is-active { color:#292929 !important; font-weight:600 !important; border:0 !important; }

/* ── Lien « Prendre un rendez-vous » du haut : gris foncé ── */
html body .article-hero-cta.article-hero-cta.article-hero-cta,
html body .article-hero-cta.article-hero-cta.article-hero-cta .cta-text { color:#292929 !important; font-family:'Inter',-apple-system,sans-serif !important; }
html body .article-hero-cta.article-hero-cta.article-hero-cta::after,
html body .article-hero-cta.article-hero-cta.article-hero-cta .cta-text::after { background:#292929 !important; }

/* ── Bloc de fin d'article : bleu de la DA (comme la page Nos offres) ── */
html body .art-cta.art-cta.art-cta { background:#CCD9EE !important; }
html body .art-cta.art-cta.art-cta::before { background:rgba(255,255,255,.35) !important; }
html body .art-cta-tag.art-cta-tag.art-cta-tag { font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace !important; color:#1c3a6c !important; }

@media (max-width:900px) {
  html body .article-toc.article-toc.article-toc { border:0 !important; background:#fff; border-radius:16px !important; }
  html body .article-content.article-content h2 { font-size:24px !important; margin-top:56px !important; }
  html body .compare-grid.compare-grid.compare-grid { grid-template-columns:1fr !important; }
}
