/*
 * Animpic Design System — shared foundations
 *
 * Keep this layer limited to predictable rendering, typography, focus and
 * accessibility. Page composition belongs in the surface stylesheets.
 */

:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) {
  box-sizing: border-box;
  font-family: var(--anp-font-ui);
  font-size: var(--anp-text-sm);
  line-height: var(--anp-line-md);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) *,
:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) *::before,
:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) *::after {
  box-sizing: inherit;
}

:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) :where(h1, h2, h3, h4) {
  font-family: var(--anp-font-display);
}

:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) :where(button, input, select, textarea) {
  font: inherit;
}

:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) :where(img, svg) {
  max-width: 100%;
}

:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: var(--anp-focus-outline);
  outline-offset: var(--anp-focus-offset);
}

:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) :where(button, [role="button"]):disabled,
:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) :where(button, [role="button"])[aria-disabled="true"] {
  cursor: not-allowed;
}

:where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) ::selection {
  background: var(--anp-brand-cyan-soft);
  color: var(--anp-text-primary);
}

@media (prefers-reduced-motion: reduce) {
  :where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) {
    scroll-behavior: auto;
  }

  :where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) *,
  :where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) *::before,
  :where(.store-body, .manager-body, .content-hub-body, .library-body, .anp-app) *::after {
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
    transition-duration: 0.01ms;
  }
}
