/* MOHU Theme Contrast System — 2026-09-26
   Loaded LAST. Theme-aware readability correction without global SVG geometry changes. */
html{
 --mc-page:#f7f9fc;--mc-surface:#fff;--mc-surface2:#f3f7fb;--mc-text:#10213d;--mc-muted:#53657b;
 --mc-border:#aebdcd;--mc-link:#075fae;--mc-focus:#0b6f9e;--mc-icon:#173a63;--mc-input:#fff;--mc-placeholder:#66758a;
}
html[data-mohu-theme="dark"]{--mc-page:#0b1320;--mc-surface:#142033;--mc-surface2:#1d2b40;--mc-text:#f7fbff;--mc-muted:#d3deeb;--mc-border:#6e829b;--mc-link:#8ed9ff;--mc-focus:#72d4ff;--mc-icon:#eef7ff;--mc-input:#0f1b2c;--mc-placeholder:#b8c7d8}
html[data-mohu-theme="ocean"]{--mc-page:#e7f7fc;--mc-surface:#fafdff;--mc-surface2:#d9f1f8;--mc-text:#062d43;--mc-muted:#365d70;--mc-border:#77adbf;--mc-link:#045d8c;--mc-focus:#0369a1;--mc-icon:#074d6b;--mc-input:#f7fdff;--mc-placeholder:#526f7d}
html[data-mohu-theme="emerald"]{--mc-page:#eaf7ed;--mc-surface:#fbfffc;--mc-surface2:#d9efdf;--mc-text:#12331f;--mc-muted:#405f4c;--mc-border:#83b491;--mc-link:#0b6b35;--mc-focus:#0f766e;--mc-icon:#18562f;--mc-input:#f7fff9;--mc-placeholder:#536c59}
html[data-mohu-theme="sunset"]{--mc-page:#fff3e8;--mc-surface:#fffaf5;--mc-surface2:#ffe4cf;--mc-text:#3f1d12;--mc-muted:#6d493a;--mc-border:#d59c75;--mc-link:#a7350d;--mc-focus:#a82d4d;--mc-icon:#74331c;--mc-input:#fff8f1;--mc-placeholder:#715040}
html[data-mohu-theme="violet"]{--mc-page:#f5efff;--mc-surface:#fdfbff;--mc-surface2:#eadcff;--mc-text:#2b124f;--mc-muted:#5f4a7e;--mc-border:#ae91d5;--mc-link:#6424c8;--mc-focus:#7c3aed;--mc-icon:#50218c;--mc-input:#fbf8ff;--mc-placeholder:#67527f}
html[data-mohu-theme="purewhite"]{--mc-page:#fff;--mc-surface:#fff;--mc-surface2:#fff;--mc-text:#10213d;--mc-muted:#53657b;--mc-border:#aebdcd;--mc-link:#075fae;--mc-focus:#0b6f9e;--mc-icon:#173a63;--mc-input:#fff;--mc-placeholder:#66758a}

/* Core text: deliberately do not recolor buttons/badges here. */
html[data-mohu-theme] body{color:var(--mc-text)}
html[data-mohu-theme] :is(main,.main,.content,.dashboard,.container) :is(h1,h2,h3,h4,h5,h6,strong,b,legend,th,dt){color:var(--mc-text)!important}
html[data-mohu-theme] :is(main,.main,.content,.dashboard,.container) :is(p,li,td,dd,label,small,.muted,.text-muted,.help-text,.form-text,.meta,.description,.subtitle){color:var(--mc-muted)!important}
html[data-mohu-theme] :is(main,.main,.content,.dashboard,.container) a:not(.btn):not([class*="badge"]):not([class*="pill"]):not([class*="chip"]){color:var(--mc-link)}

/* Restore intentional foregrounds inside colored interactive/status components. */
html[data-mohu-theme] :is(button,.btn,[role="button"],[class*="badge"],[class*="pill"],[class*="chip"],[class*="tag"],[class*="status"],[class*="alert"]) :is(span,strong,b,small,i,em){color:inherit!important}
html[data-mohu-theme] :is(.topbar,.footer,.site-footer,.mohu-brand-footer) :is(h1,h2,h3,h4,h5,h6,p,li,small,strong,b,label,span,a){color:inherit}

/* Controls and placeholders. */
html[data-mohu-theme] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea,.form-control){background-color:var(--mc-input)!important;color:var(--mc-text)!important;-webkit-text-fill-color:var(--mc-text)!important;border-color:var(--mc-border)!important;opacity:1!important}
html[data-mohu-theme] :is(input,textarea)::placeholder{color:var(--mc-placeholder)!important;-webkit-text-fill-color:var(--mc-placeholder)!important;opacity:1!important}
html[data-mohu-theme] select option{background:var(--mc-surface)!important;color:var(--mc-text)!important}

/* Visible component boundaries and focus. */
html[data-mohu-theme] :is(input,select,textarea,.form-control,button,.btn,[role="button"]):focus-visible,
html[data-mohu-theme] a:focus-visible{outline:3px solid var(--mc-focus)!important;outline-offset:2px!important}
html[data-mohu-theme] :is(.card,.panel,.box,.section-card,.stat-card,.metric-card,.dashboard-card,.opportunity-card,.review-card,.feedback-card,.mohu-phase2-filterbox,.mohu-phase2-results){border-color:var(--mc-border)!important}
html[data-mohu-theme] :is(hr,.divider,[class*="divider"],[class*="separator"]){border-color:var(--mc-border)!important}

/* Professional mask icons use currentColor. Preserve each SVG/mask definition. */
html[data-mohu-theme] span.mohu-ui-icon,
html[data-mohu-theme] span.mohu-drawer-icon,
html[data-mohu-theme] span.mohu-stage6-menu-icon.mohu-ui-icon{color:inherit;opacity:1!important;filter:none!important}
html[data-mohu-theme] :is(.mohu-appearance-trigger,.mohu-nav-toggle,.mohu-stage6-header-link,.mohu-page-back){color:var(--mc-icon)!important;border-color:var(--mc-border)!important}

/* Dark theme: neutralize legacy light cards and dark-on-dark text. */
html[data-mohu-theme="dark"] :is(.card,.panel,.box,.section-card,.stat-card,.metric-card,.dashboard-card,.opportunity-card,.review-card,.feedback-card,.mohu-phase2-filterbox,.mohu-phase2-results,.mohu-global-search-box,.mohu-browse-panel,.mohu-i-opportunity-panel){background-color:var(--mc-surface)!important;color:var(--mc-text)!important}
html[data-mohu-theme="dark"] :is(table,thead,tbody,tr,td,th){border-color:var(--mc-border)!important}
html[data-mohu-theme="dark"] thead th{background:#1d2b40!important;color:#fff!important}

/* Theme picker must remain readable while switching. */
html[data-mohu-theme] .mohu-appearance-popover{background:var(--mc-surface)!important;color:var(--mc-text)!important;border-color:var(--mc-border)!important}
html[data-mohu-theme] .mohu-appearance-option{background:var(--mc-surface2)!important;color:var(--mc-text)!important;border-color:var(--mc-border)!important}
html[data-mohu-theme] .mohu-appearance-option[aria-checked="true"]{outline:2px solid var(--mc-focus)!important;outline-offset:1px!important}
html[data-mohu-theme] .mohu-appearance-head small{color:var(--mc-muted)!important}

/* Never globally alter images or SVG geometry. */
html[data-mohu-theme] img{opacity:1}

/* ========================================================================
   MOHU SCREENSHOT READABILITY CORRECTION V2 — 2026-09-26
   Loaded last by layout_header.php. Targeted only at the reported surfaces.
   ======================================================================== */

/* 1) Job Seeker dashboard professional mask icons.
   The icon element itself is the CSS mask, so it must use currentColor as its
   paint rather than a pale tile background. */
body .mohu-js-action-stack a > span.mohu-ui-icon,
body .mohu-js-seeking .mohu-js-megaphone.mohu-ui-icon,
body .mohu-js-summary-card span.mohu-ui-icon{
  color:#12375f !important;
  background-color:currentColor !important;
  opacity:1 !important;
  filter:none !important;
}
body .mohu-js-summary-card.is-app span.mohu-ui-icon{color:#1773d0 !important}
body .mohu-js-summary-card.is-saved span.mohu-ui-icon{color:#ed466d !important}
body .mohu-js-summary-card.is-alert span.mohu-ui-icon{color:#0b7f55 !important}
body .mohu-js-summary-card.is-rec span.mohu-ui-icon{color:#7a35c6 !important}

/* 2/3) Live on MOHU is a MOHU-owned branded module. Ocean, Emerald,
   Warm Sunset and Royal Violet must not recolour it. Give those themes the
   same dark MOHU skin and contrast used by the branded Live experience. */
html:is([data-mohu-theme="ocean"],[data-mohu-theme="emerald"],[data-mohu-theme="sunset"],[data-mohu-theme="violet"]) body .mohu-live{
  --mohu-text:#f7fbff !important;
  --mohu-muted:#c9d7e7 !important;
  --mohu-card:#111f34 !important;
  --mohu-soft:#17253a !important;
  --mohu-border:#5d7695 !important;
  background:#111f34 !important;
  border-color:#5d7695 !important;
  color:#f7fbff !important;
  box-shadow:0 14px 32px rgba(0,0,0,.22) !important;
}
html:is([data-mohu-theme="ocean"],[data-mohu-theme="emerald"],[data-mohu-theme="sunset"],[data-mohu-theme="violet"]) body .mohu-live :is(.mohu-live-pulse>a,.mohu-live-card,.mohu-live-registries,.mohu-top-rated-card){
  background:#17253a !important;
  border-color:#5d7695 !important;
  color:#f7fbff !important;
}
html:is([data-mohu-theme="ocean"],[data-mohu-theme="emerald"],[data-mohu-theme="sunset"],[data-mohu-theme="violet"]) body .mohu-live :is(h2,h3,strong,b,.mohu-top-rated-head strong,.mohu-top-rated-row b){
  color:#f7fbff !important;
  -webkit-text-fill-color:#f7fbff !important;
  opacity:1 !important;
}
html:is([data-mohu-theme="ocean"],[data-mohu-theme="emerald"],[data-mohu-theme="sunset"],[data-mohu-theme="violet"]) body .mohu-live :is(p,small,time,.mohu-live-empty,.mohu-top-rated-row small){
  color:#c9d7e7 !important;
  -webkit-text-fill-color:#c9d7e7 !important;
  opacity:1 !important;
}
html:is([data-mohu-theme="ocean"],[data-mohu-theme="emerald"],[data-mohu-theme="sunset"],[data-mohu-theme="violet"]) body .mohu-live :is(.mohu-live-row,.mohu-top-rated-row){
  color:#f7fbff !important;
  border-color:#425a77 !important;
}
html:is([data-mohu-theme="ocean"],[data-mohu-theme="emerald"],[data-mohu-theme="sunset"],[data-mohu-theme="violet"]) body .mohu-live :is(.mohu-live-card-head a,.mohu-top-rated-head a){
  color:#7ec8ff !important;
  -webkit-text-fill-color:#7ec8ff !important;
  opacity:1 !important;
}
html:is([data-mohu-theme="ocean"],[data-mohu-theme="emerald"],[data-mohu-theme="sunset"],[data-mohu-theme="violet"]) body .mohu-live .mohu-live-kicker{
  color:#55db94 !important;
  -webkit-text-fill-color:#55db94 !important;
}
html:is([data-mohu-theme="ocean"],[data-mohu-theme="emerald"],[data-mohu-theme="sunset"],[data-mohu-theme="violet"]) body .mohu-live .mohu-live-now{
  background:#e8fff2 !important;
  color:#087842 !important;
  -webkit-text-fill-color:#087842 !important;
}
/* The three registry highlight tiles retain their MOHU registry colours. */
html[data-mohu-theme] body .mohu-live .mohu-live-reg-grid>a,
html[data-mohu-theme] body .mohu-live .mohu-live-reg-grid>a :is(b,strong){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
html[data-mohu-theme] body .mohu-live .mohu-live-reg-grid>a span.mohu-ui-icon,
html[data-mohu-theme] body .mohu-live span.mohu-heading-icon.mohu-ui-icon,
html[data-mohu-theme] body .mohu-live span.mohu-inline-icon.mohu-ui-icon{
  color:currentColor !important;
  background-color:currentColor !important;
  opacity:1 !important;
  filter:none !important;
}

/* 4) Header hamburger: explicit high-contrast treatment for MOHU Original and
   Pure White. This prevents the glyph from inheriting a near-background tone. */
html[data-mohu-theme="original"] body .header .mohu-nav-toggle,
html[data-mohu-theme="purewhite"] body .header .mohu-nav-toggle,
html:not([data-mohu-theme]) body .header .mohu-nav-toggle{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:#0b315d !important;
  border:2px solid rgba(255,255,255,.78) !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:900 !important;
  text-shadow:none !important;
}

/* ========================================================================
   MOHU SCREENSHOT READABILITY CORRECTION V3 — 2026-09-26
   STRICTLY SCOPED: Job Seeker welcome banner + branded footer only.
   No other site surface is changed by this block.
   ======================================================================== */

/* A) Job Seeker welcome banner: the banner is permanently dark/brand coloured,
   therefore its copy must not inherit a dark foreground from light themes. */
body .mohu-dashboard-jobseeker.mohu-js-v3 .mohu-js-welcome,
body .mohu-dashboard-jobseeker.mohu-js-v3 .mohu-js-welcome-copy{
  color:#ffffff !important;
}
body .mohu-dashboard-jobseeker.mohu-js-v3 .mohu-js-welcome h1{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.16) !important;
}
body .mohu-dashboard-jobseeker.mohu-js-v3 .mohu-js-welcome p{
  color:#eaf4fb !important;
  -webkit-text-fill-color:#eaf4fb !important;
  opacity:1 !important;
}
body .mohu-dashboard-jobseeker.mohu-js-v3 .mohu-js-welcome .mohu-js-role{
  color:#a7f2c4 !important;
  -webkit-text-fill-color:#a7f2c4 !important;
  opacity:1 !important;
}
body .mohu-dashboard-jobseeker.mohu-js-v3 .mohu-js-welcome-mark,
body .mohu-dashboard-jobseeker.mohu-js-v3 .mohu-js-welcome-mark b{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* B) MOHU branded footer: its photographic navy background is fixed branding.
   Force footer copy/headings to high-contrast brand-safe colours so generic
   theme foreground variables cannot make them dark or faint. */
body footer.mohu-brand-footer{
  color:#ffffff !important;
}
body footer.mohu-brand-footer .mohu-footer-brand p,
body footer.mohu-brand-footer .mohu-footer-section a,
body footer.mohu-brand-footer .mohu-footer-bottom,
body footer.mohu-brand-footer .mohu-footer-bottom span{
  color:#f2f7fb !important;
  -webkit-text-fill-color:#f2f7fb !important;
  opacity:1 !important;
}
body footer.mohu-brand-footer .mohu-footer-section h4{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.28) !important;
}
body footer.mohu-brand-footer .mohu-footer-uganda,
body footer.mohu-brand-footer .mohu-footer-uganda p,
body footer.mohu-brand-footer .mohu-footer-uganda strong{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.30) !important;
}
body footer.mohu-brand-footer .mohu-footer-bottom em{
  color:#7de0aa !important;
  -webkit-text-fill-color:#7de0aa !important;
  opacity:1 !important;
}
body footer.mohu-brand-footer .mohu-footer-social :is(a,span){
  opacity:1 !important;
}

/* ======================================================================
   MOHU General Public dashboard readability — targeted correction
   2026-09-27
   Scope: public/index.php (.s8) only. Loaded in final contrast stylesheet
   so global theme rules cannot override these component foregrounds.
   ====================================================================== */

/* Branded hero must keep its intended light foreground in every theme. */
html[data-mohu-theme] main.s8 .s8-hero,
html[data-mohu-theme] .s8 .s8-hero { color:#fff !important; }
html[data-mohu-theme] main.s8 .s8-hero > span,
html[data-mohu-theme] .s8 .s8-hero > span { color:#9ef0b6 !important; -webkit-text-fill-color:#9ef0b6 !important; }
html[data-mohu-theme] main.s8 .s8-hero h1,
html[data-mohu-theme] main.s8 .s8-hero p,
html[data-mohu-theme] .s8 .s8-hero h1,
html[data-mohu-theme] .s8 .s8-hero p { color:#fff !important; -webkit-text-fill-color:#fff !important; opacity:1 !important; }
html[data-mohu-theme] main.s8 .s8-hero p,
html[data-mohu-theme] .s8 .s8-hero p { color:#eaf4ff !important; -webkit-text-fill-color:#eaf4ff !important; }

/* The shortcut tiles intentionally remain light cards even in Dark mode.
   Force dark readable foregrounds on those light surfaces only. */
html[data-mohu-theme="dark"] main.s8 .s8-tiles > a,
html[data-mohu-theme="dark"] .s8 .s8-tiles > a {
  background:#fff !important;
  color:#10294d !important;
  border-color:#c7d4e2 !important;
}
html[data-mohu-theme="dark"] main.s8 .s8-tiles > a b,
html[data-mohu-theme="dark"] .s8 .s8-tiles > a b {
  color:#10294d !important;
  -webkit-text-fill-color:#10294d !important;
  opacity:1 !important;
}
html[data-mohu-theme="dark"] main.s8 .s8-tiles > a > span,
html[data-mohu-theme="dark"] .s8 .s8-tiles > a > span {
  color:#566b86 !important;
  -webkit-text-fill-color:#566b86 !important;
  opacity:1 !important;
}
html[data-mohu-theme="dark"] main.s8 .s8-tiles > a i,
html[data-mohu-theme="dark"] main.s8 .s8-tiles > a i .mohu-ui-icon,
html[data-mohu-theme="dark"] .s8 .s8-tiles > a i,
html[data-mohu-theme="dark"] .s8 .s8-tiles > a i .mohu-ui-icon {
  color:#1477b8 !important;
  opacity:1 !important;
}

/* Quote is also a light green card in Dark mode; never use white on it. */
html[data-mohu-theme="dark"] main.s8 .s8-quote,
html[data-mohu-theme="dark"] .s8 .s8-quote {
  background:#eef9f1 !important;
  color:#11663f !important;
  -webkit-text-fill-color:#11663f !important;
  opacity:1 !important;
}
