/* d807-contrast-safe.css — D1530 contrast fix — WCAG AA */
/* Issue: security@weval-consulting.com crème (#faf7f5) sur vert (#10b981) ratio=2.38 → non conforme */
/* Fix: texte sombre #0f172a sur vert → ratio ~7.2 ✓ WCAG AA */
.contact-box a {
  color: #0f172a !important;
}

/* ============================================================
   WEVIA CONTRAST GUARD — D-UXAUDIT 2026-07-10
   Verified-selector fixes from Playwright effective-bg audit.
   WCAG 2.1 AA (4.5:1 body / 3:1 large). Additive, class-scoped.
   Owner: Director UX pass. No _v2 file — appended to canonical guard.
   ============================================================ */

/* --- P1: .tag badges — indigo-on-indigo 1.75:1 (nos-solutions, actualites) --- */
/* Fix: dark purple text on pale purple fill -> ~12:1 */
span.tag,
.tag {
  color: #26215c !important;              /* purple-900 */
  background-color: #eeedfe !important;    /* purple-50 */
}
/* active nav pill same bug */
.nav-link.active,
.navlink.active,
a.active.tag,
.active.tag {
  color: #26215c !important;
  background-color: #eeedfe !important;
}

/* --- P2: .status-pill "We Recommend" — blue-on-blue 1:1 (technology-radar) --- */
.status-pill {
  color: #042c53 !important;               /* blue-900 */
  background-color: #e6f1fb !important;     /* blue-50 */
}

/* --- P3: Trust Center badge — green-on-green 1:1 --- */
.badge[style*="16"],
.trust .badge,
.badge.badge-trust {
  color: #04342c !important;               /* teal-900 */
  background-color: #e1f5ee !important;     /* teal-50 */
}

/* --- P4: use-cases category chips — text == bg color 1:1 --- */
/* These chips set color and background to the SAME hex. Force white text
   on the colored fill (fills are already saturated 600-level colors). */
.uc-tag, .case-tag, .sector-chip, .badge-sector,
[class*="chip"][style*="background"] {
  color: #ffffff !important;
}

/* --- P5: avatar initials — white on light gray 1.11:1 --- */
.avatar, .ceo-avatar, .author-avatar, .d492-ceo-avatar {
  color: #1e1b4b !important;               /* indigo-950 on light circle */
  background-color: #e0e7ff !important;     /* indigo-100 */
  font-weight: 600 !important;
}

/* --- P6: md-intro-badge — near-white on cream 1.06:1 --- */
.md-intro-badge {
  color: #26215c !important;
  background-color: #eeedfe !important;
}

/* --- P7: lang toggle buttons — white on cream 1.07:1 --- */
.weval-ml-btn, .lang-toggle, .btn-lang {
  color: #1e293b !important;
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
}

/* --- P8: CTA buttons — white on indigo #6366f1 (4.47:1, just under) --- */
/* Darken the indigo fill to indigo-800 -> ~8:1 white text */
.service-button, .d497-cta, .d492-ceo-cta,
a.cta-primary, button.cta-primary,
.cta-btn-primary, .btn-primary-indigo {
  background-color: #312e81 !important;    /* indigo-900 */
  color: #ffffff !important;
}
/* audit / demo CTA anchors that were flagged white-on-white by parser:
   ensure the indigo fill is present and text white */
a[href*="audit"].btn,
a[href*="diagnostic"].btn {
  background-color: #312e81 !important;
  color: #ffffff !important;
}

/* --- P9: indigo link text on white (4.47:1 -> 7:1) --- */
.footer-nav-link, .contact-value, .d497-dept, .d492-ceo-role,
.p29-3d-count, a.link-indigo {
  color: #4338ca !important;               /* indigo-700, passes on white */
}

/* --- P10: .flag-tag FLAGSHIP eyebrow (4.04:1 -> 7:1) --- */
.flag-tag, .stag {
  color: #4338ca !important;               /* indigo-700 */
}

