/* eslint-disable */
const { Icon, Tool, WhinkLogo, Reveal } = window.Whink;
const { useState, useEffect, useRef } = React;

/* ============== PRICING ============== */
function PricingSection() {
  const factors = [
  ['Conversaciones y mensajes', 'El volumen mensual de conversaciones y mensajes que procesará el agente.'],
  ['Complejidad de integraciones', 'La cantidad y complejidad de sistemas, APIs y herramientas a conectar.'],
  ['Funciones requeridas', 'Las capacidades específicas que necesita tu operación.'],
  ['Base de conocimiento', 'El volumen y complejidad de la información con la que operará el agente.']];

  const bullets = [
  'Agente IA personalizado',
  'Integraciones con tus sistemas y herramientas',
  'Funciones específicas para tu operación',
  'Acceso completo a la plataforma Whink'];

  return (
    <section id="precio" className="section">
      <div className="glow" style={{ width: 420, height: 420, top: 80, left: -180, opacity: 0.35 }} />
      <div className="container">
        <Reveal className="eyebrow">Precio</Reveal>
        <Reveal as="h2" className="h-section section-title" delay={80}>
          Un plan mensual pensado <span className="grad-text">específicamente</span> para tu negocio
        </Reveal>
        <Reveal as="p" className="lead section-sub" delay={140}>
          Cada negocio es diferente, por eso armamos propuestas personalizadas para cada cliente según su caso específico.
        </Reveal>
        <div className="price-grid">
          <Reveal delay={120} className="price-card">
            <span className="eyebrow" style={{ fontSize: 11 }}>Tu plan</span>
            <h3 className="h-section" style={{ fontSize: 'clamp(38px, 4.5vw, 56px)', marginTop: 12 }}>Personalizado</h3>
            <p className="muted" style={{ marginTop: 12, fontSize: 15 }}>Un plan para tu caso, tu operación y tus objetivos.</p>
            <ul className="check-list price-list" style={{ marginTop: 28 }}>
              {bullets.map((b) =>
              <li key={b}>
                  <span className="price-check"><Icon.Check width="14" height="14" /></span>
                  <span className="price-bullet-text">{b}</span>
                </li>
              )}
            </ul>
            <a href="#contacto" className="btn btn-outline btn-lg mobile-fill price-cta" style={{ marginTop: 32 }}>Cotizar plan</a>
          </Reveal>
          <div className="price-factors">
            <Reveal as="h4" delay={180} className="h-card" style={{ fontSize: 18, marginBottom: 20 }}>¿De qué depende el precio?</Reveal>
            <div className="factors-list">
              {factors.map(([t, d], i) =>
              <Reveal key={t} delay={260 + i * 110} className="factor">
                  <span className="factor-num">0{i + 1}</span>
                  <div>
                    <strong>{t}</strong>
                    <p className="muted" style={{ fontSize: 13.5, margin: '4px 0 0', lineHeight: 1.5 }}>{d}</p>
                  </div>
                </Reveal>
              )}
            </div>
          </div>
        </div>
      </div>
      <style>{`
        .price-grid {
          margin-top: 56px;
          display: grid;
          grid-template-columns: 1.1fr 1fr;
          gap: 48px;
          align-items: start;
        }
        .price-card {
          background: rgba(255,255,255,0.012);
          border: 1px solid rgba(255,255,255,0.06);
          border-radius: var(--radius-lg);
          padding: 40px;
          position: relative;
          overflow: hidden;
        }
        .price-card .eyebrow::before { display: none; }
        .price-list {
          list-style: none;
          padding: 0;
          margin: 0;
          display: flex;
          flex-direction: column;
          gap: 12px;
        }
        .price-list li {
          display: flex;
          align-items: flex-start;
          gap: 12px;
        }
        .price-check {
          flex-shrink: 0;
          width: 14px;
          height: 14px;
          color: var(--green);
          display: inline-flex;
          align-items: center;
          justify-content: center;
          margin-top: 3px;
        }
        .price-bullet-text {
          font-size: 14.5px;
          font-weight: 400;
          color: var(--fg);
          line-height: 1.5;
        }
        .price-card::before {
          content: '';
          position: absolute;
          top: -50%; right: -30%;
          width: 60%; height: 100%;
          background: radial-gradient(ellipse, rgba(37,211,102,0.18), transparent 70%);
          filter: blur(40px);
          pointer-events: none;
        }
        .factors-list { display: flex; flex-direction: column; gap: 4px; }
        .factor {
          display: flex; gap: 18px; align-items: flex-start;
          padding: 22px 0;
          border-bottom: 1px solid var(--border);
        }
        .factor:last-child { border-bottom: none; }
        .factor-num {
          font-size: 13px;
          color: var(--green);
          font-weight: 600;
          letter-spacing: 0.05em;
          min-width: 32px;
          margin-top: 2px;
        }
        .factor strong { font-size: 15.5px; font-weight: 600; }
        @media (max-width: 1024px) {
          .price-grid { grid-template-columns: 1fr; gap: 32px; }
          .price-card { padding: 32px 24px; }
        }
      `}</style>
    </section>);

}

