/* ============================================================
   DGUST · Chrome compartilhado do site (nav + footer + dark mode)
   Usado por todas as páginas públicas (menos o painel admin).
   Exporta window.DgustChrome = { SiteNav, SiteFooter }.
   Injeta seu próprio CSS (.site-nav / .site-footer) — páginas
   que usam isto não precisam redefinir nav/footer.
   ============================================================ */
(function () {
  const BADGE = "/assets/logo-badge-circle.png";
  const I = (n, p) => React.createElement("i", { "data-lucide": n, ...(p || {}) });

  /* ---- Dark mode: aplica cedo, persiste em localStorage ---- */
  const THEME_KEY = "dgust-theme";
  function getTheme() {
    try { return localStorage.getItem(THEME_KEY) || "light"; } catch (e) { return "light"; }
  }
  function applyTheme(t) {
    document.documentElement.setAttribute("data-theme", t);
    try { localStorage.setItem(THEME_KEY, t); } catch (e) {}
  }
  // aplica imediatamente no load (o snippet inline no <head> já evita flash)
  applyTheme(getTheme());

  const NAV_LINKS = [
    { lb: "Home",            href: "/",  key: "home" },
    { lb: "Catálogo",        href: "/catalogo/fritos", key: "catalogo" },
    { lb: "Sobre",           href: "/sobre",    key: "sobre" },
    { lb: "Trabalhe conosco", href: "/trabalhe", key: "trabalhe" },
    { lb: "Contato",         href: "/contato",  key: "contato" },
  ];

  function ThemeToggle() {
    const [theme, setTheme] = React.useState(getTheme());
    React.useEffect(() => { if (window.lucide) window.lucide.createIcons(); }, [theme]);
    const toggle = () => {
      const next = theme === "dark" ? "light" : "dark";
      setTheme(next); applyTheme(next);
      if (window.lucide) setTimeout(() => window.lucide.createIcons(), 0);
    };
    return React.createElement(
      "button",
      { className: "theme-toggle", onClick: toggle, "aria-label": "Alternar tema", title: theme === "dark" ? "Modo claro" : "Modo escuro" },
      I(theme === "dark" ? "sun" : "moon")
    );
  }

  function SiteNav({ active }) {
    const [open, setOpen] = React.useState(false);
    React.useEffect(() => { if (window.lucide) window.lucide.createIcons(); });
    return (
      React.createElement("header", { className: "site-nav" },
        React.createElement("div", { className: "site-nav-in" },
          React.createElement("a", { className: "site-brand", href: "/" },
            React.createElement("img", { src: BADGE, alt: "Dgust" }),
            React.createElement("span", null, "Dgust", React.createElement("em", null, "Alimentos"))
          ),
          React.createElement("nav", { className: "site-links" + (open ? " open" : "") },
            NAV_LINKS.map(l =>
              React.createElement("a", {
                key: l.key, href: l.href,
                className: active === l.key ? "on" : "",
              }, l.lb)
            )
          ),
          React.createElement("div", { className: "site-nav-cta" },
            React.createElement(ThemeToggle, null),
            React.createElement("a", { className: "site-order", href: "/catalogo/fritos" },
              I("shopping-bag"), "Fazer pedido"
            ),
            React.createElement("button", {
              className: "site-burger", "aria-label": "Menu", onClick: () => setOpen(o => !o),
            }, I(open ? "x" : "menu"))
          )
        )
      )
    );
  }

  function SiteFooter() {
    React.useEffect(() => { if (window.lucide) window.lucide.createIcons(); });
    const cols = [
      { h: "Produtos", links: [
        { t: "Salgados fritos", href: "/catalogo/fritos" },
        { t: "Clássicos assados", href: "/catalogo/assados" },
        { t: "Folhados", href: "/catalogo/folhados" },
        { t: "Linha premium", href: "/catalogo/premium" },
        { t: "Congelados", href: "/catalogo/gelado" },
      ]},
      { h: "Empresa", links: [
        { t: "Sobre a Dgust", href: "/sobre" },
        { t: "Trabalhe conosco", href: "/trabalhe" },
        { t: "Seja revendedor", href: "/trabalhe#revenda" },
        { t: "Entre em contato", href: "/contato" },
      ]},
      { h: "Contato", links: [
        { t: "WhatsApp", href: "/contato" },
        { t: "Instagram", href: "/contato" },
        { t: "vendas@dgust.com.br", href: "/contato" },
      ]},
    ];
    return (
      React.createElement("footer", { className: "site-footer" },
        React.createElement("div", { className: "site-footer-in" },
          React.createElement("div", { className: "site-footer-brand" },
            React.createElement("a", { className: "site-brand", href: "/" },
              React.createElement("img", { src: BADGE, alt: "Dgust" }),
              React.createElement("span", null, "Dgust", React.createElement("em", null, "Alimentos"))
            ),
            React.createElement("p", null, "Fábrica de salgados, folhados, bolos e pães. Espírito Santo, Brasil."),
            React.createElement("div", { className: "site-footer-social" },
              React.createElement("a", { href: "#", "aria-label": "Instagram" }, I("camera")),
              React.createElement("a", { href: "#", "aria-label": "E-mail" }, I("mail")),
              React.createElement("a", { href: "#", "aria-label": "WhatsApp" }, I("message-circle"))
            )
          ),
          React.createElement("div", { className: "site-footer-cols" },
            cols.map((c, i) =>
              React.createElement("div", { key: i },
                React.createElement("h4", null, c.h),
                c.links.map((l, j) => React.createElement("a", { key: j, href: l.href }, l.t))
              )
            )
          )
        ),
        React.createElement("div", { className: "site-footer-bottom" },
          React.createElement("span", null, "© 2026 Dgust Alimentos"),
          React.createElement("span", null, "CNPJ 00.000.000/0001-00")
        )
      )
    );
  }

  /* ---------- CSS do chrome (injeta uma vez) ---------- */
  const CSS = `
  .site-nav{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--border)}
  .site-nav-in{max-width:1180px;margin:0 auto;padding:13px 32px;display:flex;align-items:center;gap:28px}
  .site-brand{display:flex;align-items:center;gap:11px;font:700 20px var(--font-sans);color:var(--ink);letter-spacing:-.01em;text-decoration:none}
  .site-brand img{width:42px;height:42px;border-radius:50%}
  .site-brand em{font-style:normal;font-weight:500;color:var(--primary);font-size:13px;letter-spacing:.04em;display:block;margin-top:-3px}
  .site-links{display:flex;gap:26px;margin-left:auto}
  .site-links a{font:600 14.5px var(--font-sans);color:var(--ink-2);transition:color .15s;position:relative;padding:4px 0}
  .site-links a:hover{color:var(--primary)}
  .site-links a.on{color:var(--ink)}
  .site-links a.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2.5px;border-radius:2px;background:var(--primary)}
  .site-nav-cta{display:flex;align-items:center;gap:12px}
  .theme-toggle{width:40px;height:40px;flex-shrink:0;border-radius:11px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s}
  .theme-toggle:hover{color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}
  .theme-toggle svg{width:19px;height:19px}
  .site-order{display:inline-flex;align-items:center;gap:8px;font:700 14px var(--font-sans);color:var(--primary-ink);background:var(--primary);padding:10px 18px;border-radius:11px;text-decoration:none;box-shadow:var(--shadow-primary,0 6px 16px -8px rgba(214,34,25,.6));transition:all .16s;white-space:nowrap}
  .site-order:hover{background:var(--primary-hover);transform:translateY(-1px)}
  .site-order svg{width:17px;height:17px}
  .site-burger{display:none;width:40px;height:40px;border-radius:11px;border:1px solid var(--border);background:var(--surface);color:var(--ink);align-items:center;justify-content:center;cursor:pointer}
  .site-burger svg{width:20px;height:20px}

  .site-footer{background:var(--n-900);color:#fff;padding:64px 0 28px;margin-top:auto}
  [data-theme="dark"] .site-footer{background:#0E0A09;border-top:1px solid var(--border)}
  .site-footer-in{max-width:1180px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1.3fr 2fr;gap:48px}
  .site-footer .site-brand{color:#fff}
  .site-footer .site-brand em{color:var(--gold-400)}
  .site-footer-brand p{font:400 14px/1.6 var(--font-sans);color:rgba(255,255,255,.55);margin:16px 0 18px;max-width:300px}
  .site-footer-social{display:flex;gap:10px}
  .site-footer-social a{width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);transition:all .16s}
  .site-footer-social a:hover{background:var(--primary);border-color:var(--primary);color:#fff}
  .site-footer-social svg{width:18px;height:18px}
  .site-footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .site-footer-cols h4{font:700 13px var(--font-sans);letter-spacing:.04em;color:#fff;margin-bottom:14px}
  .site-footer-cols a{display:block;font:400 14px var(--font-sans);color:rgba(255,255,255,.6);padding:5px 0;transition:color .15s;text-decoration:none}
  .site-footer-cols a:hover{color:var(--gold-400)}
  .site-footer-bottom{max-width:1180px;margin:42px auto 0;padding:22px 32px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;font:500 12.5px var(--font-mono);color:rgba(255,255,255,.4)}

  @media(max-width:880px){
    .site-links{position:fixed;inset:60px 0 auto 0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--border);padding:8px 0;margin:0;display:none;box-shadow:var(--shadow-lg)}
    .site-links.open{display:flex}
    .site-links a{padding:14px 32px;border-bottom:1px solid var(--border)}
    .site-burger{display:flex}
    .site-order{display:none}
    .site-footer-in{grid-template-columns:1fr;gap:32px}
    .site-footer-cols{grid-template-columns:repeat(2,1fr)}
    .site-footer-bottom{flex-direction:column;gap:8px}
  }`;
  if (!document.getElementById("dgust-chrome-css")) {
    const s = document.createElement("style");
    s.id = "dgust-chrome-css";
    s.textContent = CSS;
    document.head.appendChild(s);
  }

  window.DgustChrome = { SiteNav, SiteFooter, applyTheme, getTheme };
})();
