// Inline SVG icons — minimal Lucide-style strokes
const Icon = ({ name, size = 20, stroke = 1.5, ...rest }) => {
  const s = stroke;
  const common = {
    width: size, height: size, viewBox: "0 0 24 24",
    fill: "none", stroke: "currentColor",
    strokeWidth: s, strokeLinecap: "round", strokeLinejoin: "round",
    ...rest,
  };
  switch (name) {
    case "graduation":
      return (<svg {...common}><path d="M22 10 12 5 2 10l10 5 10-5z"/><path d="M6 12v5c3 2 9 2 12 0v-5"/></svg>);
    case "home":
      return (<svg {...common}><path d="M3 10.5 12 3l9 7.5"/><path d="M5 9.5V20a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9.5"/><path d="M10 21v-6h4v6"/></svg>);
    case "car":
      return (<svg {...common}><path d="M5 17h14"/><path d="M3 17v-3l2-5a2 2 0 0 1 1.8-1.2h10.4A2 2 0 0 1 19 9l2 5v3"/><circle cx="7" cy="17.5" r="1.6"/><circle cx="17" cy="17.5" r="1.6"/></svg>);
    case "briefcase":
      return (<svg {...common}><rect x="3" y="7" width="18" height="13" rx="1.5"/><path d="M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"/><path d="M3 13h18"/></svg>);
    case "arrow-right":
      return (<svg {...common}><path d="M5 12h14"/><path d="m13 6 6 6-6 6"/></svg>);
    case "arrow-up-right":
      return (<svg {...common}><path d="M7 17 17 7"/><path d="M8 7h9v9"/></svg>);
    case "play":
      return (<svg {...common}><path d="M6 4v16l14-8z" fill="currentColor"/></svg>);
    case "menu":
      return (<svg {...common}><path d="M4 7h16"/><path d="M4 17h16"/></svg>);
    case "close":
      return (<svg {...common}><path d="M6 6 18 18"/><path d="M18 6 6 18"/></svg>);
    case "instagram":
      return (<svg {...common}><rect x="3" y="3" width="18" height="18" rx="4"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="0.6" fill="currentColor"/></svg>);
    case "youtube":
      return (<svg {...common}><rect x="2.5" y="6" width="19" height="12" rx="3"/><path d="m10.5 9.5 4.5 2.5-4.5 2.5z" fill="currentColor"/></svg>);
    case "tiktok":
      return (<svg {...common}><path d="M14 4v9.5a3.5 3.5 0 1 1-3.5-3.5"/><path d="M14 4c.5 2.2 2.3 3.8 4.5 4"/></svg>);
    case "whatsapp":
      return (<svg {...common}><path d="M3.5 20.5 5 16a8 8 0 1 1 3.5 3.5z"/><path d="M9 9.5c0 3 2.5 5.5 5.5 5.5l1.5-1.5-2-1-1 1c-1 0-2.5-1.5-2.5-2.5l1-1-1-2z"/></svg>);
    case "check":
      return (<svg {...common}><path d="m5 12 5 5L20 7"/></svg>);
    case "loader":
      return (<svg {...common} className="spin"><path d="M12 3v3"/><path d="M12 18v3"/><path d="M3 12h3"/><path d="M18 12h3"/><path d="m5.6 5.6 2.1 2.1"/><path d="m16.3 16.3 2.1 2.1"/><path d="m5.6 18.4 2.1-2.1"/><path d="m16.3 7.7 2.1-2.1"/></svg>);
    case "sparkles":
      return (<svg {...common}><path d="M12 3v4M12 17v4M3 12h4M17 12h4"/><path d="m6 6 2.5 2.5M15.5 15.5 18 18M6 18l2.5-2.5M15.5 8.5 18 6"/></svg>);
    case "globe":
      return (<svg {...common}><circle cx="12" cy="12" r="9"/><path d="M3 12h18"/><path d="M12 3a14 14 0 0 1 0 18"/><path d="M12 3a14 14 0 0 0 0 18"/></svg>);
    case "shield":
      return (<svg {...common}><path d="M12 3 4 6v6c0 5 4 8 8 9 4-1 8-4 8-9V6z"/></svg>);
    case "phone":
      return (<svg {...common}><path d="M5 4h3l2 5-2.5 1.5a11 11 0 0 0 6 6L15 14l5 2v3a2 2 0 0 1-2 2A15 15 0 0 1 3 6a2 2 0 0 1 2-2z"/></svg>);
    case "mail":
      return (<svg {...common}><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m4 7 8 6 8-6"/></svg>);
    case "user":
      return (<svg {...common}><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></svg>);
    case "quote":
      return (<svg {...common}><path d="M7 7h4v4c0 3-2 5-4 5"/><path d="M14 7h4v4c0 3-2 5-4 5"/></svg>);
    case "credit-card":
      return (<svg {...common}><rect x="3" y="6" width="18" height="12" rx="2"/><path d="M3 10h18"/></svg>);
    case "sim":
      return (<svg {...common}><path d="M7 3h7l5 5v13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z"/><rect x="9" y="11" width="8" height="6" rx="1"/></svg>);
    case "users":
      return (<svg {...common}><circle cx="9" cy="8" r="3.5"/><path d="M3 20a6 6 0 0 1 12 0"/><circle cx="17" cy="9" r="2.5"/><path d="M16 14a5 5 0 0 1 5 5"/></svg>);
    case "download":
      return (<svg {...common}><path d="M12 4v12"/><path d="m7 11 5 5 5-5"/><path d="M5 20h14"/></svg>);
    case "star":
      return (<svg {...common}><path d="m12 3 2.6 5.4 6 .8-4.3 4.2 1 6L12 16.8 6.7 19.4l1-6L3.4 9.2l6-.8z" fill="currentColor" stroke="none"/></svg>);
    case "spark-dot":
      return (<svg {...common}><circle cx="12" cy="12" r="2" fill="currentColor"/></svg>);
    default:
      return null;
  }
};

window.Icon = Icon;
