// Figus site — landing page sections
// Hero · Marquee · Features (4 alternating rows) · Proximity · Themes · Pro · FAQ · CTA · Footer

// ── HERO ──
function Hero({ lang, onLogin }) {
  const t = FIGUS_I18N[lang].hero;
  return (
    <section id="top" style={{
      position: 'relative', minHeight: '100vh',
      padding: '140px 0 60px',
      overflow: 'hidden',
      background: 'radial-gradient(80% 60% at 80% 20%, rgba(229,177,75,0.18), transparent 60%), radial-gradient(60% 50% at 10% 80%, rgba(208,74,126,0.12), transparent 60%), var(--ink)',
    }}>
      {/* gold tear at top */}
      <svg width="100%" height="200" viewBox="0 0 1440 200" preserveAspectRatio="none"
        style={{ position: 'absolute', top: 0, left: 0, width: '100%', pointerEvents: 'none' }}>
        <path d="M0 0 L1440 0 L1440 80 L1100 120 L800 90 L400 140 L0 100 Z" fill="var(--gold)" opacity="0.08" />
      </svg>

      <div style={{
        maxWidth: 1280, margin: '0 auto', padding: '0 32px',
        display: 'grid', gridTemplateColumns: '1.1fr 1fr', gap: 60, alignItems: 'center',
      }}>
        {/* Left: copy */}
        <div>
          <Eyebrow>{t.eyebrow}</Eyebrow>
          <h1 className="serif" style={{
            fontSize: 'clamp(56px, 7vw, 96px)', lineHeight: 0.92,
            margin: '18px 0 0', color: 'var(--cream)', letterSpacing: '-0.03em',
          }}>
            {t.title[0]}<br/>
            <span style={{ color: 'var(--gold)' }}>{t.title[1]}</span>
          </h1>
          <p style={{
            fontSize: 18, lineHeight: 1.5, color: 'rgba(245,239,227,0.7)',
            maxWidth: 520, marginTop: 24, fontWeight: 400,
          }}>{t.sub}</p>
          <div style={{ display: 'flex', gap: 12, marginTop: 32, flexWrap: 'wrap' }}>
            <PillBtn variant="primary" size="lg" icon={<Ic name="arrow" size={18} />} href="#waitlist">{t.ctaPrimary}</PillBtn>
            <PillBtn variant="ghost" size="lg" href="https://app.appfigus.com/" target="_blank">{t.ctaLogin || 'Já tenho conta · Entrar'}</PillBtn>
          </div>
          {/* KPIs */}
          <div style={{
            display: 'flex', gap: 40, marginTop: 56, paddingTop: 28,
            borderTop: '1px solid rgba(245,239,227,0.08)',
          }}>
            {t.kpis.map(k => {
              const n = parseInt(k.v.replace(/\D/g, ''), 10);
              const useThousands = n >= 1000;
              return (
                <div key={k.l}>
                  <div className="serif" style={{ fontSize: 36, color: 'var(--cream)', lineHeight: 1 }}>
                    <CountUp end={n} duration={1600} formatThousands={useThousands} />
                  </div>
                  <div className="mono" style={{ fontSize: 10, color: 'rgba(245,239,227,0.5)', letterSpacing: '0.12em', textTransform: 'uppercase', marginTop: 6 }}>{k.l}</div>
                </div>
              );
            })}
          </div>
        </div>

        {/* Right: phone stack */}
        <div style={{ position: 'relative', height: 720, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
          {/* Halo */}
          <div style={{
            position: 'absolute', width: 600, height: 600, borderRadius: '50%',
            background: 'radial-gradient(circle, rgba(229,177,75,0.22), transparent 60%)',
          }} />
          {/* Back phone — real Brasil page screenshot */}
          <div style={{ position: 'absolute', top: 40, left: 0, transform: 'scale(0.55) rotate(-8deg)', transformOrigin: 'center', opacity: 0.55 }}>
            <PhoneFrame><ScreenShot src="screenshots/album-country.png" alt="Coleção Brasil" /></PhoneFrame>
          </div>
          {/* Mid phone — real Trocas screenshot */}
          <div style={{ position: 'absolute', top: 80, right: 20, transform: 'scale(0.55) rotate(7deg)', transformOrigin: 'center', opacity: 0.7 }}>
            <PhoneFrame><ScreenShot src="screenshots/trades.png" alt="Tela de Trocas" /></PhoneFrame>
          </div>
          {/* Front phone — real Coleção home screenshot */}
          <div style={{ position: 'relative', zIndex: 3, transform: 'scale(0.7)' }}>
            <PhoneFrame><ScreenShot src="screenshots/album-home.png" alt="Tela de Coleção" /></PhoneFrame>
          </div>
        </div>
      </div>
    </section>
  );
}

// ── MARQUEE ──
function Marquee({ lang }) {
  const t = FIGUS_I18N[lang].marquee;
  const line = (t + ' · ').repeat(8);
  return (
    <div style={{
      borderTop: '1px solid rgba(245,239,227,0.08)',
      borderBottom: '1px solid rgba(245,239,227,0.08)',
      padding: '24px 0', overflow: 'hidden', background: 'var(--ink2)',
    }}>
      <div className="serif" style={{
        fontSize: 36, color: 'var(--cream)', whiteSpace: 'nowrap',
        animation: 'marqueeRoll 50s linear infinite',
      }}>{line}</div>
      <style>{`@keyframes marqueeRoll { 0% { transform: translateX(0) } 100% { transform: translateX(-50%) } }`}</style>
    </div>
  );
}

// ── FEATURES — 4 alternating rows ──
function Features({ lang }) {
  const t = FIGUS_I18N[lang].features;
  // Real app screenshots captured via Playwright (tool/screenshooter).
  // Each row in the Features section shows a different real screen:
  // Coleção, Trocas, Copa, Ajustes (with stats).
  const screens = [
    <ScreenShot src="screenshots/album-home.png"  alt="Tela de Coleção" />,
    <ScreenShot src="screenshots/trades.png"      alt="Tela de Trocas" />,
    <ScreenShot src="screenshots/copa-groups.png" alt="Tela da Copa" />,
    <ScreenShot src="screenshots/you.png"         alt="Tela de Ajustes" />,
  ];
  const accents = ['var(--gold)', 'var(--pulp)', 'var(--field)', 'var(--sky)'];
  return (
    <Section id="features" bg="var(--ink)">
      <div style={{ textAlign: 'center', marginBottom: 80 }}>
        <Eyebrow>{t.eyebrow}</Eyebrow>
        <h2 className="serif" style={{
          fontSize: 'clamp(40px, 5vw, 72px)', lineHeight: 1, margin: '16px 0 0',
          color: 'var(--cream)',
        }}>
          {t.title[0]} <span style={{ color: 'var(--gold)' }}>{t.title[1]}</span>
        </h2>
      </div>

      <div style={{ display: 'flex', flexDirection: 'column', gap: 140 }}>
        {t.list.map((f, i) => {
          const reverse = i % 2 === 1;
          return (
            <div key={i} style={{
              display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 60, alignItems: 'center',
            }}>
              {/* Copy */}
              <div style={{ order: reverse ? 2 : 1 }}>
                <Eyebrow color={accents[i]}>{f.tag}</Eyebrow>
                <h3 className="serif" style={{
                  fontSize: 56, lineHeight: 0.98, margin: '14px 0 0',
                  color: 'var(--cream)', letterSpacing: '-0.025em',
                }}>{f.title}</h3>
                <p style={{
                  fontSize: 17, lineHeight: 1.55, color: 'rgba(245,239,227,0.65)',
                  marginTop: 20, maxWidth: 480,
                }}>{f.body}</p>
              </div>
              {/* Phone preview with colored glow */}
              <div style={{
                order: reverse ? 1 : 2,
                position: 'relative', display: 'flex', justifyContent: 'center', height: 580,
              }}>
                <div style={{
                  position: 'absolute', width: 460, height: 460, borderRadius: '50%',
                  background: `radial-gradient(circle, ${accents[i]}33, transparent 60%)`,
                  top: 60,
                }} />
                <div style={{ transform: 'scale(0.65)', position: 'relative' }}>
                  <PhoneFrame>{screens[i]}</PhoneFrame>
                </div>
              </div>
            </div>
          );
        })}
      </div>
    </Section>
  );
}

// ── Sticky CTA bar — appears once the user scrolls past the Hero.
// Pattern lifted from Vercel/Linear: a slim gold strip pinned to the
// top with a single CTA (jump to #waitlist). Boosts pre-launch email
// capture conversion by keeping the offer one tap away regardless of
// scroll depth.
function StickyCta({ lang }) {
  const t = FIGUS_I18N[lang].stickyCta || FIGUS_I18N.pt.stickyCta;
  const [show, setShow] = React.useState(false);
  React.useEffect(() => {
    const onScroll = () => setShow(window.scrollY > 700);
    window.addEventListener('scroll', onScroll, { passive: true });
    onScroll();
    return () => window.removeEventListener('scroll', onScroll);
  }, []);
  return (
    <div style={{
      position: 'fixed', top: 0, left: 0, right: 0, zIndex: 200,
      background: 'linear-gradient(90deg, var(--gold-deep), var(--gold), var(--gold-deep))',
      color: 'var(--ink)',
      transform: show ? 'translateY(0)' : 'translateY(-100%)',
      transition: 'transform .35s cubic-bezier(.2,.7,.3,1)',
      padding: '10px 20px',
      boxShadow: '0 10px 28px -10px rgba(0,0,0,0.4)',
    }}>
      <div style={{
        maxWidth: 1180, margin: '0 auto',
        display: 'flex', alignItems: 'center', justifyContent: 'space-between',
        gap: 14, flexWrap: 'wrap',
      }}>
        <div style={{ display: 'flex', alignItems: 'center', gap: 10, fontWeight: 700, fontSize: 14, letterSpacing: '-0.01em' }}>
          <FigBallMark size={26} variant="dark" />
          <span>{t.text}</span>
        </div>
        <a href="#waitlist" style={{
          height: 38, padding: '0 18px', borderRadius: 999,
          background: 'var(--ink)', color: 'var(--gold)',
          fontSize: 13, fontWeight: 800, letterSpacing: '-0.01em',
          display: 'inline-flex', alignItems: 'center', gap: 6,
          textDecoration: 'none',
        }}>
          {t.cta} <Ic name="arrow" size={14} color="var(--gold)" />
        </a>
      </div>
    </div>
  );
}

// ── Trust strip — runs right under the Hero, surfaces 4 quick promises
// (free / no-account / offline / made-in-BR). Common Apple/Stripe move
// to reduce friction immediately after the headline.
function TrustStrip({ lang }) {
  const t = FIGUS_I18N[lang].trust || FIGUS_I18N.pt.trust;
  return (
    <div style={{
      background: 'var(--ink)',
      borderTop: '1px solid rgba(245,239,227,0.06)',
      borderBottom: '1px solid rgba(245,239,227,0.06)',
      padding: '22px 0',
    }}>
      <div style={{
        maxWidth: 1180, margin: '0 auto', padding: '0 32px',
        display: 'flex', alignItems: 'center', justifyContent: 'space-around',
        gap: 22, flexWrap: 'wrap',
      }}>
        {t.items.map((it, i) => (
          <div key={i} style={{
            display: 'flex', alignItems: 'center', gap: 10,
            color: 'rgba(245,239,227,0.78)', fontSize: 13, fontWeight: 600,
            letterSpacing: '-0.01em',
          }}>
            <span style={{ fontSize: 20 }}>{it.icon}</span>
            <span>{it.label}</span>
          </div>
        ))}
      </div>
    </div>
  );
}

// ── Animated counter for KPIs and showcase numbers.
// Uses requestAnimationFrame + easeOutCubic to animate 0 → target when
// the element enters viewport. Pattern: countup.js but inlined.
function CountUp({ end, duration = 1600, suffix = '', formatThousands = false }) {
  const [value, setValue] = React.useState(0);
  const ref = React.useRef(null);
  React.useEffect(() => {
    if (!ref.current) return;
    let raf = null;
    let startTime = null;
    let observer = null;
    const animate = (ts) => {
      if (!startTime) startTime = ts;
      const t = Math.min((ts - startTime) / duration, 1);
      const eased = 1 - Math.pow(1 - t, 3); // ease-out-cubic
      setValue(Math.round(end * eased));
      if (t < 1) raf = requestAnimationFrame(animate);
    };
    observer = new IntersectionObserver(entries => {
      entries.forEach(entry => {
        if (entry.isIntersecting) {
          raf = requestAnimationFrame(animate);
          observer.disconnect();
        }
      });
    }, { threshold: 0.5 });
    observer.observe(ref.current);
    return () => {
      if (raf) cancelAnimationFrame(raf);
      if (observer) observer.disconnect();
    };
  }, [end, duration]);
  const display = formatThousands ? value.toLocaleString('pt-BR') : value;
  return <span ref={ref}>{display}{suffix}</span>;
}

// ── Avatar showcase — full grid of all 48 avatars with hover lift.
// Adds visual proof for the "48 avatares (10 free + 38 Pro)" claim in
// the Pro compare table. Uses the SVGs we already ship in the app
// bundle at docs/app/assets/assets/avatars/.
const FREE_AVATARS = new Set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
function AvatarShowcase({ lang }) {
  const t = FIGUS_I18N[lang].avatars || FIGUS_I18N.pt.avatars;
  // PREVIEW só — antes ficavam 48 expostos, agora 8 amostras pequenas
  // num device-frame. Mais provocador, deixa a descoberta no app.
  const preview = [1, 2, 3, 4, 14, 20, 27, 41];
  return (
    <Section id="avatars" bg="var(--ink)" pad="84px 0">
      <div style={{
        maxWidth: 900,
        margin: '0 auto',
        padding: '0 24px',
        display: 'grid',
        gridTemplateColumns: '1fr 1fr',
        gap: 56,
        alignItems: 'center',
      }}>
        <div>
          <Eyebrow color="var(--gold)">{t.eyebrow}</Eyebrow>
          <h2 className="serif" style={{
            fontSize: 'clamp(32px, 4vw, 52px)',
            lineHeight: 1.05, margin: '14px 0 16px',
            color: 'var(--cream)', letterSpacing: '-0.025em',
          }}>
            {t.title[0]} <span style={{ color: 'var(--gold)' }}>{t.title[1]}</span>
          </h2>
          <p style={{
            fontSize: 17, color: 'rgba(245,239,227,0.78)',
            lineHeight: 1.6, marginBottom: 14,
          }}>{t.body}</p>
          <p style={{
            fontSize: 14, color: 'rgba(245,239,227,0.55)',
            lineHeight: 1.6,
          }}>{t.legend}</p>
        </div>
        {/* Mockup compacto — 8 amostras dentro de um "celular" */}
        <div style={{
          background: 'var(--ink2)',
          border: '1px solid rgba(245,239,227,0.10)',
          borderRadius: 28,
          padding: '20px 18px',
          maxWidth: 280,
          margin: '0 auto',
          position: 'relative',
          boxShadow: '0 20px 60px -20px rgba(0,0,0,0.6)',
        }}>
          <div style={{
            fontSize: 10, letterSpacing: 1.2, fontWeight: 700,
            color: 'var(--gold)', marginBottom: 12, textAlign: 'center',
          }}>ESCOLHER AVATAR</div>
          <div style={{
            display: 'grid',
            gridTemplateColumns: 'repeat(4, 1fr)',
            gap: 10,
          }}>
            {preview.map((n) => {
              const num = String(n).padStart(2, '0');
              const isFree = FREE_AVATARS.has(n);
              return (
                <div key={n} style={{
                  position: 'relative',
                  aspectRatio: '1',
                  borderRadius: '50%',
                  border: `1.5px solid ${isFree ? 'rgba(229,177,75,0.4)' : 'rgba(245,239,227,0.12)'}`,
                  background: 'var(--ink)',
                  overflow: 'hidden',
                }}>
                  <img src={`app/assets/assets/avatars/avatar_${num}.svg`} alt=""
                    style={{ width: '100%', height: '100%', objectFit: 'cover', display: 'block' }}/>
                  {!isFree && (
                    <div style={{
                      position: 'absolute', inset: 0,
                      background: 'rgba(19,16,14,0.55)',
                      display: 'flex', alignItems: 'center', justifyContent: 'center',
                      fontSize: 11, color: 'var(--gold)',
                    }}>🔒</div>
                  )}
                </div>
              );
            })}
          </div>
          <div style={{
            marginTop: 12, textAlign: 'center',
            fontSize: 10, color: 'rgba(245,239,227,0.5)',
            fontStyle: 'italic',
          }}>… e mais 40 no app</div>
        </div>
      </div>
    </Section>
  );
}

// ── Reusable deep-dive layout: phone screenshot + copy + bullets.
// Used by TradesDeep, CupDeep, ImportDeep below to keep the
// site visually rhythmic without re-coding the same JSX 4 times.
function DeepDiveSection({ id, bg, accent, eyebrow, title, body, bullets, screenshot, screenshotAlt, reverse, pad, phoneHeight = 852 }) {
  // phoneHeight lets you use a shorter frame for screenshots that are
  // cropped to just the meaningful UI card (e.g. the import flow), so
  // the phone fills with content instead of showing empty space.
  return (
    <Section id={id} bg={bg || 'var(--ink)'} pad={pad || '140px 0'}>
      <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 80, alignItems: 'center' }}>
        {/* Phone screenshot side */}
        <div style={{
          order: reverse ? 2 : 1,
          position: 'relative', display: 'flex', justifyContent: 'center', alignItems: 'center',
          minHeight: 620,
        }}>
          <div style={{
            position: 'absolute', width: 460, height: 460, borderRadius: '50%',
            background: `radial-gradient(circle, ${accent}33, transparent 60%)`,
            top: 60,
          }} />
          <div style={{ transform: 'scale(0.65)', position: 'relative', transformOrigin: 'center' }}>
            <PhoneFrame height={phoneHeight}><ScreenShot src={screenshot} alt={screenshotAlt} /></PhoneFrame>
          </div>
        </div>
        {/* Copy + bullets side */}
        <div style={{ order: reverse ? 1 : 2 }}>
          <Eyebrow color={accent}>{eyebrow}</Eyebrow>
          <h2 className="serif" style={{
            fontSize: 'clamp(36px, 4.5vw, 60px)', lineHeight: 0.98, margin: '16px 0 0',
            color: 'var(--cream)', letterSpacing: '-0.025em',
          }}>
            {title[0]}<br/><span style={{ color: 'var(--gold)' }}>{title[1]}</span>
          </h2>
          <p style={{
            fontSize: 17, lineHeight: 1.55, color: 'rgba(245,239,227,0.7)',
            marginTop: 22, maxWidth: 480,
          }}>{body}</p>
          <ul style={{ marginTop: 28, padding: 0, listStyle: 'none', display: 'flex', flexDirection: 'column', gap: 14 }}>
            {bullets.map((b, i) => (
              <li key={i} style={{
                fontSize: 15, color: 'rgba(245,239,227,0.85)', lineHeight: 1.45,
                paddingLeft: 8,
              }}>{b}</li>
            ))}
          </ul>
        </div>
      </div>
    </Section>
  );
}

