// Inline icon set — line-style, 1.6 stroke, calm and consistent.
// Exported to window for use across babel scripts.

const Ico = ({ children, size = 18, className = "", strokeWidth = 1.6, ...rest }) => (
  <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"
    {...rest}
  >
    {children}
  </svg>
);

const IconPaw = (p) => (
  <Ico {...p}>
    <circle cx="6" cy="11" r="1.7" />
    <circle cx="10" cy="6" r="1.7" />
    <circle cx="14" cy="6" r="1.7" />
    <circle cx="18" cy="11" r="1.7" />
    <path d="M8.5 16.5c0-2.2 1.7-3.5 3.5-3.5s3.5 1.3 3.5 3.5-1.5 3.5-3.5 3.5-3.5-1.3-3.5-3.5Z" />
  </Ico>
);
const IconSearch = (p) => (
  <Ico {...p}>
    <circle cx="11" cy="11" r="6.5" />
    <path d="m20 20-3.5-3.5" />
  </Ico>
);
const IconPin = (p) => (
  <Ico {...p}>
    <path d="M12 21s7-6.2 7-11.2A7 7 0 0 0 5 9.8C5 14.8 12 21 12 21Z" />
    <circle cx="12" cy="10" r="2.4" />
  </Ico>
);
const IconCal = (p) => (
  <Ico {...p}>
    <rect x="3.5" y="5" width="17" height="15" rx="2.5" />
    <path d="M3.5 9.5h17M8 3.5v3M16 3.5v3" />
  </Ico>
);
const IconDog = (p) => (
  <Ico {...p}>
    <path d="M4 9c0-1.5 1-3 2.5-3 1 0 1.5.5 2 1l1 1.5h5l1-1.5c.5-.5 1-1 2-1C18 6 19 7.5 19 9v5c0 3-2 5-5 5h-5c-3 0-5-2-5-5V9Z" />
    <circle cx="9.5" cy="12.5" r=".8" fill="currentColor" />
    <circle cx="14.5" cy="12.5" r=".8" fill="currentColor" />
    <path d="M11.5 15.2c.3.3.7.3 1 0" />
  </Ico>
);
const IconCat = (p) => (
  <Ico {...p}>
    <path d="M5 11 4 5l4 3h8l4-3-1 6c0 4-3 7-7 7s-7-3-7-7Z" />
    <circle cx="9.5" cy="12" r=".8" fill="currentColor" />
    <circle cx="14.5" cy="12" r=".8" fill="currentColor" />
    <path d="M10.7 15c.5.4 2.1.4 2.6 0" />
  </Ico>
);
const IconShield = (p) => (
  <Ico {...p}>
    <path d="M12 3 5 6v6c0 4.5 3 7.5 7 9 4-1.5 7-4.5 7-9V6l-7-3Z" />
    <path d="m9 12 2 2 4-4" />
  </Ico>
);
const IconHeart = (p) => (
  <Ico {...p}>
    <path d="M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.5-7 10-7 10Z" />
  </Ico>
);
const IconChat = (p) => (
  <Ico {...p}>
    <path d="M4 6.5A2.5 2.5 0 0 1 6.5 4h11A2.5 2.5 0 0 1 20 6.5v8a2.5 2.5 0 0 1-2.5 2.5H10l-4 3v-3H6.5A2.5 2.5 0 0 1 4 14.5v-8Z" />
  </Ico>
);
const IconStar = (p) => (
  <Ico {...p}>
    <path d="m12 3.5 2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.7 6.7 19.5 7.9 13.6 3.5 9.6l5.9-.7L12 3.5Z" />
  </Ico>
);
const IconMed = (p) => (
  <Ico {...p}>
    <rect x="3.5" y="3.5" width="17" height="17" rx="4" />
    <path d="M12 8v8M8 12h8" />
  </Ico>
);
const IconHome = (p) => (
  <Ico {...p}>
    <path d="m3.5 11 8.5-7 8.5 7" />
    <path d="M5.5 9.5V20h13V9.5" />
  </Ico>
);
const IconCheck = (p) => (
  <Ico {...p}>
    <path d="m4.5 12.5 5 5 10-11" />
  </Ico>
);
const IconArrow = (p) => (
  <Ico {...p}>
    <path d="M5 12h14M13 6l6 6-6 6" />
  </Ico>
);
const IconArrowL = (p) => (
  <Ico {...p}>
    <path d="M19 12H5M11 18l-6-6 6-6" />
  </Ico>
);
const IconClose = (p) => (
  <Ico {...p}>
    <path d="m6 6 12 12M18 6 6 18" />
  </Ico>
);
const IconFilter = (p) => (
  <Ico {...p}>
    <path d="M3.5 6h17M6.5 12h11M9.5 18h5" />
  </Ico>
);
const IconBolt = (p) => (
  <Ico {...p}>
    <path d="M13 3 5 14h6l-1 7 8-11h-6l1-7Z" />
  </Ico>
);
const IconCamera = (p) => (
  <Ico {...p}>
    <rect x="3" y="6.5" width="18" height="13" rx="2.5" />
    <path d="M9 6.5 10.5 4h3L15 6.5" />
    <circle cx="12" cy="13" r="3.5" />
  </Ico>
);
const IconFence = (p) => (
  <Ico {...p}>
    <path d="M5 21V8l2-3 2 3v13M11 21V8l2-3 2 3v13M17 21V8l2-3 2 3v13M3 12h18M3 16h18" />
  </Ico>
);
const IconLang = (p) => (
  <Ico {...p}>
    <circle cx="12" cy="12" r="9" />
    <path d="M3 12h18M12 3c2.5 3 2.5 15 0 18M12 3c-2.5 3-2.5 15 0 18" />
  </Ico>
);
const IconUser = (p) => (
  <Ico {...p}>
    <circle cx="12" cy="8.5" r="3.8" />
    <path d="M4.5 20c1.3-3.5 4.3-5.5 7.5-5.5s6.2 2 7.5 5.5" />
  </Ico>
);
const IconClock = (p) => (
  <Ico {...p}>
    <circle cx="12" cy="12" r="8.5" />
    <path d="M12 7.5V12l3 2" />
  </Ico>
);
const IconSlash = (p) => (
  <Ico {...p}>
    <circle cx="12" cy="12" r="8.5" />
    <path d="m6 18 12-12" />
  </Ico>
);
const IconWalk = (p) => (
  <Ico {...p}>
    <circle cx="14" cy="5" r="1.6" />
    <path d="m10 21 2-6-3-3 2-5 3 3 3 1M9 13l-3 1 1 3" />
  </Ico>
);
const IconKey = (p) => (
  <Ico {...p}>
    <circle cx="8" cy="14" r="3.5" />
    <path d="m11 12 9-9M16 7l3 3" />
  </Ico>
);
const IconCookie = (p) => (
  <Ico {...p}>
    <path d="M21 12a9 9 0 1 1-9-9 4 4 0 0 0 4 4 4 4 0 0 0 4 4 4 4 0 0 0 1 1Z" />
    <circle cx="9" cy="10" r=".8" fill="currentColor" />
    <circle cx="13" cy="14" r=".8" fill="currentColor" />
    <circle cx="9" cy="15" r=".8" fill="currentColor" />
  </Ico>
);

Object.assign(window, {
  Ico,
  IconPaw, IconSearch, IconPin, IconCal, IconDog, IconCat, IconShield, IconHeart,
  IconChat, IconStar, IconMed, IconHome, IconCheck, IconArrow, IconArrowL, IconClose,
  IconFilter, IconBolt, IconCamera, IconFence, IconLang, IconUser, IconClock, IconSlash,
  IconWalk, IconKey, IconCookie,
});
