// Thin/outline icon set — hand-drawn SVG primitives matching the minimal aesthetic.
// All icons are stroke-based, 1.25 width, currentColor.

const IconBase = ({ children, size = 18, className = '', strokeWidth = 1.25 }) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={size} height={size}
    viewBox="0 0 24 24"
    fill="none"
    stroke="currentColor"
    strokeWidth={strokeWidth}
    strokeLinecap="round"
    strokeLinejoin="round"
    className={className}
    aria-hidden="true"
  >{children}</svg>
);

const IconArrow = (p) => <IconBase {...p}><path d="M5 12h14M13 5l7 7-7 7" /></IconBase>;
const IconArrowDown = (p) => <IconBase {...p}><path d="M12 5v14M5 13l7 7 7-7" /></IconBase>;
const IconPlus = (p) => <IconBase {...p}><path d="M12 5v14M5 12h14" /></IconBase>;
const IconClose = (p) => <IconBase {...p}><path d="M6 6l12 12M6 18L18 6" /></IconBase>;
const IconMenu = (p) => <IconBase {...p}><path d="M3 7h18M3 17h18" /></IconBase>;
const IconCheck = (p) => <IconBase {...p}><path d="M5 12l5 5L20 7" /></IconBase>;
const IconStar = (p) => <IconBase {...p}><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17.1 6.6 19.9l1-6.1L3.2 9.5l6.1-.9L12 3z" /></IconBase>;
const IconBed = (p) => <IconBase {...p}><path d="M3 18V8M3 12h18v6M21 18v-4a3 3 0 0 0-3-3h-6v3" /><circle cx="7" cy="11" r="1.5" /></IconBase>;
const IconBath = (p) => <IconBase {...p}><path d="M4 12h16v3a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-3zM6 12V6a2 2 0 0 1 4 0M5 21l-1-2M19 21l1-2" /></IconBase>;
const IconRuler = (p) => <IconBase {...p}><path d="M3 16l13-13 5 5L8 21l-5-5zM7 15l2 2M11 11l2 2M15 7l2 2" /></IconBase>;
const IconMapPin = (p) => <IconBase {...p}><path d="M12 21s-7-6-7-12a7 7 0 0 1 14 0c0 6-7 12-7 12z" /><circle cx="12" cy="9" r="2.5" /></IconBase>;
const IconPhone = (p) => <IconBase {...p}><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A17 17 0 0 1 3 6a2 2 0 0 1 2-2z" /></IconBase>;
const IconMail = (p) => <IconBase {...p}><rect x="3" y="5" width="18" height="14" rx="1" /><path d="M3 7l9 7 9-7" /></IconBase>;
const IconInstagram = (p) => <IconBase {...p}><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.6" fill="currentColor" stroke="none" /></IconBase>;
const IconFacebook = (p) => <IconBase {...p}><path d="M16 4h-3a4 4 0 0 0-4 4v3H6v4h3v6h4v-6h3l1-4h-4V8a1 1 0 0 1 1-1h3V4z" /></IconBase>;
const IconLinkedin = (p) => <IconBase {...p}><rect x="3" y="3" width="18" height="18" rx="2" /><path d="M8 10v7M8 7v.01M12 17v-4a2 2 0 0 1 4 0v4M12 10v7" /></IconBase>;
const IconGlobe = (p) => <IconBase {...p}><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" /></IconBase>;
const IconKey = (p) => <IconBase {...p}><circle cx="8" cy="15" r="4" /><path d="M11 12l9-9M16 7l2 2M14 9l2 2" /></IconBase>;
const IconBuilding = (p) => <IconBase {...p}><path d="M4 21V7l8-3 8 3v14M4 21h16M9 21v-4h6v4M8 9h1M8 12h1M15 9h1M15 12h1" /></IconBase>;
const IconBriefcase = (p) => <IconBase {...p}><rect x="3" y="7" width="18" height="13" rx="1" /><path d="M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2M3 13h18" /></IconBase>;
const IconQuote = (p) => <IconBase {...p} strokeWidth={1}><path d="M7 7h4v6c0 2.5-1.5 4-4 4M14 7h4v6c0 2.5-1.5 4-4 4" /></IconBase>;
const IconHome = (p) => <IconBase {...p}><path d="M3 11l9-7 9 7v9a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1v-9z" /></IconBase>;
const IconHandshake = (p) => <IconBase {...p}><path d="M11 17l-3 3a1.5 1.5 0 0 1-2-2l3-3M13 17l3 3a1.5 1.5 0 0 0 2-2l-3-3M3 12l5 5M21 12l-5 5M3 12l4-7h4l2 2M21 12l-4-7h-4l-2 2" /></IconBase>;
const IconTrend = (p) => <IconBase {...p}><path d="M3 17l6-6 4 4 8-8M14 7h7v7" /></IconBase>;
const IconDoc = (p) => <IconBase {...p}><path d="M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8l-5-5z" /><path d="M14 3v5h5M9 13h6M9 16h6M9 10h2" /></IconBase>;

Object.assign(window, {
  IconArrow, IconArrowDown, IconPlus, IconClose, IconMenu, IconCheck, IconStar,
  IconBed, IconBath, IconRuler, IconMapPin, IconPhone, IconMail,
  IconInstagram, IconFacebook, IconLinkedin, IconGlobe, IconKey,
  IconBuilding, IconBriefcase, IconQuote, IconHome, IconHandshake, IconTrend, IconDoc,
});