// ── TRADES DEEP DIVE ──
function TradesDeep({ lang }) {
  const t = FIGUS_I18N[lang].tradesSection;
  if (!t) return null;
  return (
    <DeepDiveSection
      id="trades"
      bg="var(--ink)"
      accent="var(--pulp)"
      eyebrow={t.eyebrow}
      title={t.title}
      body={t.body}
      bullets={t.bullets}
      screenshot="screenshots/trade-rules.png"
      screenshotAlt="Configurar regras de troca no Figus"
      reverse={false}
    />
  );
}

// ── CUP DEEP DIVE ──
function CupDeep({ lang }) {
  const t = FIGUS_I18N[lang].cupSection;
  if (!t) return null;
  return (
    <DeepDiveSection
      id="cup"
      bg="linear-gradient(180deg, var(--ink) 0%, var(--field-deep) 50%, var(--ink) 100%)"
      accent="var(--field)"
      eyebrow={t.eyebrow}
      title={t.title}
      body={t.body}
      bullets={t.bullets}
      screenshot="screenshots/copa-matches.png"
      screenshotAlt="Acompanhamento da Copa 2026 no Figus"
      reverse={true}
    />
  );
}

// ── COMING SOON (during World Cup) ──
function ComingSoon({ lang }) {
  const t = FIGUS_I18N[lang].comingSoon;
  if (!t) return null;
  return (
    <section id="coming-soon" style={{
      padding: '120px 24px',
      background: 'linear-gradient(180deg, var(--ink) 0%, var(--ink3) 50%, var(--ink) 100%)',
      position: 'relative',
    }}>
      <div style={{ maxWidth: 1100, margin: '0 auto' }}>
        <div style={{ textAlign: 'center', marginBottom: 56 }}>
          <div style={{
            fontSize: 11, letterSpacing: 2, fontWeight: 800,
            color: 'var(--gold)', marginBottom: 12,
          }}>{t.eyebrow}</div>
          <h2 className="serif" style={{
            fontSize: 'clamp(40px, 6vw, 64px)',
            lineHeight: 1.05, margin: 0, color: 'var(--cream)',
          }}>
            {t.title[0]}<br />
            <span style={{ color: 'var(--gold)' }}>{t.title[1]}</span>
          </h2>
          <p style={{
            maxWidth: 620, margin: '20px auto 0',
            fontSize: 16, color: 'rgba(245,239,227,0.75)',
            lineHeight: 1.55,
          }}>{t.body}</p>
        </div>
        <div style={{
          display: 'grid',
          gridTemplateColumns: 'repeat(3, 1fr)',
          gap: 20,
        }}>
          {t.cards.map((card, i) => (
            <div key={i} style={{
              padding: 28,
              background: 'rgba(245,239,227,0.04)',
              border: '1px solid rgba(229,177,75,0.25)',
              borderRadius: 18,
              position: 'relative',
              overflow: 'hidden',
            }}>
              <div style={{
                position: 'absolute', top: 12, right: 12,
                fontSize: 10, letterSpacing: 1.2, fontWeight: 800,
                color: 'var(--ink)', background: 'var(--gold)',
                padding: '3px 8px', borderRadius: 6,
              }}>EM BREVE</div>
              <div style={{ fontSize: 36, marginBottom: 14 }}>{card.icon}</div>
              <h3 style={{
                fontSize: 18, fontWeight: 800,
                margin: '0 0 8px', color: 'var(--cream)',
              }}>{card.title}</h3>
              <p style={{
                fontSize: 14, lineHeight: 1.55,
                margin: 0, color: 'rgba(245,239,227,0.7)',
              }}>{card.body}</p>
            </div>
          ))}
        </div>
        <div style={{ textAlign: 'center', marginTop: 36 }}>
          <span className="mono" style={{
            display: 'inline-block', padding: '10px 18px',
            background: 'rgba(229,177,75,0.12)',
            border: '1px solid rgba(229,177,75,0.35)',
            borderRadius: 999, fontSize: 12,
            color: 'var(--gold)', fontWeight: 700,
          }}>{t.cta}</span>
        </div>
      </div>
    </section>
  );
}

