/* ------------------------------------------------------------------
   Accessibility — binding (08 §12). Focus states, skip link, targets.
   ------------------------------------------------------------------ */

/* Skip link — visually hidden until focused. */
.skip-link,
.skip-to-content {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  padding: 12px 20px;
  background: var(--brand-black);
  color: var(--surface-light);
  text-decoration: none;
  border-radius: 0 0 var(--radius) 0;
}
.skip-link:focus,
.skip-to-content:focus {
  left: 0;
}

/*
  Visible focus on every interactive element. Never outline:none (08 §12).
  Default (light surfaces): 2px black outline, 2px offset.
*/
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible {
  outline: 2px solid var(--brand-black);
  outline-offset: 2px;
}

/*
  Dark surfaces: 2px accent outline, 2px offset. Apply the dark helper to
  any Elementor section rendered on black (08 §5). Accent as outline on dark
  passes contrast (13:1); accent is never an outline on white.
*/
.is-dark a:focus-visible,
.is-dark button:focus-visible,
.is-dark input:focus-visible,
.is-dark select:focus-visible,
.is-dark textarea:focus-visible,
.is-dark .elementor-button:focus-visible {
  outline-color: var(--brand-accent);
}

/* Minimum touch target 44×44px (08 §12, §14). */
a.elementor-button,
button,
input[type="submit"],
.wpcf7-submit {
  min-height: 44px;
}