/* ============== FAQ ============== */
function FAQItem({ q, a, isOpen, onToggle }) {
  const contentRef = useRef(null);
  const wrapRef = useRef(null);

  useEffect(() => {
    const wrap = wrapRef.current;
    const content = contentRef.current;
    if (!wrap || !content) return;
    wrap.style.height = isOpen ? content.scrollHeight + 'px' : '0px';
  }, [isOpen]);

  return (
    <div className={`faq-item ${isOpen ? 'is-open' : ''}`}>
      <button className="faq-q" aria-expanded={isOpen} onClick={onToggle}>
        <span>{q}</span>
        <span className="faq-toggle">
          <svg width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
            <polyline points="4.5 6.5 9 11.5 13.5 6.5" />
          </svg>
        </span>
      </button>
      <div ref={wrapRef} className="faq-a-wrap" style={{ height: 0 }}>
        <div ref={contentRef} className="faq-a">{a}</div>
      </div>
    </div>
  );
}

function FAQSection() {
  const items = [
  ['¿En qué se diferencia un Agente Whink de un chatbot tradicional?', 'Un chatbot responde, un Agente Whink actúa: razona sobre lo que recibe, se integra con tus herramientas y ejecuta tareas reales de principio a fin, automatizando procesos de tu operación.'],
  ['¿Mi información está segura?', 'Trabajamos con infraestructura privada, datos cifrados y controles de acceso por roles. Cada implementación cumple con buenas prácticas de seguridad y privacidad.'],
  ['¿Qué pasa si el agente no entiende una consulta?', 'El agente está diseñado para detectar cuándo una conversación necesita intervención humana y derivar el caso a tu equipo con todo el contexto necesario.'],
  ['¿Necesito conocimientos técnicos para usarlo?', 'No. Nosotros nos encargamos de todo el setup, la configuración y el mantenimiento. Vos solo te enfocás en tu negocio.'],
  ['¿La integración con WhatsApp es oficial?', 'Somos Meta Business Partner certificados, lo que garantiza una integración segura, estable y dentro de las políticas de Meta. Trabajamos tanto con la API oficial de WhatsApp Business como con WhatsApp Coexistence.'],
  ['¿Puedo conectar mi agente con sistemas que ya uso?', 'Sí. Whink se integra con CRMs, ERPs, planillas, bases de datos, calendarios, plataformas de e-commerce y prácticamente cualquier herramienta que use tu negocio.'],
  ['¿Puedo modificar al agente después de implementado?', 'Sí. Hacemos seguimiento continuo y ajustamos al agente según feedback, nuevos procesos o cambios en tu operación.']];

  const [open, setOpen] = useState(-1);
  return (
    <section id="faq" className="section">
      <div className="container faq-container">
        <Reveal className="eyebrow faq-eyebrow">FAQ</Reveal>
        <Reveal as="h2" className="h-section section-title faq-title" delay={80}>
          Preguntas frecuentes
        </Reveal>
        <div className="faq-list">
          {items.map(([q, a], i) =>
          <Reveal key={q} delay={i * 40}>
              <FAQItem q={q} a={a} isOpen={open === i} onToggle={() => setOpen(open === i ? -1 : i)} />
            </Reveal>
          )}
        </div>
        <Reveal delay={200} className="faq-cta">
          <p className="dim" style={{ fontSize: 13.5, margin: 0 }}>¿Seguís teniendo dudas?</p>
          <a href="https://wa.me/5491125434996?text=Hola!%20Quiero%20saber%20m%C3%A1s%20sobre%20Whink." target="_blank" rel="noopener noreferrer" className="faq-cta-link">Contacta a nuestro equipo</a>
        </Reveal>
      </div>
      <style>{`
        .faq-container { max-width: 880px; }
        .faq-eyebrow {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 14px;
          margin: 0 auto;
        }
        .faq-eyebrow::before,
        .faq-eyebrow::after {
          content: "";
          width: 28px; height: 1px;
          background: var(--green);
          display: inline-block;
        }
        .faq-title { text-align: center; max-width: none; margin-left: auto; margin-right: auto; }
        .faq-list { margin-top: 48px; display: flex; flex-direction: column; gap: 12px; }
        .faq-item {
          border-radius: 14px;
          overflow: hidden;
          background: rgba(14, 14, 14, 0.55);
          border: 1px solid var(--border);
          transition: border-color 0.3s ease, background 0.3s ease;
        }
        .faq-item.is-open {
          border-color: rgba(37,211,102,0.3);
        }
        .faq-q {
          width: 100%;
          background: transparent;
          border: none;
          padding: 22px 24px;
          display: flex; justify-content: space-between; align-items: center;
          gap: 24px;
          font-size: clamp(15px, 1.4vw, 17px);
          font-weight: 500;
          color: var(--fg);
          letter-spacing: -0.01em;
          text-align: left;
          transition: color var(--t);
        }
        .faq-q:hover { color: var(--green); }
        .faq-toggle {
          color: var(--green);
          flex-shrink: 0;
          display: flex; align-items: center; justify-content: center;
          transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .faq-item.is-open .faq-toggle {
          transform: rotate(180deg);
        }
        .faq-a-wrap {
          height: 0;
          overflow: hidden;
          transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .faq-a {
          color: var(--fg-dim);
          font-size: 15px;
          line-height: 1.6;
          padding: 0 24px 24px;
        }
        .faq-cta {
          margin-top: 56px;
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 8px;
        }
        .faq-cta-link {
          color: var(--green);
          font-size: 15px;
          font-weight: 500;
          transition: opacity var(--t);
        }
        .faq-cta-link:hover { opacity: 0.75; }
        @media (max-width: 640px) {
          .faq-q { padding: 18px 18px; gap: 14px; }
          .faq-a { padding: 0 18px; }
          .faq-item.is-open .faq-a { padding-bottom: 20px; }
        }
      `}</style>
    </section>);

}

