// sections.jsx — DropX landing page section components

const { useState, useEffect, useMemo } = React;

// ── helpers ──────────────────────────────────────────────────────────────────
function useCountdown(targetDate) {
  const [now, setNow] = useState(() => Date.now());
  useEffect(() => {
    const id = setInterval(() => setNow(Date.now()), 1000);
    return () => clearInterval(id);
  }, []);
  const diff = Math.max(0, targetDate - now);
  const days = Math.floor(diff / 86400000);
  const hours = Math.floor(diff / 3600000) % 24;
  const mins = Math.floor(diff / 60000) % 60;
  const secs = Math.floor(diff / 1000) % 60;
  return { days, hours, mins, secs };
}

function scrollToId(id) {
  const el = document.getElementById(id);
  if (el) window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - 60, behavior: "smooth" });
}

// ── NAV ──────────────────────────────────────────────────────────────────────
function Nav() {
  const cart = useCart();
  const openCatalog = () => cart && cart.setCatalogOpen(true);
  return (
    <nav className="nav">
      <div className="nav-row">
        <a href="#top" className="logo" onClick={(e) => {e.preventDefault();window.scrollTo({ top: 0, behavior: "smooth" });}} aria-label="DropX">
          <img src="assets/dropx-mascot.png" alt="" className="mark" />
          <img src="assets/dropx-wordmark.png" alt="DropX" className="wordmark" />
        </a>
        <div className="nav-meta">
          <a href="#produtos" onClick={(e) => {e.preventDefault();openCatalog();}}>DROP #01</a>
          <a href="#oferta" onClick={(e) => {e.preventDefault();scrollToId("oferta");}}>COMO FUNCIONA</a>
          <a href="#faq" onClick={(e) => {e.preventDefault();scrollToId("faq");}}>FAQ</a>
        </div>
        <div style={{ display: "flex", alignItems: "center", gap: 14 }}>
          <a href="https://www.instagram.com/dropx.00/" target="_blank" rel="noopener" className="nav-ig" aria-label="Instagram @dropx.00">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
              <rect x="2" y="2" width="20" height="20" rx="5" />
              <path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" />
              <line x1="17.5" y1="6.5" x2="17.51" y2="6.5" />
            </svg>
            <span>@DROPX.00</span>
          </a>
          <AuthChip />
          <CartButton />
          <button className="btn btn-primary" onClick={openCatalog} style={{ padding: "12px 18px", fontSize: 13 }}>
            ENCOMENDAR →
          </button>
        </div>
      </div>
    </nav>);

}

// ── HERO ─────────────────────────────────────────────────────────────────────
function Hero({ headlineVariant }) {
  const cart = useCart();
  const openCatalog = () => cart && cart.setCatalogOpen(true);
  const headlines = {
    A: <>DO JEITO <br />QUE <em>DEVERIA</em><br />SER.</>,
    B: <>DIRETO <br />DA FÁBRICA. <br /><em>DO JEITO</em><br />QUE VOCÊ <br />PODE PAGAR.</>,
    C: <>O SEGREDO <br />DE QUEM <em>SEMPRE</em> <br />ESTÁ BEM <br />VESTIDO.</>
  };
  return (
    <section className="hero" id="top">
      <div className="container">
        <div className="eyebrow">IMPORTAÇÃO DIRETA · SEM ATRAVESSADOR</div>
        <div className="hero-headline-row">
          <h1 className="display hero-headline">{headlines[headlineVariant] || headlines.A}</h1>
          <img src="assets/dropx-mascot.png" alt="DropX mascote" className="hero-mascot-inline" />
        </div>
        <div className="hero-below">
          <p className="hero-sub">
            Direto da fábrica. Sem atravessador. Sem markup. Sem desculpa.
            A peça custa o que ela <em style={{color:"var(--accent)",fontStyle:"normal"}}>realmente</em> custa — do jeito que sempre deveria ter sido.
          </p>
          <div className="hero-ctas">
            <button className="btn btn-primary" onClick={openCatalog}>
              QUERO ENCOMENDAR AGORA <span>→</span>
            </button>
            <button className="btn btn-ghost" onClick={openCatalog}>
              VER PRODUTOS DISPONÍVEIS
            </button>
          </div>
          <div className="hero-chips">
            <span className="chip"><span className="chip-dot" /> PIX OU CARTÃO</span>
            <span className="chip"><span className="chip-dot" /> A PARTIR DE R$ 200</span>
            <span className="chip"><span className="chip-dot" /> ACABAMENTO PREMIUM</span>
            <span className="chip"><span className="chip-dot" /> FORNECEDOR VALIDADO</span>
          </div>
        </div>
      </div>
      <div className="container stats-row" style={{ marginTop: 60 }}>
        <div className="stats-row-grid">
          <div className="stat" style={{ borderBottom: "none", padding: 0 }}>
            <span className="stat-num display">10×</span>
            <span className="stat-lbl">MAIS BARATO QUE<br />A LOJA OFICIAL</span>
            <span className="stat-mark">/01</span>
          </div>
          <div className="stat" style={{ borderBottom: "none", padding: 0 }}>
            <span className="stat-num display">45<small style={{ fontSize: 24, color: "var(--muted)" }}>d</small></span>
            <span className="stat-lbl">PRAZO MÉDIO<br />SOB ENCOMENDA</span>
            <span className="stat-mark">/02</span>
          </div>
          <div className="stat" style={{ borderBottom: "none", padding: 0 }}>
            <span className="stat-num display">1:1</span>
            <span className="stat-lbl">MESMA FÁBRICA<br />MESMOS MATERIAIS</span>
            <span className="stat-mark">/03</span>
          </div>
        </div>
      </div>
    </section>);

}

