// ============================================================
// MOBILE — Propuesta 2 (Vigilancia · dark · Space Grotesk)
// Only home with hamburger menu
// ============================================================
const { useState: useState2 } = React;

const m2Theme = `
  .m2 {
    --bg: #0B0E0C;
    --surface: #131815;
    --surface-2: #1B221D;
    --surface-3: #232B25;
    --ink: #E8EDE5;
    --ink-2: #B9C2B6;
    --ink-3: #7A8479;
    --ink-4: #4C544B;
    --line: #2A322D;
    --line-strong: #3B4540;
    --green: #9FD356;
    --green-glow: rgba(159, 211, 86, 0.12);
    --warn: #F0A93D;
    background: var(--bg); color: var(--ink);
    font-family: 'Space Grotesk', sans-serif;
    -webkit-font-smoothing: antialiased;
    min-height: 100%;
    position: relative;
  }
  .m2 a { color: inherit; text-decoration: none; }
  .m2 button { font-family: inherit; cursor: pointer; border: 0; background: transparent; }
  .m2 * { box-sizing: border-box; }

  .m2-top {
    display: flex; align-items: center; justify-content: space-between;
    padding: 56px 16px 12px;
    background: var(--bg); border-bottom: 1px solid var(--line);
    position: sticky; top: 0; z-index: 20;
  }
  .m2-top .ham, .m2-top .icon-btn { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; color: var(--ink); }
  .m2-top .icon-btn { color: var(--ink-2); position: relative; }
  .m2-top .icon-btn .badge { position: absolute; top: 4px; right: 4px; width: 14px; height: 14px; background: var(--green); color: var(--bg); font-size: 9px; font-weight: 700; display: flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', monospace; }
  .m2-top .logo, .m2-top img.logo { height: 22px; display: block; }

  .m2-search { padding: 12px 16px; background: var(--bg); border-bottom: 1px solid var(--line); }
  .m2-search .input-wrap { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--surface); border: 1px solid var(--line); }
  .m2-search .input-wrap svg { width: 16px; height: 16px; color: var(--green); }
  .m2-search input { flex: 1; border: 0; background: transparent; outline: 0; font-size: 13px; color: var(--ink); font-family: 'JetBrains Mono', monospace; letter-spacing: 0.04em; }

  .m2-hero {
    margin: 0; padding: 24px 16px 28px;
    border-bottom: 1px solid var(--line);
    background-image: radial-gradient(circle, rgba(159, 211, 86, 0.06) 1px, transparent 1px);
    background-size: 20px 20px;
    position: relative;
  }
  .m2-hero .kicker { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.15em; color: var(--green); margin-bottom: 12px; display: inline-flex; align-items: center; gap: 8px; }
  .m2-hero .kicker::before { content: ""; width: 18px; height: 1px; background: var(--green); }
  .m2-hero h1 { font-size: 36px; line-height: 0.96; letter-spacing: -0.03em; font-weight: 500; color: var(--ink); margin-bottom: 14px; }
  .m2-hero h1 em { font-style: normal; color: var(--green); }
  .m2-hero p { font-size: 13px; line-height: 1.5; color: var(--ink-2); margin-bottom: 18px; }
  .m2-hero .ctas { display: flex; flex-direction: column; gap: 8px; }
  .m2-hero .product-card {
    margin-top: 22px; background: var(--surface); border: 1px solid var(--line);
    padding: 20px; position: relative;
  }
  .m2-hero .product-card::before, .m2-hero .product-card::after { content: ""; position: absolute; width: 20px; height: 20px; }
  .m2-hero .product-card::before { top: -1px; left: -1px; border-top: 2px solid var(--green); border-left: 2px solid var(--green); }
  .m2-hero .product-card::after { bottom: -1px; right: -1px; border-bottom: 2px solid var(--green); border-right: 2px solid var(--green); }
  .m2-hero .product-card img { width: 70%; max-height: 200px; object-fit: contain; display: block; margin: 0 auto 14px; }
  .m2-hero .product-card .info-tag { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--green); letter-spacing: 0.08em; padding: 4px 10px; background: var(--bg); border: 1px solid var(--green); display: inline-block; }
  .m2-hero .product-card .price-tag { float: right; background: var(--bg); padding: 8px 12px; border: 1px solid var(--line-strong); font-family: 'JetBrains Mono', monospace; }
  .m2-hero .product-card .price-tag small { display: block; font-size: 9px; color: var(--ink-3); letter-spacing: 0.1em; margin-bottom: 2px; }
  .m2-hero .product-card .price-tag strong { color: var(--green); font-size: 18px; font-weight: 700; }

  .m2-trust { display: grid; grid-template-columns: 1fr 1fr; background: var(--surface); border-bottom: 1px solid var(--line); }
  .m2-trust .item { padding: 16px; border-right: 1px solid var(--line); display: flex; gap: 10px; align-items: center; }
  .m2-trust .item:nth-child(2n) { border-right: 0; }
  .m2-trust .item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .m2-trust .num { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--green); letter-spacing: 0.1em; flex-shrink: 0; }
  .m2-trust h4 { font-size: 13px; font-weight: 600; color: var(--ink); }
  .m2-trust p { font-size: 10px; color: var(--ink-3); margin-top: 2px; font-family: 'JetBrains Mono', monospace; letter-spacing: 0.05em; }

  .m2-section { padding: 28px 16px; border-bottom: 1px solid var(--line); }
  .m2-section-head { margin-bottom: 20px; }
  .m2-section-head .kicker { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.15em; color: var(--green); margin-bottom: 8px; display: inline-flex; align-items: center; gap: 8px; }
  .m2-section-head .kicker::before { content: ""; width: 18px; height: 1px; background: var(--green); }
  .m2-section-head h2 { font-size: 26px; font-weight: 500; line-height: 1.05; letter-spacing: -0.025em; color: var(--ink); }
  .m2-section-head h2 em { font-style: normal; color: var(--green); }

  .m2-cat { background: var(--surface); border: 1px solid var(--line); padding: 16px 18px; display: flex; align-items: center; gap: 14px; margin-bottom: 8px; position: relative; }
  .m2-cat .hex { width: 48px; height: 48px; background: var(--bg); border: 1px solid var(--line-strong); display: flex; align-items: center; justify-content: center; clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); color: var(--green); flex-shrink: 0; }
  .m2-cat .hex svg { width: 22px; height: 22px; }
  .m2-cat .num { position: absolute; top: 10px; right: 14px; font-family: 'JetBrains Mono', monospace; font-size: 9px; color: var(--ink-4); letter-spacing: 0.1em; }
  .m2-cat h4 { font-size: 15px; font-weight: 600; color: var(--ink); margin-bottom: 2px; }
  .m2-cat p { font-size: 11px; color: var(--green); font-family: 'JetBrains Mono', monospace; letter-spacing: 0.05em; }

  .m2-pgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .m2-pcard { background: var(--surface); border: 1px solid var(--line); }
  .m2-pcard .img-wrap { aspect-ratio: 1; background: var(--bg); padding: 16px; position: relative; }
  .m2-pcard .img-wrap img { width: 100%; height: 100%; object-fit: contain; }
  .m2-pcard .info { padding: 10px 12px 12px; }
  .m2-pcard .sku-row { display: flex; justify-content: space-between; font-family: 'JetBrains Mono', monospace; font-size: 9px; color: var(--ink-3); letter-spacing: 0.04em; margin-bottom: 6px; }
  .m2-pcard .sku-row .brand { color: var(--green); }
  .m2-pcard h4 { font-size: 12px; font-weight: 500; line-height: 1.3; color: var(--ink); margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .m2-pcard .price { font-family: 'Space Grotesk'; font-size: 17px; font-weight: 700; color: var(--green); letter-spacing: -0.02em; }
  .m2-pcard .old { font-size: 11px; color: var(--ink-3); text-decoration: line-through; margin-left: 4px; }
  .m2-pcard .badge { position: absolute; top: 8px; left: 8px; padding: 3px 8px; font-size: 9px; font-weight: 700; font-family: 'JetBrains Mono', monospace; letter-spacing: 0.06em; }
  .m2-pcard .badge.sale { background: var(--warn); color: var(--bg); }
  .m2-pcard .badge.new { background: var(--green); color: var(--bg); }

  .m2-tech-block { padding: 28px 16px; background: var(--surface); border-bottom: 1px solid var(--line); }
  .m2-tech-block h2 { font-size: 30px; line-height: 1; letter-spacing: -0.03em; font-weight: 500; margin-bottom: 12px; }
  .m2-tech-block h2 em { font-style: normal; color: var(--green); }
  .m2-tech-block p { font-size: 13px; line-height: 1.55; color: var(--ink-2); margin-bottom: 22px; }
  .m2-tech-block .ctas { display: flex; flex-direction: column; gap: 8px; }
  .m2-tech-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); margin-top: 22px; padding: 1px; }
  .m2-tech-feats .feat { background: var(--bg); padding: 14px; }
  .m2-tech-feats .num { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--green); letter-spacing: 0.1em; margin-bottom: 6px; }
  .m2-tech-feats h4 { font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
  .m2-tech-feats p { font-size: 11px; color: var(--ink-3); margin: 0; }

  /* Buttons */
  .m2-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border: 1px solid; font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: all 0.15s; }
  .m2-btn-primary { background: var(--green); color: var(--bg); border-color: var(--green); }
  .m2-btn-outline { background: transparent; color: var(--ink); border-color: var(--line-strong); }
  .m2-btn-ghost { background: transparent; color: var(--ink-2); border-color: transparent; }
  .m2-btn-block { width: 100%; }
  .m2-btn svg { width: 12px; height: 12px; }

  /* Drawer */
  .m2-drawer { position: absolute; inset: 0; z-index: 100; pointer-events: none; }
  .m2-drawer .backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.7); opacity: 0; transition: opacity 0.25s; }
  .m2-drawer.open { pointer-events: all; }
  .m2-drawer.open .backdrop { opacity: 1; }
  .m2-drawer .panel { position: absolute; top: 0; left: 0; bottom: 0; width: 84%; background: var(--bg); padding: 56px 0 24px; transform: translateX(-100%); transition: transform 0.3s cubic-bezier(.4,0,.2,1); display: flex; flex-direction: column; border-right: 1px solid var(--green); }
  .m2-drawer.open .panel { transform: translateX(0); }
  .m2-drawer .panel-head { padding: 12px 22px 18px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
  .m2-drawer .panel-head img { height: 22px; }
  .m2-drawer .panel-head .close { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; color: var(--green); font-size: 22px; }
  .m2-drawer .panel-body { flex: 1; overflow: auto; padding: 12px 0; }
  .m2-drawer .group-label { padding: 14px 22px 8px; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: 0.15em; color: var(--green); text-transform: uppercase; }
  .m2-drawer .row { padding: 13px 22px; font-family: 'JetBrains Mono', monospace; font-size: 13px; color: var(--ink); letter-spacing: 0.05em; text-transform: uppercase; display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
  .m2-drawer .row:hover { background: var(--surface); }
  .m2-drawer .row .arr { color: var(--green); font-size: 11px; }
  .m2-drawer .panel-foot { border-top: 1px solid var(--line); padding: 16px 22px; font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--green); letter-spacing: 0.08em; display: flex; align-items: center; gap: 8px; }
  .m2-drawer .panel-foot::before { content:""; width: 6px; height: 6px; background: var(--green); border-radius: 50%; }
`;

