.shop-page { padding-top: 42px; }
.shop-hero { max-width: 760px; margin-bottom: 28px; }
.shop-hero p { margin-top: 14px; font-size: 1.05rem; }
.shop-controls { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 16px; margin-bottom: 14px; }
.filter-btn { white-space: nowrap; padding: 12px 18px; border-radius: 999px; background: hsl(var(--card)); border: 1px solid hsl(var(--border)); color: hsl(var(--muted)); font-weight: 900; transition: var(--transition-fast); }
.filter-btn.active, .filter-btn:hover { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.product-grid { display: grid; gap: 18px; padding-bottom: 40px; }
@media (min-width: 680px) { .product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .product-grid { grid-template-columns: repeat(4, 1fr); } }