// ── MARQUEE ──────────────────────────────────────────────────────────────────
function Marquee() {
  const items = [
  "STREETWEAR", "DO JEITO QUE DEVERIA SER", "DIRETO DA FÁBRICA",
  "SEM ATRAVESSADOR", "PREÇO JUSTO", "PIX & CARTÃO", "DROP #01 ABERTO"];

  const renderTrack = (k) =>
  <span key={k}>
      {items.map((it, i) =>
    <React.Fragment key={i}>
          <span>{it}</span>
          {i % 2 === 0 ? <img src="assets/dropx-mascot.png" className="marquee-mascot" alt="" /> : <span className="marquee-dot" />}
        </React.Fragment>
    )}
    </span>;

  return (
    <div className="marquee">
      <div className="marquee-track">
        {renderTrack(0)}
        {renderTrack(1)}
      </div>
    </div>);

}

// ── PITCH (Você conhece a sensação) ──────────────────────────────────────────
function Pitch() {
  return (
    <section className="pitch">
      <div className="container">
        <div className="pitch-grid">
          <div>
          </div>
          <div>
            <p>Você <em>conhece</em> a sensação.</p>
            <p>Vê a peça. Olha o preço. <s>Fecha a aba.</s></p>
            <p>Não é falta de gosto — é falta de <em>sentido</em> pagar R$ 1.500 numa peça que saiu da mesma fábrica por uma fração disso.</p>
            <p>Tá na hora de fazer do jeito que <em>sempre deveria ter sido</em>.</p>
          </div>
        </div>
      </div>
    </section>);

}

// ── MANIFESTO (Como é hoje × Como deveria ser) ───────────────────────────────
function Manifesto() {
  const rows = [
    ["Marca cobrando R$ 1.500 pelo nome na etiqueta.", "A peça custar o que ela realmente custa."],
    ["Intermediário inflando o preço em 1.000%.", "Direto da fábrica. Sem ninguém no meio."],
    ["Esperar liquidação que nunca chega.", "Pagar o preço justo desde o primeiro dia."],
    ["Fornecedor aleatório no Instagram.", "Fornecedor testado, validado, com nome."],
    ["Achar que estilo é privilégio de quem pode pagar.", "Estilo virar uma coisa só de gosto."],
  ];
  return (
    <section className="manifesto">
      <div className="container">
        <div className="manifesto-head">
          <h2 className="display">O sistema tá <em style={{color:"var(--accent)",fontStyle:"normal"}}>quebrado</em>.<br />A gente tá <em style={{color:"var(--accent)",fontStyle:"normal"}}>consertando</em>.</h2>
          <p className="manifesto-sub">
            Não é manifesto de marca. É a operação inteira da DropX em duas colunas — o que existe hoje
            no varejo de moda, e o que deveria existir desde sempre.
          </p>
        </div>
        <div className="manifesto-table">
          <div className="manifesto-col-head left"><span className="mono">/01</span> COMO É HOJE</div>
          <div className="manifesto-col-head right"><span className="mono">/02</span> COMO DEVERIA SER</div>
          {rows.map((r, i) => (
            <React.Fragment key={i}>
              <div className="manifesto-cell left"><s>{r[0]}</s></div>
              <div className="manifesto-cell right"><span className="arr">→</span>{r[1]}</div>
            </React.Fragment>
          ))}
        </div>
        <div className="manifesto-stamp display">DO JEITO QUE <em style={{color:"var(--accent)",fontStyle:"normal"}}>DEVERIA</em> SER.</div>
      </div>
    </section>
  );
}

