/* Text Contrast Fix - WCAG 2.1 AA Compliance */

/* Ensure minimum 4.5:1 contrast ratio for normal text */
body { color: #e9f2ff; } /* Light text on dark bg */

/* High contrast text classes */
.text-high-contrast { color: #ffffff !important; }
.text-medium { color: #c5d4eb; }
.text-dim { color: #9fb4d5; }

/* Link contrast */
a { color: #7cb3ff; }
a:hover { color: #a8d0ff; }
a:focus { outline: 2px solid #7cb3ff; outline-offset: 2px; }

/* Form elements */
input, textarea, select {
  color: #e9f2ff;
  background: rgba(255,255,255,0.08);
}
input::placeholder, textarea::placeholder {
  color: #7a94b8;
}

/* Button contrast */
.cta-button, button[type="submit"] {
  color: #ffffff;
  background: #1b82ff;
}

/* Error states */
.error { color: #ff8a8a; }
.success { color: #7affb0; }
.warning { color: #ffd980; }

/* Focus indicators for accessibility */
*:focus-visible {
  outline: 2px solid #7cf5ff;
  outline-offset: 3px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  body { color: #ffffff; background: #000000; }
  .feature-card { border-color: #ffffff; }
  a { color: #80d4ff; text-decoration: underline; }
}
