/* Icon primitives — Lucide stroke icons inlined as JSX
   so the kit doesn't depend on a runtime icon import. */

const SvgBase = ({ children, size = 24, stroke = 2, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth={stroke}
       strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {children}
  </svg>
);

const IconCheck = (p) => (
  <SvgBase {...p} stroke={3.2}><polyline points="4 12 10 18 20 6"/></SvgBase>
);

const IconHome = (p) => (
  <SvgBase {...p}>
    <path d="M3 9.5L12 3l9 6.5"/>
    <path d="M5 9v11h14V9"/>
    <path d="M9 20v-6h6v6"/>
  </SvgBase>
);

const IconBuilding = (p) => (
  <SvgBase {...p}>
    <rect x="3" y="3" width="18" height="18" rx="1"/>
    <path d="M9 9h2M13 9h2M9 13h2M13 13h2M9 17h2M13 17h2"/>
  </SvgBase>
);

const IconWrench = (p) => (
  <SvgBase {...p}>
    <path d="M14.7 6.3a4 4 0 0 0-5.7 5.7L3 17.9 6.1 21l5.9-5.9a4 4 0 0 0 5.7-5.7l-2.6 2.6-2.4-2.4z"/>
  </SvgBase>
);

const IconPhone = (p) => (
  <SvgBase {...p}>
    <path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z"/>
  </SvgBase>
);

const IconMail = (p) => (
  <SvgBase {...p}>
    <rect x="2" y="4" width="20" height="16" rx="2"/>
    <path d="M22 7l-10 6L2 7"/>
  </SvgBase>
);

const IconPin = (p) => (
  <SvgBase {...p}>
    <path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/>
    <circle cx="12" cy="10" r="3"/>
  </SvgBase>
);

const IconStar = (p) => (
  <SvgBase {...p} stroke={0} fill="currentColor">
    <path d="M12 2l3 6.5 7 1-5 5 1.2 7L12 18l-6.2 3.5L7 14.5l-5-5 7-1z"/>
  </SvgBase>
);

const IconHardHat = (p) => (
  <SvgBase {...p}>
    <path d="M2 18a10 10 0 0 1 20 0"/>
    <path d="M2 18h20v3H2z"/>
    <path d="M10 9V6a2 2 0 0 1 4 0v3"/>
  </SvgBase>
);

const IconShield = (p) => (
  <SvgBase {...p}>
    <path d="M12 2L4 5v7c0 5 3.5 8.5 8 10 4.5-1.5 8-5 8-10V5z"/>
    <polyline points="9 12 11 14 15 10"/>
  </SvgBase>
);

const IconClock = (p) => (
  <SvgBase {...p}>
    <circle cx="12" cy="12" r="10"/>
    <polyline points="12 6 12 12 16 14"/>
  </SvgBase>
);

const IconDollar = (p) => (
  <SvgBase {...p}>
    <line x1="12" y1="2" x2="12" y2="22"/>
    <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/>
  </SvgBase>
);

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

const IconMenu = (p) => (
  <SvgBase {...p}>
    <line x1="4" y1="6" x2="20" y2="6"/>
    <line x1="4" y1="12" x2="20" y2="12"/>
    <line x1="4" y1="18" x2="20" y2="18"/>
  </SvgBase>
);

Object.assign(window, {
  IconCheck, IconHome, IconBuilding, IconWrench, IconPhone, IconMail,
  IconPin, IconStar, IconHardHat, IconShield, IconClock, IconDollar,
  IconArrowRight, IconMenu,
});
