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

// ─────────────────────────────────────────────
// Sub-brand tokens — Industria: Retail & E-commerce
// ─────────────────────────────────────────────
const RE = {
  deep:   '#3D1B8E',
  mid:    '#6C3FD4',
  glow:   '#B89EF8',
  bg:     '#F2EEFF',
  bgDark: '#190A45',
};
window.RE = RE;

// ============================================================
// HERO
// ============================================================
function ReHero({ onCta }) {
  return (
    <section id="top" style={{
      position: 'relative', overflow: 'hidden',
      background: `radial-gradient(80% 60% at 50% 0%, ${RE.bg} 0%, var(--ink-0) 70%)`,
    }}>
      <Droplets style={{ right: -60, top: 80 }} color={RE.glow} opacity={0.5} size={240} />
      <Droplets style={{ left: -100, bottom: -60 }} color={RE.glow} opacity={0.18} size={300} />
      <div aria-hidden style={{
        position: 'absolute', inset: 0,
        backgroundImage: 'radial-gradient(circle at 1px 1px, rgba(20,47,50,0.04) 1px, transparent 0)',
        backgroundSize: '32px 32px',
        maskImage: 'radial-gradient(ellipse 70% 60% at 50% 30%, #000, transparent)',
        WebkitMaskImage: 'radial-gradient(ellipse 70% 60% at 50% 30%, #000, transparent)',
      }} />

      <Container style={{ padding: '72px 32px 96px', position: 'relative' }}>

        {/* Breadcrumb */}
        <div style={{
          display: 'inline-flex', alignItems: 'center', gap: 8,
          fontFamily: 'var(--font-mono)', fontSize: 11.5,
          color: 'var(--fg3)', letterSpacing: '0.02em', marginBottom: 26,
        }}>
          <a href="FRSKO Homepage.html" style={{ color: 'var(--fg3)' }}>frsko.com</a>
          <span style={{ opacity: 0.5 }}>/</span>
          <a href="#" style={{ color: 'var(--fg3)' }}>industrias</a>
          <span style={{ opacity: 0.5 }}>/</span>
          <span style={{ color: RE.deep, fontWeight: 600 }}>retail-ecommerce</span>
        </div>

        <div style={{ display: 'grid', gridTemplateColumns: '1.15fr 1fr', gap: 56, alignItems: 'start' }}>

          {/* ─── LEFT: copy ─── */}
          <div>
            {/* Badge */}
            <div style={{ display: 'flex', alignItems: 'center', gap: 10, marginBottom: 22 }}>
              <div style={{
                display: 'inline-flex', alignItems: 'center', gap: 8,
                padding: '5px 14px', borderRadius: 999,
                background: '#fff', border: `1px solid ${RE.glow}`,
                fontSize: 11, fontWeight: 700, letterSpacing: '0.14em',
                textTransform: 'uppercase', color: RE.deep,
              }}>
                <Icon name="shopping" size={12} />
                FRSKO · Retail & E-commerce
              </div>
              <span style={{ fontSize: 11, fontWeight: 500, color: 'var(--fg3)' }}>MX · LATAM</span>
            </div>

            <h1 style={{
              fontFamily: 'var(--font-display)', fontWeight: 700,
              fontSize: 'clamp(38px, 5vw, 68px)',
              lineHeight: 1.03, letterSpacing: '-0.035em',
              margin: '0 0 24px', color: 'var(--fg1)',
            }}>
              Tu equipo de diseño<br />
              no puede seguir el ritmo.<br />
              <span style={{ color: RE.deep, fontStyle: 'italic' }}>La IA sí puede.</span>
            </h1>

            <p style={{
              fontSize: 'clamp(17px, 1.4vw, 20px)', lineHeight: 1.6,
              color: 'var(--fg2)', maxWidth: 540, margin: '0 0 32px',
            }}>
              Content Studio AI + Smart Ads + NeuroCopy, calibrados para e-commerce mexicano. 60 piezas al mes, campañas que se optimizan solas y copy de producto que convierte.
            </p>

            <div style={{ display: 'flex', gap: 12, alignItems: 'center', flexWrap: 'wrap', marginBottom: 32 }}>
              <Button variant="cta" size="lg" icon="arrow-right" onClick={onCta}>
                Diagnóstico e-commerce gratis
              </Button>
              <Button variant="ghost" size="lg" icon="arrow-right" onClick={() => {
                const el = document.getElementById('motor');
                if (el) el.scrollIntoView({ behavior: 'smooth' });
              }}>
                Ver cómo funciona
              </Button>
            </div>

            {/* Trust strip */}
            <div style={{ display: 'flex', alignItems: 'center', gap: 20, flexWrap: 'wrap' }}>
              {['Meta · TikTok · Google', 'Shopify · WooCommerce', 'WhatsApp API', 'MX · LATAM'].map(t => (
                <div key={t} style={{ display: 'flex', alignItems: 'center', gap: 6, fontSize: 13, color: 'var(--fg3)' }}>
                  <Icon name="check" size={13} stroke={2.5} style={{ color: RE.deep }} />
                  {t}
                </div>
              ))}
            </div>
          </div>

          {/* ─── RIGHT: Creative Studio Dashboard ─── */}
          <ReCreativePanel />
        </div>
      </Container>
    </section>
  );
}

