/* ============================================================
   AGENZIA PRINCIPE 2 — Icon set (custom line icons)
   Stroke-based, 24x24, consistent 1.7 weight
   ============================================================ */
(function (w) {
  const P = (paths) => paths; // identity helper

  const ICONS = {
    // service icons
    exchange: ["M4 8h13M14 5l3 3-3 3", "M20 16H7M10 13l-3 3 3 3"],
    car: ["M5 11l1.6-4.2A2 2 0 018.5 5.5h7a2 2 0 011.9 1.3L19 11", "M3.5 11h17a1 1 0 011 1v4a1 1 0 01-1 1H19", "M3.5 17h-.5a1 1 0 01-1-1v-4a1 1 0 011-1", "M5 17v1.5M19 17v1.5", "M3 17h18", "_c7 14 1.1", "_c17 14 1.1"],
    carPlus: ["M5 11l1.6-4.2A2 2 0 018.5 5.5h4", "M2.5 11h13a1 1 0 011 1v4a1 1 0 01-1 1h-.5", "M5 18v1.5", "_c7 14 1.1", "M18 4v7M14.5 7.5h7"],
    globe: ["_c12 12 8.5", "M3.5 12h17", "M12 3.5c2.4 2.4 3.6 5.4 3.6 8.5s-1.2 6.1-3.6 8.5c-2.4-2.4-3.6-5.4-3.6-8.5S9.6 5.9 12 3.5z"],
    recycle: ["M9 6.5l2.2-3.6a1 1 0 011.7 0L15 6.5", "M6.5 9l-3.4 1.6a1 1 0 00-.4 1.5l2 3.4", "M17.5 9l3.4 1.6a1 1 0 01.4 1.5l-2 3.4", "M7 17.5h10", "M8.5 6.5l-2 3.5M15.5 6.5l2 3.5"],
    fileCopy: ["M8 4.5h6l3.5 3.5V17a1 1 0 01-1 1H8a1 1 0 01-1-1V5.5a1 1 0 011-1z", "M14 4.5V8h3.5", "M6 7.5H5a1 1 0 00-1 1V19.5a1 1 0 001 1h7.5a1 1 0 001-1V19"],
    idCard: ["M3.5 6h17a1 1 0 011 1v10a1 1 0 01-1 1h-17a1 1 0 01-1-1V7a1 1 0 011-1z", "_c8.5 11 2", "M7 15.2c.4-1.2 1.4-1.7 2.5-1.7s2.1.5 2.5 1.7", "M14 9.5h4M14 12.5h4M14 15.5h2.5"],
    shield: ["M12 3l7 2.5v5c0 4.5-3 7.8-7 9.5-4-1.7-7-5-7-9.5v-5L12 3z", "M9 11.5l2 2 3.5-3.8"],
    shieldCheck: ["M12 3l7 2.5v5c0 4.5-3 7.8-7 9.5-4-1.7-7-5-7-9.5v-5L12 3z", "M9 11.5l2 2 3.5-3.8"],
    umbrella: ["M12 3.4c-5 0-9 3.5-9 8.2h18c0-4.7-4-8.2-9-8.2z", "M12 11.6v6.1a2.3 2.3 0 01-4.4.9", "M12 3.4V1.7"],
    searchDoc: ["M7 3.5h7L18 7.5V13", "M14 3.5V7.5h4", "M7 3.5A1.5 1.5 0 005.5 5v14A1.5 1.5 0 007 20.5h5", "_c15.5 16 3", "M19.5 20l2.5 2.5"],
    receipt: ["M6 3.5h12v17l-2.2-1.4-2 1.4-2-1.4-2 1.4-2-1.4L6 20.5v-17z", "M9 8h6M9 11.5h6M9 15h4"],
    creditCard: ["M3.5 6h17a1 1 0 011 1v10a1 1 0 01-1 1h-17a1 1 0 01-1-1V7a1 1 0 011-1z", "M2.5 10h19", "M6 14.5h4"],
    scooter: ["_c6 17.5 2", "_c18.5 17.5 2", "M8 17.5h8.5", "M16.5 6h2l1.5 8.5", "M6 17.5L9 8h2", "M9 8h3"],
    headset: ["M5 13v-1a7 7 0 0114 0v1", "M5 13h1.5a1 1 0 011 1v3a1 1 0 01-1 1H6a2 2 0 01-2-2v-2a1 1 0 011-1z", "M19 13h-1.5a1 1 0 00-1 1v3a1 1 0 001 1H18a1 1 0 001-1", "M17.5 18.5c0 1.5-1.5 2.5-3.5 2.5"],
    fleet: ["M3 9.5l1.2-3A1.5 1.5 0 015.6 5.5H10a1.5 1.5 0 011.4 1l1.1 3", "M2 9.5h11a1 1 0 011 1v3.5a1 1 0 01-1 1h-.5", "_c5 15 1", "_c10.5 15 1", "M14.5 9.5h5l1.5 3v3a1 1 0 01-1 1h-.5", "_c17.5 16 1", "M3 15h2.5M11.5 15h3"],

    // utility
    pin: ["M12 21c4-4.5 6-7.7 6-10.5A6 6 0 006 10.5C6 13.3 8 16.5 12 21z", "_c12 10.5 2.2"],
    bolt: ["M13 3L5 13h5l-1 8 8-10h-5l1-8z"],
    award: ["_c12 9 5", "M9 13.5L8 21l4-2.2L16 21l-1-7.5"],
    doc: ["M7 3.5h8L19 7.5V19a1.5 1.5 0 01-1.5 1.5h-10A1.5 1.5 0 016 19V5A1.5 1.5 0 017.5 3.5z", "M15 3.5V7.5h4", "M9 12h6M9 15.5h6M9 8.5h3"],
    phone: ["M6.5 4.5h3l1.2 3.2-1.7 1.3a11 11 0 005 5l1.3-1.7 3.2 1.2v3a1.5 1.5 0 01-1.6 1.5C10.5 19 5 13.5 5 6.6A1.5 1.5 0 016.5 4.5z"],
    mail: ["M4 5.5h16a1 1 0 011 1V17a1 1 0 01-1 1H4a1 1 0 01-1-1V6.5a1 1 0 011-1z", "M3.5 7l8.5 6 8.5-6"],
    clock: ["_c12 12 8.5", "M12 7v5l3.2 2"],
    check: ["M5 12.5l4.2 4.2L19 7"],
    checkCircle: ["_c12 12 9", "M8.5 12.2l2.4 2.4L16 9.5"],
    arrowRight: ["M5 12h14M13 6l6 6-6 6"],
    arrowUpRight: ["M7 17L17 7M8 7h9v9"],
    chevronDown: ["M6 9.5l6 6 6-6"],
    chevronRight: ["M9.5 6l6 6-6 6"],
    whatsapp: ["M5 19l1.3-3.8A7.5 7.5 0 1119 9.2 7.5 7.5 0 016.8 17.7L5 19z", "M9 9.5c0 3 2.5 5.5 5.5 5.5l.8-1.4-2-1-1 .8c-.9-.5-1.7-1.3-2.2-2.2l.8-1-1-2L9.5 8"],
    star: ["M12 4l2.3 4.8 5.2.7-3.8 3.6 1 5.1L12 15.8 7.3 18.2l1-5.1L4.5 9.5l5.2-.7L12 4z"],
    quote: ["M9 7c-2 .8-3.2 2.7-3.2 5.2V17h4.4v-4.4H7.8c0-1.5.6-2.4 1.8-3L9 7z", "M18 7c-2 .8-3.2 2.7-3.2 5.2V17h4.4v-4.4h-2.4c0-1.5.6-2.4 1.8-3L18 7z"],
    sparkle: ["M12 4l1.5 4.5L18 10l-4.5 1.5L12 16l-1.5-4.5L6 10l4.5-1.5L12 4z"],
    stamp: ["M9 4.5h6a1 1 0 011 1v2.5a3 3 0 01-1.2 2.4L13 12h-2l-1.8-1.6A3 3 0 018 8V5.5a1 1 0 011-1z", "M5 16.5h14M6.5 16.5l.6-2a1 1 0 01.95-.7h7.9a1 1 0 01.95.7l.6 2", "M5 19.5h14"],
    map: ["M9 4.5L3.5 6.5v13L9 17.5l6 2 5.5-2v-13L15 6.5l-6-2z", "M9 4.5v13M15 6.5v13"],
    package: ["M12 3l8.5 4.5v9L12 21l-8.5-4.5v-9L12 3z", "M3.5 7.5L12 12l8.5-4.5", "M12 12v9", "M7.75 5.25l8.5 4.5"],
    bus: ["M5 5h14a1 1 0 011 1v8a1.5 1.5 0 01-1.5 1.5H5.5A1.5 1.5 0 014 14V6a1 1 0 011-1z", "M4 9.5h16", "M7.5 15.5l-.7 2.2M16.5 15.5l.7 2.2", "_c8 12.5 .6", "_c16 12.5 .6"],
    train: ["M7 4.5h10a2 2 0 012 2v8a2 2 0 01-2 2H7a2 2 0 01-2-2v-8a2 2 0 012-2z", "M5 10h14", "_c9 13.5 .6", "_c15 13.5 .6", "M8 18.5l-1.5 2.2M16 18.5l1.5 2.2"],
    menu: ["M4 7h16M4 12h16M4 17h16"],
    close: ["M6 6l12 12M18 6L6 18"],
    user: ["_c12 8 4", "M5 20c.7-3.5 3.4-5.5 7-5.5s6.3 2 7 5.5"],
    euro: ["_c12 12 8.5", "M15 8.5a4.5 4.5 0 100 7", "M7 11h6M7 13.5h5"],
  };

  function Icon({ name, size = 24, stroke = 1.7, className, style }) {
    const def = ICONS[name] || ICONS.doc;
    const els = def.map((d, i) => {
      if (typeof d === "string" && d.startsWith("_c")) {
        const [, cx, cy, r] = d.split(" ");
        return React.createElement("circle", { key: i, cx, cy, r });
      }
      return React.createElement("path", { key: i, d });
    });
    return React.createElement(
      "svg",
      {
        className, style,
        width: size, height: size, viewBox: "0 0 24 24", fill: "none",
        stroke: "currentColor", strokeWidth: stroke,
        strokeLinecap: "round", strokeLinejoin: "round",
      },
      els
    );
  }

  w.Icon = Icon;
})(window);
