/* Icons — minimal inline SVG set. Lucide-style 1.5px stroke. */

const Icon = ({ name, size = 18, stroke = 1.5, color = 'currentColor', style }) => {
  const paths = {
    search: <><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></>,
    map: <><path d="M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2Z"/><path d="M9 4v14"/><path d="M15 6v14"/></>,
    calendar: <><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 9h18"/><path d="M8 3v4"/><path d="M16 3v4"/></>,
    users: <><circle cx="9" cy="8" r="3"/><circle cx="17" cy="9" r="2.5"/><path d="M3 19c0-3 2.7-5 6-5s6 2 6 5"/><path d="M14.5 19c0-2.3 1.6-4 3.5-4 1.4 0 2.5.7 3 1.7"/></>,
    heart: <path d="M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.5-7 10-7 10Z"/>,
    'heart-fill': <path d="M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.5-7 10-7 10Z" fill="currentColor"/>,
    star: <path d="m12 3 2.6 5.7 6.4.9-4.6 4.4 1.1 6.3L12 17.4 6.5 20.3l1.1-6.3L3 9.6l6.4-.9L12 3Z" fill="currentColor"/>,
    arrowRight: <><path d="M5 12h14"/><path d="m13 6 6 6-6 6"/></>,
    arrowLeft: <><path d="M19 12H5"/><path d="m11 6-6 6 6 6"/></>,
    arrowUpRight: <><path d="M7 17 17 7"/><path d="M8 7h9v9"/></>,
    chevronDown: <path d="m6 9 6 6 6-6"/>,
    chevronRight: <path d="m9 6 6 6-6 6"/>,
    plus: <><path d="M12 5v14"/><path d="M5 12h14"/></>,
    minus: <path d="M5 12h14"/>,
    close: <><path d="M18 6 6 18"/><path d="m6 6 12 12"/></>,
    check: <path d="m4 12 6 6L20 7"/>,
    filter: <><path d="M3 6h18"/><path d="M7 12h10"/><path d="M11 18h2"/></>,
    sort: <><path d="M7 4v16"/><path d="m3 8 4-4 4 4"/><path d="M17 20V4"/><path d="m13 16 4 4 4-4"/></>,
    grid: <><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/></>,
    list: <><path d="M8 6h13"/><path d="M8 12h13"/><path d="M8 18h13"/><circle cx="4" cy="6" r="1"/><circle cx="4" cy="12" r="1"/><circle cx="4" cy="18" r="1"/></>,
    bag: <><path d="M5 8h14l-1 12H6L5 8Z"/><path d="M9 8V6a3 3 0 0 1 6 0v2"/></>,
    boat: <><path d="M3 17c2 1.5 4 1.5 6 0s4-1.5 6 0 4 1.5 6 0"/><path d="M4 14h16l-2-5H6l-2 5Z"/><path d="M12 9V4"/><path d="M12 4l4 2-4 2"/></>,
    home: <><path d="M3 11 12 3l9 8"/><path d="M5 10v10h14V10"/><path d="M10 20v-6h4v6"/></>,
    fish: <><path d="M3 12c3-5 8-5 12 0-4 5-9 5-12 0Z"/><path d="m15 12 4-3v6l-4-3Z"/><circle cx="7" cy="11" r="0.7" fill="currentColor"/></>,
    palm: <><path d="M12 21v-9"/><path d="M12 12c0-3 3-6 8-5-1 5-5 6-8 5Z"/><path d="M12 12c0-3-3-6-8-5 1 5 5 6 8 5Z"/><path d="M12 12c1-3 5-4 9-2-2 4-7 5-9 2Z"/></>,
    mortar: <><path d="M5 4h14l-2 6H7L5 4Z"/><path d="M7 10v3a5 5 0 0 0 10 0v-3"/><path d="M9 20h6"/></>,
    cake: <><rect x="4" y="11" width="16" height="9" rx="1"/><path d="M4 16h16"/><path d="M9 11V8a3 3 0 0 1 6 0v3"/><path d="M12 6V4"/></>,
    sparkle: <><path d="M12 3v6"/><path d="M12 15v6"/><path d="M3 12h6"/><path d="M15 12h6"/><path d="m6 6 3 3"/><path d="m15 15 3 3"/><path d="m18 6-3 3"/><path d="m9 15-3 3"/></>,
    globe: <><circle cx="12" cy="12" r="9"/><path d="M3 12h18"/><path d="M12 3a13 13 0 0 1 0 18"/><path d="M12 3a13 13 0 0 0 0 18"/></>,
    info: <><circle cx="12" cy="12" r="9"/><path d="M12 8h.01"/><path d="M11 12h1v4h1"/></>,
    pin: <><path d="M12 21s7-7 7-12a7 7 0 0 0-14 0c0 5 7 12 7 12Z"/><circle cx="12" cy="9" r="2.5"/></>,
    clock: <><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></>,
    sun: <><circle cx="12" cy="12" r="4"/><path d="M12 3v2"/><path d="M12 19v2"/><path d="m4.9 4.9 1.4 1.4"/><path d="m17.7 17.7 1.4 1.4"/><path d="M3 12h2"/><path d="M19 12h2"/><path d="m4.9 19.1 1.4-1.4"/><path d="m17.7 6.3 1.4-1.4"/></>,
    moon: <path d="M21 13a8 8 0 1 1-9-10 7 7 0 0 0 9 10Z"/>,
    leaf: <><path d="M11 20A8 8 0 0 1 3 12c0-5 4-9 9-9 5 0 9 4 9 9 0 5-4 8-10 8Z"/><path d="M11 20c0-5 4-8 10-8"/></>,
    box: <><path d="M3 7l9-4 9 4-9 4-9-4Z"/><path d="M3 7v10l9 4 9-4V7"/><path d="M12 11v10"/></>,
    user: <><circle cx="12" cy="8" r="4"/><path d="M4 21c0-4 4-7 8-7s8 3 8 7"/></>,
    menu: <><path d="M4 7h16"/><path d="M4 12h16"/><path d="M4 17h16"/></>,
    eye: <><path d="M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12Z"/><circle cx="12" cy="12" r="3"/></>,
    play: <path d="M7 4v16l13-8L7 4Z"/>,
    wave: <><path d="M3 12c2-3 4-3 6 0s4 3 6 0 4-3 6 0"/><path d="M3 17c2-3 4-3 6 0s4 3 6 0 4-3 6 0"/></>,
    diving: <><circle cx="14" cy="6" r="2"/><path d="M3 18c2-3 5-4 8-4s4 0 6-2"/><path d="M14 12v6"/><path d="M11 18h6"/></>,
    chef: <><path d="M7 12c-2 0-3-2-3-4 0-3 3-5 6-5 1.5 0 2.5.5 3 1 .5-.5 1.5-1 3-1 3 0 6 2 6 5 0 2-1 4-3 4"/><path d="M7 12v8h12v-8"/><path d="M11 16v3"/></>,
    package: <><path d="M3 7v10l9 5 9-5V7l-9-5-9 5Z"/><path d="m3 7 9 5 9-5"/><path d="M12 12v10"/></>,
    receipt: <><path d="M5 3v18l2-1 2 1 2-1 2 1 2-1 2 1 2-1V3l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"/><path d="M9 9h6"/><path d="M9 13h6"/></>,
  };
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" style={style} aria-hidden="true">
      {paths[name] || null}
    </svg>
  );
};

Object.assign(window, { Icon });
