/* ============================================================================
   WCAG 2.1 AA BASE STYLES
   These provide the source-level accessibility the site needs. The floating
   Accessibility Preferences widget is a SUPPLEMENT on top of this — not a
   substitute. (See the widget's own disclaimer.)
   ============================================================================ */

/* 2.4.1 Bypass Blocks — skip link injected by the child theme */
.gnd-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  background: var(--gnd-navy, #1A1A2E);
  color: #fff;
  padding: 12px 20px;
  border-radius: 0 0 4px 0;
  font-family: var(--gnd-font-body, sans-serif);
  font-weight: 700;
  text-decoration: none;
}
.gnd-skip-link:focus {
  left: 0;
  outline: 3px solid var(--gnd-gold, #C9A84C);
}

/* 2.4.7 Focus Visible — never remove focus outlines; make them obvious.
   :focus-visible keeps mouse clicks clean while honoring keyboard users. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--gnd-gold-accessible, #856B24);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Fallback for browsers without :focus-visible */
a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-color: var(--gnd-gold-accessible, #856B24);
}

/* Visually-hidden utility (for labels read by screen readers only) */
.gnd-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 2.5.5 / 2.5.8 Target Size — ensure interactive controls meet 24x24 CSS px */
.elementor-button,
.gnd-btn,
button,
input[type="submit"] {
  min-height: 44px;
}

/* 1.4.12 Text Spacing — don't clip content when users override spacing */
p, li, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }

/* 2.3.3 Animation from Interactions — respect reduced-motion at the OS level */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* 1.4.3 Contrast — links inside body copy use the accessible gold, not the
   bright interactive gold which fails contrast on white. */
.entry-content a,
.elementor-widget-text-editor a {
  color: var(--gnd-gold-accessible, #856B24);
  text-decoration: underline;
}
