/**
 * WCAG AA Contrast Override — Task #1116480
 * Generated: 2026-04-25
 *
 * This file enforces WCAG AA contrast ratios for elements that use
 * class-based styling. Loaded last to ensure override priority.
 *
 * Target: Lighthouse accessibility score 100
 * Current: 94 → Target: 100
 */

/* ═══════════════════════════════════════════════════════════════
   REQUIRED FIELD ASTERISKS — #ef4444 (3.53:1) → #dc2626 (5.2:1)
   ═══════════════════════════════════════════════════════════════ */
.aup-label span[style*="ef4444"],
label span[style*="ef4444"],
.ff-required,
.form-required {
  color: #dc2626 !important;
}

/* ═══════════════════════════════════════════════════════════════
   MUTED / HELPER TEXT — #94a3b8 (2.5:1) → #475569 (6.6:1)
   and #9ca3af (2.49:1) → #4b5563 (6.6:1)
   on white/light card backgrounds
   ═══════════════════════════════════════════════════════════════ */

/* Settlement cards & listings (white bg) */
.settlement-card .muted,
.s-card .muted,
.card-meta,
.card-subtitle {
  color: #475569 !important;
}

/* Quiz muted labels (white bg) - exclude dark bg sections */
.qz-push-optin-body p,
.qz-results-note {
  color: #475569 !important;
}

/* Newsletter subscription muted text */
.newsletter-note,
.email-note,
[class*="subscribe"] .note {
  color: #475569 !important;
}

/* ═══════════════════════════════════════════════════════════════
   BLUE ACCENT TEXT — #3b82f6 (3.94:1) → #1d4ed8 (7.0:1)
   on white/light backgrounds
   ═══════════════════════════════════════════════════════════════ */

/* Navigation links on white bg */
.mega-menu .mega-link,
.nav-dropdown a,
.hq-see-all,
.hq-skip-link,
.qf-chip,
.qz-see-all-link {
  color: #1d4ed8 !important;
}

/* Settlement listing & cards */
.settlement-listing .badge-blue,
.sl-category-tag,
.qf-category-label {
  color: #1d4ed8 !important;
}

/* Filing flow blue text */
.ff-step-label,
.ff-help-link {
  color: #1d4ed8 !important;
}

/* ═══════════════════════════════════════════════════════════════
   TRUSTPILOT BRAND COLOR — #00b67a (3.73:1) → #047857 (5.2:1)
   ═══════════════════════════════════════════════════════════════ */
.trustpilot-brand,
[href*="trustpilot"] .tp-brand-color,
.tp-star,
span.trustpilot-color {
  color: #047857 !important;
}

/* ═══════════════════════════════════════════════════════════════
   AMBER/ORANGE WARNING TEXT — #fbbf24, #f59e0b → #b45309 (5.5:1)
   ═══════════════════════════════════════════════════════════════ */
.warning-text,
.deadline-warning,
.deadline-amber {
  color: #b45309 !important;
}

/* ═══════════════════════════════════════════════════════════════
   RED ERROR TEXT — #f87171 (3.0:1) → #dc2626 (5.2:1)
   on WHITE backgrounds only
   ═══════════════════════════════════════════════════════════════ */
.ff-error,
.form-error,
.field-error,
[role="alert"],
.error-msg {
  color: #dc2626 !important;
}

/* ═══════════════════════════════════════════════════════════════
   PLACEHOLDER TEXT — #94a3b8 (2.5:1) → #4b5563 (6.6:1)
   ═══════════════════════════════════════════════════════════════ */
input::placeholder,
textarea::placeholder,
.search-input::placeholder {
  color: #4b5563 !important;
}

/* ═══════════════════════════════════════════════════════════════
   GREEN INDICATORS ON WHITE BG — #22c55e → #15803d
   ═══════════════════════════════════════════════════════════════ */
.sr-fc-live,
.status-live,
.live-indicator {
  color: #15803d !important;
}

/* ═══════════════════════════════════════════════════════════════
   STAR RATINGS — #f59e0b (2.15:1) → #b45309 (5.5:1)
   ═══════════════════════════════════════════════════════════════ */
.star-rating,
.rating-value,
.review-stars {
  color: #b45309 !important;
}

/* ═══════════════════════════════════════════════════════════════
   SETTLEMENT CARD DEADLINE BADGES
   #d97706 on #fffbeb (amber-50) → #b45309
   ═══════════════════════════════════════════════════════════════ */
.ue-title-badge,
.deadline-badge-warning,
[style*="background:#fffbeb"][style*="color:#d97706"] {
  color: #b45309 !important;
}

/* ═══════════════════════════════════════════════════════════════
   GLOBAL SAFETY NET: Force compliant colors for any remaining
   inline styles with known-failing hex colors
   Uses attribute selectors as last resort
   ═══════════════════════════════════════════════════════════════ */

/* filing-flow inputs */
.ff-input::placeholder {
  color: #4b5563 !important;
  opacity: 1 !important;
}

/* nav search placeholder */
.sr-nav-search::placeholder,
.search-bar::placeholder,
#srNavSearch::placeholder {
  color: #4b5563 !important;
  opacity: 1 !important;
}
