/* Navolith SEO + Accessibility Hardening v1.0.0 */

/* Preserve visible keyboard focus even when theme/plugin styles reset outlines. */
:where(a, button, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid #0b63ce !important;
  outline-offset: 3px !important;
}

/* Screen-reader helper for any runtime-generated labels. */
.navolith-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;
}

/* Avoid SVG/icon-only controls inheriting illegible low-contrast text colors. */
button [aria-hidden="true"],
a [aria-hidden="true"] {
  forced-color-adjust: auto;
}

/* Permit-guide contrast fallback. JS only applies this class when computed
   contrast actually fails WCAG AA, so normal brand colors remain unchanged. */
.navolith-a11y-contrast-fix {
  color: var(--navolith-a11y-fixed-color, #243447) !important;
}
