// Icon set — hand-tuned minimal line icons, consistent 1.5px stroke
const Icon = ({ d, size = 20, fill = 'none', stroke = 'currentColor', sw = 1.6, children, vb = '0 0 24 24' }) => (
  <svg width={size} height={size} viewBox={vb} fill={fill} stroke={stroke} strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
    {d ? <path d={d} /> : children}
  </svg>
);

const IconCheck    = (p) => <Icon {...p} d="M4 12.5l5 5L20 6.5" />;
const IconArrow    = (p) => <Icon {...p}><path d="M5 12h14"/><path d="M13 6l6 6-6 6"/></Icon>;
const IconStar     = (p) => <Icon {...p} fill="currentColor" sw={0} d="M12 2.5l2.95 6.0 6.6.95-4.78 4.66 1.13 6.57L12 17.6l-5.9 3.1 1.13-6.57L2.45 9.45l6.6-.95z"/>;
const IconShield   = (p) => <Icon {...p}><path d="M12 2.5l8 3v6c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10v-6l8-3z"/><path d="M8.5 12l2.5 2.5L15.5 10"/></Icon>;
const IconPlay     = (p) => <Icon {...p} fill="currentColor" sw={0} d="M8 5.5v13l11-6.5z"/>;
const IconLock     = (p) => <Icon {...p}><rect x="4" y="10.5" width="16" height="10" rx="2"/><path d="M8 10.5V7a4 4 0 0 1 8 0v3.5"/></Icon>;
const IconClock    = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3.5 2.5"/></Icon>;
const IconHeart    = (p) => <Icon {...p} d="M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.5-7 10-7 10z"/>;
const IconSparkle  = (p) => <Icon {...p}><path d="M12 3v6M12 15v6M3 12h6M15 12h6"/><path d="M5.5 5.5l3 3M15.5 15.5l3 3M18.5 5.5l-3 3M8.5 15.5l-3 3"/></Icon>;
const IconBrain    = (p) => <Icon {...p}><path d="M9 4.5a3 3 0 0 0-3 3v1A3 3 0 0 0 4 11v1a3 3 0 0 0 1.5 2.6A3 3 0 0 0 9 19.5c.8 0 1.5-.3 2-.8M15 4.5a3 3 0 0 1 3 3v1A3 3 0 0 1 20 11v1a3 3 0 0 1-1.5 2.6A3 3 0 0 1 15 19.5c-.8 0-1.5-.3-2-.8"/><path d="M12 3.5v16"/></Icon>;
const IconBook     = (p) => <Icon {...p}><path d="M4 5.5a2 2 0 0 1 2-2h12v17H6a2 2 0 0 1-2-2z"/><path d="M8 3.5v17"/></Icon>;
const IconVideo    = (p) => <Icon {...p}><rect x="3" y="6" width="13" height="12" rx="2"/><path d="M16 10l5-3v10l-5-3z"/></Icon>;
const IconGift     = (p) => <Icon {...p}><path d="M4 10h16v10H4z"/><path d="M4 10l-0-3h16v3M12 10v10M8 7c-1.7 0-3-1-3-2.5S6.3 2 8 2s4 5 4 5-2.3 0-4 0zM16 7c1.7 0 3-1 3-2.5S17.7 2 16 2s-4 5-4 5 2.3 0 4 0z"/></Icon>;
const IconBaby     = (p) => <Icon {...p}><circle cx="12" cy="9" r="4"/><path d="M9 8.5h.01M15 8.5h.01"/><path d="M9.5 10.5s.5 1.2 2.5 1.2 2.5-1.2 2.5-1.2"/><path d="M5 21c0-3.5 3.1-6 7-6s7 2.5 7 6"/></Icon>;
const IconFlame    = (p) => <Icon {...p}><path d="M12 3c1 4 5 5 5 10a5 5 0 1 1-10 0c0-2 1-3 2-4 0 2 1 3 2 3 0-4 1-6 1-9z"/></Icon>;
const IconDot      = ({ size=6, color='currentColor' }) => <span style={{display:'inline-block',width:size,height:size,borderRadius:'50%',background:color,verticalAlign:'middle'}}/>;
const IconQuote    = (p) => <Icon {...p} fill="currentColor" sw={0} d="M7 8c-2 0-3 2-3 4v5h5v-5H6c0-2 1-3 3-3zM17 8c-2 0-3 2-3 4v5h5v-5h-3c0-2 1-3 3-3z"/>;
const IconChevron  = (p) => <Icon {...p}><path d="M6 9l6 6 6-6"/></Icon>;
const IconWhatsapp = (p) => <Icon {...p} fill="currentColor" stroke="none" sw={0}><path d="M20.5 3.5A10 10 0 0 0 4 16l-1.5 5.5L8 20a10 10 0 0 0 14.5-9.5c0-2.6-1-5.2-2-7zM12 19.5c-1.6 0-3.2-.4-4.5-1.2l-.3-.2-3.2.9.9-3.1-.2-.3A8 8 0 1 1 20 11.5a8 8 0 0 1-8 8zm4.4-6c-.3-.1-1.5-.7-1.7-.8s-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.6.1a6.5 6.5 0 0 1-3.2-2.8c-.2-.4 0-.6.2-.8l.4-.5c.1-.1.2-.3.2-.5s0-.3-.1-.4-.6-1.5-.9-2c-.2-.5-.4-.4-.6-.4h-.5c-.2 0-.5.1-.7.3-.3.3-1 1-1 2.5s1 2.8 1.2 3c.1.2 2.1 3.2 5.1 4.5 1.8.8 2.5.8 3.4.7.5-.1 1.5-.6 1.8-1.3.2-.6.2-1.1.1-1.3z"/></Icon>;

Object.assign(window, {
  Icon, IconCheck, IconArrow, IconStar, IconShield, IconPlay, IconLock,
  IconClock, IconHeart, IconSparkle, IconBrain, IconBook, IconVideo, IconGift,
  IconBaby, IconFlame, IconDot, IconQuote, IconChevron, IconWhatsapp,
});
