/* global React, Icon, Button, Eyebrow, Badge, Droplets, Container */

const REb = window.RE || {
  deep:   '#3D1B8E',
  mid:    '#6C3FD4',
  glow:   '#B89EF8',
  bg:     '#F2EEFF',
  bgDark: '#190A45',
};

// ============================================================
// EL MOTOR DE CRECIMIENTO (CÓMO FUNCIONA)
// ============================================================
function ReMotor() {
  const steps = [
    {
      n: '01', icon: 'film',
      title: 'Content Studio produce sin parar',
      body: 'Cada semana el stack de IA genera carruseles, reels, stories y fichas de producto por SKU y temporada. Tu equipo revisa y aprueba — no produce desde cero.',
      tag: 'Content Studio AI',
    },
    {
      n: '02', icon: 'zap',
      title: 'Smart Ads lanza y rota en automático',
      body: 'Las piezas aprobadas entran directo a Meta, TikTok y Google. La IA prueba variantes, detecta fatiga creativa y pausa lo que no funciona antes de que queme presupuesto.',
      tag: 'Smart Ads AI · A/B',
    },
    {
      n: '03', icon: 'sparkles',
      title: 'NeuroCopy optimiza el copy que convierte',
      body: 'Las fichas de producto, los asuntos de email y los mensajes de WhatsApp se redactan con neuromarketing aplicado: urgencia real, emoción correcta, fricción cero.',
      tag: 'NeuroCopy Lab',
    },
    {
      n: '04', icon: 'message',
      title: 'Carrito abandonado recuperado por WhatsApp',
      body: 'Mensaje personalizado con el producto exacto que dejaron, el precio en tiempo real y una razón concreta para completar la compra. Tasa de recuperación hasta 4× mayor que email.',
      tag: 'WhatsApp API · Lead Engine',
    },
    {
      n: '05', icon: 'chart',
      title: 'Dashboard unificado de performance',
      body: 'ROAS por creatividad, por SKU, por canal y por temporada — todo en un solo lugar. Sabes qué está funcionando y por qué, sin juntas de análisis interminables.',
      tag: 'Reporting · Atribución',
    },
  ];

  return (
    <section id="motor" style={{ background: '#fff' }}>
      <Container style={{ padding: '100px 32px' }}>
        <div style={{ maxWidth: 720, marginBottom: 52 }}>
          <Eyebrow color={REb.mid}>EL MOTOR DE CRECIMIENTO</Eyebrow>
          <h2 style={{
            fontFamily: 'var(--font-display)', fontWeight: 700,
            fontSize: 'clamp(28px, 3.6vw, 48px)',
            lineHeight: 1.05, letterSpacing: '-0.03em',
            margin: '14px 0 0', color: 'var(--fg1)',
          }}>
            Del catálogo al carrito recuperado.{' '}
            <span style={{ color: REb.deep }}>Sin parar.</span>
          </h2>
        </div>

        <div style={{ display: 'flex', flexDirection: 'column', gap: 14, maxWidth: 980 }}>
          {steps.map((s, i) => (
            <div key={s.n} style={{
              background: 'var(--ink-25)', border: '1px solid var(--border)',
              borderRadius: 22, padding: '22px 28px',
              display: 'grid', gridTemplateColumns: '68px 1fr auto',
              gap: 28, alignItems: 'center',
              transition: 'all var(--dur-base) var(--ease-out)',
            }}
              onMouseEnter={e => {
                e.currentTarget.style.borderColor = REb.mid;
                e.currentTarget.style.boxShadow = 'var(--shadow-md)';
                e.currentTarget.style.background = '#fff';
              }}
              onMouseLeave={e => {
                e.currentTarget.style.borderColor = 'var(--border)';
                e.currentTarget.style.boxShadow = '';
                e.currentTarget.style.background = 'var(--ink-25)';
              }}>

              <div style={{ textAlign: 'center' }}>
                <div style={{
                  fontFamily: 'var(--font-mono)', fontSize: 10.5, fontWeight: 600,
                  color: 'var(--fg3)', letterSpacing: '0.06em', marginBottom: 8,
                }}>{s.n}</div>
                <div style={{
                  width: 44, height: 44, borderRadius: 12,
                  background: i === steps.length - 1 ? REb.deep : REb.bg,
                  color: i === steps.length - 1 ? '#fff' : REb.deep,
                  display: 'grid', placeItems: 'center', margin: '0 auto',
                }}>
                  <Icon name={s.icon} size={20} />
                </div>
              </div>

              <div>
                <h3 style={{
                  fontFamily: 'var(--font-display)', fontSize: 19, fontWeight: 700,
                  letterSpacing: '-0.02em', margin: '0 0 7px', color: 'var(--fg1)',
                }}>{s.title}</h3>
                <p style={{ fontSize: 14.5, lineHeight: 1.55, color: 'var(--fg2)', margin: 0 }}>{s.body}</p>
              </div>

              <div style={{
                fontFamily: 'var(--font-mono)', fontSize: 11, padding: '5px 12px',
                background: '#fff', border: '1px solid var(--border)', borderRadius: 8,
                color: 'var(--fg3)', whiteSpace: 'nowrap', flexShrink: 0,
              }}>{s.tag}</div>
            </div>
          ))}
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// RESULTADOS
// ============================================================
function ReResultados() {
  const stats = [
    { n: '10×',  l: 'más piezas creativas al mes con el mismo equipo',  src: 'Content Studio AI' },
    { n: '−40%', l: 'CPM promedio con A/B automático de creatividades', src: 'Smart Ads AI' },
    { n: '+28%', l: 'recuperación de carrito abandonado vía WhatsApp',  src: 'NeuroCopy + WhatsApp' },
    { n: '3×',   l: 'ROAS en campañas con copy de neuromarketing',      src: 'NeuroCopy Lab' },
  ];

  return (
    <section style={{ background: 'var(--grad-deep)', color: '#fff', position: 'relative', overflow: 'hidden' }}>
      <div style={{
        position: 'absolute', right: -120, top: -100, width: 420, height: 420, borderRadius: 999,
        background: 'radial-gradient(circle, rgba(0,218,227,0.2), transparent 65%)',
      }} />
      <div style={{
        position: 'absolute', left: -140, bottom: -120, width: 460, height: 460, borderRadius: 999,
        background: `radial-gradient(circle, rgba(108,63,212,0.35), transparent 65%)`,
      }} />
      <Container style={{ padding: '100px 32px', position: 'relative' }}>
        <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-end', gap: 40, marginBottom: 60 }}>
          <div style={{ maxWidth: 680 }}>
            <Eyebrow dark>RESULTADOS · RETAIL & E-COMMERCE</Eyebrow>
            <h2 style={{
              fontFamily: 'var(--font-display)', fontSize: 'clamp(28px, 3.8vw, 50px)', fontWeight: 700,
              letterSpacing: '-0.03em', lineHeight: 1.05, margin: '16px 0 16px', color: '#fff',
            }}>
              Más volumen creativo. Menor costo por venta. Sin ampliar el equipo.
            </h2>
            <p style={{ fontSize: 16, color: 'rgba(255,255,255,0.7)', lineHeight: 1.55, margin: 0, maxWidth: 500 }}>
              Datos de clientes e-commerce en México y LATAM. Sin promesas vacías.
            </p>
          </div>
          <Button variant="inverse" size="md" icon="arrow-right">Ver casos de éxito</Button>
        </div>

        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 22 }}>
          {stats.map((s, i) => (
            <div key={i} style={{
              background: 'rgba(255,255,255,0.06)', border: '1px solid rgba(255,255,255,0.12)',
              borderRadius: 24, padding: '28px 24px', backdropFilter: 'blur(8px)',
            }}>
              <div style={{
                fontFamily: 'var(--font-display)', fontWeight: 700,
                fontSize: 'clamp(40px, 4vw, 56px)', letterSpacing: '-0.035em',
                lineHeight: 1, color: 'var(--cyan-300)', marginBottom: 14,
              }}>{s.n}</div>
              <div style={{ fontSize: 15, lineHeight: 1.5, color: '#fff', marginBottom: 12 }}>{s.l}</div>
              <div style={{
                fontSize: 10.5, fontWeight: 600, letterSpacing: '0.12em',
                textTransform: 'uppercase', color: 'rgba(255,255,255,0.5)',
              }}>{s.src}</div>
            </div>
          ))}
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// CASO DESTACADO
// ============================================================
function ReCaso() {
  return (
    <section style={{ background: 'var(--ink-50)' }}>
      <Container style={{ padding: '100px 32px' }}>
        <Eyebrow color={REb.mid}>CASO DESTACADO</Eyebrow>
        <div style={{
          marginTop: 28, background: '#fff', borderRadius: 32,
          border: '1px solid var(--border)', overflow: 'hidden',
          display: 'grid', gridTemplateColumns: '1fr 1fr',
        }}>
          {/* Left — quote */}
          <div style={{ padding: '52px 52px', position: 'relative', overflow: 'hidden' }}>
            <Droplets style={{ left: -40, bottom: -30 }} color={REb.glow} opacity={0.5} size={200} />
            <div style={{ position: 'relative' }}>
              <div style={{ marginBottom: 24 }}>
                <Icon name="quote" size={40} style={{ color: REb.glow }} />
              </div>
              <blockquote style={{
                fontFamily: 'var(--font-display)', fontSize: 'clamp(19px, 2vw, 26px)',
                fontWeight: 700, lineHeight: 1.3, letterSpacing: '-0.02em',
                margin: '0 0 32px', color: 'var(--fg1)',
              }}>
                "Pasamos de publicar 8 piezas al mes a 64. El CPM bajó 38% y el ROAS pasó de 2.1× a 4.8× en doce semanas."
              </blockquote>
              <div>
                <div style={{ fontWeight: 700, fontSize: 16, color: 'var(--fg1)' }}>Head of Growth</div>
                <div style={{ fontSize: 13.5, color: 'var(--fg3)', marginTop: 4 }}>
                  Marca de moda DTC · CDMX · Shopify
                </div>
              </div>
              <div style={{ marginTop: 28 }}>
                <a style={{
                  display: 'inline-flex', alignItems: 'center', gap: 6,
                  fontSize: 14, fontWeight: 600, color: REb.mid, cursor: 'pointer',
                }}>
                  Ver caso completo <Icon name="arrow-right" size={14} />
                </a>
              </div>
            </div>
          </div>

          {/* Right — metrics */}
          <div style={{
            background: `linear-gradient(160deg, ${REb.bgDark} 0%, #0d0530 100%)`,
            padding: '52px 48px', color: '#fff',
            position: 'relative', overflow: 'hidden',
          }}>
            <Droplets style={{ right: -40, top: -20 }} color={REb.glow} opacity={0.2} size={180} />
            <div style={{ position: 'relative' }}>
              <div style={{
                fontSize: 10.5, fontWeight: 700, letterSpacing: '0.14em',
                textTransform: 'uppercase', color: REb.glow, marginBottom: 32,
              }}>RESULTADOS · 12 SEMANAS</div>

              <div style={{ display: 'flex', flexDirection: 'column', gap: 28 }}>
                {[
                  { label: 'Piezas creativas al mes', before: '8', after: '64' },
                  { label: 'CPM promedio',             before: '$320', after: '$198' },
                  { label: 'ROAS campañas Meta',       before: '2.1×', after: '4.8×' },
                ].map(m => (
                  <div key={m.label}>
                    <div style={{ fontSize: 12, color: 'rgba(255,255,255,0.55)', letterSpacing: '0.04em', marginBottom: 10 }}>{m.label}</div>
                    <div style={{ display: 'flex', alignItems: 'center', gap: 16 }}>
                      <div style={{
                        fontFamily: 'var(--font-display)', fontWeight: 700,
                        fontSize: 30, color: 'rgba(255,255,255,0.38)',
                        letterSpacing: '-0.025em', lineHeight: 1,
                      }}>{m.before}</div>
                      <Icon name="arrow-right" size={18} style={{ color: 'rgba(255,255,255,0.28)' }} />
                      <div style={{
                        fontFamily: 'var(--font-display)', fontWeight: 700,
                        fontSize: 40, color: REb.glow,
                        letterSpacing: '-0.03em', lineHeight: 1,
                      }}>{m.after}</div>
                    </div>
                  </div>
                ))}
              </div>
            </div>
          </div>
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// CTA FINAL
// ============================================================
function ReCta({ onCta }) {
  return (
    <section style={{ background: REb.bg, position: 'relative', overflow: 'hidden' }}>
      <Droplets style={{ right: -60, top: -40 }} color={REb.glow} opacity={0.6} size={260} />
      <Droplets style={{ left: -80, bottom: -60 }} color={REb.mid} opacity={0.15} size={300} />
      <Container style={{ padding: '100px 32px', position: 'relative' }}>
        <div style={{ maxWidth: 760, margin: '0 auto', textAlign: 'center' }}>
          <div style={{
            display: 'inline-flex', alignItems: 'center', gap: 8,
            background: '#fff', border: `1px solid ${REb.glow}`,
            borderRadius: 999, padding: '5px 16px',
            fontSize: 11, fontWeight: 700, letterSpacing: '0.14em',
            textTransform: 'uppercase', color: REb.deep, marginBottom: 28,
          }}>
            <Icon name="sparkles" size={12} />
            DIAGNÓSTICO E-COMMERCE · GRATIS
          </div>

          <h2 style={{
            fontFamily: 'var(--font-display)', fontWeight: 700,
            fontSize: 'clamp(32px, 5vw, 62px)',
            lineHeight: 1.04, letterSpacing: '-0.035em',
            margin: '0 0 20px', color: 'var(--fg1)',
          }}>
            30 minutos para saber<br />
            <span style={{ color: REb.deep, fontStyle: 'italic' }}>dónde se está perdiendo tu ROAS.</span>
          </h2>

          <p style={{ fontSize: 18, lineHeight: 1.6, color: 'var(--fg2)', maxWidth: 540, margin: '0 auto 36px' }}>
            Un estratega FRSKO con experiencia en e-commerce revisa tus campañas y tu stack creativo — y te dice qué mejoraría primero.
          </p>

          <div style={{ display: 'flex', gap: 14, justifyContent: 'center', flexWrap: 'wrap', marginBottom: 28 }}>
            <Button variant="cta" size="lg" icon="arrow-right" onClick={onCta}>
              Agendar diagnóstico gratuito
            </Button>
            <Button variant="ghost" size="lg" icon="arrow-up-right">
              Ver casos de éxito
            </Button>
          </div>

          <div style={{ display: 'flex', gap: 24, justifyContent: 'center', flexWrap: 'wrap' }}>
            {[
              'Sin costo · Sin compromiso',
              'Respuesta en menos de 24h',
              'Estratega con experiencia en e-commerce',
            ].map(t => (
              <div key={t} style={{ display: 'flex', alignItems: 'center', gap: 6, fontSize: 13, color: 'var(--fg3)' }}>
                <Icon name="check" size={13} stroke={2} style={{ color: REb.deep }} />
                {t}
              </div>
            ))}
          </div>
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// OTRAS INDUSTRIAS
// ============================================================
function ReOtrasIndustrias() {
  const other = [
    { icon: 'home',        label: 'Bienes Raíces',         sub: 'Calificación automática de leads. WhatsApp + portales.',        href: 'FRSKO Industrias Bienes Raíces.html' },
    { icon: 'credit-card', label: 'Fintech & Servicios',   sub: 'Leads pre-calificados. Nurturing regulado y medible.',           href: '#' },
    { icon: 'heart',       label: 'Salud',                 sub: 'Captación de pacientes con contenido educativo y medible.',      href: '#' },
    { icon: 'server',      label: 'B2B & SaaS',            sub: 'Ciclos de venta más cortos. Automatización del primer contacto.', href: '#' },
  ];

  return (
    <section style={{ background: '#fff', borderTop: '1px solid var(--border)' }}>
      <Container style={{ padding: '80px 32px' }}>
        <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: 36 }}>
          <div>
            <Eyebrow>OTRAS INDUSTRIAS</Eyebrow>
            <h3 style={{
              fontFamily: 'var(--font-display)', fontSize: 'clamp(22px, 2.8vw, 34px)', fontWeight: 700,
              letterSpacing: '-0.025em', margin: '10px 0 0', color: 'var(--fg1)',
            }}>Llegamos con playbooks ya probados en cada vertical.</h3>
          </div>
          <Button variant="ghost" size="md" icon="arrow-right">Ver todas las industrias</Button>
        </div>

        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 16 }}>
          {other.map(v => (
            <a key={v.label} href={v.href} style={{
              background: 'var(--ink-25)', border: '1px solid var(--border)', borderRadius: 20,
              padding: '22px 22px 24px', display: 'flex', flexDirection: 'column', gap: 12,
              transition: 'all var(--dur-base) var(--ease-out)', cursor: 'pointer',
              textDecoration: 'none',
            }}
              onMouseEnter={e => { e.currentTarget.style.boxShadow = 'var(--shadow-sm)'; e.currentTarget.style.borderColor = 'var(--teal-200)'; e.currentTarget.style.transform = 'translateY(-2px)'; }}
              onMouseLeave={e => { e.currentTarget.style.boxShadow = ''; e.currentTarget.style.borderColor = 'var(--border)'; e.currentTarget.style.transform = ''; }}>
              <div style={{
                width: 40, height: 40, borderRadius: 12,
                background: 'var(--teal-50)', color: 'var(--brand)',
                display: 'grid', placeItems: 'center',
              }}>
                <Icon name={v.icon} size={18} />
              </div>
              <div>
                <div style={{ fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 16, color: 'var(--fg1)', marginBottom: 5 }}>{v.label}</div>
                <div style={{ fontSize: 13, lineHeight: 1.5, color: 'var(--fg3)' }}>{v.sub}</div>
              </div>
            </a>
          ))}
        </div>
      </Container>
    </section>
  );
}

Object.assign(window, { ReMotor, ReResultados, ReCaso, ReCta, ReOtrasIndustrias });
