/* ══════════════════════════════════════════════════════════════
   Delta Efficiency — Contrast Enforcement Layer v1.0
   Loaded LAST by every layout (header.php, admin-layout.php,
   portal-layout.php, user-layout.php).
   All rules here override upstream low-contrast values.
   Specificity is intentionally boosted with :is() or :where()
   NOT needed — loading order + specificity parity is sufficient
   since these rules match the same selectors.
   Ratios cited: foreground on background = contrast ratio.
   ══════════════════════════════════════════════════════════════ */

/* ── FRONTEND NAVBAR ──────────────────────────────────────── */

.de-navbar {
  background: var(--de-nav-bg, #ffffff) !important;
  border-bottom: 1px solid var(--de-nav-border, rgba(0,29,74,.1)) !important;
}
[data-theme="dark"] .de-navbar {
  background: #0a1020 !important;
  border-bottom-color: rgba(255,255,255,.1) !important;
}

.de-nav-link {
  color: var(--de-nav-text, #111d30) !important;
}
[data-theme="dark"] .de-nav-link {
  color: #dce8ff !important;
}
.de-nav-link:hover,
.de-nav-link.active {
  color: var(--de-nav-active, #003d8f) !important;
}
[data-theme="dark"] .de-nav-link:hover,
[data-theme="dark"] .de-nav-link.active {
  color: #7ab8ff !important;
}

.de-show-lg[href],
.de-hide-md[href] {
  /* #344563 on #ffffff = 7.8:1 */
  color: var(--de-text-muted, #344563) !important;
}
[data-theme="dark"] .de-show-lg[href],
[data-theme="dark"] .de-hide-md[href] {
  color: #b8cfe8 !important;
}

.de-mobile-nav-link {
  color: #111d30 !important;
}
[data-theme="dark"] .de-mobile-nav-link {
  color: #dce8ff !important;
}

.de-dropdown-panel p[style] {
  color: #56688a !important;
}
[data-theme="dark"] .de-dropdown-panel p[style] {
  color: #7a9cbf !important;
}

/* ── GENERAL FRONTEND TEXT ────────────────────────────────── */

.card-content {
  color: var(--text-light, #3d5068) !important;
}
[data-theme="dark"] .card-content {
  color: #a8b8cc !important;
}

.form-text {
  color: var(--text-light, #3d5068) !important;
}
[data-theme="dark"] .form-text {
  color: #a8b8cc !important;
}

.table th {
  color: #1a2638 !important;
}
[data-theme="dark"] .table th {
  color: #a8bcd8 !important;
}

/* ── DE-BRAND TYPOGRAPHY ──────────────────────────────────── */

.de-body-lg,
.de-body {
  color: var(--de-text-muted, #344563) !important;
}
[data-theme="dark"] .de-body-lg,
[data-theme="dark"] .de-body {
  color: #b8cfe8 !important;
}

.de-trust-item {
  color: var(--de-text-muted, #344563) !important;
}
[data-theme="dark"] .de-trust-item {
  color: #b8cfe8 !important;
}

.de-label {
  color: #003d8f !important;
}
[data-theme="dark"] .de-label {
  color: #7ab8ff !important;
}

/* ── ADMIN SHELL ──────────────────────────────────────────── */

.sb-link {
  color: rgba(220, 232, 255, 0.82) !important;
}
.sb-link:hover,
.sb-link.active {
  color: #ffffff !important;
}

.tb-page-title {
  color: #3d5166 !important;
}
[data-theme="dark"] .tb-page-title {
  color: #a8bcd8 !important;
}

.tb-action-btn {
  color: #3d5166 !important;
}
[data-theme="dark"] .tb-action-btn {
  color: #a8bcd8 !important;
}

.tb-user-name {
  color: #111827 !important;
}
[data-theme="dark"] .tb-user-name {
  color: #e8f0fc !important;
}

.sc-label,
.stat-label {
  color: #3d5166 !important;
}
[data-theme="dark"] .sc-label,
[data-theme="dark"] .stat-label {
  color: #a8bcd8 !important;
}

thead th,
.admin-table th,
.portal-table th {
  color: #1a2638 !important;
}
[data-theme="dark"] thead th,
[data-theme="dark"] .admin-table th,
[data-theme="dark"] .portal-table th {
  color: #a8bcd8 !important;
}

.page-header-row p,
.page-header p {
  color: #3d5068 !important;
}
[data-theme="dark"] .page-header-row p,
[data-theme="dark"] .page-header p {
  color: #a8bcd8 !important;
}

/* ── HOMEPAGE ─────────────────────────────────────────────── */

.hp-subtext-dark {
  color: #344563 !important;
}
[data-theme="dark"] .hp-subtext-dark {
  color: #b8cfe8 !important;
}

/* ── DARK MODE GLOBAL SWEEP ───────────────────────────────── */

[data-theme="dark"] th {
  color: #a8bcd8 !important;
}

/* ── REDUCED MOTION ────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .de-navbar,
  .de-nav-link,
  .de-mobile-drawer,
  .de-dropdown-panel {
    transition: none !important;
    animation: none !important;
  }
}
