@use "../abstracts/variables" as v;
@use "../abstracts/mixins" as m;

/* Component display rules must not cancel the native hidden attribute */
[hidden] {
  display: none !important;
}

:root {
  --focus-ring-width: #{v.$focus-ring-width};
  --focus-ring-offset: #{v.$focus-ring-offset};
  --focus-ring-color: #{v.$focus-ring-color};
  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);
  --min-touch-target: #{v.$min-touch-target};
  --motion-duration-fast: #{v.$motion-duration-fast};
  --motion-duration-base: #{v.$motion-duration-base};
  --motion-easing: #{v.$motion-easing};
  --a11y-text-on-surface-page: var(--text-body);
  --a11y-text-on-surface-action: var(--text-on-action);
  --a11y-text-on-error: var(--error-100);
  --a11y-text-on-success: var(--success-900);
}

.#{v.class-seg()}focus-visible:focus-visible {
  @include m.focus-ring;
}

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

.#{v.class-seg()}sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
