/* ============================================================
   Catered · icons  (window.CATIcons)
   Thin, rounded line icons on a 24×24 grid.
   ============================================================ */
const Svg = ({ size = 20, strokeWidth = 1.8, children, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor"
    strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round" aria-hidden="true" {...rest}>
    {children}
  </svg>
);

const CATIcons = {
  Fork: (p) => <Svg {...p}><path d="M3 2v7c0 1.1.9 2 2 2a2 2 0 0 0 2-2V2M5 2v20M16 2c-1.7 0-3 2-3 5s1.3 5 3 5m0 0v10m0-10c1.7 0 3-2 3-5s-1.3-5-3-5"/></Svg>,
  Calendar: (p) => <Svg {...p}><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></Svg>,
  CalendarPlus: (p) => <Svg {...p}><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18M12 14v4M10 16h4"/></Svg>,
  Cart: (p) => <Svg {...p}><circle cx="9" cy="20" r="1.4"/><circle cx="18" cy="20" r="1.4"/><path d="M2 3h3l2.4 12.3a1.6 1.6 0 0 0 1.6 1.3h8.2a1.6 1.6 0 0 0 1.6-1.3L22 7H6"/></Svg>,
  Plus: (p) => <Svg {...p}><path d="M12 5v14M5 12h14"/></Svg>,
  Minus: (p) => <Svg {...p}><path d="M5 12h14"/></Svg>,
  X: (p) => <Svg {...p}><path d="M18 6 6 18M6 6l12 12"/></Svg>,
  Check: (p) => <Svg {...p}><path d="M20 6 9 17l-5-5"/></Svg>,
  ChevronLeft: (p) => <Svg {...p}><path d="m15 18-6-6 6-6"/></Svg>,
  ChevronRight: (p) => <Svg {...p}><path d="m9 18 6-6-6-6"/></Svg>,
  Search: (p) => <Svg {...p}><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></Svg>,
  Trash: (p) => <Svg {...p}><path d="M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2M19 6l-1 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1L5 6"/></Svg>,
  Download: (p) => <Svg {...p}><path d="M12 3v12m0 0 4-4m-4 4-4-4M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/></Svg>,
  External: (p) => <Svg {...p}><path d="M15 3h6v6M21 3l-9 9M19 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5"/></Svg>,
  Clock: (p) => <Svg {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></Svg>,
  Copy: (p) => <Svg {...p}><rect x="9" y="9" width="12" height="12" rx="2"/><path d="M5 15a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2"/></Svg>,
  Printer: (p) => <Svg {...p}><path d="M6 9V3h12v6M6 18H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2M6 14h12v7H6z"/></Svg>,
  Link: (p) => <Svg {...p}><path d="M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1"/></Svg>,
  ArrowRight: (p) => <Svg {...p}><path d="M5 12h14M12 5l7 7-7 7"/></Svg>,
  Menu: (p) => <Svg {...p}><path d="M3 6h18M3 12h18M3 18h18"/></Svg>,
  Sparkle: (p) => <Svg {...p}><path d="M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z"/></Svg>,
  Pencil: (p) => <Svg {...p}><path d="M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z"/></Svg>,
};

window.CATIcons = CATIcons;
