/* High Contrast Mode Styles - WCAG 2.1 Level AA */
.high-contrast {
  /* Enhanced contrast for text */
  --text-primary: #000000;
  --text-secondary: #1a1a1a;
  --bg-primary: #ffffff;
  --bg-secondary: #f0f0f0;
  --border-color: #000000;
  --link-color: #0000ee;
  --link-visited: #551a8b;
}

.high-contrast body {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

.high-contrast .MuiPaper-root {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
  border: 2px solid var(--border-color) !important;
}

.high-contrast .MuiButton-root {
  border: 2px solid var(--border-color) !important;
  color: var(--text-primary) !important;
}

.high-contrast .MuiButton-contained {
  background-color: var(--text-primary) !important;
  color: var(--bg-primary) !important;
}

.high-contrast a {
  color: var(--link-color) !important;
  text-decoration: underline !important;
}

.high-contrast a:visited {
  color: var(--link-visited) !important;
}

.high-contrast .MuiTextField-root .MuiOutlinedInput-notchedOutline {
  border-color: var(--border-color) !important;
  border-width: 2px !important;
}

.high-contrast .MuiInputBase-input {
  color: var(--text-primary) !important;
}

/* Enhanced Focus Indicators - WCAG 2.1 Level AA */
.high-contrast *:focus,
.high-contrast *:focus-visible {
  outline: 3px solid #000000 !important;
  outline-offset: 2px !important;
}

/* Ensure images have proper contrast borders */
.high-contrast img {
  border: 1px solid var(--border-color);
}

/* Dark mode high contrast */
.high-contrast[data-theme="dark"] {
  --text-primary: #ffffff;
  --text-secondary: #e0e0e0;
  --bg-primary: #000000;
  --bg-secondary: #1a1a1a;
  --border-color: #ffffff;
  --link-color: #6eb4ff;
  --link-visited: #d19fff;
}
