diff --git a/src/components/shop/ProductFilters.tsx b/src/components/shop/ProductFilters.tsx
new file mode 100644
index 0000000..a06abc5
--- /dev/null
+++ b/src/components/shop/ProductFilters.tsx
@@ -0,0 +1,94 @@
+'use client'
+import { X } from 'lucide-react'
+
+export interface FilterState {
+ category: string
+ maxPrice: number
+ inStockOnly: boolean
+}
+
+interface Category { id: string; title: string }
+
+interface ProductFiltersProps {
+ categories: Category[]
+ filters: FilterState
+ onChange: (f: FilterState) => void
+ onReset: () => void
+ isMobile?: boolean
+ onClose?: () => void
+}
+
+export default function ProductFilters({ categories, filters, onChange, onReset, isMobile, onClose }: ProductFiltersProps) {
+ return (
+
+ {isMobile && (
+
+
Filters
+
+
+ )}
+
+ {/* Category */}
+ {categories.length > 0 && (
+
+
Category
+
+
+ {categories.map(cat => (
+
+ ))}
+
+
+ )}
+
+ {/* Price */}
+
+
Max Price
+
+ {[0, 250, 500, 1000, 2500].map(price => (
+
+ ))}
+
+
+
+ {/* In Stock */}
+
+
+
+
+
+
+ )
+}