/* Simple line icons, original drawings, about 24px viewBox */
const stroke = { stroke: "currentColor", strokeWidth: 1.4, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" };

const IconKey = ({ size = 28 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <circle cx="8" cy="12" r="3.2" />
    <path d="M11.2 12 H21" />
    <path d="M17.5 12 V15" />
    <path d="M20 12 V14.5" />
  </svg>
);

const IconHouseTag = ({ size = 28 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M3 11 L12 4 L21 11" />
    <path d="M5 10 V20 H19 V10" />
    <path d="M10 20 V14 H14 V20" />
    <circle cx="16.5" cy="7.5" r="1" fill="currentColor" />
  </svg>
);

const IconCompass = ({ size = 28 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <circle cx="12" cy="12" r="9" />
    <path d="M15.5 8.5 L13 13 L8.5 15.5 L11 11 Z" />
  </svg>
);

const IconArrowRight = ({ size = 16 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M5 12 H19" />
    <path d="M13 6 L19 12 L13 18" />
  </svg>
);

const IconArrowUpRight = ({ size = 14 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M7 17 L17 7" />
    <path d="M9 7 H17 V15" />
  </svg>
);

const IconPhone = ({ size = 18 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M5 4 H9 L10.5 8 L8.5 9.5 C9.5 12 12 14.5 14.5 15.5 L16 13.5 L20 15 V19 C20 19.5 19.5 20 19 20 C12 20 4 12 4 5 C4 4.5 4.5 4 5 4 Z" />
  </svg>
);

const IconMail = ({ size = 18 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <rect x="3" y="5" width="18" height="14" rx="1.5" />
    <path d="M3.5 6 L12 13 L20.5 6" />
  </svg>
);

const IconPin = ({ size = 18 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M12 21 C7 16 5 12.5 5 9.5 A7 7 0 0 1 19 9.5 C19 12.5 17 16 12 21 Z" />
    <circle cx="12" cy="9.5" r="2.4" />
  </svg>
);

const IconMenu = ({ size = 22 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M4 8 H20" />
    <path d="M4 16 H20" />
  </svg>
);

const IconClose = ({ size = 22 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M6 6 L18 18" />
    <path d="M18 6 L6 18" />
  </svg>
);

const IconInstagram = ({ size = 18 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <rect x="3.5" y="3.5" width="17" height="17" rx="4.5" />
    <circle cx="12" cy="12" r="3.6" />
    <circle cx="17" cy="7" r=".9" fill="currentColor" stroke="none" />
  </svg>
);

const IconFacebook = ({ size = 18 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M14 21 V13 H16.5 L17 10 H14 V8.2 C14 7.2 14.4 6.8 15.4 6.8 H17 V4 C16.5 3.9 15.5 3.8 14.6 3.8 C12.5 3.8 11 5 11 7.6 V10 H8.5 V13 H11 V21" />
  </svg>
);

const IconLinkedIn = ({ size = 18 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <rect x="3.5" y="3.5" width="17" height="17" rx="2.5" />
    <path d="M8 10.5 V17" />
    <circle cx="8" cy="7.6" r="1" fill="currentColor" stroke="none" />
    <path d="M12 17 V10.5 M12 13.2 C12 11.5 13 10.3 14.5 10.3 C16 10.3 16.8 11.4 16.8 13 V17" />
  </svg>
);

const IconQuote = ({ size = 28 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor">
    <path d="M7 7 H10 V10 C10 12.5 8.5 14 6.5 14.5 V13 C7.5 12.5 8 11.7 8 10.5 H7 Z" />
    <path d="M14 7 H17 V10 C17 12.5 15.5 14 13.5 14.5 V13 C14.5 12.5 15 11.7 15 10.5 H14 Z" />
  </svg>
);

const IconChevronLeft = ({ size = 18 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M14 6 L8 12 L14 18" />
  </svg>
);

const IconChevronRight = ({ size = 18 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...stroke}>
    <path d="M10 6 L16 12 L10 18" />
  </svg>
);

Object.assign(window, {
  IconKey, IconHouseTag, IconCompass,
  IconArrowRight, IconArrowUpRight,
  IconPhone, IconMail, IconPin,
  IconMenu, IconClose,
  IconInstagram, IconFacebook, IconLinkedIn,
  IconQuote, IconChevronLeft, IconChevronRight,
});
