// Header — sticky on scroll. Logo left, anchor nav center, primary CTA right.
function Header({ route, setRoute }) {
  const [scrolled, setScrolled] = React.useState(false);
  React.useEffect(() => {
    const onScroll = () => setScrolled(window.scrollY > 8);
    window.addEventListener('scroll', onScroll, { passive: true });
    return () => window.removeEventListener('scroll', onScroll);
  }, []);

  const navItem = (label, target) => (
    <a
      key={target}
      href={`#${target}`}
      onClick={(e) => {
        if (target === 'how' || target === 'home') {
          e.preventDefault();
          setRoute(target);
          window.scrollTo({ top: 0 });
        }
      }}
      style={{
        color: 'var(--charcoal-700)',
        textDecoration: 'none',
        fontSize: 15,
        fontWeight: 400,
        padding: '8px 12px',
        borderRadius: 'var(--radius-md)',
      }}
    >
      {label}
    </a>
  );

  return (
    <header
      style={{
        position: 'sticky', top: 0, zIndex: 50,
        background: scrolled ? 'rgba(255,255,255,0.88)' : 'transparent',
        backdropFilter: scrolled ? 'blur(8px) saturate(140%)' : 'none',
        WebkitBackdropFilter: scrolled ? 'blur(8px) saturate(140%)' : 'none',
        borderBottom: scrolled ? '1px solid var(--border)' : '1px solid transparent',
        transition: 'background 220ms ease, border-color 220ms ease, backdrop-filter 220ms ease',
      }}
    >
      <div
        className="container"
        style={{
          display: 'flex', alignItems: 'center', justifyContent: 'space-between',
          paddingBlock: 18, gap: 24,
        }}
      >
        <a
          href="#home"
          onClick={(e) => { e.preventDefault(); setRoute('home'); window.scrollTo({ top: 0 }); }}
          style={{ display: 'inline-flex' }}
        >
          <Logo height={30} />
        </a>
        <nav style={{ display: 'flex', gap: 4 }} className="kg-nav">
          {navItem('Comment ça marche', 'how')}
          {navItem('Pour qui', 'who')}
          {navItem('Confiance', 'trust')}
          {navItem('FAQ', 'faq')}
        </nav>
        <button
          className="kg-btn kg-btn--primary"
          onClick={() => setRoute('waitlist')}
          style={{ padding: '10px 18px', minHeight: 40, fontSize: 14 }}
        >
          Rejoindre la liste d'attente
        </button>
      </div>
    </header>
  );
}

window.Header = Header;
