/* Sprint 5 Phase 6: accessibility and device closeout */
:root {
  --a3-touch-target: 44px;
}

html[data-network="offline"] .sync-status,
html[data-network="offline"] [data-sync-status] {
  opacity: .9;
}

@media (pointer: coarse) {
  button,
  [role="button"],
  .btn,
  .action-btn,
  .pagination button,
  .modal-close,
  input[type="checkbox"],
  input[type="radio"] {
    min-width: var(--a3-touch-target);
    min-height: var(--a3-touch-target);
  }

  input,
  select,
  textarea {
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --border-color: currentColor;
  }

  button,
  .btn,
  input,
  select,
  textarea,
  .card,
  .modal-content {
    border-width: 2px !important;
  }
}

@media (forced-colors: active) {
  button,
  .btn,
  [role="button"],
  input,
  select,
  textarea,
  .modal-content,
  .card {
    forced-color-adjust: auto;
    border: 1px solid ButtonText;
  }

  :focus-visible {
    outline: 3px solid Highlight !important;
  }
}