// ── PAIN ─────────────────────────────────────────────────────────────────────
function Pain() {
  const items = [
  "Olhou uma peça por dias e não comprou porque o preço não cabia no mês",
  "Usou réplica duvidosa e passou raiva quando chegou nada a ver com a foto",
  "Tentou importar sozinho e perdeu dinheiro na alfândega ou com fornecedor furado",
  "Se sentiu pra fora porque todo mundo ao redor parecia conseguir as peças",
  "Desistiu de um look porque o tênis certo custava mais que o aluguel"];

  return (
    <section className="pain">
      <div className="container">
        <div className="pain-head">
          <div>
            <h2 className="display">Como <em style={{color:"var(--accent)",fontStyle:"normal"}}>é</em><br />hoje.</h2>
          </div>
          <p style={{ fontSize: 17, lineHeight: 1.55, color: "#d6cdbd", maxWidth: "44ch" }}>
            Marca mentalmente quantas dessas situações você já viveu. Não é falta de gosto,
            de visão ou de dinheiro — é o sistema funcionando do jeito errado.
          </p>
        </div>
        <div className="pain-list">
          {items.map((t, i) =>
          <div key={i} className="pain-item">
              <span className="n mono">/{String(i + 1).padStart(2, "0")}</span>
              <span className="t display">{t}</span>
              <span className="tag">JÁ VIVI ISSO</span>
            </div>
          )}
        </div>
        <div className="pain-foot">
          <span className="pain-foot-bar" />
          <span className="pain-foot-text display">não é falta de <em>dinheiro</em>.</span>
        </div>
        <div className="pain-foot" style={{ marginTop: 12 }}>
          <span className="pain-foot-bar" />
          <span className="pain-foot-text display">é falta de acesso <em>ao lugar certo</em>.</span>
        </div>
      </div>
    </section>);

}

// ── SOLUTION ─────────────────────────────────────────────────────────────────
function Solution() {
  return (
    <section className="solution">
      <div className="container">
        <div className="solution-grid">
          <div>
            <h2 className="display">Como <em style={{ color: "var(--accent)", fontStyle: "normal" }}>deveria</em><br />ser.</h2>
            <p className="lead">
              Você escolhe a peça. A gente importa direto de quem fabrica. Sem atravessador, sem markup,
              sem mistério. Não são cópias mal feitas — são peças construídas com os mesmos materiais,
              pelo mesmo processo, sem o nome na etiqueta que infla o preço em 1.000%.
            </p>
          </div>
          <div className="solution-flow">
            <div className="flow-step">
              <span className="k display">01</span>
              <span className="v display">Você escolhe a peça<small>Manda print, link, ou pede o que viu no feed.</small></span>
            </div>
            <div className="flow-step">
              <span className="k display">02</span>
              <span className="v display">A gente valida o fornecedor<small>Já testado. Sem loteria, sem perfil aleatório.</small></span>
            </div>
            <div className="flow-step">
              <span className="k display">03</span>
              <span className="v display">Você paga via Pix ou cartão<small>Pedido entra no drop da quinzena.</small></span>
            </div>
            <div className="flow-step">
              <span className="k display">04</span>
              <span className="v display">Chega na sua casa<small>Acompanhamento direto pelo WhatsApp/Instagram.</small></span>
            </div>
          </div>
        </div>
      </div>
    </section>);

}

