/* =====================================================================
   NEXA Forward — Pygments (chargé EN DERNIER, après pygments.css)
   Le style Sphinx « friendly » est pensé pour fond clair ; sur Obsidian
   900 les clés YAML (.nt) et strings JSON/YAML (.s2) sont illisibles.
   Spécificité élevée + !important pour gagner la cascade.
   ===================================================================== */

.rst-content div[class^="highlight"] pre,
.rst-content .highlight pre,
.highlight pre {
  color: var(--color-obsidian-50) !important;
}

.rst-content .highlight .hll,
.highlight .hll {
  background-color: var(--color-obsidian-800) !important;
}

/* Clés YAML / tags / attributs JSON */
.rst-content .highlight .nt,
.rst-content .highlight .na,
.rst-content .highlight .nf,
.rst-content .highlight .fm,
.rst-content .highlight .nl,
.rst-content .highlight .nn,
.rst-content .highlight .nc,
.highlight .nt,
.highlight .na,
.highlight .nf,
.highlight .fm,
.highlight .nl,
.highlight .nn,
.highlight .nc {
  color: var(--color-gold-400) !important;
  font-weight: var(--font-weight-semibold) !important;
}

/* Strings (JSON clés+valeurs, YAML valeurs, SQL, etc.) */
.rst-content .highlight .s,
.rst-content .highlight .sa,
.rst-content .highlight .sb,
.rst-content .highlight .sc,
.rst-content .highlight .dl,
.rst-content .highlight .sd,
.rst-content .highlight .s2,
.rst-content .highlight .se,
.rst-content .highlight .sh,
.rst-content .highlight .si,
.rst-content .highlight .sx,
.rst-content .highlight .sr,
.rst-content .highlight .s1,
.rst-content .highlight .ss,
.highlight .s,
.highlight .sa,
.highlight .sb,
.highlight .sc,
.highlight .dl,
.highlight .sd,
.highlight .s2,
.highlight .se,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .sr,
.highlight .s1,
.highlight .ss {
  color: var(--color-obsidian-50) !important;
}

/* Variables, mots-clés, nombres */
.rst-content .highlight .nv,
.rst-content .highlight .vc,
.rst-content .highlight .vg,
.rst-content .highlight .vi,
.rst-content .highlight .vm,
.highlight .nv,
.highlight .vc,
.highlight .vg,
.highlight .vi,
.highlight .vm {
  color: var(--color-gold-300) !important;
}

.rst-content .highlight .k,
.rst-content .highlight .kc,
.rst-content .highlight .kd,
.rst-content .highlight .kn,
.rst-content .highlight .kr,
.rst-content .highlight .kt,
.rst-content .highlight .ow,
.highlight .k,
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kr,
.highlight .kt,
.highlight .ow {
  color: var(--color-gold-500) !important;
  font-weight: var(--font-weight-semibold) !important;
}

.rst-content .highlight .m,
.rst-content .highlight .mb,
.rst-content .highlight .mf,
.rst-content .highlight .mh,
.rst-content .highlight .mi,
.rst-content .highlight .mo,
.rst-content .highlight .il,
.highlight .m,
.highlight .mb,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .mo,
.highlight .il {
  color: var(--color-chart-verdant) !important;
}

.rst-content .highlight .c,
.rst-content .highlight .ch,
.rst-content .highlight .cm,
.rst-content .highlight .cpf,
.rst-content .highlight .c1,
.highlight .c,
.highlight .ch,
.highlight .cm,
.highlight .cpf,
.highlight .c1 {
  color: var(--color-obsidian-400) !important;
  font-style: italic !important;
}

.rst-content .highlight .o,
.rst-content .highlight .p,
.highlight .o,
.highlight .p {
  color: var(--color-obsidian-300) !important;
}

.rst-content .highlight .nb,
.rst-content .highlight .bp,
.highlight .nb,
.highlight .bp {
  color: var(--color-info-500) !important;
}
