// Inline SVG icons. Single-color (currentColor) unless noted.
const Icon = ({ children, size = 22, stroke = 1.6, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {children}
  </svg>
);

const IconPhone = (p) => <Icon {...p}><path d="M5 4h3l2 5-2.5 1.5a11 11 0 0 0 6 6L15 14l5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z"/></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 IconPlay = (p) => <Icon {...p}><path d="M8 5v14l11-7z" fill="currentColor"/></Icon>;
const IconArrow = (p) => <Icon {...p}><path d="M5 12h14M13 6l6 6-6 6"/></Icon>;
const IconArrowUp = (p) => <Icon {...p}><path d="M12 19V5M6 11l6-6 6 6"/></Icon>;
const IconCheck = (p) => <Icon {...p}><path d="M5 12.5l4.5 4.5L19 7"/></Icon>;
const IconPlus = (p) => <Icon {...p}><path d="M12 5v14M5 12h14"/></Icon>;
const IconMinus = (p) => <Icon {...p}><path d="M5 12h14"/></Icon>;
const IconStar = ({ size = 16, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" {...rest}>
    <path d="M12 2l3 6.9 7.5.7-5.7 5 1.7 7.4L12 18.3 5.5 22l1.7-7.4L1.5 9.6l7.5-.7L12 2z"/>
  </svg>
);
const IconLocation = (p) => <Icon {...p}><path d="M12 22s-7-7.5-7-13a7 7 0 0 1 14 0c0 5.5-7 13-7 13z"/><circle cx="12" cy="9" r="2.5"/></Icon>;
const IconClock = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></Icon>;
const IconShield = (p) => <Icon {...p}><path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z"/><path d="M9 12l2 2 4-4"/></Icon>;
const IconAward = (p) => <Icon {...p}><circle cx="12" cy="9" r="6"/><path d="M8.5 13.5L7 22l5-3 5 3-1.5-8.5"/></Icon>;
const IconUsers = (p) => <Icon {...p}><circle cx="9" cy="8" r="3.5"/><path d="M2.5 20a6.5 6.5 0 0 1 13 0"/><circle cx="17" cy="9" r="2.8"/><path d="M16 20a5 5 0 0 1 5.5-5"/></Icon>;
const IconWave = (p) => <Icon {...p}><path d="M3 12c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2"/><path d="M3 17c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2"/></Icon>;
const IconCompass = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="M15.5 8.5l-2 5-5 2 2-5 5-2z" fill="currentColor"/></Icon>;
const IconCalendar = (p) => <Icon {...p}><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 9h18M8 3v4M16 3v4"/></Icon>;
const IconMenu = (p) => <Icon {...p}><path d="M4 7h16M4 12h16M4 17h16"/></Icon>;
const IconClose = (p) => <Icon {...p}><path d="M6 6l12 12M18 6L6 18"/></Icon>;
const IconFacebook = (p) => <Icon {...p}><path d="M14 9h3V5h-3c-2 0-3.5 1.5-3.5 3.5V11H8v4h2.5v6h4v-6H17l.5-4h-3V9z" fill="currentColor" stroke="none"/></Icon>;
const IconInstagram = (p) => <Icon {...p}><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="1" fill="currentColor"/></Icon>;
const IconYouTube = (p) => <Icon {...p}><rect x="2.5" y="6" width="19" height="12" rx="3"/><path d="M10.5 9.5v5l4-2.5-4-2.5z" fill="currentColor" stroke="none"/></Icon>;
const IconX = (p) => <Icon {...p}><path d="M4 4l16 16M20 4L4 20" stroke="currentColor" strokeWidth="2.2"/></Icon>;
const IconTripAdvisor = ({ size = 22, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" {...rest}>
    <path d="M12 7a8 8 0 0 0-6.6 3.5H2l2 2.2A4.2 4.2 0 0 0 6.5 18a4.2 4.2 0 0 0 3.5-1.9L12 18l2-1.9A4.2 4.2 0 0 0 17.5 18 4.2 4.2 0 0 0 22 12.7l2-2.2h-3.4A8 8 0 0 0 12 7zM6.5 16a3.3 3.3 0 1 1 0-6.6 3.3 3.3 0 0 1 0 6.6zm11 0a3.3 3.3 0 1 1 0-6.6 3.3 3.3 0 0 1 0 6.6zM6.5 11.2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm11 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z"/>
  </svg>
);
const IconGoogle = ({ size = 18, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" {...rest}>
    <path fill="#4285F4" d="M21.6 12.2c0-.7-.1-1.3-.2-2H12v3.8h5.4a4.6 4.6 0 0 1-2 3v2.5h3.2c1.9-1.7 3-4.3 3-7.3z"/>
    <path fill="#34A853" d="M12 22c2.7 0 5-.9 6.6-2.4l-3.2-2.5c-.9.6-2 1-3.4 1a5.9 5.9 0 0 1-5.6-4.1H3v2.6A10 10 0 0 0 12 22z"/>
    <path fill="#FBBC05" d="M6.4 14a6 6 0 0 1 0-3.8V7.6H3a10 10 0 0 0 0 8.8L6.4 14z"/>
    <path fill="#EA4335" d="M12 5.9c1.5 0 2.8.5 3.9 1.5l2.9-2.9A10 10 0 0 0 3 7.6L6.4 10A5.9 5.9 0 0 1 12 5.9z"/>
  </svg>
);

Object.assign(window, {
  Icon, IconPhone, IconMail, IconPlay, IconArrow, IconArrowUp, IconCheck, IconPlus, IconMinus,
  IconStar, IconLocation, IconClock, IconShield, IconAward, IconUsers, IconWave, IconCompass,
  IconCalendar, IconMenu, IconClose, IconFacebook, IconInstagram, IconYouTube, IconX,
  IconTripAdvisor, IconGoogle,
});
