/*
 * CXEA Contrast Guardian v2.9
 * Purpose: final portal-wide readability repair for CX Expert Asia visual layers.
 */

:root {
  --cxea-black: #111827;
  --cxea-text: #111827;
  --cxea-muted: #374151;
  --cxea-soft: #f8fafc;
  --cxea-white: #ffffff;
  --cxea-red: #c41230;
  --cxea-blue: #0b1f3a;
  --cxea-blue-2: #112a4f;
  --cxea-border: rgba(17, 24, 39, .12);
  --cxea-shadow: 0 18px 45px rgba(17, 24, 39, .10);
}

/* Broad CXEA light-surface readability */
[class*="cxea"] .cxea-light,
[class*="cxea"] .cxea-card,
[class*="cxea"] .cxea-panel,
[class*="cxea"] .cxea-form,
[class*="cxea"] .cxea-form-card,
[class*="cxea"] .cxea-wallet,
[class*="cxea"] .cxea-credential-card,
[class*="cxea"] .cxea-program-card,
[class*="cxea"] .cxea-module-card,
[class*="cxea"] .cxea-timeline-card,
[class*="cxea"] .cxea-stat-card,
[class*="cxea"] .cxea-feature-card,
[class*="cxea"] .cxea-badge-card,
[class*="cxea"] .cxea-certificate-card,
[class*="cxea"] .cxea-verify-card,
[class*="cxea"] .cxea-invite-form,
[class*="cxea"] .cxea-contact-form {
  color: var(--cxea-text) !important;
}

[class*="cxea"] .cxea-card *,
[class*="cxea"] .cxea-panel *,
[class*="cxea"] .cxea-form *,
[class*="cxea"] .cxea-form-card *,
[class*="cxea"] .cxea-wallet *,
[class*="cxea"] .cxea-credential-card *,
[class*="cxea"] .cxea-program-card *,
[class*="cxea"] .cxea-module-card *,
[class*="cxea"] .cxea-timeline-card *,
[class*="cxea"] .cxea-stat-card *,
[class*="cxea"] .cxea-feature-card *,
[class*="cxea"] .cxea-badge-card *,
[class*="cxea"] .cxea-certificate-card *,
[class*="cxea"] .cxea-verify-card *,
[class*="cxea"] .cxea-invite-form *,
[class*="cxea"] .cxea-contact-form * {
  color: inherit;
}

/* Specific user-reported homepage phrase area */
[class*="cxea"] .cxea-ready-cta,
[class*="cxea"] .cxea-ready-cta *,
[class*="cxea"] .cxea-final-cta,
[class*="cxea"] .cxea-final-cta *,
[class*="cxea"] .cxea-build-capability,
[class*="cxea"] .cxea-build-capability *,
[class*="cxea"] .cxea-home-cta,
[class*="cxea"] .cxea-home-cta * {
  color: var(--cxea-black) !important;
}

