/* ==========================================================================
   WV Skip-to-content link — WCAG 2.4.1 Bypass Blocks (Level A)
   --------------------------------------------------------------------------
   The link is hidden off-canvas by default and becomes a visible pill in
   the top-left corner when focused (keyboard tab from the address bar).
   Targets #main on every page — D-02 work adds that id to every <main>.

   Implementation notes:
   - Off-canvas via absolute positioning + transform, not display: none,
     so the link remains in the tab order and discoverable by screen
     readers (which announce "Skip to main content" before any header
     chrome).
   - The :focus-visible state pulls it back on-screen. Pointer-only
     focus (no keyboard) keeps it hidden — that's the intent.
   ========================================================================== */

.wv-skip-link {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-200%);
  background: var(--wv-color-text-primary);
  color: var(--wv-color-background);
  padding: 12px 20px;
  z-index: 10000;
  text-decoration: none;
  border-radius: 0 0 var(--wv-radius-md) 0;
}

.wv-skip-link:focus,
.wv-skip-link:focus-visible {
  transform: translateY(0);
  outline: 2px solid var(--wv-color-background);
  outline-offset: -4px;
}

/* Global screen-reader-text utility. Mirrors the version defined in
   wv-account.css so SR-only content (cart drawer live regions, form
   hint labels) renders correctly on pages that don't enqueue account
   styles. Standard WP technique — visually hidden, still in the
   accessibility tree. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
