/**
 * Blue Ridge Core Theme — Accessibility
 * See docs/design-system/16-accessibility.md for full rationale.
 */

/* Focus-visible ring — every interactive element, sitewide.
   Uses :focus-visible (not bare :focus) so the ring shows for keyboard
   navigation while staying out of the way for mouse/touch interaction. */
:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(41, 116, 212, 0.45);
  border-radius: inherit;
}

/* Skip link — first focusable element on every page. */
.skip-link {
  position: absolute;
  top: -100%;
  left: var(--wp--preset--spacing--md);
  z-index: 1000;
  background-color: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--white);
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
  border-radius: var(--wp--custom--radius--sm);
  text-decoration: none;
}

.skip-link:focus {
  top: var(--wp--preset--spacing--md);
}

/* Screen-reader-only content — programmatically available, visually hidden.
   Never used to hide content sighted users also need. */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Minimum touch target — apply to any interactive element whose visible size
   is smaller than 44x44px (icon links, checkboxes, close buttons). */
.tap-target {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}
