// Icon components — minimal stroke icons
const Icon = ({ d, size = 18, stroke = 1.6, fill = "none" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill={fill} stroke="currentColor" strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round">
    {Array.isArray(d) ? d.map((p, i) => <path key={i} d={p} />) : <path d={d} />}
  </svg>
);

const Icons = {
  Check: ({ size = 16 }) => <Icon d="M5 12l4.5 4.5L20 6" size={size} />,
  Arrow: ({ size = 16 }) => <Icon d="M5 12h14M13 6l6 6-6 6" size={size} />,
  ArrowUpRight: ({ size = 16 }) => <Icon d="M7 17L17 7M8 7h9v9" size={size} />,
  Bolt: () => <Icon d="M13 3L4 14h7l-1 7 9-11h-7l1-7z" />,
  Shield: () => <Icon d="M12 2l8 4v6c0 5-3.5 9-8 10-4.5-1-8-5-8-10V6l8-4z" />,
  Cloud: () => <Icon d="M7 18a4 4 0 010-8 5 5 0 019.6-1 4 4 0 01.4 8H7z" />,
  Headset: () => <Icon d={["M4 14v-2a8 8 0 0116 0v2","M4 14a2 2 0 002 2h1v-5H6a2 2 0 00-2 2v1z","M20 14a2 2 0 01-2 2h-1v-5h1a2 2 0 012 2v1z","M16 16v1a3 3 0 01-3 3h-1"]} />,
  Wifi: () => <Icon d={["M5 13a10 10 0 0114 0","M8.5 16.5a5 5 0 017 0","M12 20l.01 0"]} />,
  Server: () => <Icon d={["M3 5a2 2 0 012-2h14a2 2 0 012 2v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5z","M3 16a2 2 0 012-2h14a2 2 0 012 2v3a2 2 0 01-2 2H5a2 2 0 01-2-2v-3z","M7 6.5h.01M7 17.5h.01"]} />,
  Lock: () => <Icon d={["M5 11h14v10H5z","M8 11V8a4 4 0 018 0v3"]} />,
  Phone: () => <Icon d="M5 4h4l2 5-3 2a11 11 0 005 5l2-3 5 2v4a2 2 0 01-2 2A17 17 0 013 6a2 2 0 012-2z" />,
  Mail: () => <Icon d={["M3 7l9 6 9-6","M3 7v10a2 2 0 002 2h14a2 2 0 002-2V7","M3 7a2 2 0 012-2h14a2 2 0 012 2"]} />,
  MapPin: () => <Icon d={["M12 22s8-7 8-13a8 8 0 10-16 0c0 6 8 13 8 13z","M12 11a2 2 0 100-4 2 2 0 000 4z"]} />,
  Close: ({ size = 18 }) => <Icon d="M6 6l12 12M18 6L6 18" size={size} />,
  Send: ({ size = 18 }) => <Icon d="M3 11l18-8-8 18-2-7-8-3z" size={size} fill="currentColor" stroke="currentColor" />,
  Star: ({ size = 14 }) => <Icon d="M12 2l3 6.5 7 1-5 5 1.5 7L12 18l-6.5 3.5L7 14.5l-5-5 7-1L12 2z" size={size} fill="currentColor" stroke="currentColor" />,
  WA: ({ size = 28 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor">
      <path d="M.057 24l1.687-6.163a11.867 11.867 0 01-1.587-5.946C.16 5.335 5.495 0 12.05 0a11.817 11.817 0 018.413 3.488 11.824 11.824 0 013.48 8.414c-.003 6.557-5.338 11.892-11.893 11.892a11.9 11.9 0 01-5.688-1.448L.057 24zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884a9.86 9.86 0 001.683 5.55l-.999 3.648 3.805-.997zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.612-.916-2.207-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.711.306 1.265.489 1.697.626.713.226 1.361.194 1.875.118.572-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413z"/>
    </svg>
  ),
  Facebook: () => <Icon d="M18 2h-3a5 5 0 00-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 011-1h3V2z" size={16} />,
  Twitter: () => <Icon d="M22 5.8c-.7.3-1.5.5-2.4.6.8-.5 1.5-1.3 1.8-2.3-.8.5-1.7.8-2.7 1A4.3 4.3 0 0011 9.1c0 .3 0 .7.1 1A12.3 12.3 0 013 4.6a4.3 4.3 0 001.3 5.7c-.7 0-1.4-.2-2-.5v.1a4.3 4.3 0 003.5 4.2c-.6.2-1.3.2-1.9.1a4.3 4.3 0 004 3A8.6 8.6 0 012 18.6a12.2 12.2 0 006.6 1.9c8 0 12.3-6.6 12.3-12.3v-.5c.8-.6 1.5-1.4 2.1-2.2z" size={16} />,
  LinkedIn: () => <Icon d={["M16 8a6 6 0 016 6v7h-4v-7a2 2 0 00-4 0v7h-4v-7a6 6 0 016-6z","M2 9h4v12H2z","M4 4a2 2 0 100 4 2 2 0 000-4z"]} size={16} />,
  Instagram: () => <Icon d={["M2 7a5 5 0 015-5h10a5 5 0 015 5v10a5 5 0 01-5 5H7a5 5 0 01-5-5V7z","M12 8a4 4 0 100 8 4 4 0 000-8z","M18 6h.01"]} size={16} />,
  Menu: () => <Icon d={["M4 7h16","M4 12h16","M4 17h16"]} />,
};

window.Icons = Icons;