// ── BENEFITS ─────────────────────────────────────────────────────────────────
function Benefits() {
  const items = [
  { n: "B/01", t: <>Qualidade que <em>você vê e sente</em></>, d: "Materiais, acabamento e caimento equivalentes ao original — sem decepção ao abrir a caixa." },
  { n: "B/02", t: <>Preço que <em>cabe no Pix</em></>, d: "Ticket médio de R$ 200 por peças que custam 5x, 10x mais nas lojas oficiais." },
  { n: "B/03", t: <>Fornecedor <em>verificado</em></>, d: "Nossos contatos foram testados e validados. Você não está jogando na loteria." },
  { n: "B/04", t: <>A gente <em>resolve o resto</em></>, d: "Sem você precisar entender de importação, câmbio, frete ou alfândega." },
  { n: "B/05", t: <>Pagamento <em>simples</em> e seguro</>, d: "Pix à vista ou cartão. Sem burocracia, sem ginástica financeira." },
  { n: "B/06", t: <>Acesso ao que <em>está em alta</em></>, d: "Sem estoque parado: importamos o que o mercado pede no momento que pede." }];

  return (
    <section className="benefits">
      <div className="container">
        <div className="benefits-head">
          <div>
            <h2 className="display">Seis razões<br />pra não <em style={{ color: "var(--accent)", fontStyle: "normal" }}>esperar</em> o próximo mês.</h2>
          </div>
          <span className="mono" style={{ color: "var(--muted)", fontSize: 11, letterSpacing: "0.12em", textTransform: "uppercase" }}>
            06 PRINCÍPIOS / NENHUMA PROMESSA VAZIA
          </span>
        </div>
        <div className="b-grid">
          {items.map((b, i) =>
          <div key={i} className="b-card">
              <span className="num">{b.n}</span>
              <span className="desc">{b.d}</span>
              <span className="ttl display">{b.t}</span>
            </div>
          )}
        </div>
      </div>
    </section>);

}

// ── SHOWCASE (Product placeholders) ──────────────────────────────────────────
function Showcase() {
  const cart = useCart();
  const openCatalog = () => cart && cart.setCatalogOpen(true);
  const prods = [
  { tag: "STREETWEAR / 01", name: "Hoodie Boxy", price: "R$ 280" },
  { tag: "FOOTWEAR / 02", name: "Sneaker Low", price: "R$ 420" },
  { tag: "OUTERWEAR / 03", name: "Puffer Tech", price: "R$ 580" },
  { tag: "ACCESSORIES / 04", name: "Crossbody", price: "R$ 220" },
  { tag: "DENIM / 05", name: "Baggy Jean", price: "R$ 320" },
  { tag: "FOOTWEAR / 06", name: "Runner V2", price: "R$ 460" },
  { tag: "TOPS / 07", name: "Tee Heavy", price: "R$ 200" },
  { tag: "OUTERWEAR / 08", name: "Trench Mid", price: "R$ 640" }];

  return (
    <section className="showcase" id="produtos">
      <img src="assets/dropx-mascot.png" alt="" className="showcase-mascot-bg" />
      <div className="container" style={{ position: "relative" }}>
        <div className="showcase-head">
          <div>
            <h2 className="display">As peças<br />que rodam<br />no drop atual.</h2>
          </div>
          <span className="mono" style={{ color: "var(--muted)", fontSize: 12 }}>
            *valores médios — sob encomenda · fotos reais via DM
          </span>
        </div>
        <div className="prod-grid">
          {prods.map((p, i) =>
          <div key={i} className="prod-card prod-card-link" onClick={openCatalog} role="button" tabIndex={0}>
              <span className="prod-tag">{p.tag}</span>
              <span className="prod-placeholder">[ FOTO REAL DO PRODUTO ]</span>
              <div className="prod-bottom">
                <span className="prod-name">{p.name}</span>
                <span className="prod-price">{p.price}</span>
              </div>
              <span className="prod-add mono">+ ADICIONAR</span>
            </div>
          )}
        </div>
        <div className="showcase-cta">
          <button type="button" className="btn btn-primary" onClick={openCatalog}>
            VER DROP COMPLETO &amp; ADICIONAR AO CARRINHO <span>→</span>
          </button>
        </div>
      </div>
    </section>);

}