// ── IMPORT (1-CLICK MIGRATION) ──
function ImportDeep({ lang }) {
  const t = FIGUS_I18N[lang].importSection;
  if (!t) return null;
  return (
    <DeepDiveSection
      id="import"
      bg="var(--ink2)"
      accent="var(--sky)"
      eyebrow={t.eyebrow}
      title={t.title}
      body={t.body}
      bullets={t.bullets}
      screenshot="screenshots/import-card.png"
      screenshotAlt="Importação 1-clique de outros apps"
      reverse={false}
      phoneHeight={427}
    />
  );
}

// ── WAITLIST CTA (high-conversion pre-launch email capture) ──
// Supabase project — config exposto em window.FIGUS_SUPABASE via index.html.
// Publishable key é safe pra client (não tem permissão DDL, só CRUD nas tabelas
// liberadas por RLS). Vide tabela `waitlist` com RLS anon-insert-only.
function Waitlist({ lang }) {
  const t = FIGUS_I18N[lang].waitlist;
  if (!t) return null;
  const [email, setEmail] = React.useState('');
  const [status, setStatus] = React.useState('idle'); // idle | sending | done | error
  const [errorMsg, setErrorMsg] = React.useState('');
  const submit = async (e) => {
    e.preventDefault();
    if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) return;
    setStatus('sending');
    setErrorMsg('');
    const cfg = window.FIGUS_SUPABASE || {};
    if (!cfg.url || !cfg.key) {
      // Sem backend configurado — degrada pra localStorage como fallback dev.
      try {
        const list = JSON.parse(localStorage.getItem('figus_waitlist') || '[]');
        list.push({ email, ts: new Date().toISOString(), lang });
        localStorage.setItem('figus_waitlist', JSON.stringify(list));
      } catch {}
      setStatus('done');
      return;
    }
    try {
      const res = await fetch(`${cfg.url}/rest/v1/waitlist`, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'apikey': cfg.key,
          'Authorization': `Bearer ${cfg.key}`,
          'Prefer': 'return=minimal',
        },
        body: JSON.stringify({
          email: email.trim().toLowerCase(),
          lang,
          source: 'site',
          user_agent: navigator.userAgent.slice(0, 200),
        }),
      });
      if (res.status === 201 || res.status === 204) {
        setStatus('done');
      } else if (res.status === 409) {
        // Email duplicado — tratamos como sucesso (UX: "obrigado, já estava na lista")
        setStatus('done');
      } else {
        const txt = await res.text().catch(() => '');
        console.error('waitlist error', res.status, txt);
        setErrorMsg(`erro ${res.status}`);
        setStatus('error');
      }
    } catch (err) {
      console.error('waitlist fetch failed', err);
      setErrorMsg('rede');
      setStatus('error');
    }
  };
  const done = status === 'done';
  return (
    <Section id="waitlist" bg="var(--ink)" pad="100px 0">
      <div style={{
        maxWidth: 720, margin: '0 auto', textAlign: 'center',
        padding: '50px 40px', borderRadius: 28,
        background: 'linear-gradient(135deg, rgba(229,177,75,0.10), rgba(208,74,126,0.06))',
        border: '1px solid rgba(229,177,75,0.22)',
        position: 'relative', overflow: 'hidden',
      }}>
        <div style={{
          position: 'absolute', top: -200, right: -150, width: 500, height: 500, borderRadius: '50%',
          background: 'radial-gradient(circle, rgba(229,177,75,0.2), transparent 60%)',
        }} />
        <div style={{ position: 'relative' }}>
          <Eyebrow color="var(--gold)">{t.eyebrow}</Eyebrow>
          <h2 className="serif" style={{
            fontSize: 'clamp(36px, 4.5vw, 60px)', lineHeight: 1, margin: '16px 0 14px',
            color: 'var(--cream)', letterSpacing: '-0.025em',
          }}>
            {t.title}
          </h2>
          <p style={{
            fontSize: 17, color: 'rgba(245,239,227,0.75)', lineHeight: 1.5,
            maxWidth: 520, margin: '0 auto 28px',
          }}>{t.sub}</p>
          {done ? (
            <div style={{
              padding: '22px 28px', borderRadius: 16,
              background: 'rgba(46,143,79,0.18)', border: '1px solid rgba(46,143,79,0.5)',
              display: 'inline-flex', alignItems: 'center', gap: 12,
              fontSize: 16, fontWeight: 600, color: 'var(--cream)',
            }}>
              ✓ {t.thanks}
            </div>
          ) : (
            <form onSubmit={submit} style={{
              display: 'inline-flex', gap: 10, flexWrap: 'wrap', justifyContent: 'center',
              maxWidth: 480, width: '100%',
            }}>
              <input
                type="email"
                required
                placeholder={t.placeholder}
                value={email}
                onChange={e => setEmail(e.target.value)}
                style={{
                  flex: '1 1 240px', minWidth: 220,
                  height: 54, padding: '0 20px',
                  background: 'rgba(245,239,227,0.06)',
                  border: '1px solid rgba(245,239,227,0.18)',
                  borderRadius: 14,
                  color: 'var(--cream)', fontSize: 16,
                  outline: 'none',
                }}
              />
              <button
                type="submit"
                disabled={status === 'sending'}
                style={{
                  height: 54, padding: '0 28px',
                  background: 'var(--gold)', color: 'var(--ink)',
                  border: 'none', borderRadius: 14,
                  fontSize: 15, fontWeight: 700, cursor: status === 'sending' ? 'wait' : 'pointer',
                  letterSpacing: '-0.01em',
                  opacity: status === 'sending' ? 0.65 : 1,
                }}
              >{status === 'sending' ? '…' : t.cta}</button>
            </form>
          )}
          {status === 'error' && (
            <div style={{
              marginTop: 14, fontSize: 13, color: '#F2A0A0',
            }}>Falha ao enviar ({errorMsg}). Tenta de novo em 1 minuto.</div>
          )}
          <div style={{
            marginTop: 18, fontSize: 12, color: 'rgba(245,239,227,0.45)',
          }}>{t.fineprint}</div>
        </div>
      </div>
    </Section>
  );
}

