// Najmat Almadina icon set.
// All icons render in currentColor unless overridden, sit on a 24x24 grid,
// 1.6px stroke (visual weight matches Switzer 500-600 body type).

(function () {
  const base = (children, props = {}) => (
    <svg
      viewBox="0 0 24 24"
      width={props.size || 18}
      height={props.size || 18}
      fill="none"
      stroke="currentColor"
      strokeWidth={1.6}
      strokeLinecap="round"
      strokeLinejoin="round"
      aria-hidden={props['aria-hidden'] !== false}
      style={{ display: 'inline-block', flex: 'none', ...(props.style || {}) }}
    >
      {children}
    </svg>
  );

  window.Icon = {
    search:    (p) => base(<><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></>, p),
    phone:     (p) => base(<path d="M5 4h4l1.5 4-2 1.5a11 11 0 0 0 6 6L16 13.5l4 1.5v4a1.5 1.5 0 0 1-1.5 1.5C10.5 20.5 3.5 13.5 3.5 5.5A1.5 1.5 0 0 1 5 4z"/>, p),
    mail:      (p) => base(<><rect x="3" y="5" width="18" height="14" rx="1.5"/><path d="m3 7 9 6 9-6"/></>, p),
    whatsapp:  (p) => base(<><path d="M3 21l1.6-5.2A8.5 8.5 0 1 1 8 19.4L3 21z"/><path d="M8.5 9.5c0 4 3 7 7 7"/><path d="M8.5 9.5C8.5 9 9 8 9.5 8h1l1 2.5-1 1"/><path d="M13.5 15c.5.5 1.5 1 2 1l1-1 2.5 1v1c0 .5-1 1-1.5 1"/></>, p),
    arrow:     (p) => base(<><path d="M5 12h14"/><path d="m13 6 6 6-6 6"/></>, p),
    arrowDown: (p) => base(<><path d="M12 5v14"/><path d="m6 13 6 6 6-6"/></>, p),
    close:     (p) => base(<><path d="M6 6l12 12"/><path d="M18 6 6 18"/></>, p),
    map:       (p) => base(<><path d="M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2z"/><path d="M9 4v14"/><path d="M15 6v14"/></>, p),
    check:     (p) => base(<path d="m5 12 4 4 10-10"/>, p),
    box:       (p) => base(<><path d="M3 7v12l9 3 9-3V7"/><path d="m3 7 9-3 9 3-9 3-9-3z"/><path d="M12 10v12"/></>, p),
  };
})();
