// Icons inline SVG, sized 1em, currentColor
const Icon = ({ name, size = 24, stroke = 1.6 }) => {
  const props = { width: size, height: size, viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: stroke, strokeLinecap: 'round', strokeLinejoin: 'round' };
  switch (name) {
    case 'wifi': return <svg {...props}><path d="M5 12.55a11 11 0 0 1 14 0M8.5 16.05a6 6 0 0 1 7 0M12 20h.01M2 8.82a15 15 0 0 1 20 0"/></svg>;
    case 'kitchen': return <svg {...props}><path d="M6 2v20M6 12h12M18 2v20M14 6h-4M14 10h-4"/></svg>;
    case 'parking': return <svg {...props}><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M9 17V7h4a3 3 0 0 1 0 6H9"/></svg>;
    case 'tv': return <svg {...props}><rect x="2" y="6" width="20" height="13" rx="2"/><path d="M8 22h8M12 19v3"/></svg>;
    case 'balcony': return <svg {...props}><path d="M3 21h18M5 21V10h14v11M9 10V3h6v7M9 14h6M9 18h6"/></svg>;
    case 'fan': return <svg {...props}><path d="M12 12v.01M12 4a4 4 0 0 0-4 4c0 4 4 4 4 4M12 4a4 4 0 0 1 4 4c0 0-4 0-4 4M12 20a4 4 0 0 0 4-4c0-4-4-4-4-4M12 20a4 4 0 0 1-4-4c0 0 4 0 4-4"/></svg>;
    case 'bbq': return <svg {...props}><path d="M5 8h14l-1.5 9a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2L5 8zM8 8V5a4 4 0 0 1 8 0v3M9 19l-1 3M15 19l1 3"/></svg>;
    case 'beach': return <svg {...props}><circle cx="12" cy="6" r="3"/><path d="M12 9v6M9 15h6M3 21c2-2 5-2 7 0M14 21c2-2 5-2 7 0"/></svg>;
    case 'shop': return <svg {...props}><path d="M3 7l1.5-3h15L21 7M3 7v13a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V7M3 7h18M9 12h6"/></svg>;
    case 'town': return <svg {...props}><path d="M3 21h18M6 21V8l5-4 5 4v13M9 21V13h4v8M18 21V11l3 2v8M16 8h2v3"/></svg>;
    case 'star': return <svg {...props} fill="currentColor" stroke="none"><path d="M12 2l3 7 7 .8-5.2 4.7L18.4 22 12 18.3 5.6 22l1.6-7.5L2 9.8 9 9z"/></svg>;
    case 'star-outline': return <svg {...props}><path d="M12 2l3 7 7 .8-5.2 4.7L18.4 22 12 18.3 5.6 22l1.6-7.5L2 9.8 9 9z"/></svg>;
    case 'whatsapp': return <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor"><path d="M17.5 14.4c-.3-.2-1.7-.9-2-1s-.5-.1-.7.1l-1 1.2c-.2.2-.4.3-.7.1-.3-.2-1.3-.5-2.4-1.5-.9-.8-1.5-1.8-1.7-2.1-.2-.3 0-.5.1-.6l.5-.6c.2-.2.2-.3.4-.5.1-.2.1-.4 0-.5l-1-2.4c-.3-.6-.5-.5-.7-.5h-.6c-.2 0-.6.1-.9.4-.3.3-1.2 1.1-1.2 2.7s1.2 3.2 1.4 3.4c.2.2 2.4 3.7 5.9 5.1.8.4 1.5.6 2 .7.8.3 1.6.2 2.2.1.7-.1 2-.8 2.3-1.6.3-.8.3-1.5.2-1.6-.1-.1-.3-.2-.6-.4zM12 2C6.5 2 2 6.5 2 12c0 1.8.5 3.5 1.3 5L2 22l5.2-1.4c1.4.7 3.1 1.2 4.8 1.2 5.5 0 10-4.5 10-10S17.5 2 12 2zm0 18.2c-1.5 0-3-.4-4.3-1.2l-.3-.2-3.1.8.8-3-.2-.3c-.9-1.4-1.3-3-1.3-4.6C3.6 7.4 7.4 3.6 12 3.6s8.4 3.8 8.4 8.4-3.8 8.2-8.4 8.2z"/></svg>;
    case 'arrow-right': return <svg {...props}><path d="M5 12h14M13 6l6 6-6 6"/></svg>;
    case 'check': return <svg {...props}><path d="M5 12l5 5L20 7"/></svg>;
    case 'menu': return <svg {...props}><path d="M3 6h18M3 12h18M3 18h18"/></svg>;
    case 'close': return <svg {...props}><path d="M6 6l12 12M18 6L6 18"/></svg>;
    case 'chevron-left': return <svg {...props}><path d="M15 6l-6 6 6 6"/></svg>;
    case 'chevron-right': return <svg {...props}><path d="M9 6l6 6-6 6"/></svg>;
    case 'chevron-down': return <svg {...props}><path d="M6 9l6 6 6-6"/></svg>;
    case 'people': return <svg {...props}><circle cx="9" cy="8" r="3"/><circle cx="17" cy="9" r="2.5"/><path d="M3 20c0-3 3-5 6-5s6 2 6 5M14 20c0-2 2-4 5-4s5 1.5 5 4"/></svg>;
    case 'bed': return <svg {...props}><path d="M3 18v-6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6M3 18v3M21 18v3M3 14h18M7 10V8a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v2"/></svg>;
    case 'bath': return <svg {...props}><path d="M4 12h16v4a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-4zM6 12V6a2 2 0 0 1 2-2c1 0 2 .5 2 2M5 19l-1 2M19 19l1 2"/></svg>;
    case 'door': return <svg {...props}><path d="M5 21V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v17M3 21h18M14 12h.01"/></svg>;
    case 'pin': return <svg {...props}><path d="M12 22s8-7.5 8-13a8 8 0 1 0-16 0c0 5.5 8 13 8 13z"/><circle cx="12" cy="9" r="3"/></svg>;
    case 'instagram': return <svg {...props}><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="0.5" fill="currentColor"/></svg>;
    case 'mail': return <svg {...props}><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 7 9-7"/></svg>;
    case 'phone': return <svg {...props}><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-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.72 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.35 1.85.59 2.81.72A2 2 0 0 1 22 16.92z"/></svg>;
    case 'info': return <svg {...props}><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></svg>;
    case 'plus': return <svg {...props}><path d="M12 5v14M5 12h14"/></svg>;
    case 'minus': return <svg {...props}><path d="M5 12h14"/></svg>;
    case 'sun': return <svg {...props}><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></svg>;
    default: return null;
  }
};

window.Icon = Icon;