// ── PROXIMITY (full-bleed) ──
function Proximity({ lang }) {
  const t = FIGUS_I18N[lang].proximity;
  return (
    <Section bg="linear-gradient(180deg, var(--ink) 0%, var(--pulp-deep) 50%, var(--ink) 100%)" pad="160px 0">
      <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 80, alignItems: 'center' }}>
        <div style={{ display: 'flex', justifyContent: 'center', position: 'relative', height: 580 }}>
          {/* concentric circles */}
          <svg width="500" height="500" viewBox="0 0 500 500" style={{ position: 'absolute', opacity: 0.4 }}>
            {[80, 140, 200, 240].map(r => (
              <circle key={r} cx="250" cy="250" r={r} fill="none" stroke="var(--pulp)" strokeWidth="1" />
            ))}
          </svg>
          <div style={{ transform: 'scale(0.65)', position: 'relative', zIndex: 2 }}>
            <PhoneFrame><ScreenShot src="screenshots/trades.png" alt="Trade Bluetooth" /></PhoneFrame>
          </div>
        </div>
        <div>
          <Eyebrow color="var(--pulp)">{t.eyebrow}</Eyebrow>
          <h2 className="serif" style={{
            fontSize: 'clamp(40px, 5vw, 72px)', lineHeight: 0.98, margin: '16px 0 0',
            color: 'var(--cream)',
          }}>
            {t.title[0]}<br/>
            <span style={{ color: 'var(--gold)' }}>{t.title[1]}</span>
          </h2>
          <p style={{ fontSize: 17, lineHeight: 1.55, color: 'rgba(245,239,227,0.7)', marginTop: 22, maxWidth: 480 }}>
            {t.body}
          </p>
          <ul style={{ marginTop: 28, padding: 0, listStyle: 'none', display: 'flex', flexDirection: 'column', gap: 14 }}>
            {t.bullets.map(b => (
              <li key={b} style={{ display: 'flex', alignItems: 'center', gap: 12 }}>
                <div style={{
                  width: 24, height: 24, borderRadius: 999, background: 'rgba(229,177,75,0.18)',
                  display: 'flex', alignItems: 'center', justifyContent: 'center',
                }}>
                  <Ic name="check" size={14} color="var(--gold)" />
                </div>
                <span style={{ fontSize: 15, color: 'rgba(245,239,227,0.85)' }}>{b}</span>
              </li>
            ))}
          </ul>
        </div>
      </div>
    </Section>
  );
}