function ReCreativePanel() {
  const creatives = [
    { name: 'Verano 2026 — Carrusel 01', channel: 'Meta · Stories',        roas: '5.2×', ctr: '4.1%', status: 'win' },
    { name: 'Sale Flash — UGC estilo',   channel: 'TikTok Ads',            roas: '4.8×', ctr: '3.7%', status: 'win' },
    { name: 'Producto estrella — v3',    channel: 'Meta · Feed',            roas: '3.9×', ctr: '2.8%', status: 'ok' },
    { name: 'Colección Otoño — Reel',    channel: 'Instagram Reels',        roas: '3.1×', ctr: '2.1%', status: 'ok' },
    { name: 'Catálogo genérico — v1',    channel: 'Google Shopping',        roas: '1.8×', ctr: '0.9%', status: 'low' },
  ];
  const statusStyle = {
    win: { dot: '#22A06B', bg: '#E3FBF0', fg: '#166534', label: 'Ganadora' },
    ok:  { dot: RE.mid,   bg: RE.bg,     fg: RE.deep,   label: 'Activa'  },
    low: { dot: '#D9503C', bg: '#FEF2F2', fg: '#991B1B', label: 'Pausar' },
  };

  return (
    <div style={{
      background: '#fff', border: '1px solid var(--border)',
      borderRadius: 24, boxShadow: 'var(--shadow-lg)', overflow: 'hidden',
    }}>
      {/* Chrome */}
      <div style={{
        padding: '12px 16px', background: 'var(--ink-25)',
        borderBottom: '1px solid var(--border)',
        display: 'flex', alignItems: 'center', gap: 10,
      }}>
        <div style={{ display: 'flex', gap: 6 }}>
          {['#FF5F57', '#FEBC2E', '#27C840'].map(c => (
            <div key={c} style={{ width: 10, height: 10, borderRadius: 999, background: c }} />
          ))}
        </div>
        <div style={{ flex: 1, fontFamily: 'var(--font-mono)', fontSize: 11, color: 'var(--fg3)', textAlign: 'center' }}>
          app.frsko.com / content-studio
        </div>
        <div style={{
          fontSize: 10, fontWeight: 600, letterSpacing: '0.08em', textTransform: 'uppercase',
          color: RE.deep, padding: '3px 8px', borderRadius: 999, background: RE.bg,
          display: 'inline-flex', alignItems: 'center', gap: 5,
        }}>
          <span style={{ width: 6, height: 6, borderRadius: 999, background: '#22A06B' }} />
          Live
        </div>
      </div>

      {/* KPIs */}
      <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', borderBottom: '1px solid var(--border)' }}>
        {[
          { v: '60',   l: 'Piezas este mes' },
          { v: '4.2×', l: 'ROAS promedio' },
          { v: '12',   l: 'Tests activos' },
        ].map((k, i) => (
          <div key={k.l} style={{
            padding: '15px 18px',
            borderLeft: i > 0 ? '1px solid var(--border)' : 'none',
          }}>
            <div style={{
              fontFamily: 'var(--font-display)', fontWeight: 700,
              fontSize: 26, letterSpacing: '-0.025em', color: RE.deep, lineHeight: 1,
            }}>{k.v}</div>
            <div style={{ fontSize: 11, color: 'var(--fg3)', marginTop: 4 }}>{k.l}</div>
          </div>
        ))}
      </div>

      {/* Column header */}
      <div style={{
        padding: '10px 16px', borderBottom: '1px solid var(--border)',
        display: 'flex', justifyContent: 'space-between',
        fontSize: 10.5, fontWeight: 600, letterSpacing: '0.1em',
        textTransform: 'uppercase', color: 'var(--fg3)',
      }}>
        <span>Creatividades activas</span>
        <span style={{ color: RE.deep }}>ROAS · CTR</span>
      </div>

      {/* Creative rows */}
      {creatives.map((c, i) => {
        const s = statusStyle[c.status];
        return (
          <div key={c.name} style={{
            padding: '12px 16px',
            borderBottom: i < creatives.length - 1 ? '1px solid var(--border)' : 'none',
            display: 'flex', alignItems: 'center', gap: 12,
          }}>
            {/* Thumbnail placeholder */}
            <div style={{
              width: 32, height: 32, borderRadius: 8, flexShrink: 0,
              background: RE.bg,
              display: 'grid', placeItems: 'center', color: RE.mid,
            }}>
              <Icon name="film" size={14} />
            </div>
            <div style={{ flex: 1, minWidth: 0 }}>
              <div style={{ fontSize: 12.5, fontWeight: 600, color: 'var(--fg1)', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }}>{c.name}</div>
              <div style={{ fontSize: 11, color: 'var(--fg3)', marginTop: 1 }}>{c.channel}</div>
            </div>
            <div style={{ textAlign: 'right', flexShrink: 0 }}>
              <div style={{ fontSize: 13, fontWeight: 700, color: RE.deep, lineHeight: 1 }}>{c.roas}</div>
              <div style={{ fontSize: 11, color: 'var(--fg3)', marginTop: 2 }}>{c.ctr}</div>
            </div>
            <div style={{
              fontSize: 10, fontWeight: 700, letterSpacing: '0.06em',
              padding: '3px 8px', borderRadius: 999,
              background: s.bg, color: s.fg, flexShrink: 0,
              display: 'flex', alignItems: 'center', gap: 4,
            }}>
              <span style={{ width: 5, height: 5, borderRadius: 999, background: s.dot }} />
              {s.label}
            </div>
          </div>
        );
      })}

      {/* Footer hint */}
      <div style={{
        padding: '11px 16px', background: RE.bg,
        fontSize: 12, color: RE.deep,
        display: 'flex', alignItems: 'center', justifyContent: 'space-between',
      }}>
        <span style={{ display: 'flex', alignItems: 'center', gap: 6 }}>
          <Icon name="sparkles" size={13} />
          IA generó 48 variantes esta semana · 3 ganadoras
        </span>
        <span style={{ fontWeight: 600, cursor: 'pointer' }}>Ver estudio →</span>
      </div>
    </div>
  );
}