const I2 = {
  search: <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6"><circle cx="11" cy="11" r="7"/><path d="M20 20l-3-3"/></svg>,
  cart: <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6"><path d="M5 7h14l-1.5 10.5a2 2 0 01-2 1.5h-7a2 2 0 01-2-1.5L5 7z"/><path d="M9 10V6a3 3 0 016 0v4"/></svg>,
  heart: <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6"><path d="M12 21s-7-4.5-7-10a4 4 0 017-2.6A4 4 0 0119 11c0 5.5-7 10-7 10z"/></svg>,
  ham: <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M4 7h16M4 12h16M4 17h16"/></svg>,
  arr: <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6"><path d="M5 12h14M13 6l6 6-6 6"/></svg>,
  hex: <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4"><path d="M12 2l9 5v10l-9 5-9-5V7z"/></svg>,
};

const M2_PRODUCTS = [
  { sku: 'DJ-CAM-IP4K-01', name: 'Cámara IP Domo 4K visión nocturna 60m', price: 287.50, oldPrice: 359.00, brand: 'HIKVISION', tag: 'sale' },
  { sku: 'DJ-MOT-CORR-1T', name: 'Motor corredizo 1000kg con cremallera', price: 412.00, oldPrice: null, brand: 'CASEMIL', tag: 'new' },
  { sku: 'DJ-CAM-BUL-PRO', name: 'Cámara bullet exterior 5MP IR 40m', price: 156.00, oldPrice: 198.00, brand: 'DAHUA', tag: 'sale' },
  { sku: 'DJ-ALA-KIT-WF', name: 'Kit alarma WiFi 8 sensores', price: 189.50, oldPrice: 245.00, brand: 'GARNET', tag: 'sale' },
];

