/* Line icons — editorial 1.6px stroke, 24px grid. window.Icon */
(function () {
  const S = ({ children, size = 24, sw = 1.6 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
      stroke="currentColor" strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round"
      aria-hidden="true">{children}</svg>
  );

  const P = {
    // pillars
    handshake: <><path d="M3 12l3-3 4 3 2-1 2 1 4-3 3 3" /><path d="M10 11l2 2 2-2" /><path d="M3 12v4a1 1 0 0 0 1 1h2M21 12v4a1 1 0 0 1-1 1h-2" /></>,
    bank: <><path d="M3 9l9-5 9 5" /><path d="M4 9v9M9 9v9M15 9v9M20 9v9" /><path d="M3 21h18" /></>,
    globe: <><circle cx="12" cy="12" r="9" /><path d="M3 12h18M12 3c2.5 2.5 2.5 15 0 18M12 3c-2.5 2.5-2.5 15 0 18" /></>,
    // clubs
    bolt: <path d="M13 2L4 14h6l-1 8 9-12h-6l1-8z" />,
    crane: <><path d="M6 21V5l13-1" /><path d="M6 8h13M9 8V5" /><path d="M19 4v6M16 10h6M19 10v4M19 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z" /><path d="M3 21h8" /></>,
    chip: <><rect x="7" y="7" width="10" height="10" rx="1.5" /><rect x="10" y="10" width="4" height="4" rx="1" /><path d="M9 3v3M15 3v3M9 18v3M15 18v3M3 9h3M3 15h3M18 9h3M18 15h3" /></>,
    leaf: <><path d="M11 20c-4 0-7-3-7-8 0-1 .2-2 .5-3 4 0 8 1 9 6" /><path d="M20 4c0 8-4 12-9 13M20 4c-3 0-5 .5-6.5 2" /></>,
    shield: <><path d="M12 3l7 3v5c0 5-3 8-7 10-4-2-7-5-7-10V6l7-3z" /><path d="M9 12l2 2 4-4" /></>,
    heart: <><path d="M12 21C7 17 3 13.5 3 9a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 1.2-.3 2.3-.8 3.3" /><path d="M21 14h-3l-2 3-3-6-2 3h-3" /></>,
    trend: <><path d="M3 17l6-6 4 4 8-8" /><path d="M15 7h6v6" /></>,
    // ui
    arrow: <path d="M5 12h14M13 6l6 6-6 6" />,
    arrowDown: <path d="M6 9l6 6 6-6" />,
    check: <path d="M5 12l5 5L20 7" />,
    close: <path d="M6 6l12 12M18 6L6 18" />,
    menu: <path d="M3 6h18M3 12h18M3 18h18" />,
    star: <path d="M12 3l2.6 5.6L21 9.3l-4.5 4.3 1.1 6.1L12 17l-5.6 2.7 1.1-6.1L3 9.3l6.4-.7L12 3z" />,
    pin: <><path d="M12 21c5-5 7-8 7-12a7 7 0 0 0-14 0c0 4 2 7 7 12z" /><circle cx="12" cy="9" r="2.5" /></>,
    mail: <><rect x="3" y="5" width="18" height="14" rx="2" /><path d="M3 7l9 6 9-6" /></>,
    lock: <><rect x="5" y="11" width="14" height="9" rx="2" /><path d="M8 11V8a4 4 0 0 1 8 0v3" /></>,
    doc: <><path d="M7 3h7l5 5v13H7z" /><path d="M14 3v5h5M10 13h6M10 17h6" /></>,
    gov: <><circle cx="12" cy="5" r="2" /><path d="M12 7v3M6 17a6 6 0 0 1 12 0" /><circle cx="5" cy="10" r="1.6" /><circle cx="19" cy="10" r="1.6" /></>,
    scale: <><path d="M12 4v16M7 20h10M5 7h14" /><path d="M5 7l-2.5 5h5L5 7zM19 7l-2.5 5h5L19 7z" /></>,
    linkedin: <><rect x="3" y="3" width="18" height="18" rx="2" /><path d="M8 10v7M8 7v.01M12 17v-4a2 2 0 0 1 4 0v4" /></>,
    youtube: <><rect x="3" y="6" width="18" height="12" rx="3" /><path d="M11 9.5l4 2.5-4 2.5z" /></>,
  };

  window.Icon = function Icon({ name, size = 24, sw = 1.6 }) {
    return <S size={size} sw={sw}>{P[name] || P.star}</S>;
  };
})();
