// icons.jsx — SVG icon set for Irit landing page
// All icons are stroke-based, 24×24 viewbox, currentColor.

const Icon = {
  // Brand / hero
  TuningFork: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M8 3v8a4 4 0 0 0 8 0V3" />
      <path d="M12 15v6" />
      <circle cx="12" cy="22" r="1.2" fill="currentColor" />
    </svg>
  ),
  // Value props
  Hands: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M9 11V5.5a1.5 1.5 0 0 1 3 0V11" />
      <path d="M12 11V4a1.5 1.5 0 0 1 3 0v7" />
      <path d="M15 11V6a1.5 1.5 0 0 1 3 0v8a6 6 0 0 1-6 6H9a5 5 0 0 1-4.2-2.3l-2-3.2a1.5 1.5 0 0 1 2.4-1.8L7 15V8.5a1.5 1.5 0 0 1 3 0V11" />
    </svg>
  ),
  Orbit: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(-20 12 12)" />
      <circle cx="12" cy="12" r="3" />
      <circle cx="4.5" cy="8" r="1" fill="currentColor" />
      <circle cx="19.5" cy="16" r="1.2" fill="currentColor" />
    </svg>
  ),
  Heart: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M12 21s-7-4.5-9-9.5C1.5 7.5 4 4 7.5 4c2 0 3.5 1 4.5 2.5C13 5 14.5 4 16.5 4 20 4 22.5 7.5 21 11.5c-2 5-9 9.5-9 9.5z" />
      <path d="M7 11h3l1.5-2.5 2 5L15 10h2" strokeWidth="1.2" />
    </svg>
  ),
  Spiral: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M12 12 A 3 3 0 1 1 15 9 A 5 5 0 1 1 7 12 A 7 7 0 1 1 19 9 A 9 9 0 1 1 3 15" />
    </svg>
  ),
  Waves: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M2 8c2 0 2-3 4-3s2 3 4 3 2-3 4-3 2 3 4 3 2-3 4-3" />
      <path d="M2 14c2 0 2-3 4-3s2 3 4 3 2-3 4-3 2 3 4 3 2-3 4-3" />
      <path d="M2 20c2 0 2-3 4-3s2 3 4 3 2-3 4-3 2 3 4 3 2-3 4-3" />
    </svg>
  ),
  // Logistics
  Calendar: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <rect x="3" y="5" width="18" height="16" rx="2" />
      <path d="M3 9h18M8 3v4M16 3v4" />
      <circle cx="8" cy="14" r="1" fill="currentColor" />
      <circle cx="12" cy="14" r="1" fill="currentColor" />
      <circle cx="16" cy="14" r="1" fill="currentColor" />
    </svg>
  ),
  Clock: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <circle cx="12" cy="12" r="9" />
      <path d="M12 7v5l3 2" />
    </svg>
  ),
  Pin: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M12 21s-7-6.5-7-12a7 7 0 0 1 14 0c0 5.5-7 12-7 12z" />
      <circle cx="12" cy="9" r="2.5" />
    </svg>
  ),
  Users: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <circle cx="9" cy="8" r="3.5" />
      <path d="M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6" />
      <circle cx="17" cy="7" r="2.5" />
      <path d="M15 14c3 0 6 2 6 5" />
    </svg>
  ),
  // Contact
  Phone: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z" />
    </svg>
  ),
  Mail: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <rect x="3" y="5" width="18" height="14" rx="2" />
      <path d="m3 7 9 6 9-6" />
    </svg>
  ),
  Globe: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <circle cx="12" cy="12" r="9" />
      <path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18" />
    </svg>
  ),
  Instagram: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <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.8" fill="currentColor" />
    </svg>
  ),
  Facebook: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M14 21v-8h3l.5-3.5H14V7c0-1 .5-2 2-2h1.5V2h-3c-2.5 0-4 1.5-4 4v3.5H8V13h2.5v8z" />
    </svg>
  ),
  Pinterest: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <circle cx="12" cy="12" r="9" />
      <path d="M11 7c-2.5 0-4 1.8-4 4 0 1.3.7 2.5 1.7 3l.2-.8c-.1-.3-.3-.8-.3-1.4 0-1.7 1.2-3.3 3.4-3.3 1.8 0 3 1.2 3 2.9 0 2.1-1 3.6-2.5 3.6-.8 0-1.4-.7-1.2-1.5.3-1 .6-2 .6-2.7 0-.6-.3-1.1-1-1.1-.8 0-1.4.8-1.4 1.9 0 .7.2 1.1.2 1.1L8.6 18c-.3 1-.1 2.3-.1 2.4 0 .1.1.1.2.1.1 0 1.3-1.4 1.7-2.7l.6-2.2c.3.6 1.2 1.1 2.2 1.1 2.8 0 4.8-2.6 4.8-5.9C18 8 15.9 7 13.2 7H11z" />
    </svg>
  ),
  // UI
  Check: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="m5 12 5 5L20 7" />
    </svg>
  ),
  ArrowLeft: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.75" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M19 12H5M12 19l-7-7 7-7" />
    </svg>
  ),
  Close: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.75" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="M6 6l12 12M18 6 6 18" />
    </svg>
  ),
  ChevronDown: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <path d="m6 9 6 6 6-6" />
    </svg>
  ),
  // Hero composition — tuning fork + planetary orbit
  Composition: (props) => (
    <svg viewBox="0 0 300 400" fill="none" stroke="currentColor" strokeWidth="1" strokeLinecap="round" strokeLinejoin="round" {...props}>
      {/* Orbits */}
      <ellipse cx="150" cy="200" rx="130" ry="130" opacity="0.25" />
      <ellipse cx="150" cy="200" rx="100" ry="100" opacity="0.35" />
      <ellipse cx="150" cy="200" rx="70" ry="70" opacity="0.5" />
      <ellipse cx="150" cy="200" rx="130" ry="50" opacity="0.4" />
      <ellipse cx="150" cy="200" rx="50" ry="130" opacity="0.3" />

      {/* Planets */}
      <circle cx="150" cy="70" r="4" fill="currentColor" />
      <circle cx="250" cy="200" r="3" fill="currentColor" opacity="0.8" />
      <circle cx="70" cy="250" r="2.5" fill="currentColor" opacity="0.7" />
      <circle cx="210" cy="130" r="2" fill="currentColor" opacity="0.6" />

      {/* Sun / center */}
      <circle cx="150" cy="200" r="10" fill="currentColor" opacity="0.9" />
      <circle cx="150" cy="200" r="18" opacity="0.4" />

      {/* Tuning fork (overlaid) */}
      <g transform="translate(150 200)" opacity="0.95">
        <path d="M-18 -90 L-18 -30 A18 18 0 0 0 18 -30 L18 -90" strokeWidth="2" />
        <path d="M0 -30 L0 60" strokeWidth="2" />
        <circle cx="0" cy="68" r="5" fill="currentColor" />
        <line x1="-18" y1="-90" x2="-18" y2="-100" strokeWidth="2" />
        <line x1="18" y1="-90" x2="18" y2="-100" strokeWidth="2" />
      </g>

      {/* Sound waves emanating */}
      <path d="M80 200 Q100 180 80 160" strokeWidth="0.8" opacity="0.5" />
      <path d="M60 200 Q90 170 60 140" strokeWidth="0.8" opacity="0.35" />
      <path d="M220 200 Q240 180 220 160" strokeWidth="0.8" opacity="0.5" />
      <path d="M240 200 Q270 170 240 140" strokeWidth="0.8" opacity="0.35" />
    </svg>
  ),
  // Background orbital ornaments
  OrbitOrnament: (props) => (
    <svg viewBox="0 0 600 600" fill="none" stroke="currentColor" strokeWidth="0.75" {...props}>
      <circle cx="300" cy="300" r="280" opacity="0.25" />
      <circle cx="300" cy="300" r="220" opacity="0.3" />
      <circle cx="300" cy="300" r="160" opacity="0.35" />
      <circle cx="300" cy="300" r="100" opacity="0.4" />
      <ellipse cx="300" cy="300" rx="280" ry="120" opacity="0.3" transform="rotate(30 300 300)" />
      <ellipse cx="300" cy="300" rx="280" ry="120" opacity="0.25" transform="rotate(-30 300 300)" />
      <circle cx="20" cy="300" r="4" fill="currentColor" opacity="0.5" />
      <circle cx="300" cy="20" r="3" fill="currentColor" opacity="0.6" />
      <circle cx="580" cy="300" r="2.5" fill="currentColor" opacity="0.5" />
      <circle cx="460" cy="140" r="2" fill="currentColor" opacity="0.4" />
    </svg>
  ),
};

Object.assign(window, { Icon });
