/* AUSIEGE icons · Lucide-style stroke 1.5
   No scissors / comb / clipper per brand rules.
   Globalised onto window for cross-script use. */

const Icon = ({ name, size = 18, className = "", style = {} }) => {
  const props = {
    width: size, height: size, viewBox: "0 0 24 24",
    fill: "none", stroke: "currentColor",
    strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round",
    className, style
  };
  const paths = {
    "arrow-right": <><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></>,
    "arrow-up-right": <><line x1="7" y1="17" x2="17" y2="7"/><polyline points="7 7 17 7 17 17"/></>,
    "arrow-left": <><line x1="19" y1="12" x2="5" y2="12"/><polyline points="12 19 5 12 12 5"/></>,
    "x": <><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></>,
    "plus": <><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></>,
    "minus": <line x1="5" y1="12" x2="19" y2="12"/>,
    "chevron-down": <polyline points="6 9 12 15 18 9"/>,
    "chevron-right": <polyline points="9 18 15 12 9 6"/>,
    "check": <polyline points="20 6 9 17 4 12"/>,
    "calendar": <><rect x="3" y="4" width="18" height="18" rx="0"/><line x1="3" y1="10" x2="21" y2="10"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="16" y1="2" x2="16" y2="6"/></>,
    "clock": <><circle cx="12" cy="12" r="9"/><polyline points="12 7 12 12 16 14"/></>,
    "map-pin": <><path d="M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></>,
    "phone": <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.72 12.84 12.84 0 0 0 .7 2.81 2 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-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/>,
    "mail": <><rect x="2" y="4" width="20" height="16" rx="0"/><polyline points="22 6 12 13 2 6"/></>,
    "instagram": <><rect x="2" y="2" width="20" height="20" rx="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.5" y2="6.5"/></>,
    "facebook": <path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"/>,
    "tiktok": <path d="M21 8a5 5 0 0 1-5-5h-4v13a3 3 0 1 1-3-3 3 3 0 0 1 1 0v-4a7 7 0 1 0 6 6V10a8 8 0 0 0 5 1z"/>,
    "menu": <><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></>,
    "search": <><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></>,
    "user": <><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></>,
    "filter": <polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"/>,
    "play": <polygon points="6 4 20 12 6 20 6 4"/>,
    "external": <><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></>,
    "compass": <><circle cx="12" cy="12" r="9"/><polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"/></>,
    "scale": <><path d="M12 3v18"/><path d="M3 9h18"/><path d="M6 9l-3 6h6z"/><path d="M18 9l-3 6h6z"/></>,
    "award": <><circle cx="12" cy="8" r="6"/><path d="M9 13.3 8 22l4-2 4 2-1-8.7"/></>,
    "sparkle": <><path d="M12 3v18"/><path d="M3 12h18"/></>,
    "stamp": <><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/></>,
  };
  return <svg {...props}>{paths[name]}</svg>;
};

window.Icon = Icon;
