
Running 18 tests using 1 worker

  ✓   1 tests/browser.spec.mjs:65:3 › store demo presents its primary content on desktop (2.2s)
  ✓   2 tests/browser.spec.mjs:71:3 › store demo fits a 390px mobile viewport without horizontal overflow (1.4s)
  ✓   3 tests/browser.spec.mjs:78:3 › store demo has no serious or critical axe violations (4.1s)
  ✓   4 tests/browser.spec.mjs:203:1 › store quote form displays the server-calculated success response (2.2s)
  ✓   5 tests/browser.spec.mjs:213:1 › store quote form exposes a server failure without claiming success (2.0s)
  ✓   6 tests/browser.spec.mjs:316:1 › closed store cart keeps its hidden quote fields out of keyboard navigation (2.0s)
  ✓   7 tests/browser.spec.mjs:326:1 › store cart traps focus while open and returns focus when dismissed (1.7s)
  ✓   8 tests/browser.spec.mjs:341:1 › store quantity update preserves focus on the edited cart field (1.7s)
  ✓   9 tests/browser.spec.mjs:404:3 › store hides its catalog loading state after content loads (1.5s)
  ✓  10 tests/browser.spec.mjs:412:1 › store avoids motion effects when reduced motion is requested (1.1s)
  ✓  11 tests/product-story.spec.mjs:37:1 › listening modes are keyboard operable and keep one pressed state (1.7s)
  ✓  12 tests/product-story.spec.mjs:61:1 › comparison uses the current catalog response including price overrides (1.6s)
  ✓  13 tests/product-story.spec.mjs:86:1 › empty, error, and retry catalog states keep comparison hidden (2.4s)
  ✓  14 tests/product-story.spec.mjs:123:1 › desktop story pin follows live reduced-motion changes without duplicate spacers (1.5s)
  ✓  15 tests/product-story.spec.mjs:141:1 › mobile story does not pin and every main section remains reachable (2.2s)
  ✓  16 tests/product-story.spec.mjs:159:1 › empty cart traps both backward and forward Tab navigation (1.6s)
  ✓  17 tests/product-story.spec.mjs:175:1 › store has no serious or critical axe violations at 320px (3.3s)
  ✓  18 tests/product-story.spec.mjs:190:1 › the product story, specifications, and FAQ remain readable without JavaScript (1.3s)

  18 passed (39.4s)
