/* Accessibility toolbar + high-contrast / reduced-motion overrides.
   Loaded on every page via accessibility.css; wired by accessibility.js. */

#a11y-toolbar {
  position: fixed; left: 18px; bottom: 18px; z-index: 9989;
  display: flex; gap: 6px; align-items: center;
  background: rgba(22, 19, 15, .96);
  border: 1px solid #3a3129; border-radius: 999px;
  padding: 6px 8px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .45);
}
#a11y-toolbar .a11y-btn {
  border: 1px solid #3a3129; background: #2a231a; color: #f4ede3;
  border-radius: 999px; min-width: 38px; height: 38px; padding: 0 10px;
  font-size: .85rem; font-weight: 700; cursor: pointer; line-height: 1;
}
#a11y-toolbar .a11y-btn.a11y-wide { min-width: 0; }
#a11y-toolbar .a11y-btn:hover { border-color: #ff6a1a; color: #ffb43a; }
#a11y-toolbar .a11y-btn:focus-visible { outline: 3px solid #ffb43a; outline-offset: 2px; }
#a11y-toolbar .a11y-btn[aria-pressed="true"] {
  background: #ff6a1a; border-color: #ff6a1a; color: #16130f;
}

/* High-contrast theme: remap the site variables, keep layout intact */
body.a11y-contrast {
  --char: #000000;
  --char-2: #0b0b0b;
  --char-3: #161616;
  --ink: #ffffff;
  --ink-dim: #f2f2f2;
  --ink-faint: #dcdcdc;
  --line: #707070;
}
body.a11y-contrast a { color: #ffd75e; }
body.a11y-contrast .btn.ghost { border-color: #b0b0b0; }

/* Reduced motion: kill animation, transitions, smooth scroll */
body.a11y-reduced *,
body.a11y-reduced *::before,
body.a11y-reduced *::after {
  animation: none !important;
  transition: none !important;
}
body.a11y-reduced { scroll-behavior: auto !important; }
html.a11y-reduced { scroll-behavior: auto; }

@media (max-width: 480px) {
  #a11y-toolbar { left: 12px; bottom: 12px; }
}