// ── THEMES ──
function ThemesShowcase({ lang }) {
  const t = FIGUS_I18N[lang].themes;
  const sw = [
    { name: t.labels[0], colors: ['#13100E', '#1E1916', '#F5EFE3', '#E5B14B'] },
    { name: t.labels[1], colors: ['#0F1F18', '#16302A', '#F0F6E8', '#7BC591'] },
    { name: t.labels[2], colors: ['#1F0E14', '#2D1620', '#F5E3E9', '#D04A7E'] },
    { name: t.labels[3], colors: ['#0C1626', '#142339', '#E8EFF8', '#3F8FE0'] },
    { name: t.labels[4], colors: ['#FBF7EC', '#FFFFFF', '#13100E', '#B0813A'] },
    { name: t.labels[5], colors: ['#F2F8EC', '#FFFFFF', '#1F3A24', '#2E8F4F'] },
    { name: t.labels[6], colors: ['#FAEEF1', '#FFFFFF', '#3F1228', '#D04A7E'] },
    { name: t.labels[7], colors: ['#F2EAD9', '#FAF4E5', '#2A2118', '#B0813A'] },
  ];
  return (
    <Section id="themes" bg="var(--ink2)">
      <div style={{ display: 'grid', gridTemplateColumns: '0.9fr 1.4fr', gap: 80, alignItems: 'center' }}>
        <div>
          <Eyebrow color="var(--gold)">{t.eyebrow}</Eyebrow>
          <h2 className="serif" style={{
            fontSize: 'clamp(40px, 5vw, 72px)', lineHeight: 0.98, margin: '16px 0 0',
            color: 'var(--cream)',
          }}>
            <span style={{ color: 'var(--gold)' }}>{t.title[0]}</span>
          </h2>
          <p style={{ fontSize: 17, lineHeight: 1.55, color: 'rgba(245,239,227,0.7)', marginTop: 22, maxWidth: 420 }}>
            {t.body}
          </p>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 14 }}>
          {sw.map(theme => (
            <div key={theme.name} className="theme-card" style={{
              background: theme.colors[0], borderRadius: 18, padding: 16,
              border: '1px solid rgba(245,239,227,0.08)',
              aspectRatio: '0.85',
              display: 'flex', flexDirection: 'column', justifyContent: 'space-between',
              position: 'relative',
              transition: 'transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.25s, box-shadow 0.25s',
              cursor: 'pointer',
            }}>
              <div>
                <div style={{ height: 22, borderRadius: 6, background: theme.colors[1], marginBottom: 8 }} />
                <div style={{ height: 6, width: '80%', borderRadius: 2, background: theme.colors[3], marginBottom: 4 }} />
                <div style={{ height: 6, width: '60%', borderRadius: 2, background: theme.colors[2], opacity: 0.55 }} />
              </div>
              <div style={{ display: 'flex', gap: 4 }}>
                {theme.colors.map((c, i) => (
                  <div key={i} style={{ flex: 1, height: 10, borderRadius: 2, background: c, border: '0.5px solid rgba(245,239,227,0.06)' }} />
                ))}
              </div>
              <div className="mono" style={{
                fontSize: 9, color: theme.colors[2], opacity: 0.85,
                letterSpacing: '0.08em', textTransform: 'uppercase',
              }}>{theme.name}</div>
            </div>
          ))}
        </div>
      </div>
    </Section>
  );
}

