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

// ─────────────────────────────────────────────
// Sub-brand tokens — Industria: Bienes Raíces
// ─────────────────────────────────────────────
const BR = {
  deep:   '#7C3A10',
  mid:    '#C4602A',
  glow:   '#F2A472',
  bg:     '#FEF3EA',
  bgDark: '#3A1808',
};
window.BR = BR;

// ============================================================
// HERO
// ============================================================
function BrHero({ onCta }) {
  return (
    <section id="top" style={{
      position: 'relative', overflow: 'hidden',
      background: `radial-gradient(80% 60% at 50% 0%, ${BR.bg} 0%, var(--ink-0) 70%)`,
    }}>
      <Droplets style={{ right: -60, top: 80 }} color={BR.glow} opacity={0.45} size={240} />
      <Droplets style={{ left: -100, bottom: -60 }} color={BR.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: BR.deep, fontWeight: 600 }}>bienes-raices</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 ${BR.glow}`,
                fontSize: 11, fontWeight: 700, letterSpacing: '0.14em',
                textTransform: 'uppercase', color: BR.deep,
              }}>
                <Icon name="home" size={12} />
                FRSKO · Bienes Raíces
              </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 cierra.<br />
              La IA persigue a los<br />
              <span style={{ color: BR.deep, fontStyle: 'italic' }}>leads que valen.</span>
            </h1>

            <p style={{
              fontSize: 'clamp(17px, 1.4vw, 20px)', lineHeight: 1.6,
              color: 'var(--fg2)', maxWidth: 540, margin: '0 0 32px',
            }}>
              Lead Engine AI + Smart Ads + NeuroCopy, calibrados para el mercado inmobiliario mexicano. Del primer clic en el portal a la firma — automatizado y medible.
            </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 inmobiliario gratis
              </Button>
              <Button variant="ghost" size="lg" icon="arrow-right" onClick={() => {
                const el = document.getElementById('embudo');
                if (el) el.scrollIntoView({ behavior: 'smooth' });
              }}>
                Ver cómo funciona
              </Button>
            </div>

            {/* Trust strip */}
            <div style={{ display: 'flex', alignItems: 'center', gap: 20, flexWrap: 'wrap' }}>
              {['Inmuebles24 · Lamudi', 'WhatsApp API', 'CRM integrado', 'ES · EN'].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: BR.deep }} />
                  {t}
                </div>
              ))}
            </div>
          </div>

          {/* ─── RIGHT: leads dashboard ─── */}
          <BrLeadsPanel />
        </div>
      </Container>
    </section>
  );
}

function BrLeadsPanel() {
  const leads = [
    { name: 'Gabriela Torres',  tipo: 'Depto · Polanco · $6.2M',  score: 'A', signal: 'Pre-aprobada · 2 visitas a sala' },
    { name: 'Rodrigo Méndez',   tipo: 'Casa · San Pedro · $9.5M', score: 'A', signal: 'Crédito Infonavit listo' },
    { name: 'Sofía Villanueva', tipo: 'Depto · Santa Fe · $3.8M', score: 'B', signal: '4 meses · Comparando opciones' },
    { name: 'Carlos Estrada',   tipo: 'Local · CDMX · $12M',      score: 'B', signal: 'Inversionista · renta mensual' },
    { name: 'Ana Gutiérrez',    tipo: 'Depto · Condesa · $2.1M',  score: 'C', signal: 'Solo explorando, sin plazo' },
  ];
  const scoreStyle = {
    A: { bg: BR.deep,          fg: '#fff',           ring: 'rgba(124,58,16,0.22)' },
    B: { bg: BR.bg,            fg: BR.deep,          ring: 'rgba(242,164,114,0.2)' },
    C: { bg: 'var(--ink-100)', fg: 'var(--ink-600)', ring: 'transparent' },
  };

  return (
    <div style={{
      background: '#fff', border: '1px solid var(--border)',
      borderRadius: 24, boxShadow: 'var(--shadow-lg)', overflow: 'hidden',
    }}>
      {/* Window 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 / bienes-raices
        </div>
        <div style={{
          fontSize: 10, fontWeight: 600, letterSpacing: '0.08em', textTransform: 'uppercase',
          color: BR.deep, padding: '3px 8px', borderRadius: 999, background: BR.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: '184', l: 'Leads este mes' },
          { v: '62',  l: 'Calificados A/B' },
          { v: '28',  l: 'Citas agendadas' },
        ].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: BR.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>Hoy · 8 nuevos</span>
        <span style={{ color: BR.deep }}>Score IA</span>
      </div>

      {/* Lead rows */}
      {leads.map((l, i) => {
        const s = scoreStyle[l.score];
        return (
          <div key={l.name} style={{
            padding: '13px 16px',
            borderBottom: i < leads.length - 1 ? '1px solid var(--border)' : 'none',
            display: 'flex', alignItems: 'center', gap: 12,
          }}>
            <div style={{
              width: 30, height: 30, borderRadius: 999,
              background: 'var(--ink-100)', color: 'var(--ink-600)',
              display: 'grid', placeItems: 'center',
              fontWeight: 700, fontSize: 11, flexShrink: 0,
            }}>{l.name.split(' ').map(w => w[0]).slice(0, 2).join('')}</div>
            <div style={{ flex: 1, minWidth: 0 }}>
              <div style={{ fontSize: 13, fontWeight: 600, color: 'var(--fg1)', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }}>{l.name}</div>
              <div style={{ fontSize: 11, color: 'var(--fg3)', marginTop: 1 }}>{l.tipo}</div>
            </div>
            <div style={{ fontSize: 11, color: 'var(--fg3)', textAlign: 'right', maxWidth: 130, lineHeight: 1.35, flexShrink: 0 }}>{l.signal}</div>
            <div style={{
              width: 26, height: 26, borderRadius: 8,
              background: s.bg, color: s.fg,
              display: 'grid', placeItems: 'center',
              fontWeight: 700, fontSize: 12,
              boxShadow: `0 0 0 3px ${s.ring}`, flexShrink: 0,
            }}>{l.score}</div>
          </div>
        );
      })}

      {/* Footer hint */}
      <div style={{
        padding: '11px 16px', background: BR.bg,
        fontSize: 12, color: BR.deep,
        display: 'flex', alignItems: 'center', justifyContent: 'space-between',
      }}>
        <span style={{ display: 'flex', alignItems: 'center', gap: 6 }}>
          <Icon name="sparkles" size={13} />
          IA contactó 8 leads por WhatsApp hoy
        </span>
        <span style={{ fontWeight: 600, cursor: 'pointer' }}>Ver flujo →</span>
      </div>
    </div>
  );
}

// ============================================================
// PROBLEMA
// ============================================================
function BrProblema() {
  const pains = [
    {
      icon: 'users',
      title: 'El 70% de los leads de portales son "curiosos"',
      body: 'Inmuebles24, Lamudi y redes generan volumen, no calidad. Tu equipo pierde horas con personas que no tienen presupuesto, plazo ni intención real de compra.',
    },
    {
      icon: 'message',
      title: '4 horas al día por asesor en WhatsApp sin resultado',
      body: 'Responder el mismo "¿cuánto cuesta?" veinte veces, mandar fichas que nadie lee y hacer seguimiento manual que siempre llega tarde.',
    },
    {
      icon: 'chart',
      title: 'Sin datos, sin atribución, sin mejora',
      body: 'No sabes qué anuncio generó la cita que cerró. No puedes optimizar lo que no mides. El CRM se llena a medias y siempre con retraso.',
    },
  ];

  return (
    <section style={{ background: '#fff', borderTop: '1px solid var(--border)' }}>
      <Container style={{ padding: '96px 32px' }}>
        <div style={{ maxWidth: 980, margin: '0 auto' }}>
          <Eyebrow color={BR.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',
          }}>
            El portal te da volumen.{' '}
            <span style={{
              background: `linear-gradient(180deg, transparent 58%, ${BR.glow} 58%)`,
              padding: '0 4px', fontStyle: 'italic',
            }}>El volumen te da trabajo.</span>{' '}
            El trabajo no siempre te da ventas.
          </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: BR.bg, color: BR.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, ${BR.bg}, #fffaf6)`,
            border: `1px solid ${BR.glow}`, borderRadius: 20,
            display: 'flex', alignItems: 'center', gap: 24,
          }}>
            <div style={{
              width: 52, height: 52, borderRadius: 14, flexShrink: 0,
              background: BR.mid, color: '#fff', display: 'grid', placeItems: 'center',
            }}>
              <Icon name="target" size={24} />
            </div>
            <div>
              <p style={{
                fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 20,
                letterSpacing: '-0.02em', color: BR.deep, margin: '0 0 6px', lineHeight: 1.2,
              }}>
                El problema no es el mercado. Es el proceso.
              </p>
              <p style={{ fontSize: 15, lineHeight: 1.55, color: 'var(--fg2)', margin: 0 }}>
                Cuando automatizas la calificación y el primer contacto, tu equipo solo habla con quienes tienen intención real de compra.
              </p>
            </div>
          </div>
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// SOLUCIONES PARA EL VERTICAL
// ============================================================
function BrSoluciones() {
  const sols = [
    {
      tag: 'LEAD ENGINE AI',
      icon: 'target',
      title: 'El filtro entre el portal y tu equipo.',
      body: 'Captura leads de portales, redes y WhatsApp. Los califica con IA — presupuesto real, plazo, zona, forma de pago. Tu asesor solo recibe A y B.',
      bullets: [
        'Integración con Inmuebles24, Lamudi y WhatsApp API',
        'Calificación BANT calibrada para bienes raíces',
        'Asignación automática al asesor correcto',
      ],
      colors: { ink: 'var(--sub-leadgen-1)', soft: 'var(--sub-leadgen-bg)', drop: 'var(--sub-leadgen-2)' },
      href: 'FRSKO Lead Engine AI.html',
    },
    {
      tag: 'SMART ADS AI',
      icon: 'zap',
      title: 'Anuncios que no se queman en 48 horas.',
      body: 'Copiloto de IA para Meta e Instagram Ads con carruseles de propiedades que se optimizan solos. Segmentación por zona, rango de precio e intent.',
      bullets: [
        'Carruseles dinámicos por tipo de propiedad',
        'Optimización de puja por ROAS inmobiliario',
        'A/B automático de creatividades y audiencias',
      ],
      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: 'Que ya se imaginen viviendo ahí.',
      body: 'Auditoría de neuromarketing en fichas, anuncios y mensajes de WhatsApp. La diferencia entre "3 rec, 2 baños" y una propiedad que ya se imaginan habitando.',
      bullets: [
        'Análisis de copy por emoción y urgencia',
        'Variantes de descripciones con A/B inmobiliario',
        'Mensajes personalizados por perfil de comprador',
      ],
      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={BR.glow} opacity={0.28} size={260} />
      <Container style={{ padding: '100px 32px', position: 'relative' }}>
        <div style={{ marginBottom: 52, maxWidth: 760 }}>
          <Eyebrow color={BR.mid}>SOLUCIONES PARA BIENES RAÍCES</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 embudo inmobiliario sin fricción.
          </h2>
          <p style={{ fontSize: 17, lineHeight: 1.6, color: 'var(--fg2)', maxWidth: 580 }}>
            Calibrados para el ciclo de compra del mercado mexicano — desde el primer "me interesa" hasta la firma.
          </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 = ''; }}>

              {/* Color swatch top */}
              <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>

              {/* Body */}
              <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, { BrHero, BrLeadsPanel, BrProblema, BrSoluciones });
