chris ec748c75a9 perf+fix: lazy images, API caching, iOS scroll lock, color name wrapping
Performance:
- Add loading="lazy" decoding="async" to product card images
- Preconnect to Square S3 image CDN and fonts.googleapis.com in layout
- Cache-Control headers on catalog (20s), inventory (10s), occasions/categories (5min)

Scroll lock:
- Update useLockBodyScroll to use position:fixed + scroll-restore for iOS Safari
- Apply same fix to CartDrawer's inline scroll lock

Color names:
- Remove word-break:break-word so single words never split across lines;
  multi-word names still wrap at spaces

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 10:13:50 -04:00
Description
No description provided
185 MiB
Languages
TypeScript 49.7%
JavaScript 22%
HTML 12%
CSS 8.4%
Shell 7.2%
Other 0.7%