/* ============== CONTACT FORM ============== */
function ContactSection() {
  const COUNTRIES = [
  ['🇦🇷 +54', 'AR'], ['🇺🇾 +598', 'UY'], ['🇨🇱 +56', 'CL'], ['🇧🇷 +55', 'BR'],
  ['🇵🇾 +595', 'PY'], ['🇧🇴 +591', 'BO'], ['🇵🇪 +51', 'PE'], ['🇨🇴 +57', 'CO'],
  ['🇲🇽 +52', 'MX'], ['🇪🇸 +34', 'ES'], ['🇺🇸 +1', 'US']];

  const PHONE_RULES = {
    AR: { min: 10, max: 10, placeholder: '11 5555 5555', hint: '10 dígitos (sin 0 ni 15)' },
    UY: { min: 8, max: 8, placeholder: '99 555 555', hint: '8 dígitos' },
    CL: { min: 9, max: 9, placeholder: '9 5555 5555', hint: '9 dígitos' },
    BR: { min: 10, max: 11, placeholder: '11 95555 5555', hint: '10 u 11 dígitos' },
    PY: { min: 9, max: 9, placeholder: '981 555 555', hint: '9 dígitos' },
    BO: { min: 8, max: 8, placeholder: '7 555 5555', hint: '8 dígitos' },
    PE: { min: 9, max: 9, placeholder: '9 5555 5555', hint: '9 dígitos' },
    CO: { min: 10, max: 10, placeholder: '300 555 5555', hint: '10 dígitos' },
    MX: { min: 10, max: 10, placeholder: '55 5555 5555', hint: '10 dígitos' },
    ES: { min: 9, max: 9, placeholder: '6 5555 5555', hint: '9 dígitos' },
    US: { min: 10, max: 10, placeholder: '212 555 5555', hint: '10 dígitos' },
  };

  const EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/;
  const isValidEmail = (v) => EMAIL_RE.test(v.trim());
  const isValidPhone = (v, country) => {
    const digits = (v || '').replace(/\D/g, '');
    const r = PHONE_RULES[country];
    if (!r) return digits.length >= 7;
    return digits.length >= r.min && digits.length <= r.max;
  };

  const [form, setForm] = useState({ name: '', email: '', country: 'AR', phone: '', company: '', industry: '', message: '' });
  const [touched, setTouched] = useState({});
  const [sent, setSent] = useState(false);
  const set = (k) => (e) => setForm((f) => ({ ...f, [k]: e.target.value }));
  const touch = (k) => () => setTouched((t) => ({ ...t, [k]: true }));

  const emailError = touched.email && form.email.trim() && !isValidEmail(form.email)
    ? 'Ingresá un email válido (ejemplo@dominio.com)'
    : '';
  const phoneError = touched.phone && form.phone.trim() && !isValidPhone(form.phone, form.country)
    ? `Ingresá un número válido (${PHONE_RULES[form.country]?.hint || '7 a 15 dígitos'})`
    : '';

  const formIsValid =
    form.name.trim() &&
    isValidEmail(form.email) &&
    isValidPhone(form.phone, form.country) &&
    form.company.trim() &&
    form.industry.trim() &&
    form.message.trim();

  const submit = (e) => {
    e.preventDefault();
    if (!formIsValid) return;
    setSent(true);
  };
  return (
    <section id="contacto" className="section contact-section">
      <div className="container">
        <Reveal className="contact-card glass">
          <div className="contact-grid">
            <div className="contact-info">
              <span className="eyebrow">Empezar</span>
              <h2 className="h-section contact-title" style={{ marginTop: 16, fontWeight: 300 }}>Escribinos y te mostramos cómo
la IA puede trabajar para vos.
              </h2>
              <p className="muted" style={{ marginTop: 18, fontSize: 15.5, lineHeight: 1.55, maxWidth: '38ch', textWrap: 'balance' }}>
                Contanos sobre tu negocio, preguntanos lo que quieras. Te respondemos con un diagnóstico inicial y una propuesta concreta.
              </p>
              <div className="contact-meta">
                <div>
                  <span className="dim" style={{ fontSize: 11.5, letterSpacing: '0.14em', textTransform: 'uppercase' }}>Email</span>
                  <a href="mailto:whink.arg@gmail.com" className="mono" style={{ color: 'var(--green)', display: 'block', marginTop: 6, fontSize: 15 }}>whink.arg@gmail.com</a>
                </div>
                <div>
                  <span className="dim" style={{ fontSize: 11.5, letterSpacing: '0.14em', textTransform: 'uppercase' }}>Ubicación</span>
                  <div style={{ marginTop: 6, fontSize: 15.5 }}>Argentina · Buenos Aires</div>
                </div>
              </div>
            </div>
            <div className={`contact-form-wrap ${sent ? 'is-sent' : ''}`}>
            <form className="contact-form" onSubmit={submit}>
              <div className="field">
                <label htmlFor="cf-name">Nombre</label>
                <input id="cf-name" className="input" placeholder="Lucas García" value={form.name} onChange={set('name')} required />
              </div>
              <div className="field">
                <label htmlFor="cf-email">Email</label>
                <input
                  id="cf-email"
                  type="email"
                  className={`input ${emailError ? 'input-error' : ''}`}
                  placeholder="hola@email.com"
                  value={form.email}
                  onChange={set('email')}
                  onBlur={touch('email')}
                  required
                  aria-invalid={!!emailError}
                />
                {emailError && <span className="field-error">{emailError}</span>}
              </div>
              <div className="field">
                <label>Número de teléfono</label>
                <div className="phone-row">
                  <select className="select" value={form.country} onChange={set('country')}>
                    {COUNTRIES.map(([label, code]) => <option key={code} value={code}>{label}</option>)}
                  </select>
                  <input
                    className={`input ${phoneError ? 'input-error' : ''}`}
                    type="tel"
                    inputMode="numeric"
                    pattern="[0-9 ]*"
                    placeholder={PHONE_RULES[form.country]?.placeholder || '11 5555 5555'}
                    value={form.phone}
                    onChange={set('phone')}
                    onBlur={touch('phone')}
                    required
                    aria-invalid={!!phoneError}
                  />
                </div>
                {phoneError && <span className="field-error">{phoneError}</span>}
              </div>
              <div className="field-row">
                <div className="field">
                  <label htmlFor="cf-company">Empresa</label>
                  <input id="cf-company" className="input" placeholder="MiNegocio" value={form.company} onChange={set('company')} required />
                </div>
                <div className="field">
                  <label htmlFor="cf-industry">Rubro</label>
                  <input id="cf-industry" className="input" placeholder="Inmobiliaria" value={form.industry} onChange={set('industry')} required />
                </div>
              </div>
              <div className="field">
                <label htmlFor="cf-msg">¿En qué podemos ayudarte?</label>
                <textarea id="cf-msg" className="textarea" rows={4} value={form.message} onChange={set('message')} required />
              </div>
              <button type="submit" className="btn btn-primary btn-lg send-btn" disabled={!formIsValid}>
                Enviar <Icon.Arrow width="16" height="16" />
              </button>
            </form>
            <div className="contact-success" aria-live="polite" aria-hidden={!sent}>
              <div className="success-icon">
                <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round">
                  <path d="M5 12l5 5 9-11" />
                </svg>
              </div>
              <h3 className="success-title">¡Mensaje enviado!</h3>
              <p className="success-msg">Gracias. Te respondemos a la brevedad.</p>
            </div>
            </div>
          </div>
        </Reveal>
      </div>
      <style>{`
        .contact-section {
          padding-top: clamp(56px, 8vw, 100px);
          padding-bottom: clamp(80px, 10vw, 140px);
          background: var(--bg);
        }
        .contact-title {
          font-size: clamp(22px, 4.6vw, 32px);
          line-height: 1.2;
          text-wrap: balance;
        }
        .contact-card {
          position: relative;
          padding: clamp(28px, 4.5vw, 56px);
          border-radius: var(--radius-lg);
          background: rgba(20, 20, 20, 0.5);
          backdrop-filter: blur(20px) saturate(140%);
          -webkit-backdrop-filter: blur(20px) saturate(140%);
          overflow: hidden;
        }
        [data-theme="light"] .contact-card { background: rgba(255,255,255,0.6); }
        .contact-grid {
          position: relative;
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 56px;
        }
        .contact-info { display: flex; flex-direction: column; }
        .contact-meta { margin-top: auto; padding-top: 32px; display: flex; flex-direction: column; gap: 18px; }
        .contact-form-wrap { position: relative; }
        .contact-form {
          display: flex; flex-direction: column; gap: 18px;
          transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), filter 0.4s ease;
        }
        .contact-form-wrap.is-sent .contact-form {
          opacity: 0;
          transform: scale(0.96) translateY(-6px);
          filter: blur(2px);
          pointer-events: none;
        }
        .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
        .input-error,
        .input-error:focus {
          border-color: rgba(239, 68, 68, 0.6) !important;
          background: rgba(239, 68, 68, 0.04);
        }
        .field-error {
          display: block;
          margin-top: 6px;
          font-size: 12.5px;
          color: #ef4444;
          line-height: 1.35;
        }
        .send-btn { margin-top: 8px; align-self: flex-start; min-width: 160px; }
        .send-btn:disabled {
          opacity: 0.45;
          cursor: not-allowed;
          filter: saturate(0.6);
        }
        .send-btn:disabled:hover {
          transform: none;
        }

        .contact-success {
          position: absolute;
          inset: 0;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          text-align: center;
          padding: 24px;
          opacity: 0;
          transform: scale(0.94);
          pointer-events: none;
          transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1) 0.2s, transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
        }
        .contact-form-wrap.is-sent .contact-success {
          opacity: 1;
          transform: scale(1);
          pointer-events: auto;
        }
        .success-icon {
          width: 84px;
          height: 84px;
          border-radius: 50%;
          background: rgba(37,211,102,0.14);
          border: 2px solid rgba(37,211,102,0.4);
          display: flex;
          align-items: center;
          justify-content: center;
          color: var(--green);
          transform: scale(0);
          box-shadow: 0 0 0 0 rgba(37,211,102,0);
          transition:
            transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.35s,
            box-shadow 0.6s ease 0.55s;
        }
        .contact-form-wrap.is-sent .success-icon {
          transform: scale(1);
          box-shadow: 0 0 40px -4px rgba(37,211,102,0.45);
        }
        .success-icon svg path {
          stroke-dasharray: 24;
          stroke-dashoffset: 24;
          transition: stroke-dashoffset 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.7s;
        }
        .contact-form-wrap.is-sent .success-icon svg path {
          stroke-dashoffset: 0;
        }
        .success-title {
          margin: 22px 0 0;
          font-size: clamp(20px, 2.2vw, 24px);
          font-weight: 600;
          letter-spacing: -0.02em;
          color: var(--fg);
          opacity: 0;
          transform: translateY(8px);
          transition: opacity 0.4s ease 0.6s, transform 0.4s ease 0.6s;
        }
        .contact-form-wrap.is-sent .success-title {
          opacity: 1;
          transform: translateY(0);
        }
        .success-msg {
          margin: 8px 0 0;
          font-size: 14.5px;
          color: var(--fg-dim);
          max-width: 32ch;
          line-height: 1.55;
          opacity: 0;
          transform: translateY(8px);
          transition: opacity 0.4s ease 0.75s, transform 0.4s ease 0.75s;
        }
        .contact-form-wrap.is-sent .success-msg {
          opacity: 1;
          transform: translateY(0);
        }
        @media (max-width: 1024px) {
          .contact-grid { grid-template-columns: 1fr; gap: 36px; }
          .contact-meta { padding-top: 8px; flex-direction: row; flex-wrap: wrap; gap: 24px; }
          .send-btn { width: 100%; }
        }
        @media (max-width: 768px) {
          .contact-info .contact-meta { display: none; }
          .contact-grid { gap: 24px; }
        }
        @media (max-width: 480px) {
          .field-row { grid-template-columns: 1fr; }
        }
      `}</style>
    </section>);

}