/* --- P11: suite count chips white-on-mid (3.1-3.7:1) --- */
/* Darken the chip backgrounds one step; text stays white */
.suite-cnt {
  color: #ffffff !important;
  font-weight: 600 !important;
}
.suite-cnt[style*="184"], .suite-cnt[style*="b88a2e"] { background-color:#8a5a00 !important; } /* amber darker */
.suite-cnt[style*="13, 148"], .suite-cnt[style*="0d9488"] { background-color:#0f5132 !important; } /* teal darker */
.suite-cnt[style*="220"], .suite-cnt[style*="dc3e3e"] { background-color:#991b1b !important; } /* red darker */

/* --- P12: muted grays just under threshold (author/office/subtitle) --- */
.author-context, .office-meta, .subtitle, .sd, .sub {
  color: #475569 !important;               /* slate-600, 7:1 on white */
}
.p29-3d-name, em.hero-em, .md-muted {
  color: #64748b !important;               /* slate-500, passes at 3:1 large */
}
/* office chips on gradient bg -> force readable */
.office {
  color: #f8fafc !important;
}

/* --- P13: Trust Center dark-bg headings reading dark (1.35:1) --- */
/* Page bg is #0a0a0c; these headings were dark slate. Force light. */
.trust h1, .trust h2, .trust-center h1, .trust-center h2,
body[data-page="trust"] h1, body[data-page="trust"] h2 {
  color: #f1f5f9 !important;
}

/* --- P14: category buttons on radar (3:1 -> 4.5:1) --- */
.cat-btn { color: #475569 !important; }
.cat-btn.active { color: #ffffff !important; }
.stats-val { color: #0f172a !important; }

/* --- P15: advisory footer links teal-on-dark (2.34:1) --- */
.advisory-footer a, footer .hover\:text-teal-400 {
  color: #5dcca5 !important;               /* teal-200 on dark */
}

/* ============================================================
   SPRINT3 A11Y — D-UXAUDIT 2026-07-11
   Touch targets >=44px (UI controls only; prose links WCAG-exempt),
   min font 12px on identified classes, skip-link focus styling.
   ============================================================ */

/* --- T1: nav & footer links — 44px hit area via padding --- */
.nav-link, .footer-nav-link, .lk, .contact-value,
a.hover\:text-teal-400, .text-gray-700 a, footer a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* --- T2: demo-agents & CEO controls --- */
.d497-cta, .d497-filter-btn, .d492-ceo-cta, .et, .db,
.cat-btn, button.tag, .weval-ml-btn {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* --- T3: carousel dots — keep visual size, expand hit area --- */
.carousel-3d-dot { position: relative !important; }
.carousel-3d-dot::before {
  content: '';
  position: absolute;
  inset: -16px;
}

/* --- T4: form selects --- */
select { min-height: 44px !important; }

/* --- F1: min 12px font on badge/meta classes (radar + demo + products + solutions) --- */
.tag, .suite-tag, .suite-cnt, .kpi-l, .flag-tag, .stag,
.status-pill, .card-stars-label, .card-lang, .card-license,
.replaces-badge, .d497-meta-item, .d497-dept, .gp,
.md-intro-badge, .badge {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
/* demo-agents CTA text was <12 too */
.d497-cta { font-size: 13px !important; }

/* --- S1: skip-link visible & contrasted on focus --- */
a[href="#main"], a[href="#content"], .skip-link {
  position: absolute;
  left: -9999px;
}
a[href="#main"]:focus, a[href="#content"]:focus, .skip-link:focus {
  position: fixed !important;
  left: 12px !important;
  top: 12px !important;
  z-index: 99999 !important;
  background: #1e1b4b !important;
  color: #ffffff !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.3) !important;
}

/* --- SPRINT3-R2 2026-07-11: remaining identified selectors --- */
/* demo-agents: strong has own smaller rule, override explicitly */
.d497-meta-item strong, .d492-ceo-meta strong,
.dc-erp, .dc-m, .d492-ceo-role, .d492-ceo-meta,
.p29-3d-count, .p28-case-result-lbl,
.d453-scenario-btn .role, .d453-scenario-btn .ttl, .d453-scenario-btn .gain {
  font-size: 12px !important;
}
/* technology-radar legend */
.legend-count, .legend-title, .mono { font-size: 12px !important; }
/* service template footer link columns (44px hit area) */
.footer-links a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 8px 0 !important;
}
.logo { min-height: 44px !important; display: inline-flex !important; align-items: center !important; }

/* SPRINT3-R3: last identified classes (min-size bump, low-risk) */
.role, .ttl, .gain, .p36-partner-label { font-size: 12px !important; }


/* --- D1531: avatar-picker (.hdr) header title black-on-black ---
   .hdr bg = dark navy linear-gradient(#0f1629,#1a2035);
   .hdr h1 color = #4b5563 (slate-600) => ~1.8:1. d807-ultimate
   'html body h1:not(#_d837_)' (1,0,3 !important) re-darkens, beating
   D753 white. Fix: force white on the .hdr dark-header pattern only,
   specificity (1,1,3) to win, loads after ultimate. WCAG ~17:1. */
html body .hdr h1:not(#_wevia_contrast_) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  animation: none !important;
}
