// layout.jsx — Header / footer / shared primitives in new dark-green palette.

function HpHeader({ route, navigate, lang, setLang }) {
  const nav = HP_DATA.nav;
  const cta = HP_DATA.cta[lang];

  return (
    <header style={{
      position: "sticky", top: 0, zIndex: 50,
      background: "rgba(10,10,10,0.88)",
      backdropFilter: "blur(14px)",
      WebkitBackdropFilter: "blur(14px)",
      borderBottom: "1px solid var(--hp-line)"
    }}>
      <div className="hp-shell" style={{
        display: "grid",
        gridTemplateColumns: "auto 1fr auto",
        alignItems: "center",
        padding: "16px var(--hp-pad-x)",
        gap: 40
      }}>
        <a href="#/" onClick={(e) => {e.preventDefault();navigate("/");}}
        style={{ display: "flex", alignItems: "center", gap: 10 }}>
          <img src="brand/hornpiper-mark.png" width="28" height="28" alt="Hornpiper"
          style={{ display: "block", filter: "brightness(0) invert(1)" }} />
          <span style={{ fontFamily: "var(--hp-sans)", fontWeight: 600, fontSize: 17, letterSpacing: "-0.015em", color: "var(--hp-ink-strong)" }}>Hornpiper</span>
        </a>

        <nav style={{ display: "flex", gap: 26, justifyContent: "center" }}>
          {nav.map((n) => {
            const active = route === n.path || route.startsWith(n.path + "/");
            return (
              <a key={n.id} href={`#${n.path}`}
              onClick={(e) => {e.preventDefault();navigate(n.path);}}
              onMouseEnter={(e) => {if (!active) {e.currentTarget.style.color = "var(--hp-gold)";e.currentTarget.style.borderBottomColor = "var(--hp-gold)";}}}
              onMouseLeave={(e) => {if (!active) {e.currentTarget.style.color = "var(--hp-ink)";e.currentTarget.style.borderBottomColor = "transparent";}}}
              style={{
                fontFamily: "var(--hp-sans)", fontSize: 14, fontWeight: 500,
                color: active ? "var(--hp-gold)" : "var(--hp-ink)",
                padding: "6px 0",
                borderBottom: active ? "1px solid var(--hp-gold)" : "1px solid transparent",
                transition: "color 120ms, border-color 120ms",
                whiteSpace: "nowrap"
              }}>
                {lang === "tr" ? n.label_tr : n.label_en}
              </a>);

          })}
        </nav>

        <div style={{ display: "flex", gap: 18, alignItems: "center" }}>
          <button onClick={() => setLang(lang === "tr" ? "en" : "tr")}
          style={{ cursor: "pointer", fontFamily: "var(--hp-mono)", fontSize: 11,
            letterSpacing: "0.1em", color: "var(--hp-ink-mute)" }}>
            <span style={{ color: lang === "tr" ? "var(--hp-gold)" : "var(--hp-ink-mute)" }}>TR</span>
            <span> · </span>
            <span style={{ color: lang === "en" ? "var(--hp-gold)" : "var(--hp-ink-mute)" }}>EN</span>
          </button>
          <a href="#/contact" onClick={(e) => {e.preventDefault();navigate("/contact");}}
          className="hp-btn" style={{ padding: "10px 16px", fontSize: 13 }}>
            {lang === "tr" ? "İletişim" : "Contact"} <ArrowR size={12} />
          </a>
        </div>
      </div>
    </header>);

}

