// Lightweight inline icon set — architectural and premium feel.
// All icons are 24x24, stroke-width 1.5, currentColor, lucide-inspired.

const Icon = ({ children, size = 20, className = '', strokeWidth = 1.5, ...props }) => (
  <svg
    width={size} height={size} viewBox="0 0 24 24"
    fill="none" stroke="currentColor" strokeWidth={strokeWidth}
    strokeLinecap="round" strokeLinejoin="round"
    className={`lucide ${className}`} {...props}
  >{children}</svg>
);

const Icons = {
  Menu: (p) => <Icon {...p}><line x1="3" y1="7" x2="21" y2="7"/><line x1="3" y1="17" x2="21" y2="17"/></Icon>,
  X:    (p) => <Icon {...p}><line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/></Icon>,
  ArrowRight: (p) => <Icon {...p}><line x1="4" y1="12" x2="20" y2="12"/><polyline points="14 6 20 12 14 18"/></Icon>,
  ArrowUpRight: (p) => <Icon {...p}><line x1="7" y1="17" x2="17" y2="7"/><polyline points="7 7 17 7 17 17"/></Icon>,
  ArrowLeft: (p) => <Icon {...p}><line x1="20" y1="12" x2="4" y2="12"/><polyline points="10 6 4 12 10 18"/></Icon>,
  ChevronDown: (p) => <Icon {...p}><polyline points="6 9 12 15 18 9"/></Icon>,
  ChevronRight: (p) => <Icon {...p}><polyline points="9 6 15 12 9 18"/></Icon>,
  Plus: (p) => <Icon {...p}><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></Icon>,
  Minus: (p) => <Icon {...p}><line x1="5" y1="12" x2="19" y2="12"/></Icon>,
  Phone: (p) => <Icon {...p}><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"/></Icon>,
  Mail: (p) => <Icon {...p}><rect x="3" y="5" width="18" height="14" rx="2"/><polyline points="3 7 12 13 21 7"/></Icon>,
  MapPin: (p) => <Icon {...p}><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z"/><circle cx="12" cy="10" r="3"/></Icon>,
  Clock: (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><polyline points="12 7 12 12 15 14"/></Icon>,
  Instagram: (p) => <Icon {...p}><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="0.6" fill="currentColor"/></Icon>,
  WhatsApp: ({ size = 20, className = '', ...p }) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={size}
    height={size}
    viewBox="0 0 24 24"
    fill="currentColor"
    className={className}
    {...p}
  >
    <path d="M8.886 7.17c.183.005.386.015.579.443c.128.285.343.81.519 1.238c.137.333.249.607.277.663c.064.128.104.275.02.448l-.028.058a1.4 1.4 0 0 1-.23.37l-.143.17c-.085.104-.17.206-.242.278c-.129.128-.262.266-.114.522s.668 1.098 1.435 1.777a6.6 6.6 0 0 0 1.903 1.2q.105.045.17.076c.257.128.41.108.558-.064c.149-.173.643-.749.817-1.005c.168-.256.34-.216.578-.128c.238.089 1.504.71 1.761.837l.143.07c.179.085.3.144.352.23c.064.109.064.62-.148 1.222c-.218.6-1.267 1.176-1.742 1.22l-.135.016c-.436.052-.988.12-2.956-.655c-2.426-.954-4.027-3.32-4.35-3.799l-.053-.076l-.006-.008c-.147-.197-1.048-1.402-1.048-2.646c0-1.19.587-1.81.854-2.092l.047-.05a.95.95 0 0 1 .687-.32c.173 0 .347 0 .495.005" />

    <path
      fillRule="evenodd"
      clipRule="evenodd"
      d="M2.184 21.331a.4.4 0 0 0 .487.494l4.607-1.204a10 10 0 0 0 4.76 1.207h.004c5.486 0 9.958-4.446 9.958-9.912a9.83 9.83 0 0 0-2.914-7.011A9.92 9.92 0 0 0 12.042 2c-5.486 0-9.958 4.446-9.958 9.911c0 1.739.458 3.447 1.33 4.954zm2.677-4.068a1.5 1.5 0 0 0-.148-1.15a8.4 8.4 0 0 1-1.129-4.202c0-4.63 3.793-8.411 8.458-8.411c2.27 0 4.388.877 5.986 2.468a8.33 8.33 0 0 1 2.472 5.948c0 4.63-3.793 8.412-8.458 8.412h-.005a8.5 8.5 0 0 1-4.044-1.026a1.5 1.5 0 0 0-1.094-.132l-2.762.721z"
    />
  </svg>
),
  Check: (p) => <Icon {...p}><polyline points="4 12 10 18 20 6"/></Icon>,
  Star: (p) => <Icon {...p}><polygon points="12 2 15 9 22 9.5 17 14.5 18.5 22 12 18 5.5 22 7 14.5 2 9.5 9 9"/></Icon>,
  Shield: (p) => <Icon {...p}><path d="M12 2 4 5v6c0 5 3.5 9 8 11 4.5-2 8-6 8-11V5z"/></Icon>,
  Building: (p) => <Icon {...p}><rect x="4" y="3" width="16" height="18" rx="1"/><line x1="9" y1="8" x2="9" y2="8.01"/><line x1="13" y1="8" x2="13" y2="8.01"/><line x1="9" y1="12" x2="9" y2="12.01"/><line x1="13" y1="12" x2="13" y2="12.01"/><line x1="9" y1="16" x2="9" y2="16.01"/><line x1="13" y1="16" x2="13" y2="16.01"/></Icon>,
  Home: (p) => <Icon {...p}><path d="M3 11l9-7 9 7"/><path d="M5 10v10h14V10"/></Icon>,
  Wrench: (p) => <Icon {...p}><path d="M14.7 6.3a4 4 0 1 1-5.4 5.4l-6.3 6.3 2 2 6.3-6.3a4 4 0 0 1 5.4-5.4l-2 2 1.4 1.4 2-2z"/></Icon>,
  Layers: (p) => <Icon {...p}><polygon points="12 3 2 8 12 13 22 8 12 3"/><polyline points="2 13 12 18 22 13"/></Icon>,
  Ruler: (p) => <Icon {...p}><path d="M3 16l5 5 13-13-5-5z"/><line x1="6" y1="14" x2="8" y2="16"/><line x1="9" y1="11" x2="11" y2="13"/><line x1="12" y1="8" x2="14" y2="10"/><line x1="15" y1="5" x2="17" y2="7"/></Icon>,
  Award: (p) => <Icon {...p}><circle cx="12" cy="9" r="6"/><polyline points="8.5 13.5 7 22 12 19 17 22 15.5 13.5"/></Icon>,
  Compass: (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><polygon points="15 9 11 11 9 15 13 13"/></Icon>,
  Snowflake: (p) => <Icon {...p}><line x1="12" y1="2" x2="12" y2="22"/><line x1="2" y1="12" x2="22" y2="12"/><line x1="5" y1="5" x2="19" y2="19"/><line x1="19" y1="5" x2="5" y2="19"/></Icon>,
  Flame: (p) => <Icon {...p}><path d="M12 2c2 4 6 6 6 11a6 6 0 0 1-12 0c0-3 2-4 3-6 1 2 2 3 3 1 0-2-1-4 0-6z"/></Icon>,
  Droplet: (p) => <Icon {...p}><path d="M12 2s6 7 6 12a6 6 0 0 1-12 0c0-5 6-12 6-12z"/></Icon>,
  Sparkles: (p) => <Icon {...p}><path d="M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5z"/><path d="M19 16l.7 2L22 19l-2.3.7L19 22l-.7-2L16 19l2.3-.7z"/></Icon>,
  Play: (p) => <Icon {...p}><polygon points="7 4 20 12 7 20 7 4"/></Icon>,
  Search: (p) => <Icon {...p}><circle cx="11" cy="11" r="7"/><line x1="20" y1="20" x2="16.5" y2="16.5"/></Icon>,
  Filter: (p) => <Icon {...p}><polygon points="3 4 21 4 14 12 14 20 10 18 10 12"/></Icon>,
  Grid: (p) => <Icon {...p}><rect x="3" y="3" width="8" height="8"/><rect x="13" y="3" width="8" height="8"/><rect x="3" y="13" width="8" height="8"/><rect x="13" y="13" width="8" height="8"/></Icon>,
  Eye: (p) => <Icon {...p}><path d="M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z"/><circle cx="12" cy="12" r="3"/></Icon>,
  Quote: (p) => <Icon {...p}><path d="M7 7h4v4H8c0 2 1 3 3 3v3c-3 0-5-2-5-5V8a1 1 0 0 1 1-1z"/><path d="M15 7h4v4h-3c0 2 1 3 3 3v3c-3 0-5-2-5-5V8a1 1 0 0 1 1-1z"/></Icon>,
  Send: (p) => <Icon {...p}><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></Icon>,
  Drag: (p) => <Icon {...p}><polyline points="6 9 2 12 6 15"/><polyline points="18 9 22 12 18 15"/><line x1="2" y1="12" x2="22" y2="12"/></Icon>,
  Maximize: (p) => <Icon {...p}><polyline points="4 9 4 4 9 4"/><polyline points="20 9 20 4 15 4"/><polyline points="4 15 4 20 9 20"/><polyline points="20 15 20 20 15 20"/></Icon>,
  Calendar: (p) => <Icon {...p}><rect x="3" y="5" width="18" height="16" rx="2"/><line x1="3" y1="10" x2="21" y2="10"/><line x1="8" y1="3" x2="8" y2="7"/><line x1="16" y1="3" x2="16" y2="7"/></Icon>,
  Truck: (p) => <Icon {...p}><rect x="1" y="6" width="14" height="11"/><polygon points="15 9 19 9 22 13 22 17 15 17"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="19" r="2"/></Icon>,
  Leaf: (p) => <Icon {...p}><path d="M21 4c-9 0-15 5-15 13 0 2 1 3 1 3s6-1 9-4 5-9 5-12z"/><line x1="5" y1="20" x2="14" y2="11"/></Icon>,
  Volume: (p) => <Icon {...p}><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/><path d="M15 9a4 4 0 0 1 0 6"/><path d="M18 6a8 8 0 0 1 0 12"/></Icon>,
};

window.Icons = Icons;
