/* RealStore Clean Commerce — shared visual contract */
:root {
  --rs-primary: #2563eb;
  --rs-primary-hover: #1e4fc0;
  --rs-primary-strong: #1d4ed8;
  --rs-primary-soft: #eaf0fe;
  --rs-on-primary: #ffffff;
  --rs-secondary: #8b5cf6;
  --rs-secondary-hover: #7447d0;
  --rs-secondary-strong: #6d28d9;
  --rs-secondary-soft: #f3effe;
  --rs-on-secondary: #ffffff;
  --rs-accent: #f59e0b;
  --rs-accent-hover: #d78109;
  --rs-accent-strong: #92400e;
  --rs-accent-soft: #fff4dc;
  --rs-on-accent: #0f172a;
  --rs-ink: #101828;
  --rs-ink-soft: #344054;
  --rs-muted: #667085;
  --rs-faint: #98a2b3;
  --rs-canvas: #fffdfb;
  --rs-canvas-cool: #f8fafc;
  --rs-surface: #ffffff;
  --rs-surface-soft: #fcfaf8;
  --rs-line: #e7e2dc;
  --rs-line-strong: #d6d0c8;
  --rs-success: #15803d;
  --rs-danger: #b42318;
  --rs-warning: #b54708;
  --rs-radius-sm: 10px;
  --rs-radius-md: 14px;
  --rs-radius-lg: 18px;
  --rs-radius-xl: 24px;
  --rs-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --rs-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.07);
  --rs-shadow-md: 0 18px 48px rgba(0, 0, 0, 0.1);
  --rs-focus-ring: 0 0 0 3px rgba(0, 0, 0, 0.22);
  --rs-transition-fast: 150ms ease;
  --rs-transition-base: 220ms ease;
  --rs-content-max: 1360px;
}

html {
  color-scheme: light;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
  font-family: Arial, Helvetica, sans-serif;
}

:where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--rs-primary-strong);
  outline-offset: 3px;
  box-shadow: var(--rs-focus-ring);
}

::selection {
  color: var(--rs-on-primary);
  background: var(--rs-primary);
}

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