// Simple inline SVG icon components — stroke 1.6, 24px
const Icon = ({ children, size = 24, strokeWidth = 1.6, ...rest }) => (
  <svg
    width={size}
    height={size}
    viewBox="0 0 24 24"
    fill="none"
    stroke="currentColor"
    strokeWidth={strokeWidth}
    strokeLinecap="round"
    strokeLinejoin="round"
    aria-hidden="true"
    {...rest}
  >
    {children}
  </svg>
);

const IconStar = (p) => (
  <Icon {...p}>
    <path d="M12 3l2.5 5.5L20 9.3l-4 3.9.9 5.6L12 16.2 7.1 18.8 8 13.2 4 9.3l5.5-.8L12 3z" />
  </Icon>
);

const IconSchool = (p) => (
  <Icon {...p}>
    <path d="M12 3l9 4.5-9 4.5-9-4.5L12 3z" />
    <path d="M5 9v6a7 7 0 0 0 14 0V9" />
    <path d="M12 12v8" />
  </Icon>
);

const IconTools = (p) => (
  <Icon {...p}>
    <path d="M14.7 6.3a4 4 0 0 0 5 5l-2 2-5-5 2-2z" />
    <path d="M12.7 8.3l-7 7a2 2 0 1 0 2.8 2.8l7-7" />
  </Icon>
);

const IconChart = (p) => (
  <Icon {...p}>
    <path d="M4 4v16h16" />
    <path d="M8 14l3-4 3 3 4-6" />
  </Icon>
);

const IconPhone = (p) => (
  <Icon {...p}>
    <rect x="7" y="2.5" width="10" height="19" rx="2.5" />
    <path d="M11 18.5h2" />
  </Icon>
);

const IconTeacher = (p) => (
  <Icon {...p}>
    <circle cx="12" cy="8" r="3.2" />
    <path d="M5.5 20a6.5 6.5 0 0 1 13 0" />
    <path d="M16.5 12.5l3 1.5-3 1.5z" />
  </Icon>
);

const IconBuilding = (p) => (
  <Icon {...p}>
    <rect x="3.5" y="4" width="17" height="16" rx="1.5" />
    <path d="M8 8.5h.01M12 8.5h.01M16 8.5h.01M8 12.5h.01M12 12.5h.01M16 12.5h.01M8 16.5h.01M16 16.5h.01" />
    <path d="M11 20v-4h2v4" />
  </Icon>
);

const IconSettings = (p) => (
  <Icon {...p}>
    <circle cx="12" cy="12" r="3" />
    <path d="M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1A2 2 0 1 1 4.3 17l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1A2 2 0 1 1 7 4.3l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z" />
  </Icon>
);

const IconPlay = (p) => (
  <Icon {...p}>
    <path d="M8 5.5l11 6.5-11 6.5z" />
  </Icon>
);

const IconCert = (p) => (
  <Icon {...p}>
    <circle cx="12" cy="10" r="5" />
    <path d="M8.5 14L7 21l5-3 5 3-1.5-7" />
  </Icon>
);

const IconHeart = (p) => (
  <Icon {...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" />
  </Icon>
);

const IconMail = (p) => (
  <Icon {...p}>
    <rect x="3" y="5" width="18" height="14" rx="2" />
    <path d="M3 7l9 6 9-6" />
  </Icon>
);

const IconMapPin = (p) => (
  <Icon {...p}>
    <path d="M12 22s-7-7-7-12a7 7 0 0 1 14 0c0 5-7 12-7 12z" />
    <circle cx="12" cy="10" r="2.5" />
  </Icon>
);

const IconPhoneCall = (p) => (
  <Icon {...p}>
    <path d="M5 4h3.5l1.5 4-2 1.5a11 11 0 0 0 6.5 6.5l1.5-2 4 1.5V19a2 2 0 0 1-2.2 2A17 17 0 0 1 3 6.2 2 2 0 0 1 5 4z" />
  </Icon>
);

const IconArrow = (p) => (
  <Icon {...p}>
    <path d="M5 12h14" />
    <path d="M13 6l6 6-6 6" />
  </Icon>
);

const IconCheck = (p) => (
  <Icon {...p}>
    <path d="M5 12.5l4.5 4.5L19 7" />
  </Icon>
);

Object.assign(window, {
  IconStar, IconSchool, IconTools, IconChart, IconPhone, IconTeacher, IconBuilding,
  IconSettings, IconPlay, IconCert, IconHeart, IconMail, IconMapPin, IconPhoneCall,
  IconArrow, IconCheck,
});