// ── PRO ──
function ProBlock({ lang }) {
  const t = FIGUS_I18N[lang].pro;
  const c = t.compare;
  return (
    <Section id="pro" bg="var(--ink)" pad="140px 0">
      {/* Hero block */}
      <div style={{
        background: 'linear-gradient(135deg, rgba(229,177,75,0.12), rgba(176,129,58,0.04))',
        border: '1px solid rgba(229,177,75,0.32)',
        borderRadius: 32, padding: '60px 60px 50px',
        position: 'relative', overflow: 'hidden',
      }}>
        <div style={{
          position: 'absolute', top: -200, right: -200, width: 540, height: 540, borderRadius: '50%',
          background: 'radial-gradient(circle, rgba(229,177,75,0.2), transparent 60%)',
        }} />
        <div style={{ position: 'relative', maxWidth: 760, textAlign: 'center', margin: '0 auto' }}>
          <Eyebrow color="var(--gold)">{t.eyebrow}</Eyebrow>
          <h2 className="serif" style={{
            fontSize: 'clamp(40px, 5vw, 72px)', lineHeight: 0.98, margin: '16px 0 0',
            color: 'var(--cream)',
          }}>
            {t.title[0]} <span style={{ color: 'var(--gold)' }}>{t.title[1]}</span>
          </h2>
          <p style={{
            fontSize: 17, lineHeight: 1.55, color: 'rgba(245,239,227,0.75)',
            marginTop: 18, maxWidth: 560, margin: '18px auto 0',
          }}>{t.lede}</p>
        </div>

        {/* Perks grid */}
        <div style={{
          marginTop: 48,
          display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 14,
          position: 'relative',
        }}>
          {t.perks.map(p => (
            <div key={p.t} style={{
              padding: '18px 20px', borderRadius: 16,
              background: 'rgba(245,239,227,0.04)',
              border: '1px solid rgba(245,239,227,0.07)',
            }}>
              <div style={{ display: 'flex', alignItems: 'center', gap: 10, marginBottom: 8 }}>
                <div style={{
                  width: 26, height: 26, borderRadius: 8, background: 'rgba(229,177,75,0.2)',
                  display: 'flex', alignItems: 'center', justifyContent: 'center',
                }}>
                  <Ic name="check" size={13} color="var(--gold)" />
                </div>
                <span style={{ fontSize: 15, fontWeight: 600, color: 'var(--cream)', letterSpacing: '-0.01em' }}>{p.t}</span>
              </div>
              <div style={{ fontSize: 13, lineHeight: 1.5, color: 'rgba(245,239,227,0.6)' }}>{p.d}</div>
            </div>
          ))}
        </div>
      </div>

      {/* Free vs Pro table */}
      <div style={{ marginTop: 80 }}>
        <div style={{ textAlign: 'center', marginBottom: 36 }}>
          <Eyebrow>{c.title}</Eyebrow>
        </div>
        <div style={{
          background: 'var(--ink2)', borderRadius: 24, overflow: 'hidden',
          border: '1px solid rgba(245,239,227,0.06)',
        }}>
          {/* Header */}
          <div style={{
            display: 'grid', gridTemplateColumns: '1.5fr 1fr 1fr',
            padding: '20px 28px',
            borderBottom: '1px solid rgba(245,239,227,0.06)',
            background: 'rgba(245,239,227,0.025)',
          }}>
            <div />
            <div style={{ textAlign: 'center' }}>
              <div className="mono" style={{ fontSize: 10, color: 'rgba(245,239,227,0.5)', letterSpacing: '0.12em', textTransform: 'uppercase' }}>{c.free}</div>
            </div>
            <div style={{ textAlign: 'center' }}>
              <div className="mono" style={{ fontSize: 10, color: 'var(--gold)', letterSpacing: '0.12em', textTransform: 'uppercase' }}>{c.plan}</div>
            </div>
          </div>
          {/* Rows */}
          {c.rows.map(([label, free, pro], i) => (
            <div key={i} style={{
              display: 'grid', gridTemplateColumns: '1.5fr 1fr 1fr',
              padding: '16px 28px',
              borderBottom: i < c.rows.length - 1 ? '1px solid rgba(245,239,227,0.04)' : 'none',
              alignItems: 'center',
            }}>
              <div style={{ fontSize: 14, fontWeight: 500, color: 'var(--cream)', letterSpacing: '-0.01em' }}>{label}</div>
              <CompareCell value={free} />
              <CompareCell value={pro} pro />
            </div>
          ))}
        </div>
        {/* Planos inline — substitui o botao "Ver planos" antigo */}
        <div style={{
          marginTop: 36,
          display: 'grid',
          gridTemplateColumns: 'repeat(3, 1fr)',
          gap: 12,
          maxWidth: 620,
          marginLeft: 'auto',
          marginRight: 'auto',
        }}>
          {[
            { period: t.plans?.monthly || 'Mensal',  price: 'R$ 8,90', sub: t.plans?.perMonth || '/mês', highlight: false },
            { period: t.plans?.semester || '6 meses', price: 'R$ 45',   sub: t.plans?.equivMonth ? `≈ R$ 7,50${t.plans.perMonth}` : '≈ R$ 7,50/mês', highlight: true },
            { period: t.plans?.yearly || 'Anual',    price: 'R$ 60',   sub: t.plans?.equivMonth ? `≈ R$ 5,00${t.plans.perMonth}` : '≈ R$ 5,00/mês', highlight: false },
          ].map((p, i) => (
            <div key={i} style={{
              padding: '18px 14px',
              borderRadius: 14,
              background: p.highlight
                ? 'linear-gradient(180deg, rgba(229,177,75,0.18), rgba(229,177,75,0.06))'
                : 'rgba(245,239,227,0.04)',
              border: p.highlight
                ? '2px solid var(--gold)'
                : '1px solid rgba(245,239,227,0.10)',
              textAlign: 'center',
              position: 'relative',
            }}>
              {p.highlight && (
                <div style={{
                  position: 'absolute', top: -10, left: '50%',
                  transform: 'translateX(-50%)',
                  background: 'var(--gold)', color: 'var(--ink)',
                  fontSize: 10, fontWeight: 800, letterSpacing: 0.8,
                  padding: '3px 10px', borderRadius: 999,
                }}>MELHOR</div>
              )}
              <div style={{
                fontSize: 11, letterSpacing: 1.2, fontWeight: 700,
                color: 'rgba(245,239,227,0.6)', textTransform: 'uppercase',
              }}>{p.period}</div>
              <div style={{
                fontSize: 22, fontWeight: 800, color: 'var(--cream)',
                marginTop: 6, lineHeight: 1.1,
              }}>{p.price}</div>
              <div style={{
                fontSize: 11, color: 'rgba(245,239,227,0.55)', marginTop: 4,
              }}>{p.sub}</div>
            </div>
          ))}
        </div>
        <div style={{ marginTop: 14, textAlign: 'center', fontSize: 12, color: 'rgba(245,239,227,0.5)' }}>{t.fineprint}</div>
      </div>
    </Section>
  );
}

