/* Lucide-style icon components — stroke-based SVGs */
const Icon = ({ size = 20, stroke = "currentColor", children, ...p }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke={stroke} strokeWidth="1.75" strokeLinecap="round" strokeLinejoin="round"
       aria-hidden="true" {...p}>
    {children}
  </svg>
);

const IconMenu  = (p) => <Icon {...p}><line x1="4" y1="7"  x2="20" y2="7" /><line x1="4" y1="12" x2="20" y2="12" /><line x1="4" y1="17" x2="20" y2="17" /></Icon>;
const IconX     = (p) => <Icon {...p}><line x1="6" y1="6" x2="18" y2="18" /><line x1="18" y1="6" x2="6" y2="18" /></Icon>;
const IconArrow = (p) => <Icon {...p}><line x1="5" y1="12" x2="19" y2="12" /><polyline points="12 5 19 12 12 19" /></Icon>;
const IconQuote = (p) => <Icon {...p}><path d="M7 7h4v4H7c0 3 1 4 3 5" /><path d="M15 7h4v4h-4c0 3 1 4 3 5" /></Icon>;
const IconLinkedin = (p) => <Icon {...p}><rect x="2.5" y="2.5" width="19" height="19" rx="2" /><line x1="7" y1="10" x2="7" y2="17" /><circle cx="7" cy="7" r="0.6" /><path d="M11 17v-7M11 13c0-2 1.5-3 3-3s3 1 3 3v4" /></Icon>;
const IconTwitter = (p) => <Icon {...p}><path d="M4 4l7 9-7 7h2.5l5.5-5.5L16 20h4l-7.5-9.5L19.5 4H17l-5 5L8 4H4z" /></Icon>;
const IconInstagram = (p) => <Icon {...p}><rect x="3" y="3" width="18" height="18" rx="5" /><circle cx="12" cy="12" r="4" /><circle cx="17.2" cy="6.8" r="0.6" /></Icon>;
const IconYoutube = (p) => <Icon {...p}><rect x="2.5" y="5" width="19" height="14" rx="3" /><polygon points="10 9 16 12 10 15" /></Icon>;

Object.assign(window, { Icon, IconMenu, IconX, IconArrow, IconQuote, IconLinkedin, IconTwitter, IconInstagram, IconYoutube });
