// icons.jsx — minimal line-art icon set (Lucide-style, original strokes)
// All icons: 24x24 viewBox, stroke="currentColor", strokeWidth=1.5

const Ic = ({ children, size = 22, className = "", strokeWidth = 1.5 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth={strokeWidth}
       strokeLinecap="round" strokeLinejoin="round" className={className}
       aria-hidden="true">
    {children}
  </svg>
);

const IconCode = (p) => (
  <Ic {...p}>
    <polyline points="8 6 2 12 8 18" />
    <polyline points="16 6 22 12 16 18" />
    <line x1="14" y1="4" x2="10" y2="20" />
  </Ic>
);

const IconWorkflow = (p) => (
  <Ic {...p}>
    <rect x="2.5" y="3" width="7" height="5" rx="1.2" />
    <rect x="14.5" y="3" width="7" height="5" rx="1.2" />
    <rect x="8.5" y="16" width="7" height="5" rx="1.2" />
    <path d="M6 8v3a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8" />
    <path d="M12 13v3" />
  </Ic>
);

const IconGlobe = (p) => (
  <Ic {...p}>
    <circle cx="12" cy="12" r="9" />
    <path d="M3 12h18" />
    <path d="M12 3c2.8 3 2.8 15 0 18M12 3c-2.8 3-2.8 15 0 18" />
  </Ic>
);

const IconChart = (p) => (
  <Ic {...p}>
    <path d="M3 3v17a1 1 0 0 0 1 1h17" />
    <rect x="7" y="13" width="2.5" height="5" rx=".4" />
    <rect x="12" y="9"  width="2.5" height="9" rx=".4" />
    <rect x="17" y="5"  width="2.5" height="13" rx=".4" />
  </Ic>
);

const IconCompass = (p) => (
  <Ic {...p}>
    <circle cx="12" cy="12" r="9" />
    <polygon points="15.5 8.5 13.5 13.5 8.5 15.5 10.5 10.5" />
  </Ic>
);

const IconArrowRight = (p) => (
  <Ic {...p}>
    <line x1="5" y1="12" x2="19" y2="12" />
    <polyline points="13 6 19 12 13 18" />
  </Ic>
);

const IconCheck = (p) => (
  <Ic {...p}>
    <polyline points="5 12.5 10 17.5 19 7.5" />
  </Ic>
);

const IconMenu = (p) => (
  <Ic {...p}>
    <line x1="3" y1="7" x2="21" y2="7" />
    <line x1="3" y1="17" x2="21" y2="17" />
  </Ic>
);

const IconX = (p) => (
  <Ic {...p}>
    <line x1="5" y1="5" x2="19" y2="19" />
    <line x1="19" y1="5" x2="5" y2="19" />
  </Ic>
);

const IconMail = (p) => (
  <Ic {...p}>
    <rect x="2.5" y="5" width="19" height="14" rx="2" />
    <polyline points="3 6 12 13 21 6" />
  </Ic>
);

const IconWhats = (p) => (
  <Ic {...p}>
    <path d="M3.5 20.5l1.3-4A8.5 8.5 0 1 1 8 19.2l-4.5 1.3z" />
    <path d="M8.5 9.5c.3 1.2 1.2 2.6 2.4 3.7s2.6 2 3.8 2.3c.4.1.8 0 1-.2l.8-.8c.2-.2.5-.3.8-.1l1.6 1c.3.2.4.5.3.8-.4 1.1-1.5 1.9-2.7 1.9-3.7 0-7.7-4-7.7-7.7 0-1.2.7-2.3 1.9-2.7.3-.1.6 0 .8.3l1 1.6c.2.3.1.6-.1.8l-.8.8c-.2.2-.3.5-.2 1z" />
  </Ic>
);

const IconLinkedin = (p) => (
  <Ic {...p}>
    <rect x="3" y="3" width="18" height="18" rx="2" />
    <line x1="7.5" y1="10" x2="7.5" y2="17" />
    <circle cx="7.5" cy="7" r=".6" fill="currentColor" stroke="none" />
    <path d="M11.5 17v-7M11.5 13c0-1.7 1-3 2.7-3s2.8 1.3 2.8 3v4" />
  </Ic>
);

const IconSpark = (p) => (
  <Ic {...p}>
    <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" />
  </Ic>
);

const IconLayers = (p) => (
  <Ic {...p}>
    <path d="M12 3l9 5-9 5-9-5 9-5z" />
    <path d="M3 13l9 5 9-5" />
    <path d="M3 17l9 5 9-5" />
  </Ic>
);

const IconUsers = (p) => (
  <Ic {...p}>
    <circle cx="9" cy="8" r="3.2" />
    <path d="M3.5 19c.5-3 3-5 5.5-5s5 2 5.5 5" />
    <circle cx="17" cy="9" r="2.5" />
    <path d="M15 14c2.5.2 4.7 2 5 4.5" />
  </Ic>
);

const IconBook = (p) => (
  <Ic {...p}>
    <path d="M4 4.5A1.5 1.5 0 0 1 5.5 3H19v15H6a2 2 0 0 0-2 2V4.5z" />
    <path d="M4 20a2 2 0 0 0 2 2h13" />
  </Ic>
);

Object.assign(window, {
  IconCode, IconWorkflow, IconGlobe, IconChart, IconCompass,
  IconArrowRight, IconCheck, IconMenu, IconX, IconMail, IconWhats, IconLinkedin,
  IconSpark, IconLayers, IconUsers, IconBook,
});