/* ============== FOOTER ============== */
function Footer() {
  return (
    <footer className="footer">
      <div className="container footer-grid">
        <div className="footer-col">
          <WhinkLogo size={28} />
          <p className="muted" style={{ marginTop: 16, maxWidth: '32ch', fontSize: 14.5, lineHeight: 1.55 }}>
            Inteligencia artificial aplicada a la operación de tu negocio.
          </p>
        </div>
        <div className="footer-col">
          <h5>Producto</h5>
          <a href="#agente">Agente IA</a>
          <a href="#canales">Canales</a>
          <a href="#proceso">Proceso</a>
          <a href="#accion">Cómo funciona</a>
        </div>
        <div className="footer-col">
          <h5>Contacto</h5>
          <a href="mailto:whink.arg@gmail.com" className="ico-row"><Icon.Mail width="14" height="14" /> whink.arg@gmail.com</a>
          <a href="https://wa.me/5491125434996?text=Hola!%20Quiero%20saber%20m%C3%A1s%20sobre%20Whink." target="_blank" rel="noopener noreferrer" className="ico-row"><Tool.WhatsApp className="footer-brand" /> +54 9 11 2543 4996</a>
        </div>
        <div className="footer-col">
          <h5>Redes</h5>
          <a href="#" className="ico-row"><Tool.Instagram className="footer-brand" /> Instagram</a>
          <a href="#" className="ico-row"><Tool.TikTok className="footer-brand" /> TikTok</a>
        </div>
      </div>
      <div className="container footer-bottom">
        <span>© 2026 Whink · Hecho con cuidado en Argentina.</span>
        <span className="meta-partner">
          <Tool.Meta className="meta-partner-logo" />
          <span>Meta Business Partner</span>
        </span>
      </div>
      <style>{`
        .footer {
          position: relative;
          z-index: 1;
          padding: 80px var(--pad) 32px;
          background: transparent;
          border-top: 1px solid var(--border);
          overflow-x: clip;
        }
        .footer-grid {
          display: grid;
          grid-template-columns: 1.4fr 1fr 1fr 1fr;
          gap: 48px;
        }
        .footer-col { display: flex; flex-direction: column; gap: 10px; }
        .footer-col h5 {
          font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
          color: var(--fg-muted); font-weight: 600; margin: 0 0 8px;
        }
        .footer-col a {
          font-size: 14.5px; color: var(--fg-dim);
          transition: color var(--t);
          padding: 4px 0;
        }
        .footer-col a:hover { color: var(--green); }
        .ico-row { display: inline-flex; align-items: center; gap: 8px; }
        .footer-bottom {
          margin-top: 64px;
          padding-top: 24px;
          border-top: 1px solid var(--border);
          display: flex;
          justify-content: space-between;
          align-items: center;
          gap: 16px;
          font-size: 13px;
          color: var(--fg-muted);
        }
        .meta-partner { display: inline-flex; align-items: center; gap: 8px; }
        @media (max-width: 768px) {
          .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
          .footer-col:first-child { grid-column: 1 / -1; }
        }
        @media (max-width: 480px) {
          .footer { padding: 56px 20px 28px; }
          .footer-grid { grid-template-columns: 1fr; gap: 28px; }
          .footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
        }
      `}</style>
    </footer>);

}

window.WhinkParts = Object.assign(window.WhinkParts || {}, { PricingSection, FAQSection, ContactSection, Footer });