const M2_CATS = [
  { name: 'Cámaras CCTV', sub: '4K · IP · PTZ' },
  { name: 'Motores y Portones', sub: 'Corredizos · Levadizos' },
  { name: 'Alarmas e Intrusión', sub: 'Sensores · Sirenas' },
  { name: 'Control de Accesos', sub: 'Biométricos' },
  { name: 'Domótica IoT', sub: 'Smart Home' },
];

function M2Pcard({ p }) {
  return (
    <div className="m2-pcard">
      <div className="img-wrap">
        <span className={`badge ${p.tag}`}>{p.tag==='sale'?'OFERTA':'NUEVO'}</span>
        <img src="assets/product-camera.svg" alt=""/>
      </div>
      <div className="info">
        <div className="sku-row"><span>{p.sku.slice(0,12)}</span><span className="brand">{p.brand}</span></div>
        <h4>{p.name}</h4>
        <div>
          <span className="price">${p.price.toFixed(2)}</span>
          {p.oldPrice && <span className="old">${p.oldPrice.toFixed(2)}</span>}
        </div>
      </div>
    </div>
  );
}

function M2App() {
  const [menu, setMenu] = useState2(false);
  return (
    <div className="m2">
      <style>{m2Theme}</style>
      <div className="m2-top">
        <button className="ham" onClick={()=>setMenu(true)}>{I2.ham}</button>
        <img className="logo" src="assets/logos/horizontal-white.png" alt=""/>
        <div style={{display:'flex',gap:0}}>
          <button className="icon-btn">{I2.heart}</button>
          <button className="icon-btn">{I2.cart}<span className="badge">2</span></button>
        </div>
      </div>

      <div className="m2-search">
        <div className="input-wrap">
          {I2.search}
          <input placeholder="SKU, MODELO O CATEGORÍA…"/>
        </div>
      </div>

      <section className="m2-hero">
        <div className="kicker">VIGILANCIA PROFESIONAL · CCTV 4K</div>
        <h1>Vigila lo que más importa, <em>con grado militar.</em></h1>
        <p>Cámaras IP 4K, motores para portones, alarmas y domótica. Marcas líderes del mundo, con stock permanente en Venezuela.</p>
        <div className="ctas">
          <button className="m2-btn m2-btn-primary m2-btn-block">Ver catálogo {I2.arr}</button>
          <button className="m2-btn m2-btn-outline m2-btn-block">Hablar con asesor</button>
        </div>
        <div className="product-card">
          <div className="price-tag">
            <small>DESDE</small>
            <strong>$287.50</strong>
          </div>
          <img src="assets/product-camera.svg" alt=""/>
          <span className="info-tag">// LIVE STOCK · 12 UND</span>
        </div>
      </section>

      <section className="m2-trust">
        <div className="item"><span className="num">/ 01</span><div><h4>Stock permanente</h4><p>847 SKU disponibles</p></div></div>
        <div className="item"><span className="num">/ 02</span><div><h4>Envío 24–72h</h4><p>Cobertura nacional</p></div></div>
        <div className="item"><span className="num">/ 03</span><div><h4>Pago manual</h4><p>Transferencia · Móvil</p></div></div>
        <div className="item"><span className="num">/ 04</span><div><h4>Soporte técnico</h4><p>WhatsApp 8 a 18h</p></div></div>
      </section>

      <section className="m2-section">
        <div className="m2-section-head">
          <div className="kicker">EXPLORÁ POR CATEGORÍA · 06 ÁREAS</div>
          <h2>Tu instalación,<br/>desde el sensor a la nube.</h2>
        </div>
        {M2_CATS.map((c, i) => (
          <div key={c.name} className="m2-cat">
            <span className="num">CAT · 0{i+1}</span>
            <div className="hex">{I2.hex}</div>
            <div>
              <h4>{c.name}</h4>
              <p>// {c.sub}</p>
            </div>
          </div>
        ))}
      </section>

      <section className="m2-section">
        <div className="m2-section-head">
          <div className="kicker">PRODUCTOS DESTACADOS · TOP-RATED</div>
          <h2>Los que más<br/>se mueven esta semana.</h2>
        </div>
        <div className="m2-pgrid">
          {M2_PRODUCTS.map(p => <M2Pcard key={p.sku} p={p}/>)}
        </div>
      </section>

      <section className="m2-tech-block">
        <div className="m2-section-head" style={{marginBottom: 16}}>
          <div className="kicker">PORTAL DE TÉCNICOS · SUBDOMINIO</div>
        </div>
        <h2>¿Instalas equipos?<br/><em>Súmate a la red.</em></h2>
        <p>Directorio público de técnicos certificados. Los clientes te contactan directo. Sin comisiones.</p>
        <div className="ctas">
          <button className="m2-btn m2-btn-primary m2-btn-block">Registrarme {I2.arr}</button>
          <button className="m2-btn m2-btn-ghost m2-btn-block">Ver técnicos</button>
        </div>
        <div className="m2-tech-feats">
          <div className="feat"><div className="num">// 01</div><h4>Registro abierto</h4><p>3 minutos.</p></div>
          <div className="feat"><div className="num">// 02</div><h4>Aprobación 24h</h4><p>Verificación rápida.</p></div>
          <div className="feat"><div className="num">// 03</div><h4>Tarifas mayoristas</h4><p>Mejores precios.</p></div>
          <div className="feat"><div className="num">// 04</div><h4>Trabajos directos</h4><p>Cobras entero.</p></div>
        </div>
      </section>

      <div className={`m2-drawer ${menu?'open':''}`}>
        <div className="backdrop" onClick={()=>setMenu(false)}></div>
        <div className="panel">
          <div className="panel-head">
            <img src="assets/logos/horizontal-white.png" alt=""/>
            <button className="close" onClick={()=>setMenu(false)}>×</button>
          </div>
          <div className="panel-body">
            <div className="group-label">// NAVEGACIÓN</div>
            <div className="row">// INICIO<span className="arr">→</span></div>
            <div className="row">// TIENDA<span className="arr">→</span></div>
            <div className="row">// CARRITO (2)<span className="arr">→</span></div>
            <div className="row">// ACCESO<span className="arr">→</span></div>
            <div className="row">// PORTAL TÉCNICOS<span className="arr">→</span></div>
            <div className="group-label">// CATEGORÍAS</div>
            {M2_CATS.map(c => (
              <div key={c.name} className="row">// {c.name.toUpperCase()}<span className="arr">→</span></div>
            ))}
            <div className="group-label">// CONTACTO</div>
            <div className="row">// WHATSAPP +58 414 555 0119<span className="arr">→</span></div>
            <div className="row">// VENTAS@DONJUANSECURITY.COM<span className="arr">→</span></div>
          </div>
          <div className="panel-foot">SISTEMA · ONLINE · 24/7</div>
        </div>
      </div>
    </div>
  );
}

window.M2App = M2App;