// ── OFFER ────────────────────────────────────────────────────────────────────
function Offer() {
  const cart = useCart();
  const openCatalog = () => cart && cart.setCatalogOpen(true);
  return (
    <section className="offer" id="oferta">
      <div className="container">
        <div style={{ textAlign: "center" }}>
          <h2 className="display" style={{ fontSize: "clamp(54px,7vw,110px)", lineHeight: 1, marginTop: 16 }}>
            O que você recebe<br />ao encomendar.
          </h2>
        </div>
        <div className="offer-card">
          <h3 className="display">ENCOMENDA DROPX / DROP #01</h3>
          <div className="offer-list">
            <div className="offer-row">
              <span className="check display">✓</span>
              <span className="label">Produto importado 1:1 selecionado por você<small>Valor de mercado: R$ 800 a R$ 3.000+</small></span>
              <span className="val">INCLUSO</span>
            </div>
            <div className="offer-row">
              <span className="check display">✓</span>
              <span className="label">Curadoria e validação do fornecedor pela DropX<small>Você não precisa entender de importação.</small></span>
              <span className="val">INCLUSO</span>
            </div>
            <div className="offer-row">
              <span className="check display">✓</span>
              <span className="label">Acompanhamento do pedido até a entrega<small>Status atualizado a cada etapa da jornada.</small></span>
              <span className="val">INCLUSO</span>
            </div>
            <div className="offer-row">
              <span className="check display">✓</span>
              <span className="label">Suporte direto via Instagram / WhatsApp<small>Pessoa real, resposta no mesmo dia.</small></span>
              <span className="val">INCLUSO</span>
            </div>
          </div>
          <div className="offer-total">
            <div className="offer-price-block">
              <div className="from">A PARTIR DE</div>
              <div className="price display">R$ <span>200</span><small>,00</small></div>
            </div>
            <div className="offer-meta">
              PIX À VISTA OU CARTÃO<br />
              <span style={{ color: "var(--fg)" }}>PRÓXIMO LOTE FECHA EM BREVE</span>
            </div>
          </div>
          <div style={{ marginTop: 36, display: "flex", justifyContent: "center" }}>
            <button className="btn btn-primary" onClick={openCatalog} style={{ padding: "22px 32px", fontSize: 16 }}>
              QUERO FAZER MEU PEDIDO <span>→</span>
            </button>
          </div>
        </div>
      </div>
    </section>);

}

// ── OBJECTIONS ───────────────────────────────────────────────────────────────
function Objections() {
  const items = [
  { q: "Mas demora 45 dias pra chegar...", a: "Sim, e a gente fala isso abertamente porque respeita seu tempo. A peça vem direto da fábrica — não tem estoque parado esperando por você. Esse prazo é o preço do acesso real. E quem já recebeu diz que valeu cada dia." },
  { q: "Mas eu nunca ouvi falar da DropX...", a: "A gente é novo. E prefere crescer na base da entrega real do que na base de promessa vazia. Cada pedido que sai daqui é uma vitrine. Nossos primeiros clientes viram isso. Os próximos vão ver também." },
  { q: "E se o produto não chegar?", a: "Todo pedido é confirmado e acompanhado. Se algo der errado do nosso lado, resolvemos — sem enrolação, sem sumiço. Nossa reputação está sendo construída agora, e não vamos jogar isso fora." },
  { q: "E se a qualidade não for o que eu espero?", a: "Trabalhamos só com fornecedores que já foram testados. Antes de recomendar qualquer peça, a qualidade foi validada. Não somos uma conta aleatória revendendo qualquer coisa — temos critério." },
  { q: "Meus amigos nunca ouviram falar, como vou confiar?", a: "Faz sentido. Por isso o mais inteligente é começar com uma peça só, testar, e ver com seus próprios olhos. Risco baixo, potencial alto." }];

  const [open, setOpen] = useState(0);
  return (
    <section className="obj">
      <div className="container">
        <h2 className="display">As perguntas que você está fazendo agora.</h2>
        <div className="obj-list">
          {items.map((it, i) =>
          <div key={i} className={`obj-item${open === i ? " open" : ""}`}>
              <div className="obj-q" onClick={() => setOpen(open === i ? -1 : i)}>
                <span className="n">/{String(i + 1).padStart(2, "0")}</span>
                <span className="qt">"{it.q}"</span>
                <span className="ic">+</span>
              </div>
              <div className="obj-a"><div><div className="obj-a-body">{it.a}</div></div></div>
            </div>
          )}
        </div>
      </div>
    </section>);

}

