/* ============================================================
   ICONS — minimal stroke set
   ============================================================ */
const Icon = {
  arrow: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" {...props}>
      <path d="M5 12h14M13 6l6 6-6 6"/>
    </svg>
  ),
  arrowSm: (props) => (
    <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="square" {...props}>
      <path d="M3 8h10M9 4l4 4-4 4"/>
    </svg>
  ),
  search: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...props}>
      <circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/>
    </svg>
  ),
  whatsapp: (props) => (
    <svg viewBox="0 0 24 24" fill="currentColor" {...props}>
      <path d="M12.04 2C6.58 2 2.15 6.43 2.15 11.89c0 1.92.54 3.71 1.48 5.23L2 22l5.04-1.59c1.46.8 3.14 1.26 4.93 1.26 5.46 0 9.89-4.43 9.89-9.89S17.5 2 12.04 2zm0 18.13c-1.61 0-3.11-.48-4.36-1.31l-.31-.18-3.18 1 1.01-3.09-.2-.32a8.16 8.16 0 0 1-1.27-4.35c0-4.51 3.68-8.18 8.19-8.18 2.19 0 4.24.85 5.79 2.4a8.15 8.15 0 0 1 2.4 5.79c0 4.51-3.68 8.19-8.19 8.19zm4.49-6.13c-.25-.12-1.46-.72-1.69-.8-.23-.08-.39-.12-.55.12-.16.25-.64.8-.78.97-.14.16-.29.18-.54.06-.25-.12-1.04-.38-1.97-1.22-.73-.65-1.22-1.45-1.37-1.7-.14-.25-.02-.39.11-.51.11-.11.25-.29.37-.43.12-.14.16-.25.25-.41.08-.16.04-.31-.02-.43-.06-.12-.55-1.32-.75-1.81-.2-.48-.4-.41-.55-.42-.14-.01-.31-.01-.47-.01a.9.9 0 0 0-.65.31c-.22.25-.86.84-.86 2.05s.88 2.38 1 2.55c.12.16 1.74 2.65 4.21 3.72.59.25 1.05.41 1.41.52.59.19 1.13.16 1.55.1.47-.07 1.46-.6 1.67-1.18.21-.58.21-1.07.14-1.18-.06-.11-.22-.17-.47-.29z"/>
    </svg>
  ),
  heart: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...props}>
      <path d="M12 21s-7-4.5-7-10.5C5 7.5 7.5 5 10.5 5c1.5 0 2.8.7 3.5 1.8.7-1.1 2-1.8 3.5-1.8 3 0 5.5 2.5 5.5 5.5C23 16.5 16 21 16 21" transform="translate(-2 0)"/>
    </svg>
  ),
  bed: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...props}>
      <path d="M3 18v-7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v7M3 14h18M3 18v2M21 18v2M7 9V6h6v3"/>
    </svg>
  ),
  bath: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...props}>
      <path d="M3 11h18v3a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4v-3zM6 11V6a2 2 0 0 1 2-2h.5M8 6h3M5 18l-1 3M19 18l1 3"/>
    </svg>
  ),
  area: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...props}>
      <path d="M4 4h6v6H4zM14 14h6v6h-6zM4 14h6v6H4zM14 4h6v6h-6z"/>
    </svg>
  ),
  pin: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...props}>
      <path d="M12 21s7-6.5 7-12a7 7 0 0 0-14 0c0 5.5 7 12 7 12z"/><circle cx="12" cy="9" r="2.5"/>
    </svg>
  ),
  close: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...props}>
      <path d="M6 6l12 12M18 6L6 18"/>
    </svg>
  ),
  check: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" {...props}>
      <path d="M5 12l5 5L20 7"/>
    </svg>
  ),
  phone: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...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" {...props}>
      <path d="M3 5h18v14H3zM3 5l9 8 9-8"/>
    </svg>
  ),
  globe: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...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>
  ),
  insta: (props) => (
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" {...props}>
      <rect x="3" y="3" width="18" height="18" rx="4"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="0.5" fill="currentColor"/>
    </svg>
  ),
  linkedin: (props) => (
    <svg viewBox="0 0 24 24" fill="currentColor" {...props}>
      <path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM8.34 17.34h-2.5v-7.5h2.5v7.5zM7.09 8.74a1.45 1.45 0 1 1 0-2.9 1.45 1.45 0 0 1 0 2.9zm10.25 8.6h-2.5v-3.65c0-.87-.02-2-1.22-2-1.22 0-1.41.95-1.41 1.94v3.71h-2.5v-7.5h2.4v1.03h.03c.34-.63 1.15-1.3 2.37-1.3 2.54 0 3.01 1.67 3.01 3.84v3.93z"/>
    </svg>
  ),
  fb: (props) => (
    <svg viewBox="0 0 24 24" fill="currentColor" {...props}>
      <path d="M13 22v-8h2.7l.4-3.1H13V8.9c0-.9.25-1.5 1.5-1.5H16V4.6a21 21 0 0 0-2.2-.1c-2.2 0-3.7 1.3-3.7 3.8v2.1H7.5V13.5H10V22h3z"/>
    </svg>
  ),
  yt: (props) => (
    <svg viewBox="0 0 24 24" fill="currentColor" {...props}>
      <path d="M21.6 7.2a2.5 2.5 0 0 0-1.8-1.8C18.2 5 12 5 12 5s-6.2 0-7.8.4A2.5 2.5 0 0 0 2.4 7.2 26 26 0 0 0 2 12a26 26 0 0 0 .4 4.8 2.5 2.5 0 0 0 1.8 1.8C5.8 19 12 19 12 19s6.2 0 7.8-.4a2.5 2.5 0 0 0 1.8-1.8A26 26 0 0 0 22 12a26 26 0 0 0-.4-4.8zM10 15V9l5 3-5 3z"/>
    </svg>
  ),
  x: (props) => (
    <svg viewBox="0 0 24 24" fill="currentColor" {...props}>
      <path d="M17.7 3H21l-7.4 8.4L22 21h-6.8l-5.3-6.6L3.8 21H.5l7.9-9-7.6-9h6.9l4.8 6 5.2-6zm-2.4 16h1.8L6.7 5h-2l10.6 14z"/>
    </svg>
  ),
  forbes: (props) => (
    /* original wordmark-style chip — NOT the Forbes wordmark */
    <svg viewBox="0 0 120 24" fill="currentColor" {...props}>
      <text x="0" y="18" fontFamily="Cormorant Garamond, serif" fontStyle="italic" fontWeight="500" fontSize="20" letterSpacing="0.5">Global Properties</text>
    </svg>
  ),
};

window.Icon = Icon;
