// Shared UI icon set — SVG only, no emoji.
// Consistent stroke (1.8px), 24×24 viewBox, currentColor fill/stroke.

const IconPhone = ({ size = 16, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round" aria-hidden style={style}>
    <path d="M4.5 3h3.2l1.6 4.4-2 1.6a12.2 12.2 0 0 0 5.7 5.7l1.6-2 4.4 1.6V17.5a1.5 1.5 0 0 1-1.6 1.5A16 16 0 0 1 3 5.1 1.5 1.5 0 0 1 4.5 3z" />
  </svg>
);

const IconMenu = ({ size = 18, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" aria-hidden style={style}>
    <path d="M3.5 6.5h17M3.5 12h17M3.5 17.5h17" />
  </svg>
);

const IconClose = ({ size = 18, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" aria-hidden style={style}>
    <path d="M5 5l14 14M19 5L5 19" />
  </svg>
);

const IconChevronDown = ({ size = 16, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden style={style}>
    <path d="M5 8.5l7 7 7-7" />
  </svg>
);

const IconArrowRight = ({ size = 16, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden style={style}>
    <path d="M4 12h15.5M13 5.5l6.5 6.5-6.5 6.5" />
  </svg>
);

const IconExternalLink = ({ size = 14, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden style={style}>
    <path d="M9 5h10v10M18.5 5.5L5 19" />
  </svg>
);

const IconCheck = ({ size = 14, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round" aria-hidden style={style}>
    <path d="M4.5 12.5l5 5L20 6.5" />
  </svg>
);

const IconGlobe = ({ size = 14, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round" aria-hidden style={style}>
    <circle cx="12" cy="12" r="9" />
    <path d="M3 12h18M12 3c2.5 2.6 3.8 5.7 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.7-3.8-9s1.3-6.4 3.8-9z" />
  </svg>
);

const IconLaptop = ({ size = 28, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 28 28" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" aria-hidden style={style}>
    <rect x="5" y="6" width="18" height="12" rx="1.5" />
    <path d="M2 22h24M2 22l2.5-4h19L26 22" />
  </svg>
);

const IconBox = ({ size = 28, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 28 28" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" aria-hidden style={style}>
    <path d="M4 9l10-5 10 5-10 5-10-5z" />
    <path d="M4 9v10l10 5 10-5V9" />
    <path d="M14 14v10" />
  </svg>
);

const IconShieldCheck = ({ size = 28, style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 28 28" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" aria-hidden style={style}>
    <path d="M14 4l8 3v6c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V7l8-3z" />
    <path d="M10.5 14l2.5 2.5 5-5" />
  </svg>
);

Object.assign(window, {
  IconPhone, IconMenu, IconClose, IconChevronDown,
  IconArrowRight, IconExternalLink, IconCheck, IconGlobe,
  IconLaptop, IconBox, IconShieldCheck,
});
