// Icon set — stroke-only, minimal, all 1.5 stroke at 24px
const Icon = ({ name, size = 20, stroke = 1.6, ...rest }) => {
  const props = {
    width: size, height: size, viewBox: "0 0 24 24",
    fill: "none", stroke: "currentColor", strokeWidth: stroke,
    strokeLinecap: "round", strokeLinejoin: "round",
    ...rest,
  };
  switch (name) {
    case "menu":     return (<svg {...props}><path d="M4 7h16M4 12h16M4 17h10" /></svg>);
    case "close":    return (<svg {...props}><path d="M6 6l12 12M18 6L6 18" /></svg>);
    case "search":   return (<svg {...props}><circle cx="11" cy="11" r="6" /><path d="M20 20l-3.5-3.5" /></svg>);
    case "bag":      return (<svg {...props}><path d="M6 8h12l-1 12H7L6 8z" /><path d="M9 8a3 3 0 0 1 6 0" /></svg>);
    case "arrow":    return (<svg {...props}><path d="M5 12h14M13 6l6 6-6 6" /></svg>);
    case "arrow-l":  return (<svg {...props}><path d="M19 12H5M11 6l-6 6 6 6" /></svg>);
    case "arrow-up": return (<svg {...props}><path d="M12 19V5M6 11l6-6 6 6" /></svg>);
    case "heart":    return (<svg {...props}><path d="M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.5A4 4 0 0 1 19 10c0 5.6-7 10-7 10z" /></svg>);
    case "plus":     return (<svg {...props}><path d="M12 5v14M5 12h14" /></svg>);
    case "minus":    return (<svg {...props}><path d="M5 12h14" /></svg>);
    case "check":    return (<svg {...props}><path d="M4 12l5 5L20 6" /></svg>);
    case "wa":       return (<svg {...props}><path d="M3.5 20.5l1.4-5.1a8 8 0 1 1 3.2 3.2L3.5 20.5z" /><path d="M8.5 9.5c.3 1.5 1.8 3.3 3.3 4.1.5.3 1 .3 1.4-.2l.6-.7c.3-.3.7-.4 1-.2l1.5.7c.3.2.4.5.3.8-.4 1.4-1.8 2.2-3.2 1.7-2.4-.8-4.4-2.8-5.2-5.2-.5-1.4.3-2.8 1.7-3.2.3-.1.7 0 .8.3l.7 1.5c.2.3.1.7-.2 1l-.7.6c-.5.4-.5.9-.2 1.4z" /></svg>);
    case "ig":       return (<svg {...props}><rect x="3" y="3" width="18" height="18" rx="5" /><circle cx="12" cy="12" r="4" /><circle cx="17.3" cy="6.7" r=".6" fill="currentColor" stroke="none" /></svg>);
    case "fb":       return (<svg {...props}><path d="M15 8h-2a1 1 0 0 0-1 1v3h3l-.5 3H12v7" /><rect x="3" y="3" width="18" height="18" rx="3" /></svg>);
    case "pin":      return (<svg {...props}><path d="M12 22s7-7 7-12a7 7 0 0 0-14 0c0 5 7 12 7 12z" /><circle cx="12" cy="10" r="2.5" /></svg>);
    case "user":     return (<svg {...props}><circle cx="12" cy="8" r="4" /><path d="M4 21a8 8 0 0 1 16 0" /></svg>);
    case "filter":   return (<svg {...props}><path d="M4 6h16M7 12h10M10 18h4" /></svg>);
    case "home":     return (<svg {...props}><path d="M4 11l8-7 8 7v9a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1v-9z" /></svg>);
    case "star":     return (<svg {...props}><path d="M12 4l2.5 5 5.5.8-4 4 1 5.5L12 16.7 7 19.3l1-5.5-4-4 5.5-.8L12 4z" /></svg>);
    case "leaf":     return (<svg {...props}><path d="M4 20c8 0 14-4 16-16-8 0-14 4-16 16zM4 20c4-4 8-7 14-12" /></svg>);
    case "phone":    return (<svg {...props}><path d="M5 4h4l2 5-3 2a12 12 0 0 0 5 5l2-3 5 2v4a2 2 0 0 1-2 2A17 17 0 0 1 3 6a2 2 0 0 1 2-2z" /></svg>);
    case "mail":     return (<svg {...props}><rect x="3" y="5" width="18" height="14" rx="2" /><path d="M3 7l9 6 9-6" /></svg>);
    case "spark":    return (<svg {...props}><path d="M12 3v4M12 17v4M3 12h4M17 12h4M5.6 5.6l2.8 2.8M15.6 15.6l2.8 2.8M5.6 18.4l2.8-2.8M15.6 8.4l2.8-2.8" /></svg>);
    case "trash":    return (<svg {...props}><path d="M4 7h16M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2M6 7l1 13a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-13" /></svg>);
    case "clock":    return (<svg {...props}><circle cx="12" cy="12" r="9" /><path d="M12 7v5l3 2" /></svg>);
    case "shield":   return (<svg {...props}><path d="M12 3l8 3v5c0 5-3.5 9-8 10-4.5-1-8-5-8-10V6l8-3z" /></svg>);
    case "ship":     return (<svg {...props}><path d="M3 16a3 3 0 0 0 3 2 3 3 0 0 0 3-2 3 3 0 0 0 3 2 3 3 0 0 0 3-2 3 3 0 0 0 3 2 3 3 0 0 0 3-2" /><path d="M4 16l1-6h14l1 6" /><path d="M12 10V5h4l3 5" /></svg>);
    default: return null;
  }
};
window.Icon = Icon;