function CompareCell({ value, pro }) {
  if (value === true) {
    return (
      <div style={{ textAlign: 'center' }}>
        <div style={{
          display: 'inline-flex', width: 24, height: 24, borderRadius: 999,
          background: pro ? 'var(--gold)' : 'rgba(245,239,227,0.12)',
          alignItems: 'center', justifyContent: 'center',
        }}>
          <Ic name="check" size={13} color={pro ? 'var(--ink)' : 'var(--cream)'} />
        </div>
      </div>
    );
  }
  if (value === false) {
    return (
      <div style={{ textAlign: 'center' }}>
        <div style={{
          display: 'inline-flex', width: 24, height: 2, borderRadius: 2,
          background: 'rgba(245,239,227,0.18)',
        }} />
      </div>
    );
  }
  return (
    <div style={{
      textAlign: 'center', fontSize: 13, fontWeight: 600,
      color: pro ? 'var(--gold)' : 'rgba(245,239,227,0.6)',
      letterSpacing: '-0.01em',
    }}>{value}</div>
  );
}

// ── FAQ ──
function FAQItem({ q, a }) {
  const [open, setOpen] = React.useState(false);
  return (
    <div style={{ borderBottom: '1px solid rgba(245,239,227,0.08)' }}>
      <button onClick={() => setOpen(!open)} style={{
        width: '100%', padding: '22px 0',
        display: 'flex', justifyContent: 'space-between', alignItems: 'center',
        background: 'transparent', border: 'none', cursor: 'pointer',
        color: 'var(--cream)', textAlign: 'left',
      }}>
        <span style={{ fontSize: 18, fontWeight: 600, letterSpacing: '-0.01em' }}>{q}</span>
        <div style={{
          width: 32, height: 32, borderRadius: 999,
          background: 'rgba(245,239,227,0.06)',
          display: 'flex', alignItems: 'center', justifyContent: 'center',
          transition: 'transform .2s', transform: open ? 'rotate(45deg)' : 'rotate(0deg)',
        }}>
          <Ic name="plus" size={14} />
        </div>
      </button>
      {open && (
        <div style={{
          paddingBottom: 22, fontSize: 15, lineHeight: 1.6, color: 'rgba(245,239,227,0.65)',
          maxWidth: 720,
        }}>{a}</div>
      )}
    </div>
  );
}