/* If the bottom CTA/contact block is intentionally dark blue, keep it premium and readable */
[class*="cxea"] .cxea-bottom-cta,
[class*="cxea"] .cxea-contact-band,
[class*="cxea"] .cxea-dark-blue-cta {
  background: linear-gradient(135deg, #07162d 0%, #0b1f3a 55%, #102b50 100%) !important;
  color: var(--cxea-white) !important;
}
[class*="cxea"] .cxea-bottom-cta :not(input):not(textarea):not(select):not(option),
[class*="cxea"] .cxea-contact-band :not(input):not(textarea):not(select):not(option),
[class*="cxea"] .cxea-dark-blue-cta :not(input):not(textarea):not(select):not(option) {
  color: var(--cxea-white) !important;
}

/* Invite Santha page: force the reported headings and form to be readable */
[class*="cxea"] .cxea-santha,
[class*="cxea"] .cxea-santha *,
[class*="cxea"] .santha-profile,
[class*="cxea"] .santha-profile *,
[class*="cxea"] .cxea-invite-santha,
[class*="cxea"] .cxea-invite-santha *,
body.page-template-default .entry-content .cxea-speaker,
body.page-template-default .entry-content .cxea-speaker * {
  color: var(--cxea-black) !important;
}

/* Restore white text only for clearly dark hero/banner areas, but keep forms readable */
[class*="cxea"] .cxea-hero-dark :not(input):not(textarea):not(select):not(option):not(.cxea-card):not(.cxea-card *),
[class*="cxea"] .cxea-dark :not(input):not(textarea):not(select):not(option):not(.cxea-card):not(.cxea-card *),
[class*="cxea"] .cxea-navy :not(input):not(textarea):not(select):not(option):not(.cxea-card):not(.cxea-card *) {
  color: var(--cxea-white) !important;
}

/* Digital Badge / Digital Certificate details - reported problem areas */
[class*="cxea"] .cxea-digital-badge,
[class*="cxea"] .cxea-digital-certificate,
[class*="cxea"] .cxea-badge-page,
[class*="cxea"] .cxea-certificate-page,
[class*="cxea"] .cxea-credential-page,
[class*="cxea"] .cxea-badge-details,
[class*="cxea"] .cxea-certificate-details,
[class*="cxea"] .cxea-credential-details {
  color: var(--cxea-black) !important;
}

[class*="cxea"] .cxea-digital-badge .cxea-card,
[class*="cxea"] .cxea-digital-certificate .cxea-card,
[class*="cxea"] .cxea-badge-page .cxea-card,
[class*="cxea"] .cxea-certificate-page .cxea-card,
[class*="cxea"] .cxea-credential-page .cxea-card,
[class*="cxea"] .cxea-badge-details,
[class*="cxea"] .cxea-certificate-details,
[class*="cxea"] .cxea-credential-details,
[class*="cxea"] .cxea-verification-panel,
[class*="cxea"] .cxea-share-credentials {
  background: #ffffff !important;
  color: var(--cxea-black) !important;
  border: 1px solid var(--cxea-border) !important;
  box-shadow: var(--cxea-shadow) !important;
}

[class*="cxea"] .cxea-digital-badge .cxea-card *,
[class*="cxea"] .cxea-digital-certificate .cxea-card *,
[class*="cxea"] .cxea-badge-page .cxea-card *,
[class*="cxea"] .cxea-certificate-page .cxea-card *,
[class*="cxea"] .cxea-credential-page .cxea-card *,
[class*="cxea"] .cxea-badge-details *,
[class*="cxea"] .cxea-certificate-details *,
[class*="cxea"] .cxea-credential-details *,
[class*="cxea"] .cxea-verification-panel *,
[class*="cxea"] .cxea-share-credentials * {
  color: var(--cxea-black) !important;
}

/* Exact/common label classes and text areas inside credential pages */
[class*="cxea"] .cxea-status,
[class*="cxea"] .cxea-active-status,
[class*="cxea"] .cxea-badge-number,
[class*="cxea"] .cxea-certificate-number,
[class*="cxea"] .cxea-verification-url,
[class*="cxea"] .cxea-verification-page,
[class*="cxea"] .cxea-credential-url,
[class*="cxea"] .cxea-credential-code,
[class*="cxea"] .cxea-meta-label,
[class*="cxea"] .cxea-meta-value,
[class*="cxea"] .cxea-url,
[class*="cxea"] code,
[class*="cxea"] pre {
  color: var(--cxea-black) !important;
  background: rgba(248,250,252,.92) !important;
}

/* Forms: always readable */
[class*="cxea"] input,
[class*="cxea"] textarea,
[class*="cxea"] select,
[class*="cxea"] option,
[class*="cxea"] .form-control,
[class*="cxea"] .cxea-input {
  background: #ffffff !important;
  color: var(--cxea-black) !important;
  border: 1px solid #cbd5e1 !important;
  caret-color: var(--cxea-red) !important;
}
[class*="cxea"] input::placeholder,
[class*="cxea"] textarea::placeholder {
  color: #6b7280 !important;
  opacity: 1 !important;
}
[class*="cxea"] label,
[class*="cxea"] legend,
[class*="cxea"] .form-label,
[class*="cxea"] .cxea-form-note {
  color: var(--cxea-black) !important;
}

/* Buttons and links: premium, readable */
[class*="cxea"] a:not(.cxea-btn):not(.button),
[class*="cxea"] .cxea-link {
  color: #8f0f24 !important;
}
[class*="cxea"] .cxea-btn,
[class*="cxea"] .button,
[class*="cxea"] button,
[class*="cxea"] input[type="submit"] {
  color: #ffffff !important;
  background: #111827 !important;
  border-color: #111827 !important;
  text-decoration: none !important;
}
[class*="cxea"] .cxea-btn:hover,
[class*="cxea"] .button:hover,
[class*="cxea"] button:hover,
[class*="cxea"] input[type="submit"]:hover {
  background: var(--cxea-red) !important;
  border-color: var(--cxea-red) !important;
  color: #ffffff !important;
}

/* Admin page */
.cxea-guardian-admin h1,
.cxea-guardian-admin h2,
.cxea-guardian-admin p,
.cxea-guardian-admin li {
  color: var(--cxea-black) !important;
}
.cxea-guardian-card {
  background: #fff;
  border: 1px solid #dfe3ea;
  border-radius: 18px;
  padding: 22px;
  max-width: 900px;
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
}

/* Responsive readability polish */
@media (max-width: 782px) {
  [class*="cxea"] h1 { font-size: clamp(2rem, 8vw, 3rem) !important; line-height: 1.05 !important; }
  [class*="cxea"] h2 { font-size: clamp(1.6rem, 6vw, 2.2rem) !important; }
  [class*="cxea"] .cxea-card,
  [class*="cxea"] .cxea-panel,
  [class*="cxea"] .cxea-form-card { padding: 18px !important; }
}
