/* neuro.css — Style A neumorphic finishes (component-level only)
 * Per docs/FRONTEND_TRD_v2.md §5.1 (v1.2).
 *
 * Applies neumorphic shadow to .c-* base classes via --a modifiers.
 * Page-wide layout (hero, body, footer, grid) stays FLAT — see §5.1 exclusions.
 */

/* === Button — .c-btn--a === */
.c-btn--a {
  background: var(--color-cta);
  color: var(--color-cta-text);
  border: var(--neuro-border);
  box-shadow: var(--neuro-light), var(--neuro-dark);
}
.c-btn--a:hover {
  background: var(--color-cta-hover);
  box-shadow: -8px -8px 18px #ffffff, 8px 8px 18px #d4cfc7;
}
.c-btn--a:active {
  background: var(--color-cta-active);
  box-shadow: var(--neuro-inset);
}

/* === Card — .c-card--a === */
.c-card--a {
  background: var(--color-bg);
  border: var(--neuro-border);
  box-shadow: var(--neuro-light), var(--neuro-dark);
}
.c-card--a--inset {
  background: var(--color-surface-offset);
  box-shadow: var(--neuro-inset);
  border: none;
}

/* === Badge — .c-badge--a === */
.c-badge--a {
  background: var(--color-powder-blue);
  color: var(--color-text);
}
.c-badge--a--success { background: var(--color-success); color: var(--color-text-inverse); }
.c-badge--a--warning { background: var(--color-warning); color: var(--color-text-inverse); }
.c-badge--a--error   { background: var(--color-error);   color: var(--color-text-inverse); }

/* === Ticker — .c-ticker--a "Dealer Markup Watch" === */
.c-ticker--a {
  background: var(--color-surface);
  color: var(--color-text);
  border-top: 1px solid var(--color-surface-offset);
  border-bottom: 1px solid var(--color-surface-offset);
}
.c-ticker--a .c-ticker__item::before {
  content: "•";
  color: var(--color-warning);
  margin-right: var(--space-2);
}

/* === Stat card (20/4/10 calculator) === */
.stat-card-a {
  background: var(--color-bg);
  border-radius: var(--radius-2xl);
  box-shadow: var(--neuro-light), var(--neuro-dark);
  border: var(--neuro-border);
  padding: var(--space-8);
  text-align: center;
}
.stat-card-a .stat-number {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--text-2xl);
  color: var(--color-text);
  display: block;
  line-height: 1;
}
.stat-card-a .stat-label {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: var(--space-2);
}

/* === Forced-colors mode (Windows High Contrast) — R2 mitigation ===
 * Neumorphism's affordance is shadow; forced-colors strips shadows.
 * Restore visibility with explicit border.
 */
@media (forced-colors: active) {
  .c-card--a,
  .c-card--a--inset,
  .stat-card-a {
    border: 2px solid CanvasText;
    box-shadow: none;
  }
  .c-btn--a {
    border: 2px solid CanvasText;
    box-shadow: none;
  }
}

/* === Reduced motion fallback === */
@media (prefers-reduced-motion: reduce) {
  .c-btn--a:hover,
  .c-btn--a:active {
    transform: none;
  }
}
