/* Accessibility Enhancements for PolicyPath */

/* Skip to main content link
 * Visually hidden until focused, then appears prominently
 * Allows keyboard users to bypass navigation
 */
.skip-to-content {
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  padding: 0.75rem 1.5rem;
  background-color: var(--bs-primary, #0d6efd);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  border-radius: 0 0 0.375rem 0.375rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: top 0.2s ease-in-out;
}

.skip-to-content:focus {
  top: 0;
  outline: 3px solid var(--bs-warning, #ffc107);
  outline-offset: 2px;
}

.skip-to-content:hover {
  background-color: var(--bs-primary, #0d6efd);
  color: #fff;
  text-decoration: underline;
}

/* Ensure focus is visible on all interactive elements */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--bs-primary, #0d6efd);
  outline-offset: 2px;
}

/* Visually hidden but accessible to screen readers
 * Use for section headings that provide structure without visual clutter
 * Bootstrap 5 also provides this as .visually-hidden
 */
.visually-hidden,
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
