/* v7.00 — mode accessibilité (réglages posés par static/js/a11y.js sur <html data-a11y-…>).
   Les règles ci-dessous passent AVANT les designs de l'application (thèmes, fonds photo, couleurs perso, luminosité perso). */

/* ----- contraste renforcé : mêmes variables que le thème, imposées (même contre les couleurs perso posées en style en ligne) ----- */
html[data-a11y-contrast="dark"] body {
  --bg-void: #000 !important; --bg-page: #000 !important; --bg-surface: #0a0a0a !important; --bg-surface-2: #141414 !important;
  --bg-surface-hover: #1f1f1f !important; --border: #fff !important; --border-soft: #bdbdbd !important;
  --text-primary: #fff !important; --text-secondary: #f0f0f0 !important; --text-muted: #d9d9d9 !important; --on-bg-text-color: #fff !important;
  --accent: #ffe14d !important; --accent-strong: #ffe14d !important; --accent-soft: rgba(255,225,77,.25) !important; --on-accent: #000 !important;
  --status-a_postuler: #d6dcff !important; --status-envoyee: #8ec1ff !important; --status-premier_entretien: #ffc766 !important;
  --status-entretiens_suivants: #ffa3a3 !important; --status-offre: #5df0a8 !important; --status-refuse: #e0e0e0 !important;
  --relance: #ff8aa0 !important; --shadow-card: none !important; color-scheme: dark;
}
html[data-a11y-contrast="light"] body {
  --bg-void: #fff !important; --bg-page: #fff !important; --bg-surface: #fff !important; --bg-surface-2: #f2f2f2 !important;
  --bg-surface-hover: #e6e6e6 !important; --border: #000 !important; --border-soft: #444 !important;
  --text-primary: #000 !important; --text-secondary: #111 !important; --text-muted: #222 !important; --on-bg-text-color: #000 !important;
  --accent: #ffd400 !important; --accent-strong: #5a3d00 !important; --accent-soft: rgba(255,212,0,.35) !important; --on-accent: #000 !important;
  --status-a_postuler: #2b3558 !important; --status-envoyee: #0b3d91 !important; --status-premier_entretien: #6b3a00 !important;
  --status-entretiens_suivants: #7a0f0f !important; --status-offre: #064d31 !important; --status-refuse: #2b2f3a !important;
  --relance: #8f0f2a !important; --shadow-card: none !important; color-scheme: light;
}
html[data-a11y-contrast] body,
html[data-a11y-contrast] .app-shell,
html[data-a11y-contrast] .content,
html[data-a11y-contrast] main { background: var(--bg-page) !important; background-image: none !important; color: var(--text-primary); }
html[data-a11y-contrast] .sidebar { background: var(--bg-void) !important; }
/* plus de photos, de dégradés ni d'étoiles : le contraste prime sur le design */
html[data-a11y-contrast] .stars-container, html[data-a11y-contrast] .app-stars-container, html[data-a11y-contrast] .shooting-star,
html[data-a11y-contrast] [class*="moon"], html[data-a11y-contrast] canvas.bg-canvas { display: none !important; }
html[data-a11y-contrast] :is(.btn, .btn-ghost, .btn-primary, input, select, textarea, .dash-card, .settings-card, .modal-box, .pill, details, table, th, td) {
  border-color: var(--border) !important;
}
html[data-a11y-contrast] :is(.btn, input:not([type=checkbox]):not([type=radio]), select, textarea, .dash-card, .settings-card, .modal-box) { border-width: 2px !important; border-style: solid !important; }
html[data-a11y-contrast] :is(.btn-primary, .btn.btn-primary) { background: var(--accent) !important; color: var(--on-accent) !important; }
html[data-a11y-contrast] :is(.btn-ghost) { background: transparent !important; color: var(--text-primary) !important; }
html[data-a11y-contrast] :is(.dash-card, .settings-card, .modal-box, details, input, select, textarea, .tabs-folder) {
  background: var(--bg-surface) !important; color: var(--text-primary) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html[data-a11y-contrast] :is(.empty-hint, .admin-muted, .settings-hint, label, small) { color: var(--text-secondary) !important; opacity: 1 !important; }
html[data-a11y-contrast] a { color: var(--accent-strong); text-decoration: underline; }
html[data-a11y-contrast="light"] a { color: #0b3d91; }
html[data-a11y-contrast] *:focus-visible { outline: 3px solid var(--accent-strong) !important; outline-offset: 2px !important; }
html[data-a11y-contrast="light"] *:focus-visible { outline-color: #000 !important; }

/* ----- liens soulignés, police lisible, espacement ----- */
html[data-a11y-links] a:not(.btn) { text-decoration: underline !important; text-underline-offset: 2px; }
html[data-a11y-font] body, html[data-a11y-font] :is(input, select, textarea, button) {
  font-family: Verdana, "Atkinson Hyperlegible", Tahoma, Arial, sans-serif !important; letter-spacing: .02em;
}
html[data-a11y-font] :is(h1, h2, h3, .page-title, .section-title, .brand) { font-family: Verdana, "Atkinson Hyperlegible", Tahoma, Arial, sans-serif !important; }
html[data-a11y-spacing] body { line-height: 1.7 !important; word-spacing: .12em; }
html[data-a11y-spacing] :is(p, li, label, td, .empty-hint) { line-height: 1.7 !important; }

/* ----- animations réduites ----- */
html[data-a11y-motion] *, html[data-a11y-motion] *::before, html[data-a11y-motion] *::after {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}
html[data-a11y-motion] :is(.stars-container, .app-stars-container, .shooting-star) { display: none !important; }

/* ----- pages publiques (vitrine, accueil, connexion) : classes vt-* ----- */
html[data-a11y-contrast] :is([class^="vt-"], [class*=" vt-"]) { background-image: none !important; border-color: var(--border) !important; }
html[data-a11y-contrast] :is(section, header, footer, nav)[class*="vt-"], html[data-a11y-contrast] .vt-container { background: var(--bg-page) !important; color: var(--text-primary) !important; }
html[data-a11y-contrast] :is(h1, h2, h3, h4, p, li, span, div, label)[class*="vt-"] { color: var(--text-primary) !important; }
html[data-a11y-contrast] a[class*="vt-btn"]:not(.vt-btn-ghost), html[data-a11y-contrast] button[class*="vt-btn"]:not(.vt-btn-ghost) { background: var(--accent) !important; color: var(--on-accent) !important; }

/* ----- texte agrandi : les barres d'actions passent à la ligne au lieu de déborder ----- */
html[data-a11y-size] .topbar { flex-wrap: wrap; }
html[data-a11y-size] :is(.topbar > *, .page-actions, .toolbar) { min-width: 0; }
html[data-a11y-size] :is(.cview-tabs, .tabs-folder-tabs, .a-faire-tabs) { flex-wrap: wrap; }
html[data-a11y-size] table { display: block; overflow-x: auto; }
html[data-a11y-size] img, html[data-a11y-size] video { max-width: 100%; height: auto; }
html[data-a11y-size] .vt-nav { flex-wrap: wrap; row-gap: 8px; }
html[data-a11y-size] .vt-links { flex-wrap: wrap; }
html[data-a11y-contrast] [class*="job-score-badge"] { background: var(--bg-surface) !important; color: var(--text-primary) !important; border: 2px solid var(--border) !important; text-shadow: none !important; }
html[data-a11y-contrast] [class*="wizard-step-label"], html[data-a11y-contrast] .wizard-step-item:has(.wizard-dot-active) .wizard-step-label { color: var(--text-primary) !important; }
html[data-a11y-contrast="dark"] { background: #000 !important; }
html[data-a11y-contrast="light"] { background: #fff !important; }