// ── GUARANTEE ────────────────────────────────────────────────────────────────
function Guarantee() {
  return (
    <section className="guarantee">
      <div className="container">
        <div className="guarantee-grid">
          <img src="assets/dropx-mascot.png" alt="" className="guarantee-mascot" />
          <div>
            <h3 className="display">Produto com problema?<br />A gente resolve.</h3>
            <p>
              Se o produto chegar com defeito evidente ou diferente do acordado, a gente resolve.
              Sem enrolação. Sem sumiço. Sem "não é com a gente". A DropX está aqui pra crescer
              junto com você — e isso só acontece sendo honesto até quando dói.
            </p>
          </div>
          <div className="guarantee-seal">
            COMPROMISSO<br />DROPX<br />· · ·<br />2026
          </div>
        </div>
      </div>
    </section>);

}

// ── URGENCY ──────────────────────────────────────────────────────────────────
function Urgency() {
  const cart = useCart();
  const openCatalog = () => cart && cart.setCatalogOpen(true);
  // Set deadline to ~6 days from now (demo)
  const target = useMemo(() => Date.now() + 6 * 86400000 + 7 * 3600000 + 23 * 60000, []);
  const { days, hours, mins, secs } = useCountdown(target);
  const pad = (n) => String(n).padStart(2, "0");
  return (
    <section className="urgency">
      <div className="container">
        <div className="urgency-head">ENCOMENDAS ABERTAS · DROP #01</div>
        <h2 className="display">Próxima janela<br />fecha em.</h2>
        <div className="countdown">
          <div className="cd-cell"><div className="v">{pad(days)}</div><div className="l">DIAS</div></div>
          <div className="cd-cell"><div className="v">{pad(hours)}</div><div className="l">HORAS</div></div>
          <div className="cd-cell"><div className="v">{pad(mins)}</div><div className="l">MINUTOS</div></div>
          <div className="cd-cell"><div className="v">{pad(secs)}</div><div className="l">SEGUNDOS</div></div>
        </div>
        <div className="lot-meta">
          <div className="lot-meta-cell">
            <div className="k">DROP ATUAL</div>
            <div className="v display">#01 — ABERTO</div>
          </div>
          <div className="lot-meta-cell">
            <div className="k">PRÓXIMO DROP</div>
            <div className="v display">+15 DIAS</div>
          </div>
          <div className="lot-meta-cell">
            <div className="k">REGRA</div>
            <div className="v display">PRIMEIRO QUE PAGA, PRIMEIRO QUE EMBARCA</div>
          </div>
        </div>
        <div style={{ marginTop: 48 }}>
          <button className="btn btn-primary" onClick={openCatalog} style={{ padding: "22px 32px", fontSize: 16 }}>
            GARANTIR LUGAR NO DROP #01 →
          </button>
        </div>
      </div>
    </section>);

}

// ── FAQ ──────────────────────────────────────────────────────────────────────
function FAQ() {
  const items = [
  { q: "Quanto tempo demora pra chegar?", a: "Em média 45 dias para produtos sob encomenda. Se o produto estiver disponível para pronta entrega, avisamos antes. Sempre com transparência sobre o prazo real." },
  { q: "Qualquer pessoa pode comprar?", a: "Sim. Você escolhe o produto, faz o pedido e a gente cuida do resto. Não precisa entender nada de importação." },
  { q: "E se eu não gostar quando chegar?", a: "Se o produto vier com defeito ou diferente do combinado, a gente resolve. Nosso compromisso é com a entrega real do que foi prometido." },
  { q: "Como funciona o pagamento?", a: "Pix à vista ou cartão. O pedido é confirmado depois do pagamento." },
  { q: "Como acompanho meu pedido?", a: "Via Instagram ou WhatsApp direto com a gente. Você não fica no escuro esperando." },
  { q: "É seguro comprar de uma loja nova?", a: "A melhor forma de descobrir é fazer um primeiro pedido menor e testar. A gente confia no produto — por isso não temos medo de começar assim." },
  { q: "Como sei que a qualidade é boa de verdade?", a: "Nossos fornecedores são validados antes de qualquer venda. E quando os primeiros clientes receberem, você vai poder ver com seus próprios olhos — fotos reais, sem filtro." },
  { q: "Vocês vendem qual tipo de produto?", a: "Foco em moda e streetwear — as peças que estão em alta, que você vê no feed e quer ter. Se tiver dúvida se a gente consegue determinado produto, só perguntar." }];

  const [open, setOpen] = useState(-1);
  return (
    <section className="faq" id="faq">
      <div className="container">
        <div className="faq-grid">
          <div>
            <h2 className="display">Dúvidas<br />honestas.<br />Respostas<br />curtas.</h2>
          </div>
          <div className="faq-list">
            {items.map((it, i) =>
            <div key={i} className={`faq-item${open === i ? " open" : ""}`}>
                <div className="faq-q" onClick={() => setOpen(open === i ? -1 : i)}>
                  <span>{it.q}</span>
                  <span className="ic">+</span>
                </div>
                <div className="faq-a"><div><div className="faq-a-body">{it.a}</div></div></div>
              </div>
            )}
          </div>
        </div>
      </div>
    </section>);

}

