// Icons + small UI bits
const Icon = {
  Check: (p) => <svg viewBox="0 0 24 24" width={p.s||16} height={p.s||16} fill="none" stroke="currentColor" strokeWidth="3" strokeLinecap="round" strokeLinejoin="round"><polyline points="20 6 9 17 4 12"/></svg>,
  CheckFill: (p) => <svg viewBox="0 0 24 24" width={p.s||14} height={p.s||14} fill="currentColor"><path d="M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.5-1.5z"/></svg>,
  Arrow: (p) => <svg viewBox="0 0 24 24" width={p.s||16} height={p.s||16} fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>,
  Plus: (p) => <svg viewBox="0 0 24 24" width={p.s||14} height={p.s||14} fill="none" stroke="currentColor" strokeWidth="2.6" strokeLinecap="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>,
  WhatsApp: (p) => <svg viewBox="0 0 32 32" width={p.s||28} height={p.s||28} fill="currentColor"><path d="M16 .5C7.4.5.5 7.4.5 16c0 2.7.7 5.3 2 7.6L.5 31.5l8.1-2c2.2 1.2 4.7 1.9 7.4 1.9 8.6 0 15.5-6.9 15.5-15.5S24.6.5 16 .5zm0 28.4c-2.4 0-4.7-.6-6.7-1.8l-.5-.3-4.8 1.2 1.3-4.7-.3-.5C3.7 20.7 3 18.4 3 16 3 8.8 8.8 3 16 3s13 5.8 13 13-5.8 13-13 13zm7.1-9.7c-.4-.2-2.3-1.1-2.6-1.3-.4-.1-.6-.2-.9.2-.3.4-1 1.3-1.3 1.6-.2.3-.5.3-.8.1-.4-.2-1.6-.6-3.1-1.9-1.1-1-1.9-2.2-2.1-2.6-.2-.4 0-.6.2-.8.2-.2.4-.5.6-.7.2-.2.3-.4.4-.7.1-.3.1-.5 0-.7 0-.2-.9-2.1-1.2-2.9-.3-.7-.6-.6-.9-.6h-.7c-.3 0-.7.1-1 .5-.4.4-1.4 1.3-1.4 3.3 0 1.9 1.4 3.8 1.6 4.1.2.3 2.8 4.3 6.8 6 1 .4 1.7.7 2.3.9.9.3 1.8.3 2.5.2.8-.1 2.3-.9 2.6-1.9.3-.9.3-1.8.2-1.9 0-.3-.3-.4-.7-.6z"/></svg>,
  Shield: (p) => <svg viewBox="0 0 24 24" width={p.s||22} height={p.s||22} fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><polyline points="9 12 11 14 15 10"/></svg>,
  Clock: (p) => <svg viewBox="0 0 24 24" width={p.s||22} height={p.s||22} fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><circle cx="12" cy="12" r="9"/><polyline points="12 7 12 12 15 14"/></svg>,
  Truck: (p) => <svg viewBox="0 0 24 24" width={p.s||22} height={p.s||22} fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><rect x="1" y="6" width="13" height="11"/><polygon points="14 9 19 9 22 13 22 17 14 17"/><circle cx="6" cy="20" r="2"/><circle cx="17" cy="20" r="2"/></svg>,
  Tag: (p) => <svg viewBox="0 0 24 24" width={p.s||22} height={p.s||22} fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><path d="M20.6 13.4l-7.2 7.2a2 2 0 01-2.8 0L2 12V3h9l9.6 9.6a2 2 0 010 2.8z"/><line x1="7" y1="7" x2="7.01" y2="7"/></svg>,
  Card: (p) => <svg viewBox="0 0 24 24" width={p.s||22} height={p.s||22} fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"/><line x1="2" y1="10" x2="22" y2="10"/></svg>,
  Headset: (p) => <svg viewBox="0 0 24 24" width={p.s||22} height={p.s||22} fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><path d="M3 18v-6a9 9 0 0118 0v6"/><path d="M21 19a2 2 0 01-2 2h-1v-6h3v4zM3 19a2 2 0 002 2h1v-6H3v4z"/></svg>,
  Coin: (p) => <svg viewBox="0 0 24 24" width={p.s||22} height={p.s||22} fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"><ellipse cx="12" cy="6" rx="9" ry="3"/><path d="M3 6v6c0 1.66 4 3 9 3s9-1.34 9-3V6"/><path d="M3 12v6c0 1.66 4 3 9 3s9-1.34 9-3v-6"/></svg>,
  Phone: (p) => <svg viewBox="0 0 24 24" width={p.s||14} height={p.s||14} fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6A19.79 19.79 0 012.12 4.18 2 2 0 014.11 2h3a2 2 0 012 1.72c.13.96.37 1.9.72 2.81a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.91.35 1.85.59 2.81.72A2 2 0 0122 16.92z"/></svg>,
  Pin: (p) => <svg viewBox="0 0 24 24" width={p.s||14} height={p.s||14} fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg>,
};

