// Icons.jsx — minimal line icons + brand glyphs

const LDIcon = {
  Cart: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="9" cy="20" r="1.5"/><circle cx="17" cy="20" r="1.5"/>
      <path d="M3 4h2l2.5 11.5a2 2 0 0 0 2 1.5h7.4a2 2 0 0 0 2-1.5L21 8H6"/>
    </svg>
  ),
  Calendar: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="3" y="5" width="18" height="16" rx="2"/>
      <path d="M3 9h18M8 3v4M16 3v4"/>
    </svg>
  ),
  Clock: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/>
    </svg>
  ),
  Pin: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 22s7-7.58 7-13a7 7 0 1 0-14 0c0 5.42 7 13 7 13z"/>
      <circle cx="12" cy="9" r="2.5"/>
    </svg>
  ),
  Truck: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M2 7h11v10H2zM13 10h4l4 4v3h-8z"/>
      <circle cx="7" cy="19" r="1.7"/><circle cx="17" cy="19" r="1.7"/>
    </svg>
  ),
  Check: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M4 12.5 9.5 18 20 6.5"/>
    </svg>
  ),
  Plus: (p) => (
    <svg width={p.size||16} height={p.size||16} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M12 5v14M5 12h14"/></svg>
  ),
  Minus: (p) => (
    <svg width={p.size||16} height={p.size||16} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M5 12h14"/></svg>
  ),
  Arrow: (p) => (
    <svg width={p.size||16} height={p.size||16} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
  ),
  ChevronDown: (p) => (
    <svg width={p.size||16} height={p.size||16} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="m6 9 6 6 6-6"/></svg>
  ),
  Settings: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 0 1-4 0v-.1a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 0 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3h0a1.7 1.7 0 0 0 1-1.5V3a2 2 0 0 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8v0a1.7 1.7 0 0 0 1.5 1H21a2 2 0 0 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z"/>
    </svg>
  ),
  Bolt: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="currentColor"><path d="M13 2 4 14h7l-1 8 9-12h-7z"/></svg>
  ),
  Layers: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="m12 2 10 5-10 5L2 7l10-5z"/><path d="m2 17 10 5 10-5M2 12l10 5 10-5"/>
    </svg>
  ),
  Star: (p) => (
    <svg width={p.size||16} height={p.size||16} viewBox="0 0 24 24" fill="currentColor"><path d="m12 2 3 7h7l-5.6 4.2L18 21l-6-4.4L6 21l1.6-7.8L2 9h7z"/></svg>
  ),
};

// Shopify wordmark glyph (the shopping bag shape)
function ShopifyBag({ size = 24 }) {
  return (
    <svg width={size} height={size * 1.13} viewBox="0 0 109 124" fill="none" aria-hidden="true">
      <path d="M74.7 23.4c0-.4-.4-.7-.7-.7l-7.6-.6-5.6-5.5c-.6-.5-1.6-.4-2-.3l-2.9.9C54 11.6 50.1 7 43.5 7c-.2 0-.4 0-.6.1-.2-.2-.4-.4-.5-.5-2.4-2.5-5.5-3.7-9.2-3.6-7.2.2-14.3 5.4-20.1 14.6C9 24 5.9 32.3 5 38.7c-8.3 2.6-14 4.4-14.1 4.4-4.6 1.5-4.8 1.6-5.4 6C-15 51.5-25 130-25 130l84.6 14.7L106 132s-31.1-108.2-31.3-108.6zM55.6 19.4c-2.4.7-5.1 1.6-8 2.5 0-4.1-.5-9.9-2.4-14.9 6.1 1.1 9.1 8 10.4 12.4zm-13.6 4.2c-5.6 1.7-11.7 3.6-17.8 5.5 1.7-6.6 4.9-13.1 8.9-17.4 1.5-1.6 3.5-3.4 5.9-4.4 2.3 4.8 2.8 11.6 3 16.3zM33.4 6.7c1.9 0 3.5.4 4.8 1.3-2.2 1.1-4.4 2.8-6.4 5.1-5.3 5.7-9.4 14.5-11 23-5 1.5-9.9 3.1-14.4 4.5C9.2 25.4 20.7 7 33.4 6.7z" fill="#95BF47"/>
      <path d="M74 22.7c-.3 0-7.6-.6-7.6-.6l-5.6-5.5c-.5-.5-1.5-.4-1.8-.3L55.1 144.7 106 132s-31.1-108.2-31.3-108.6c-.2-.4-.5-.7-.7-.7z" fill="#5E8E3E"/>
      <path d="M43.5 49.1 37.6 71c-3.7-1.7-8.1-2.5-13-2.5-9.5 0-9.7 6-9.7 7.5 0 8.2 21.4 11.4 21.4 30.6 0 15.1-9.6 24.9-22.5 24.9-15.5 0-23.4-9.6-23.4-9.6l4.1-13.7s8.1 7 15 7c4.5 0 6.4-3.5 6.4-6.1 0-10.7-17.5-11.2-17.5-28.8 0-14.8 10.6-29.2 32.1-29.2 8.3.1 12.4 2.5 12.4 2.5z" fill="#fff"/>
    </svg>
  );
}

window.LDIcon = LDIcon;
window.LDShopifyBag = ShopifyBag;
