// Lucide-style 1.8 stroke icons, inlined.
const Icon = ({ d, size = 16, fill = false }) => (
  <svg width={size} height={size} viewBox="0 0 24 24"
       fill={fill ? 'currentColor' : 'none'}
       stroke="currentColor" strokeWidth="1.8"
       strokeLinecap="round" strokeLinejoin="round"
       style={{ flex: 'none' }}>
    {typeof d === 'string'
      ? <path d={d} />
      : d}
  </svg>
);

// Single-path glyphs
const IconCheck     = (p) => <Icon {...p} d="M4 12.5l5 5L20 6" />;
const IconArrow     = (p) => <Icon {...p} d="M5 12h14M13 5l7 7-7 7" />;
const IconArrowDown = (p) => <Icon {...p} d="M12 5v14M5 12l7 7 7-7" />;
const IconChevDown  = (p) => <Icon {...p} d="M6 9l6 6 6-6" />;
const IconChevUp    = (p) => <Icon {...p} d="M6 15l6-6 6 6" />;
const IconX         = (p) => <Icon {...p} d="M6 6l12 12M18 6L6 18" />;
const IconDot       = (p) => <Icon {...p} d={<circle cx="12" cy="12" r="3" fill="currentColor" stroke="none"/>} />;

const IconPriceTag  = (p) => <Icon {...p} d={<>
  <path d="M3 12V4h8l9 9-8 8-9-9z"/>
  <circle cx="7.5" cy="7.5" r="1.4"/>
</>} />;
const IconBan       = (p) => <Icon {...p} d={<>
  <circle cx="12" cy="12" r="9"/>
  <path d="M5.5 5.5l13 13"/>
</>} />;
const IconNoPhone   = (p) => <Icon {...p} d={<>
  <path d="M3 5l3-2 3 4-2 2a12 12 0 006 6l2-2 4 3-2 3a3 3 0 01-3 1A17 17 0 014 8a3 3 0 01-1-3z"/>
  <path d="M3 21L21 3"/>
</>} />;

Object.assign(window, {
  Icon, IconCheck, IconArrow, IconArrowDown, IconChevDown, IconChevUp,
  IconX, IconDot, IconPriceTag, IconBan, IconNoPhone,
});