// Decorative laser head SVG (original illustration, simple geometric)
const LaserHeadIllustration = () => (
  <svg viewBox="0 0 240 280" xmlns="http://www.w3.org/2000/svg">
    <defs>
      <linearGradient id="metal" x1="0" y1="0" x2="1" y2="0">
        <stop offset="0%" stopColor="#3a4540"/>
        <stop offset="50%" stopColor="#7a8a82"/>
        <stop offset="100%" stopColor="#2a322e"/>
      </linearGradient>
      <linearGradient id="copper" x1="0" y1="0" x2="1" y2="0">
        <stop offset="0%" stopColor="#9a6638"/>
        <stop offset="50%" stopColor="#d4925a"/>
        <stop offset="100%" stopColor="#6a4525"/>
      </linearGradient>
      <linearGradient id="green" x1="0" y1="0" x2="0" y2="1">
        <stop offset="0%" stopColor="#00c26e"/>
        <stop offset="100%" stopColor="#008c4e"/>
      </linearGradient>
      <radialGradient id="spark" cx=".5" cy=".5">
        <stop offset="0%" stopColor="#fff" stopOpacity="1"/>
        <stop offset="40%" stopColor="#00ff8a" stopOpacity=".6"/>
        <stop offset="100%" stopColor="#00c26e" stopOpacity="0"/>
      </radialGradient>
    </defs>
    {/* Top connector block */}
    <rect x="80" y="20" width="80" height="40" rx="4" fill="url(#metal)" stroke="#1a201d" strokeWidth="1.5"/>
    <rect x="92" y="28" width="14" height="24" rx="2" fill="#1a201d"/>
    <rect x="134" y="28" width="14" height="24" rx="2" fill="#1a201d"/>
    {/* Mid cylinder */}
    <rect x="70" y="60" width="100" height="80" rx="3" fill="url(#metal)" stroke="#1a201d" strokeWidth="1.5"/>
    <line x1="70" y1="75" x2="170" y2="75" stroke="#1a201d" strokeWidth="1"/>
    <line x1="70" y1="125" x2="170" y2="125" stroke="#1a201d" strokeWidth="1"/>
    <circle cx="120" cy="100" r="14" fill="url(#green)" opacity=".85"/>
    <circle cx="120" cy="100" r="8" fill="#0a0d0a"/>
    <text x="120" y="103" textAnchor="middle" fontFamily="JetBrains Mono" fontSize="6" fill="#00c26e" fontWeight="700">RT-5K</text>
    {/* Copper nozzle */}
    <polygon points="85,140 155,140 140,210 100,210" fill="url(#copper)" stroke="#3a2517" strokeWidth="1.5"/>
    <line x1="92" y1="158" x2="148" y2="158" stroke="#3a2517" strokeWidth="1" opacity=".5"/>
    <line x1="96" y1="175" x2="144" y2="175" stroke="#3a2517" strokeWidth="1" opacity=".5"/>
    <line x1="100" y1="192" x2="140" y2="192" stroke="#3a2517" strokeWidth="1" opacity=".5"/>
    {/* Tip */}
    <polygon points="108,210 132,210 124,232 116,232" fill="url(#copper)" stroke="#3a2517" strokeWidth="1.5"/>
    <rect x="116" y="232" width="8" height="4" fill="#3a2517"/>
    {/* Laser beam */}
    <line x1="120" y1="236" x2="120" y2="265" stroke="#00ff8a" strokeWidth="1.5" opacity=".8"/>
    <circle cx="120" cy="265" r="10" fill="url(#spark)"/>
    <circle cx="120" cy="265" r="3" fill="#fff"/>
    {/* Side detail bolts */}
    {[78,162].map((x,i)=><circle key={i} cx={x} cy="100" r="2" fill="#1a201d"/>)}
  </svg>
);

Object.assign(window, { Icon, LaserHeadIllustration });
