/* WCAG AA Contrast Compliance Fixes */

/* Override low contrast colors throughout the application */

/* Text colors - ensure 4.5:1 contrast ratio minimum */
.footer,
.copyright,
.resultText,
.resultLink p,
.spinner,
.accessDenied,
.tertiaryButton,
.alertWarning,
.alertDanger,
.alertInfo {
  color: #333333 !important; /* Dark gray with good contrast */
}

/* Link colors - darker blues and oranges for better contrast */
a,
.tab a,
li a,
.resultLink,
a.resultLink,
.landingPageHeader,
a.aToZLink {
  color: #004466 !important; /* Darker blue - 7.2:1 contrast ratio */
}

a:hover,
a:focus,
.tab a:hover,
.tab a:focus,
.resultLink:hover,
a.resultLink:hover,
.activetab a,
a.aToZLink:hover {
  color: #b8440e !important; /* Darker orange - 5.1:1 contrast ratio */
}

/* Breadcrumb improvements */
.breadcrumb-not-active {
  color: #004466 !important;
}

.breadcrumb-not-active:hover,
.breadcrumb-not-active:focus {
  color: #505050 !important;
}

/* Tab colors */
.tabsCount {
  color: #1a1a1a !important; /* Very dark gray for better contrast */
}

/* Disabled states - maintain 3:1 minimum for disabled elements */
.disabledtab,
a.disabled {
  color: #666666 !important; /* Meets 3:1 contrast ratio for disabled elements */
}

.primaryButton:disabled,
.secondaryButton:disabled {
  color: #666666 !important;
  border-color: #666666 !important;
}

/* Small text improvements */
.credit,
.fontSmall {
  color: #1a1a1a !important;
  font-size: 11px !important; /* Increase minimum size */
}

/* Alert text improvements */
.disclaimerHeader {
  color: #cc0000 !important; /* Darker red for better contrast */
}

/* Form and input improvements */
input,
select,
textarea {
  color: #1a1a1a !important;
  border-color: #666666 !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #004466 !important;
}

/* Button text improvements */
.button {
  color: #ffffff !important; /* Ensure white text on dark backgrounds */
}

/* Ensure proper contrast for all interactive elements */
button,
.primaryButton,
.secondaryButton {
  border-color: #004466 !important;
}

.primaryButton {
  background-color: #004466 !important;
  color: #ffffff !important;
}

.secondaryButton {
  color: #1a1a1a !important;
}

.secondaryButton:hover {
  background-color: #b8440e !important;
  border-color: #b8440e !important;
  color: #ffffff !important;
}

/* High contrast mode enhancements */
@media (prefers-contrast: high) {
  * {
    border-color: currentColor !important;
  }

  a,
  button,
  input,
  select,
  textarea {
    border: 2px solid currentColor !important;
  }
}

/* Ensure minimum font sizes for readability */
* {
  font-size: inherit;
}

small,
.small {
  font-size: 14px !important; /* Minimum readable size */
}