function HpFooter({ lang, navigate }) {
  const cta = HP_DATA.cta[lang];
  return (
    <footer style={{ marginTop: "var(--hp-section)", background: "var(--hp-bg-2)", borderTop: "1px solid var(--hp-line)" }}>
      <div className="hp-shell" style={{ padding: "var(--hp-section-sm) var(--hp-pad-x)" }}>
        <div style={{ display: "grid", gridTemplateColumns: "1.4fr 1fr", gap: 64, alignItems: "start" }}>
          <div data-comment-anchor="fcf52f95c4-div-75-11">
            <div style={{ fontFamily: "var(--hp-sans)", fontWeight: 600, fontSize: 28, letterSpacing: "-0.02em", lineHeight: 1.2, color: "var(--hp-ink-strong)", maxWidth: 380 }}>
              {lang === "tr" ?
              <>Önce <span style={{ color: "var(--hp-gold)" }}>bottleneck'i</span> teşhis edelim.</> :
              <>First, <span style={{ color: "var(--hp-gold)" }}>diagnose</span> the bottleneck.</>}
            </div>
            <div style={{ marginTop: 24, display: "flex", gap: 14, flexWrap: "wrap" }}>
              <a href="#/contact" onClick={(e) => {e.preventDefault();navigate("/contact");}} className="hp-btn" data-comment-anchor="0b87d2cdf5-a-81-13">
                {lang === "tr" ? "İletişim" : "Contact"} <ArrowR />
              </a>
              <a href="#/about" onClick={(e) => {e.preventDefault();navigate("/about");}} className="hp-btn hp-btn-ghost" style={{ color: "var(--hp-green-3)" }}>
                {lang === "tr" ? "Bizi daha iyi tanıyın." : "Get to know us."} <ArrowR />
              </a>
            </div>

            <div className="hp-label" style={{ marginTop: 48, color: "var(--hp-gold)" }}>LINKLER</div>
            <div style={{ marginTop: 14, display: "flex", flexWrap: "wrap", gap: "10px 18px" }}>
              {[
              { l_tr: "Çözümlerimiz", l_en: "Solutions", p: "/solutions" },
              { l_tr: "Yaklaşımımız", l_en: "Approach", p: "/approach" },
              { l_tr: "Teknoloji", l_en: "Technology", p: "/teknoloji" },
              { l_tr: "Faaliyet Alanları", l_en: "Sectors", p: "/faaliyet-alanlari" },
              { l_tr: "İçgörüler", l_en: "Insights", p: "/insights" },
              { l_tr: "Kurumsal", l_en: "About", p: "/about" },
              { l_tr: "İletişim", l_en: "Contact", p: "/contact" }].
              map((it) =>
              <a key={it.p} href={`#${it.p}`} onClick={(e) => {e.preventDefault();navigate(it.p);}}
              style={{ color: "var(--hp-ink)", fontSize: 14 }}>
                  {lang === "tr" ? it.l_tr : it.l_en}
                </a>
              )}
              <a href="#/privacy" onClick={(e) => {e.preventDefault();navigate("/privacy");}} style={{ color: "var(--hp-ink)", fontSize: 14 }}>Gizlilik</a>
              <a href="#/terms" onClick={(e) => {e.preventDefault();navigate("/terms");}} style={{ color: "var(--hp-ink)", fontSize: 14 }}>Şartlar</a>
            </div>
          </div>

          <div>
            <div className="hp-label" style={{ color: "var(--hp-gold)" }}>İLETİŞİM</div>
            <ul style={{ listStyle: "none", padding: 0, margin: "14px 0 0", display: "grid", gap: 10 }}>
              <li><a href="mailto:info@hornpiper.com" style={{ color: "var(--hp-ink-strong)", fontSize: 16 }}>info@hornpiper.com</a></li>
              <li><span style={{ color: "var(--hp-ink-mute)", fontSize: 14 }}>Istanbul · TR</span></li>
            </ul>

            <div className="hp-label" style={{ marginTop: 32, color: "var(--hp-gold)" }}>SOSYAL</div>
            <div style={{ marginTop: 14, display: "flex", gap: 12 }} data-comment-anchor="f3466ae908-div-114-13">
              {[
              { name: "LinkedIn", href: "https://linkedin.com/company/hornpiper",
                d: "M4.98 3.5C4.98 4.88 3.87 6 2.49 6S0 4.88 0 3.5C0 2.12 1.11 1 2.49 1s2.49 1.12 2.49 2.5zM.22 8h4.54v14H.22V8zm7.32 0h4.35v1.91h.06c.6-1.13 2.06-2.32 4.24-2.32 4.54 0 5.38 2.98 5.38 6.86V22h-4.54v-6.07c0-1.45-.03-3.31-2.02-3.31-2.02 0-2.33 1.58-2.33 3.21V22H7.54V8z" },
              { name: "Instagram", href: "https://instagram.com/hornpiper.co",
                d: "M12 2.16c3.2 0 3.58.01 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38a3.7 3.7 0 0 1-1.38.9c-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.16-.42-.36-1.06-.41-2.23C2.17 15.58 2.16 15.2 2.16 12s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41C8.42 2.17 8.8 2.16 12 2.16zm0 5.4a4.44 4.44 0 1 0 0 8.88 4.44 4.44 0 0 0 0-8.88zM12 14a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm5.66-7.4a1.04 1.04 0 1 1-2.08 0 1.04 1.04 0 0 1 2.08 0z" },
              { name: "Facebook", href: "https://facebook.com/hornpiper",
                d: "M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12c0 4.99 3.66 9.13 8.44 9.88v-6.99H7.9V12h2.54V9.8c0-2.51 1.49-3.89 3.78-3.89 1.09 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.78l-.45 2.89h-2.33v6.99C18.34 21.13 22 16.99 22 12z" },
              { name: "X", href: "https://x.com/hornpiper",
                d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231 5.45-6.231zm-1.161 17.52h1.833L7.084 4.126H5.117l11.966 15.644z" }].
              map((s) =>
              <a key={s.name} href={s.href} target="_blank" rel="noopener" aria-label={s.name}
              style={{ width: 36, height: 36, display: "grid", placeItems: "center",
                border: "1px solid var(--hp-line-strong)", color: "var(--hp-ink)",
                transition: "color 120ms, border-color 120ms" }}
              onMouseEnter={(e) => {e.currentTarget.style.color = "var(--hp-gold)";e.currentTarget.style.borderColor = "var(--hp-gold)";}}
              onMouseLeave={(e) => {e.currentTarget.style.color = "var(--hp-ink)";e.currentTarget.style.borderColor = "var(--hp-line-strong)";}}>
                  <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d={s.d} /></svg>
                </a>
              )}
            </div>
          </div>
        </div>

        <div className="hp-rule" style={{ margin: "48px 0 16px" }} />
        <div style={{ display: "flex", justifyContent: "space-between", flexWrap: "wrap", gap: 12,
          fontFamily: "var(--hp-mono)", fontSize: 11, letterSpacing: "0.1em",
          color: "var(--hp-ink-mute)", textTransform: "uppercase" }}>
          <span>© 2026 HORNPIPER</span>
          <span>GROWTH ARCHITECTURE FIRM</span>
          <span>HORNPIPER.COM</span>
          <span>NO COOKIES · NO SURVEILLANCE</span>
        </div>
      </div>
    </footer>);

}

function FooterCol({ title, items, lang, navigate }) {
  return (
    <div>
      <div className="hp-label">{title}</div>
      <ul style={{ listStyle: "none", padding: 0, margin: "16px 0 0", display: "grid", gap: 10 }}>
        {items.map((it) =>
        <li key={it.p + (it.l_en || "")}>
            <a href={`#${it.p}`} onClick={(e) => {e.preventDefault();if (it.p !== "#") navigate(it.p);}}
          style={{ color: "var(--hp-ink)", fontSize: 14 }}>
              {lang === "tr" ? it.l_tr : it.l_en}
            </a>
          </li>
        )}
      </ul>
    </div>);

}

function ArrowR({ size = 14 }) {
  return (
    <svg width={size + 4} height={size} viewBox="0 0 18 14" fill="none" aria-hidden="true">
      <path d="M0 7 H15 M11 1 L17 7 L11 13" stroke="currentColor" strokeWidth="1.4" strokeLinecap="square" />
    </svg>);

}

// — Numbered section header —
// — Numbered section header — large, dominant display title
function SectionEyebrow({ label, accent }) {
  if (!label) return null;
  const ac = accent || "var(--hp-gold)";
  return (
    <div style={{ marginBottom: 48, paddingBottom: 28, borderBottom: `1px solid var(--hp-line)`, position: "relative" }}>
      <span style={{ width: 40, height: 3, background: ac, display: "block", marginBottom: 24 }} />
      {label &&
      <span style={{
        display: "block",
        fontFamily: "var(--hp-sans)", fontWeight: 600,
        fontSize: "clamp(44px, 6vw, 96px)", lineHeight: 0.98,
        letterSpacing: "-0.035em", color: "var(--hp-ink-strong)",
        textWrap: "balance"
      }}>{label}</span>
      }
    </div>);

}

Object.assign(window, { HpHeader, HpFooter, ArrowR, SectionEyebrow });