/* Accessibility Enhancements CSS */

/* Focus improvements for keyboard navigation */
:focus {
  outline: 3px solid var(--primary-color, #0056b3);
  outline-offset: 2px;
}

/* Skip to main content link - hidden by default, shown on focus */
.skip-to-content {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--primary-color, #0056b3);
  color: white;
  padding: 8px;
  z-index: 9999;
  transition: top 0.3s ease;
}

.skip-to-content:focus {
  top: 0;
}

/* Increase text contrast */
body {
  color: #333;
}

/* Better link contrast */
a {
  text-decoration: underline;
}

a.btn,
.nav-link,
.social-icons a {
  text-decoration: none;
}

/* Improve form field accessibility */
input, textarea, select {
  font-size: 16px; /* Prevents zoom on iOS */
}

/* Better form labels */
label {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

/* Improved focus for card/button navigation */
.card:focus-within {
  box-shadow: 0 0 0 3px var(--primary-color, #0056b3);
}

/* Improving color contrast for text on colored backgrounds */
.bg-primary {
  color: white;
}

.text-muted {
  color: #6c757d !important;
}

/* Larger click/tap areas for mobile */
.nav-link,
.btn {
  padding: 0.5rem 1rem;
}

/* Improve table accessibility */
table {
  border-collapse: collapse;
}

th {
  text-align: left;
}

th, td {
  padding: 0.5rem;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
} 