function FAQ({ lang }) {
  const t = FIGUS_I18N[lang].faq;
  return (
    <Section id="faq" bg="var(--ink)" pad="140px 0">
      <div style={{ display: 'grid', gridTemplateColumns: '0.8fr 1.4fr', gap: 80, alignItems: 'start' }}>
        <div>
          <Eyebrow>{t.eyebrow}</Eyebrow>
          <h2 className="serif" style={{
            fontSize: 'clamp(36px, 4.5vw, 60px)', lineHeight: 0.98, margin: '16px 0 0',
            color: 'var(--cream)',
          }}>{t.title[0]}<br/><span style={{ color: 'var(--gold)' }}>{t.title[1]}</span></h2>
        </div>
        <div>{t.items.map((it, i) => <FAQItem key={i} q={it.q} a={it.a} />)}</div>
      </div>
    </Section>
  );
}

// ── FINAL CTA ──
function CTA({ lang }) {
  const t = FIGUS_I18N[lang].cta;
  const waitlistT = FIGUS_I18N[lang].waitlist || {};
  const ctaWaitlistLabel = waitlistT.cta || 'Avise-me';
  return (
    <Section id="download" bg="var(--gold)" pad="120px 0" style={{ color: 'var(--ink)' }}>
      <div style={{ textAlign: 'center' }}>
        <FigBallMark size={68} variant="dark" style={{ margin: '0 auto 22px' }} />
        <h2 className="serif" style={{
          fontSize: 'clamp(48px, 6vw, 88px)', lineHeight: 0.95, margin: 0,
          color: 'var(--ink)',
        }}>
          {t.title[0]}<br/>{t.title[1]}
        </h2>
        <p style={{ fontSize: 16, color: 'rgba(20,16,14,0.7)', marginTop: 18 }}>{t.sub}</p>
        <div style={{
          marginTop: 32, display: 'flex', justifyContent: 'center',
          alignItems: 'center', gap: 14, flexWrap: 'wrap',
        }}>
          <span style={{
            padding: '14px 26px', borderRadius: 999,
            background: 'rgba(20,16,14,0.12)',
            border: '1.5px solid rgba(20,16,14,0.32)',
            color: 'var(--ink)', fontWeight: 700, fontSize: 15,
            letterSpacing: '-0.01em',
          }}>{t.comingSoon || 'Em breve nas lojas'}</span>
          <a href="#waitlist" style={{
            padding: '14px 26px', borderRadius: 999,
            background: 'var(--ink)', color: 'var(--gold)',
            fontWeight: 800, fontSize: 15,
            letterSpacing: '-0.01em', textDecoration: 'none',
            display: 'inline-flex', alignItems: 'center', gap: 8,
          }}>
            {ctaWaitlistLabel} <Ic name="arrow" size={14} color="var(--gold)" />
          </a>
        </div>
      </div>
    </Section>
  );
}

// ── FOOTER ──
function Footer({ lang }) {
  const t = FIGUS_I18N[lang].footer;
  const cols = [t.links.product, t.links.sport, t.links.help];
  return (
    <footer style={{ background: 'var(--ink)', padding: '70px 0 30px', borderTop: '1px solid rgba(245,239,227,0.08)' }}>
      <div style={{ maxWidth: 1280, margin: '0 auto', padding: '0 32px' }}>
        <div style={{ display: 'grid', gridTemplateColumns: '1.6fr 1fr 1fr 1fr', gap: 40 }}>
          <div>
            <div style={{ display: 'flex', alignItems: 'center', gap: 10 }}>
              <FigBallMark size={32} />
              <span className="serif" style={{ fontSize: 32, color: 'var(--cream)', marginTop: -4 }}>Figus</span>
            </div>
            <p style={{ fontSize: 14, color: 'rgba(245,239,227,0.6)', marginTop: 14, maxWidth: 320, lineHeight: 1.5 }}>
              {t.tagline}
            </p>
          </div>
          {cols.map((items, i) => (
            <div key={i}>
              <div className="mono" style={{
                fontSize: 10, color: 'rgba(245,239,227,0.5)', letterSpacing: '0.12em',
                textTransform: 'uppercase', marginBottom: 18,
              }}>{t.colsHeading[i]}</div>
              <ul style={{ listStyle: 'none', margin: 0, padding: 0, display: 'flex', flexDirection: 'column', gap: 10 }}>
                {items.map(l => (
                  <li key={l.label}>
                    <a href={l.href} style={{ color: 'rgba(245,239,227,0.75)', textDecoration: 'none', fontSize: 14 }}>{l.label}</a>
                  </li>
                ))}
              </ul>
            </div>
          ))}
        </div>
        <div style={{
          marginTop: 60, paddingTop: 24, borderTop: '1px solid rgba(245,239,227,0.06)',
          display: 'flex', justifyContent: 'space-between', alignItems: 'center',
          fontSize: 12, color: 'rgba(245,239,227,0.4)',
          flexWrap: 'wrap', gap: 16,
        }}>
          <span>{t.copyright}</span>
          <div style={{ display: 'flex', alignItems: 'center', gap: 18, flexWrap: 'wrap' }}>
            <a href="privacy.html" style={{ color: 'rgba(245,239,227,0.55)', textDecoration: 'none', fontSize: 12 }}>Privacidade</a>
            <a href="terms.html" style={{ color: 'rgba(245,239,227,0.55)', textDecoration: 'none', fontSize: 12 }}>Termos de uso</a>
            <a href="#top" style={{ color: 'rgba(245,239,227,0.55)', textDecoration: 'none', fontSize: 12 }}>↑ Topo</a>
            <a href="mailto:contato@appfigus.com" style={{ color: 'rgba(245,239,227,0.55)', textDecoration: 'none', fontSize: 12 }}>contato@appfigus.com</a>
            <span className="mono" style={{ letterSpacing: '0.08em' }}>appfigus.com</span>
          </div>
        </div>
      </div>
    </footer>
  );
}

Object.assign(window, { Hero, Marquee, Features, TradesDeep, CupDeep, ImportDeep, Waitlist, Proximity, ThemesShowcase, AvatarShowcase, ProBlock, FAQ, CTA, Footer, StickyCta, TrustStrip, CountUp });
