/* Readability fix for institutional trust style
   Keeps the conservative navy and light blue design, but restores strong contrast on white cards. */
:root{
  --readable-navy:#071a2f;
  --readable-text:#243145;
  --readable-muted:#475569;
  --readable-soft:#64748b;
  --readable-blue:#2563eb;
  --readable-bg:#ffffff;
  --readable-panel:#f8fafc;
  --readable-line:#e2e8f0;
}

html body{
  color:var(--readable-text) !important;
  background:#f8fafc !important;
}

/* White panels and profile pages */
html body .content-card,
html body .sidebar-card,
html body .hero-card,
html body .hero-copy,
html body .provider-card,
html body .topic-card,
html body .faq-item,
html body .contact-card,
html body .pricing-card,
html body .pricing-tier,
html body .pricing-tier-clean,
html body .filters-shell,
html body .results-shell,
html body .legal-card,
html body .research-card,
html body .notice-card,
html body .cta-panel,
html body .provider-logo-block,
html body .mini-metrics div,
html body .meta-box,
html body .signal,
html body .metric,
html body .pill,
html body .badge,
html body details,
html body summary{
  background:#ffffff !important;
  color:var(--readable-text) !important;
  border-color:var(--readable-line) !important;
  text-shadow:none !important;
}

/* Strong headline contrast */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body strong,
html body b,
html body summary,
html body .content-card h2,
html body .content-card h3,
html body .sidebar-card h3,
html body .hero-copy h1,
html body .hero-card h3,
html body .cta-panel h2,
html body .provider-name,
html body .provider-logo-name,
html body .mini-metrics strong,
html body .meta-box strong,
html body .signal strong,
html body .faq-item summary,
html body .topic-card h3{
  color:var(--readable-navy) !important;
  opacity:1 !important;
}

/* Body copy: darker, readable, wealth audience appropriate */
html body p,
html body li,
html body .lead,
html body .section-lead,
html body .muted,
html body .small,
html body .content-card p,
html body .content-card li,
html body .content-card span,
html body .sidebar-card p,
html body .sidebar-card li,
html body .sidebar-card span,
html body .hero-copy p,
html body .hero-copy .lead,
html body .hero-card p,
html body .hero-card span,
html body .cta-panel p,
html body .topic-card p,
html body .faq-item p,
html body .provider-desc,
html body .provider-description,
html body .provider-sub,
html body .provider-logo-label,
html body .status-note,
html body .score-label,
html body .mini-metrics span,
html body .meta-box span,
html body .signal span,
html body .tier-copy,
html body .plan-note,
html body .tier-note,
html body .price-period,
html body .price-subline,
html body .micro-note,
html body .guide-intro,
html body .filter-hint,
html body .count-pill{
  color:var(--readable-muted) !important;
  opacity:1 !important;
}

/* Links and pills inside white cards */
html body .content-card a,
html body .sidebar-card a,
html body .topic-card a,
html body .faq-item a,
html body .cta-panel a:not(.btn),
html body .pill,
html body a.pill,
html body .badge,
html body .badge-standard,
html body .badge-pending,
html body .badge-featured,
html body .badge-institutional{
  color:#1e3a5f !important;
  opacity:1 !important;
}

html body .eyebrow,
html body .section-eyebrow,
html body .hero-eyebrow,
html body .toc-label,
html body .provider-logo-label{
  color:var(--readable-blue) !important;
  opacity:1 !important;
}

/* Keep primary buttons white on blue */
html body .btn-primary,
html body .btn.primary,
html body a.btn-primary,
html body button.btn-primary,
html body .cta-actions .btn-primary,
html body .hero-actions .btn-primary{
  background:#2563eb !important;
  border-color:#2563eb !important;
  color:#ffffff !important;
}
html body .btn-primary *,
html body .btn.primary *{
  color:#ffffff !important;
}

/* Secondary buttons stay readable */
html body .btn:not(.btn-primary):not(.primary),
html body a.btn:not(.btn-primary):not(.primary),
html body button.btn:not(.btn-primary):not(.primary){
  color:var(--readable-navy) !important;
  background:#ffffff !important;
  border-color:#cbd5e1 !important;
}

/* Form contrast */
html body input,
html body textarea,
html body select,
html body option,
html body .form-input,
html body .form-select,
html body .form-textarea,
html body .search-input{
  background:#ffffff !important;
  color:#172033 !important;
  border-color:#cbd5e1 !important;
}
html body input::placeholder,
html body textarea::placeholder,
html body .search-input::placeholder{
  color:#64748b !important;
  opacity:1 !important;
}
html body label,
html body .form-label{
  color:var(--readable-navy) !important;
}

/* Dark sections should remain dark with white text */
html body .footer,
html body .site-footer,
html body .steps-section,
html body .cta-band{
  background:#071a2f !important;
  color:#ffffff !important;
}
html body .footer *,
html body .site-footer *,
html body .steps-section *,
html body .cta-band *{
  color:#ffffff !important;
}
html body .footer a,
html body .site-footer a{
  color:#e8f1ff !important;
}

/* Modal readability */
html body .modal-card,
html body .lead-gate-card,
html body .profile-modal-card{
  background:#ffffff !important;
  color:var(--readable-text) !important;
}
html body .modal-card h2,
html body .modal-card h3,
html body .lead-gate-card h2,
html body .lead-gate-card h3,
html body .profile-modal-card h2,
html body .profile-modal-card h3{
  color:var(--readable-navy) !important;
}
html body .modal-card p,
html body .lead-gate-card p,
html body .profile-modal-card p{
  color:var(--readable-muted) !important;
}

/* Profile page right sidebar pill list fix */
html body .sidebar-card .pill-list a,
html body .sidebar-card a.pill{
  display:inline-flex !important;
  align-items:center !important;
  color:#1e3a5f !important;
  background:#f8fafc !important;
  border:1px solid #e2e8f0 !important;
}
html body .sidebar-card .pill-list a:hover,
html body .sidebar-card a.pill:hover{
  color:#1d4ed8 !important;
  border-color:#bfdbfe !important;
  background:#eff6ff !important;
}
