// icons.jsx — Lucide-style inline SVGs. Extended for Immovertrieb (Immobilien).

const I = ({ size = 18, stroke = 1.75, children, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor"
       strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {children}
  </svg>
);

const Icon = {
  // Original Wholix
  chat:      (p) => <I {...p}><path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/><path d="M8 11h.01M12 11h.01M16 11h.01"/></I>,
  email:     (p) => <I {...p}><path d="M22 2L11 13"/><path d="M22 2l-7 20-4-9-9-4 20-7z"/></I>,
  envelope:  (p) => <I {...p}><rect x="2" y="4" width="20" height="16" rx="2"/><path d="M22 7l-10 6L2 7"/></I>,
  phone:     (p) => <I {...p}><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z"/></I>,
  notes:     (p) => <I {...p}><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><path d="M14 2v6h6"/><path d="M8 13h8M8 17h5"/></I>,
  info:      (p) => <I {...p}><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></I>,
  sun:       (p) => <I {...p}><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41"/></I>,
  bell:      (p) => <I {...p}><path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 01-3.46 0"/></I>,
  sparkle:   (p) => <I {...p} stroke={1.9}><path d="M12 3l1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3zM18 15l.8 2.2L21 18l-2.2.8L18 21l-.8-2.2L15 18l2.2-.8L18 15z"/></I>,
  upload:    (p) => <I {...p}><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"/><path d="M17 8l-5-5-5 5"/><path d="M12 3v12"/></I>,
  cloudUp:   (p) => <I {...p}><path d="M18 16.5A4.5 4.5 0 0017 8h-1.26A8 8 0 104 16.25"/><path d="M12 12v9"/><path d="M8 17l4-4 4 4"/></I>,
  chevronDown:(p) => <I {...p}><path d="M6 9l6 6 6-6"/></I>,
  chevronUp:  (p) => <I {...p}><path d="M18 15l-6-6-6 6"/></I>,
  chevronLeft:(p) => <I {...p}><path d="M15 18l-6-6 6-6"/></I>,
  chevronRight:(p)=> <I {...p}><path d="M9 18l6-6-6-6"/></I>,
  arrowRight:(p) => <I {...p}><path d="M5 12h14M13 5l7 7-7 7"/></I>,
  pdf:       (p) => <I {...p}><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><path d="M14 2v6h6"/><text x="7" y="18" fontFamily="sans-serif" fontSize="6" fontWeight="700" fill="currentColor" stroke="none">PDF</text></I>,
  user:      (p) => <I {...p}><circle cx="12" cy="8" r="4"/><path d="M20 21a8 8 0 10-16 0"/></I>,
  users:     (p) => <I {...p}><path d="M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75"/></I>,

  // Immobilien
  home:      (p) => <I {...p}><path d="M3 11l9-8 9 8"/><path d="M5 10v10a1 1 0 001 1h4v-6h4v6h4a1 1 0 001-1V10"/></I>,
  building:  (p) => <I {...p}><rect x="4" y="3" width="16" height="18" rx="1"/><path d="M9 7h.01M14 7h.01M9 11h.01M14 11h.01M9 15h.01M14 15h.01M10 21v-4h4v4"/></I>,
  dashboard: (p) => <I {...p}><rect x="3" y="3" width="7" height="9" rx="1"/><rect x="14" y="3" width="7" height="5" rx="1"/><rect x="14" y="12" width="7" height="9" rx="1"/><rect x="3" y="16" width="7" height="5" rx="1"/></I>,
  briefcase: (p) => <I {...p}><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2M3 13h18"/></I>,
  handshake: (p) => <I {...p}><path d="M11 17l2 2a1 1 0 003-3"/><path d="M14 16l2.5 2.5a1 1 0 003-3l-7-7-7 4-2-2"/><path d="M22 5l-3-3-7 4M2 5l3-3 4 2"/></I>,
  calculator:(p) => <I {...p}><rect x="4" y="2" width="16" height="20" rx="2"/><path d="M8 6h8v4H8z"/><path d="M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01M16 18h.01"/></I>,
  fileText:  (p) => <I {...p}><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><path d="M14 2v6h6M16 13H8M16 17H8M10 9H8"/></I>,
  fileCheck: (p) => <I {...p}><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><path d="M14 2v6h6M9 14l2 2 4-4"/></I>,
  shareLink: (p) => <I {...p}><path d="M10 13a5 5 0 007.07 0l3-3a5 5 0 00-7.07-7.07l-1.5 1.5"/><path d="M14 11a5 5 0 00-7.07 0l-3 3a5 5 0 007.07 7.07l1.5-1.5"/></I>,
  copyLink:  (p) => <I {...p}><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></I>,
  euro:      (p) => <I {...p}><path d="M18 6.7A6 6 0 008 9c0 3.5 2.5 6 6 6a6 6 0 004-1.7M3 10h11M3 14h11"/></I>,
  trending:  (p) => <I {...p}><path d="M3 17l6-6 4 4 8-8"/><path d="M14 7h7v7"/></I>,
  trendingDown:(p)=><I {...p}><path d="M3 7l6 6 4-4 8 8"/><path d="M14 17h7v-7"/></I>,
  bedDouble: (p) => <I {...p}><path d="M2 20v-8a2 2 0 012-2h16a2 2 0 012 2v8M2 16h20M6 10V7a2 2 0 012-2h8a2 2 0 012 2v3"/></I>,
  ruler:     (p) => <I {...p}><path d="M21 3L3 21l-2-2L19 1l2 2zM7 14l1.5 1.5M10 11l1.5 1.5M13 8l1.5 1.5M16 5l1.5 1.5"/></I>,
  mapPin:    (p) => <I {...p}><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></I>,
  search:    (p) => <I {...p}><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.3-4.3"/></I>,
  filter:    (p) => <I {...p}><path d="M22 3H2l8 9.46V19l4 2v-8.54L22 3z"/></I>,
  plus:      (p) => <I {...p}><path d="M12 5v14M5 12h14"/></I>,
  more:      (p) => <I {...p}><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/></I>,
  check:     (p) => <I {...p}><path d="M5 13l4 4L19 7"/></I>,
  checkCircle:(p)=> <I {...p}><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-6"/></I>,
  x:         (p) => <I {...p}><path d="M18 6L6 18M6 6l12 12"/></I>,
  download:  (p) => <I {...p}><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3"/></I>,
  edit:      (p) => <I {...p}><path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 113 3L12 15l-4 1 1-4 9.5-9.5z"/></I>,
  eye:       (p) => <I {...p}><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></I>,
  send:      (p) => <I {...p}><path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"/></I>,
  calendar:  (p) => <I {...p}><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></I>,
  star:      (p) => <I {...p}><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></I>,
  bookmark:  (p) => <I {...p}><path d="M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2z"/></I>,
  shield:    (p) => <I {...p}><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></I>,
  signature: (p) => <I {...p}><path d="M3 17c2 0 4-1 6-3s3-5 5-5 3 3 7 3"/><path d="M3 21h18"/></I>,
  clock:     (p) => <I {...p}><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></I>,
  clockBack: (p) => <I {...p}><path d="M3 12a9 9 0 109-9 9.74 9.74 0 00-6.74 2.74L3 8"/><path d="M3 3v5h5"/><path d="M12 7v5l3 2"/></I>,
  list:      (p) => <I {...p}><path d="M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01"/></I>,
  grid:      (p) => <I {...p}><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></I>,
  archive:   (p) => <I {...p}><rect x="2" y="3" width="20" height="5" rx="1"/><path d="M4 8v11a2 2 0 002 2h12a2 2 0 002-2V8M10 12h4"/></I>,
  globe:     (p) => <I {...p}><circle cx="12" cy="12" r="10"/><path d="M2 12h20M12 2a15 15 0 010 20 15 15 0 010-20z"/></I>,
  layers:    (p) => <I {...p}><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></I>,
  pipeline:  (p) => <I {...p}><rect x="3" y="4" width="5" height="16" rx="1"/><rect x="9.5" y="4" width="5" height="16" rx="1"/><rect x="16" y="4" width="5" height="16" rx="1"/></I>,
  bot:       (p) => <I {...p}><rect x="3" y="8" width="18" height="12" rx="3"/><circle cx="9" cy="14" r="1.2"/><circle cx="15" cy="14" r="1.2"/><path d="M12 4v4M9 4h6"/></I>,
  receipt:   (p) => <I {...p}><path d="M4 2v20l3-2 3 2 3-2 3 2 3-2V2l-3 2-3-2-3 2-3-2-3 2z"/><path d="M8 7h8M8 11h8M8 15h5"/></I>,
  key:       (p) => <I {...p}><circle cx="8" cy="15" r="4"/><path d="M10.85 12.15L19 4M18 5l3 3M15 8l3 3"/></I>,
  bath:      (p) => <I {...p}><path d="M2 12h20M4 12V6a2 2 0 014 0M4 12v5a3 3 0 003 3h10a3 3 0 003-3v-5M9 6h.01"/></I>,
  car:       (p) => <I {...p}><path d="M14 16H9m10 0h2v-3.34a4 4 0 00-.66-2.2L17.5 7H6.5L3.66 10.46A4 4 0 003 12.66V16h2"/><circle cx="7" cy="16" r="2"/><circle cx="17" cy="16" r="2"/></I>,
  flame:     (p) => <I {...p}><path d="M8.5 14.5A2.5 2.5 0 0011 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 11-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 002.5 2.5z"/></I>,
  link:      (p) => <I {...p}><path d="M10 13a5 5 0 007.07 0l3-3a5 5 0 00-7.07-7.07l-1.5 1.5"/><path d="M14 11a5 5 0 00-7.07 0l-3 3a5 5 0 007.07 7.07l1.5-1.5"/></I>,
  paperclip: (p) => <I {...p}><path d="M21.44 11.05l-9.19 9.19a6 6 0 01-8.48-8.48l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48"/></I>,
  // Add a generic close
  menu:      (p) => <I {...p}><path d="M3 6h18M3 12h18M3 18h18"/></I>,
};

window.Icon = Icon;