// ── FINAL CTA ────────────────────────────────────────────────────────────────
function Final() {
  const cart = useCart();
  const openCatalog = () => cart && cart.setCatalogOpen(true);
  return (
    <section className="final">
      <div className="container">
        <h2 className="display">
          Você já sabe<br />como <em>deveria</em> ser.
        </h2>
        <p>
          Só ainda não tinha encontrado o caminho pra chegar lá sem esvaziar a conta.
          Agora tem. A DropX não é pra todo mundo — é pra quem entende que estilo não deveria
          ser privilégio de quem pode pagar o preço da etiqueta.
        </p>
        <div className="final-cta">
          <button className="btn btn-primary" onClick={openCatalog}>
            QUERO FAZER MEU PEDIDO <span>→</span>
          </button>
          <button className="btn btn-ghost" onClick={openCatalog}>
            VER CATÁLOGO DO DROP
          </button>
        </div>
      </div>
    </section>);

}

// ── PS ───────────────────────────────────────────────────────────────────────
function PS() {
  const cart = useCart();
  const openCatalog = () => cart && cart.setCatalogOpen(true);
  return (
    <section className="ps">
      <div className="container">
        <div className="ps-grid">
          <div className="k display">P.S.</div>
          <div>
            <p>
              Se você chegou até aqui, você já sabe que faz sentido. A única dúvida agora é se vai agir
              ou vai fechar essa aba e continuar vendo a peça no feed dos outros.
            </p>
            <p>
              O drop atual fecha em breve. Depois disso, próxima janela só em +15 dias. A peça que você
              quer pode não estar disponível no próximo lote.
            </p>
            <p>Garante o seu agora.</p>
            <a href="#oferta" className="arrow-link" onClick={(e) => {e.preventDefault();openCatalog();}}>
              FAZER PEDIDO AGORA →
            </a>
          </div>
        </div>
      </div>
    </section>);

}

// ── FOOTER ───────────────────────────────────────────────────────────────────
function Footer() {
  return (
    <footer>
      <div className="container">
        <div className="foot-grid">
          <div>
            <a href="#top" className="logo" onClick={(e) => {e.preventDefault();window.scrollTo({ top: 0, behavior: "smooth" });}} aria-label="DropX">
              <img src="assets/dropx-mascot.png" alt="" className="mark" />
              <img src="assets/dropx-wordmark.png" alt="DropX" className="wordmark" />
            </a>
          </div>
          <div className="foot-meta">
            <span>© 2026 DROPX</span>
            <span>SP · BR</span>
            <a href="https://www.instagram.com/dropx.00/" target="_blank" rel="noopener" className="foot-ig">@DROPX.00</a>
            <span>CONTATO: WHATSAPP</span>
            <a href="admin.html" style={{ color: "var(--muted-2)", letterSpacing: "0.14em" }}>ADMIN</a>
          </div>
        </div>
        <img src="assets/dropx-wordmark.png" alt="DropX" className="foot-wordmark" />
        <div className="foot-big display" style={{ marginTop: 24 }}>DO JEITO QUE<br /><em>DEVERIA SER.</em></div>
        <p className="foot-legal">
          DropX é um serviço de intermediação de importação. Produtos são adquiridos sob encomenda diretamente de fornecedores no exterior.
          Acabamento e qualidade descritos como "premium" referem-se a padrões de manufatura equivalentes a peças importadas comparáveis;
          a DropX não comercializa nem se associa a nenhuma marca registrada. Tratamento de dados conforme a LGPD.
        </p>
      </div>
    </footer>);

}

Object.assign(window, { Nav, Hero, Marquee, Pitch, Manifesto, Pain, Solution, Benefits, Showcase, Offer, Objections, Guarantee, Urgency, FAQ, Final, PS, Footer });