/* ============================================================
   v4 CONTRAST PASS (target WCAG AA 4.5:1)
   FULLY REVERTIBLE: delete the <link ... v4-contrast.css> line
   in index.html to undo every change in this file.
   ============================================================ */

/* ---- AA-safe accent FILL that follows the coral/blue toggle ----
   (raw accent gave white text only ~3.1; these darker shades give ~5-6.5) ---- */
.ivo-app[data-accent="coral"],.v3x[data-accent="coral"]{ --aa-fill:#c43e20; --aa-fill-h:#a8341a; }
.ivo-app[data-accent="blue"], .v3x[data-accent="blue"] { --aa-fill:#1d4ed8; --aa-fill-h:#1a44bd; }

/* primary buttons */
.ivo-btn-primary,
.v3x .btn-primary{
  background:var(--aa-fill) !important; border-color:var(--aa-fill) !important;
}
.ivo-btn-primary:hover,
.v3x .btn-primary:hover{
  background:var(--aa-fill-h) !important; border-color:var(--aa-fill-h) !important;
}

/* coral/blue audience-tab active pills (white text) */
.ivo-app #m-a1:checked~.m-aud-tabs label[for=m-a1],
.ivo-app #m-a2:checked~.m-aud-tabs label[for=m-a2],
.ivo-app #m-a3:checked~.m-aud-tabs label[for=m-a3],
.ivo-app #m-a4:checked~.m-aud-tabs label[for=m-a4],
.ivo-app #m-a5:checked~.m-aud-tabs label[for=m-a5]{ background:var(--aa-fill) !important; border-color:var(--aa-fill) !important; }

/* node-map hub: white "IVO" needs the darkened accent fill */
.v3x .nm-hub{ background:var(--aa-fill) !important; border-color:var(--aa-fill) !important; }

/* ---- "Supporting organizations" label: too dim - theme-aware ---- */
.v3x[data-mode="dark"] .logos-label{ color:#8b919b !important; }
.v3x[data-mode="light"] .logos-label{ color:#5f636b !important; }

/* ---- code-window comment grey: lift to readable on the dark editor ---- */
.v3x .codewin .c{ color:#7e8696 !important; }

/* ---- LIGHT-MODE token bumps (must beat the 2-attribute originals) ---- */
.ivo-app[data-mode="light"][data-accent="coral"]{ --accent-text:#c5391a; }
.v3x[data-mode="light"][data-accent="coral"]{ --acc-ink:#c5391a; }
.ivo-app[data-mode="light"]{ --ink-3:#6a6e76; }
.v3x[data-mode="light"]{ --ink-3:#6a6e76; }

/* ---- footer text: theme-aware (dark footer -> light text; white footer -> dark text) ---- */
.v3x[data-mode="dark"] .footer a{ color:#aab0bb !important; }
.v3x[data-mode="dark"] .footer a:hover{ color:#fff !important; }
.v3x[data-mode="dark"] .footer h4{ color:#8a909a !important; }
.v3x[data-mode="dark"] .footer .fnote,
.v3x[data-mode="dark"] .footer p,
.v3x[data-mode="dark"] .footer-bot > span,
.v3x[data-mode="dark"] .footer small{ color:#9aa0aa !important; }
.v3x[data-mode="light"] .footer a{ color:#45494f !important; }
.v3x[data-mode="light"] .footer a:hover{ color:#14161b !important; }
.v3x[data-mode="light"] .footer h4{ color:#6a6e76 !important; }
.v3x[data-mode="light"] .footer .fnote,
.v3x[data-mode="light"] .footer p,
.v3x[data-mode="light"] .footer-bot > span,
.v3x[data-mode="light"] .footer small{ color:#5a5f67 !important; }

/* ---- LIGHT-MODE semantic text (green success / amber warning) ---- */
.v3x[data-mode="light"]{ --green:#15803d; --amber:#8a5a00; }