// ============================================================
// PROBLEMA
// ============================================================
function ReProblema() {
  const pains = [
    {
      icon: 'film',
      title: 'Las creatividades se queman en 48 horas',
      body: 'Meta y TikTok agotan el potencial de cada pieza en días. Si tu equipo no produce suficiente volumen de variantes, el CPM sube semana tras semana y el ROAS cae.',
    },
    {
      icon: 'shopping',
      title: 'El catálogo crece, el equipo no puede seguirle el paso',
      body: '100 SKUs, 5 canales, 3 formatos por plataforma y temporadas que no esperan. Ningún equipo humano produce ese volumen con calidad y consistencia de marca.',
    },
    {
      icon: 'chart',
      title: 'Carritos abandonados que no se recuperan bien',
      body: 'El email de "olvidaste algo" tiene tasa de apertura del 4%. Los mensajes personalizados por WhatsApp con contexto real del producto llegan al 40%.',
    },
  ];

  return (
    <section style={{ background: '#fff', borderTop: '1px solid var(--border)' }}>
      <Container style={{ padding: '96px 32px' }}>
        <div style={{ maxWidth: 980, margin: '0 auto' }}>
          <Eyebrow color={RE.mid}>EL PROBLEMA</Eyebrow>
          <h2 style={{
            fontFamily: 'var(--font-display)', fontWeight: 700,
            fontSize: 'clamp(30px, 4vw, 56px)',
            lineHeight: 1.06, letterSpacing: '-0.03em',
            margin: '18px 0 48px', color: 'var(--fg1)', maxWidth: 820, textWrap: 'pretty',
          }}>
            Tienes el producto.{' '}
            <span style={{
              background: `linear-gradient(180deg, transparent 58%, ${RE.glow} 58%)`,
              padding: '0 4px', fontStyle: 'italic',
            }}>Tienes el tráfico.</span>{' '}
            Lo que falta es el contenido que convierte — a escala.
          </h2>

          <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 20 }}>
            {pains.map(p => (
              <div key={p.title} style={{
                background: 'var(--ink-25)', border: '1px solid var(--border)',
                borderRadius: 24, padding: '28px 28px 32px',
              }}>
                <div style={{
                  width: 48, height: 48, borderRadius: 14,
                  background: RE.bg, color: RE.deep,
                  display: 'grid', placeItems: 'center', marginBottom: 20,
                }}>
                  <Icon name={p.icon} size={22} />
                </div>
                <h3 style={{
                  fontFamily: 'var(--font-display)', fontSize: 18, fontWeight: 700,
                  letterSpacing: '-0.02em', lineHeight: 1.25, margin: '0 0 12px', color: 'var(--fg1)',
                }}>{p.title}</h3>
                <p style={{ fontSize: 14.5, lineHeight: 1.6, color: 'var(--fg2)', margin: 0 }}>{p.body}</p>
              </div>
            ))}
          </div>

          {/* Resolution callout */}
          <div style={{
            marginTop: 36, padding: '26px 34px',
            background: `linear-gradient(135deg, ${RE.bg}, #f8f5ff)`,
            border: `1px solid ${RE.glow}`, borderRadius: 20,
            display: 'flex', alignItems: 'center', gap: 24,
          }}>
            <div style={{
              width: 52, height: 52, borderRadius: 14, flexShrink: 0,
              background: RE.mid, color: '#fff', display: 'grid', placeItems: 'center',
            }}>
              <Icon name="zap" size={24} />
            </div>
            <div>
              <p style={{
                fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 20,
                letterSpacing: '-0.02em', color: RE.deep, margin: '0 0 6px', lineHeight: 1.2,
              }}>
                La solución no es contratar más diseñadores. Es multiplicar la producción con IA.
              </p>
              <p style={{ fontSize: 15, lineHeight: 1.55, color: 'var(--fg2)', margin: 0 }}>
                Con el mismo equipo y presupuesto creativo, pasas de 5 piezas a 60 al mes — manteniendo la voz de marca.
              </p>
            </div>
          </div>
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// SOLUCIONES PARA EL VERTICAL
// ============================================================
function ReSoluciones() {
  const sols = [
    {
      tag: 'CONTENT STUDIO AI',
      icon: 'film',
      title: 'De 5 piezas a 60 al mes. Mismo costo.',
      body: 'Stack de IA para producción de video, imagen, voz y copy de producto. Formatos para Meta, TikTok, Google Shopping e email — con tu voz de marca intacta.',
      bullets: [
        'Producción de carruseles, reels y stories con IA',
        'Fichas de producto y copy de email escalable',
        'Biblioteca de creatividades por temporada y SKU',
      ],
      colors: { ink: 'var(--sub-interactive-1)', soft: 'var(--sub-interactive-bg)', drop: 'var(--sub-interactive-2)' },
      href: 'FRSKO Content Studio AI.html',
    },
    {
      tag: 'SMART ADS AI',
      icon: 'zap',
      title: 'Ads que se optimizan sin que toques nada.',
      body: 'Copiloto para Meta, TikTok y Google Ads que rota variantes automáticamente, ajusta puja por SKU y te dice qué creatividad matar antes de que queme presupuesto.',
      bullets: [
        'A/B automático de creatividades y audiencias',
        'Optimización de puja por producto y ROAS objetivo',
        'Alertas de fatiga creativa antes de que suba el CPM',
      ],
      colors: { ink: 'var(--cyan-800)', soft: 'var(--cyan-50)', drop: 'var(--cyan-400)' },
      href: 'FRSKO Smart Ads AI.html',
    },
    {
      tag: 'NEUROCOPY LAB',
      icon: 'brain',
      title: 'Copy que vende, no que informa.',
      body: 'Auditoría de neuromarketing + variantes de copy generadas con IA para fichas de producto, anuncios, emails y WhatsApp. Más urgencia, más emoción, más conversión.',
      bullets: [
        'Análisis de copy actual por emoción y fricción',
        'Variantes con A/B para email, ads y fichas',
        'Recuperación de carrito por WhatsApp personalizado',
      ],
      colors: { ink: 'var(--sub-neuro-2)', soft: 'var(--sub-neuro-bg)', drop: 'var(--sub-neuro-1)' },
      href: 'FRSKO NeuroCopy Lab.html',
    },
  ];

  return (
    <section id="soluciones" style={{ background: 'var(--ink-50)', position: 'relative', overflow: 'hidden' }}>
      <Droplets style={{ right: -80, top: 100 }} color={RE.glow} opacity={0.3} size={260} />
      <Container style={{ padding: '100px 32px', position: 'relative' }}>
        <div style={{ marginBottom: 52, maxWidth: 760 }}>
          <Eyebrow color={RE.mid}>SOLUCIONES PARA 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',
          }}>
            Tres productos IA.<br />Un motor de crecimiento sin fricción.
          </h2>
          <p style={{ fontSize: 17, lineHeight: 1.6, color: 'var(--fg2)', maxWidth: 580 }}>
            Del catálogo al carrito recuperado — content, ads y copy operando juntos en un solo stack.
          </p>
        </div>

        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 20 }}>
          {sols.map(s => (
            <article key={s.tag} style={{
              background: '#fff', borderRadius: 28, border: '1px solid var(--border)',
              overflow: 'hidden', display: 'flex', flexDirection: 'column',
              transition: 'all var(--dur-base) var(--ease-out)', cursor: 'pointer',
            }}
              onMouseEnter={e => { e.currentTarget.style.boxShadow = 'var(--shadow-md)'; e.currentTarget.style.transform = 'translateY(-3px)'; }}
              onMouseLeave={e => { e.currentTarget.style.boxShadow = ''; e.currentTarget.style.transform = ''; }}>

              <div style={{
                position: 'relative', overflow: 'hidden',
                background: s.colors.soft, padding: '28px 28px 22px',
                borderBottom: '1px solid var(--border)',
              }}>
                <Droplets style={{ right: -30, top: -20 }} color={s.colors.drop} opacity={0.45} size={130} />
                <div style={{ position: 'relative', display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}>
                  <div style={{
                    width: 48, height: 48, borderRadius: 14, background: '#fff',
                    color: s.colors.ink, display: 'grid', placeItems: 'center',
                    boxShadow: '0 4px 14px -6px rgba(20,47,50,0.18)',
                  }}>
                    <Icon name={s.icon} size={22} />
                  </div>
                  <span style={{
                    fontSize: 10, fontWeight: 700, letterSpacing: '0.14em', textTransform: 'uppercase',
                    color: s.colors.ink, background: '#fff', padding: '4px 10px', borderRadius: 999,
                  }}>{s.tag}</span>
                </div>
              </div>

              <div style={{ padding: '26px 28px 30px', display: 'flex', flexDirection: 'column', flex: 1 }}>
                <h3 style={{
                  fontFamily: 'var(--font-display)', fontSize: 20, fontWeight: 700,
                  letterSpacing: '-0.02em', lineHeight: 1.2, margin: '0 0 12px', color: 'var(--fg1)',
                }}>{s.title}</h3>
                <p style={{ fontSize: 14.5, lineHeight: 1.6, color: 'var(--fg2)', margin: '0 0 20px' }}>{s.body}</p>
                <ul style={{ listStyle: 'none', padding: 0, margin: '0 0 24px', display: 'flex', flexDirection: 'column', gap: 8 }}>
                  {s.bullets.map(b => (
                    <li key={b} style={{ display: 'flex', alignItems: 'flex-start', gap: 8, fontSize: 13.5, color: 'var(--fg2)' }}>
                      <Icon name="check" size={14} stroke={2.5} style={{ color: s.colors.ink, flexShrink: 0, marginTop: 2 }} />
                      {b}
                    </li>
                  ))}
                </ul>
                <div style={{ marginTop: 'auto' }}>
                  <a href={s.href} style={{
                    display: 'inline-flex', alignItems: 'center', gap: 6,
                    fontSize: 14, fontWeight: 600, color: s.colors.ink, cursor: 'pointer',
                  }}>
                    Ver solución completa <Icon name="arrow-right" size={14} />
                  </a>
                </div>
              </div>
            </article>
          ))}
        </div>
      </Container>
    </section>
  );
}

Object.assign(window, { ReHero, ReCreativePanel, ReProblema, ReSoluciones });
