/* global React */
const { useState, useEffect, useRef } = React;

/* =====================================================================
   TACOS AL PASTOR AZ — CATERING HOUSE
   Diseño cálido, restaurante familiar. Catering como protagonista.
   Conversión por WhatsApp + formulario.
   ===================================================================== */

function Proposal1Trompo({ tweaks = {} }) {
  const accent    = tweaks.accent    || "#e8453a";   // rojo restaurante cálido (dark mode)
  const highlight = tweaks.highlight || "#f0a04f";   // naranja cálido (dark mode)
  const cream     = tweaks.cream     || "#1a1410";   // fondo oscuro cálido (dark mode)
  const ink       = tweaks.ink       || "#f5eada";   // texto crema (dark mode)
  const headline  = tweaks.headline  || "Llevamos el trompo a tu evento.";
  const showMarquee = tweaks.showMarquee !== false;

  const data = window.MENU_DATA;
  const contact = data.contact;
  const catering = data.catering;
  const location = data.locations[0];

  const [activeCat, setActiveCat] = useState("tacos");
  const [meat, setMeat] = useState("Pastor");
  const [drawerOpen, setDrawerOpen] = useState(false);
  const [openFaq, setOpenFaq] = useState(0);
  const [form, setForm] = useState({ nombre: "", telefono: "", fecha: "", personas: "" });
  const [submitted, setSubmitted] = useState(false);

  useEffect(() => {
    document.body.style.overflow = drawerOpen ? "hidden" : "";
    return () => { document.body.style.overflow = ""; };
  }, [drawerOpen]);

  const active = data.categories.find((c) => c.id === activeCat);
  const s = warmStyles;
  const marquee = "BODAS · QUINCEAÑERAS · CORPORATIVOS · CUMPLEAÑOS · FIESTAS · TROMPO EN VIVO · ";

  const waText = encodeURIComponent("Hola, me interesa cotizar catering para mi evento. ¿Me pueden dar más información?");
  const waLink = `https://wa.me/${contact.whatsappDigits}?text=${waText}`;

  function handleFormSubmit(e) {
    e.preventDefault();
    const msg = `Hola, soy ${form.nombre}. Me interesa cotizar catering para el ${form.fecha}, para ${form.personas} personas. Mi teléfono: ${form.telefono}.`;
    const url = `https://wa.me/${contact.whatsappDigits}?text=${encodeURIComponent(msg)}`;
    window.open(url, "_blank", "noopener,noreferrer");
    setSubmitted(true);
  }

  function setField(k, v) { setForm((prev) => ({ ...prev, [k]: v })); }

  return (
    <div style={s.root} data-trompo>
      <style>{`
        :root {
          --warm-red: ${accent};
          --warm-orange: ${highlight};
          --warm-cream: ${cream};
          --warm-ink: ${ink};
          --warm-card: #241a13;
          --warm-soft: #b8a890;
          --warm-line: rgba(245,234,218,0.12);
          --warm-alt: #110b08;
          --warm-deep: #0a0604;
          --wa-green: #25D366;
          --wa-green-dark: #1ebe57;
        }

        [data-trompo] *::selection { background: ${accent}; color: #fff; }
        [data-trompo] a { color: inherit; text-decoration: none; }
        [data-trompo] button { font-family: inherit; cursor: pointer; }

        [data-trompo] [data-nav-link]:hover { color: ${accent}; }
        [data-trompo] [data-cta-primary]    { transition: background 180ms ease, transform 120ms ease, box-shadow 180ms ease; }
        [data-trompo] [data-cta-primary]:hover { background: #a82a1f; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(201,58,44,0.28); }
        [data-trompo] [data-cta-ghost]      { transition: background 180ms ease, color 180ms ease, border-color 180ms ease; }
        [data-trompo] [data-cta-ghost]:hover { background: ${accent}; color: #fff; border-color: ${accent}; }
        [data-trompo] [data-cta-wa]         { transition: background 180ms ease, transform 120ms ease, box-shadow 180ms ease; }
        [data-trompo] [data-cta-wa]:hover   { background: var(--wa-green-dark); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(37,211,102,0.32); }

        [data-trompo] [data-event-card]:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,0.5); border-color: ${accent}; }
        [data-trompo] [data-event-card]       { transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease; }

        [data-trompo] [data-pkg]              { transition: transform 220ms ease, box-shadow 220ms ease; }
        [data-trompo] [data-pkg]:hover        { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(0,0,0,0.55); }

        [data-trompo] [data-faq-q]            { transition: color 160ms ease; }
        [data-trompo] [data-faq-q]:hover      { color: ${accent}; }

        [data-trompo] [data-meat-pill]        { transition: border-color 160ms ease, background 160ms ease, color 160ms ease; }
        [data-trompo] [data-meat-pill]:hover  { border-color: ${accent}; color: ${accent}; }
        [data-trompo] [data-meat-pill][data-active="true"]:hover { color: #fff; }

        [data-trompo] [data-cat-tab]:hover    { color: ${accent}; }

        [data-trompo] [data-fab]              { transition: transform 200ms ease, box-shadow 200ms ease; animation: fabBounce 3s ease-in-out infinite; }
        [data-trompo] [data-fab]:hover        { transform: scale(1.08); box-shadow: 0 14px 36px rgba(37,211,102,0.5); }

        [data-trompo] [data-mobile-toggle] { display: none; }
        [data-trompo] [data-mobile-drawer] { display: none; }

        [data-trompo] input::placeholder, [data-trompo] textarea::placeholder { color: rgba(245,234,218,0.4); }
        [data-trompo] input:focus, [data-trompo] textarea:focus { outline: none; border-color: ${accent}; box-shadow: 0 0 0 3px rgba(201,58,44,0.15); }

        @media (max-width: 900px) {
          [data-trompo] [data-topbar-right] { display: none !important; }
          [data-trompo] [data-nav-links] { display: none !important; }
          [data-trompo] [data-order-btn-desktop] { display: none !important; }
          [data-trompo] [data-mobile-toggle] {
            display: flex !important; flex-direction: column;
            justify-content: center; gap: 5px; align-items: center;
            width: 44px; height: 44px;
            background: transparent; border: 1px solid ${accent}; padding: 0;
            border-radius: 6px;
          }
          [data-trompo] [data-mobile-toggle] span {
            width: 18px; height: 1.5px; background: ${ink};
            transition: transform 200ms ease, opacity 200ms ease;
          }
          [data-trompo] [data-mobile-toggle][data-open="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
          [data-trompo] [data-mobile-toggle][data-open="true"] span:nth-child(2) { opacity: 0; }
          [data-trompo] [data-mobile-toggle][data-open="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
          [data-trompo] [data-mobile-drawer] {
            display: block !important;
            position: fixed; inset: 0; z-index: 100;
            background: ${cream};
            padding: 80px 24px 40px;
            transform: translateY(-100%);
            transition: transform 320ms cubic-bezier(.4,0,.2,1);
            overflow-y: auto;
          }
          [data-trompo] [data-mobile-drawer][data-open="true"] { transform: translateY(0); }
          [data-trompo] [data-mobile-drawer] a {
            display: block; font-family: 'Anton', sans-serif;
            font-size: 36px; letter-spacing: 0.04em; padding: 18px 0;
            border-bottom: 1px solid var(--warm-line); color: ${ink};
          }
          [data-trompo] [data-mobile-drawer] [data-drawer-cta] {
            margin-top: 32px; width: 100%;
            background: ${accent}; color: #fff; border: none; border-radius: 10px;
            padding: 20px; font-weight: 800; font-size: 14px; letter-spacing: 0.2em;
          }
          [data-trompo] [data-mobile-drawer] [data-drawer-wa] {
            margin-top: 12px; width: 100%;
            background: var(--wa-green); color: #fff; border: none; border-radius: 10px;
            padding: 20px; font-weight: 800; font-size: 14px; letter-spacing: 0.18em;
            display: inline-flex; align-items: center; justify-content: center; gap: 10px;
          }
          [data-trompo] [data-drawer-close] {
            position: absolute; top: 18px; right: 16px;
            width: 44px; height: 44px;
            background: transparent; border: 1px solid ${accent}; border-radius: 6px;
            color: ${ink}; font-size: 20px;
          }

          [data-trompo] [data-nav] { padding: 14px 16px !important; }
          [data-trompo] [data-topbar-inner] { padding: 0 16px !important; font-size: 10px !important; }

          [data-trompo] [data-hero] { padding: 30px 0 50px !important; }
          [data-trompo] [data-hero-grid] { grid-template-columns: 1fr !important; gap: 36px !important; padding: 0 20px !important; }
          [data-trompo] [data-hero-left] { padding: 0 !important; }
          [data-trompo] [data-hero-right] { height: 360px !important; }
          [data-trompo] [data-hero-h1] { font-size: clamp(48px, 12vw, 80px) !important; }
          [data-trompo] [data-hero-ctas] { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
          [data-trompo] [data-hero-ctas] button, [data-trompo] [data-hero-ctas] a { width: 100% !important; }

          [data-trompo] [data-marquee-track] { font-size: 22px !important; }

          [data-trompo] [data-sec-pad] { padding: 64px 20px !important; }
          [data-trompo] [data-sec-header] { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; margin-bottom: 28px !important; }
          [data-trompo] [data-sec-h2] { text-align: left !important; font-size: clamp(42px, 11vw, 64px) !important; }

          [data-trompo] [data-events-grid] { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
          [data-trompo] [data-event-card] { padding: 20px !important; }
          [data-trompo] [data-event-name] { font-size: 18px !important; }

          [data-trompo] [data-pkg-grid] { grid-template-columns: 1fr !important; gap: 16px !important; }

          [data-trompo] [data-form-grid] { grid-template-columns: 1fr !important; gap: 20px !important; }
          [data-trompo] [data-form-fields] { grid-template-columns: 1fr !important; }

          [data-trompo] [data-trompo-grid] { grid-template-columns: 1fr !important; gap: 36px !important; }
          [data-trompo] [data-trompo-right] { height: 420px !important; }

          [data-trompo] [data-menu-layout] { grid-template-columns: 1fr !important; gap: 20px !important; }
          [data-trompo] [data-cat-tabs] {
            display: flex !important; flex-direction: row !important;
            overflow-x: auto; gap: 4px;
            margin: 0 -20px; padding: 0 20px;
            border-bottom: 1px solid var(--warm-line);
          }
          [data-trompo] [data-cat-tabs]::-webkit-scrollbar { display: none; }
          [data-trompo] [data-cat-tab] { flex-shrink: 0; padding: 12px 14px !important; border-bottom: none !important; }
          [data-trompo] [data-cat-tab][data-active="true"] { box-shadow: inset 0 -3px 0 ${accent} !important; }
          [data-trompo] [data-menu-panel] { padding: 24px !important; }
          [data-trompo] [data-menu-panel-head] { flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; }
          [data-trompo] [data-menu-panel-es] { font-size: 36px !important; }
          [data-trompo] [data-meat-pills] { overflow-x: auto; flex-wrap: nowrap !important; padding-bottom: 6px; margin: 0 -20px; padding-left: 20px; padding-right: 20px; }
          [data-trompo] [data-meat-pills]::-webkit-scrollbar { display: none; }
          [data-trompo] [data-meat-pill] { flex-shrink: 0; }
          [data-trompo] [data-menu-item] { flex-wrap: wrap !important; }

          [data-trompo] [data-loc-grid] { grid-template-columns: 1fr !important; gap: 20px !important; }
          [data-trompo] [data-loc-card] { padding: 28px !important; }

          [data-trompo] [data-footer] { padding: 50px 20px 30px !important; }
          [data-trompo] [data-footer-grid] { grid-template-columns: 1fr 1fr !important; gap: 28px !important; }

          [data-trompo] [data-fab] { bottom: 18px !important; right: 18px !important; width: 58px !important; height: 58px !important; }
        }

        @media (max-width: 480px) {
          [data-trompo] [data-events-grid] { grid-template-columns: 1fr !important; }
          [data-trompo] [data-footer-grid] { grid-template-columns: 1fr !important; }
        }
      `}</style>

      {/* TOP BAR */}
      <div style={s.stickyHeader}>
        <div style={s.topbar}>
          <div style={s.topbarInner} data-topbar-inner>
            <div style={s.topbarLeft}>
              <span style={s.liveDot}></span>
              <span style={s.topbarStrong}>CATERING DISPONIBLE</span>
              <span style={s.topbarSep}>·</span>
              <span style={s.topbarMuted}>Phoenix metro · Llamadas y WhatsApp</span>
            </div>
            <div style={s.topbarRight} data-topbar-right>
              <span style={s.topbarMuted}>Llámanos</span>
              <span style={s.topbarSep}>·</span>
              <a href={`tel:+${contact.whatsappDigits}`} style={s.topbarStrong}>{contact.whatsappDisplay}</a>
            </div>
          </div>
        </div>

        {/* NAV */}
        <nav style={s.nav} data-nav>
          <a href="#top" style={s.navLogo}>
            <div>
              <div style={s.navLogoTop}>TACOS AL PASTOR</div>
              <div style={s.navLogoBot}>CATERING · PEORIA, AZ</div>
            </div>
          </a>
          <div style={s.navLinks} data-nav-links>
            <a style={s.navLink} data-nav-link href="#catering">Catering</a>
            <a style={s.navLink} data-nav-link href="#paquetes">Paquetes</a>
            <a style={s.navLink} data-nav-link href="#menu">Menú</a>
            <a style={s.navLink} data-nav-link href="#faq">FAQ</a>
            <a style={s.navLink} data-nav-link href="#visitanos">Visítanos</a>
          </div>
          <a href="#contacto" style={s.orderBtn} data-cta-primary data-order-btn-desktop>
            COTIZAR CATERING →
          </a>
          <button data-mobile-toggle data-open={drawerOpen} aria-label="Menú" onClick={() => setDrawerOpen(true)}>
            <span></span><span></span><span></span>
          </button>
        </nav>
      </div>

      {/* MOBILE DRAWER */}
      <div data-mobile-drawer data-open={drawerOpen}>
        <button data-drawer-close aria-label="Cerrar" onClick={() => setDrawerOpen(false)}>×</button>
        <a href="#catering" onClick={() => setDrawerOpen(false)}>Catering</a>
        <a href="#paquetes" onClick={() => setDrawerOpen(false)}>Paquetes</a>
        <a href="#menu" onClick={() => setDrawerOpen(false)}>Menú</a>
        <a href="#faq" onClick={() => setDrawerOpen(false)}>FAQ</a>
        <a href="#visitanos" onClick={() => setDrawerOpen(false)}>Visítanos</a>
        <a href="#contacto" data-drawer-cta onClick={() => setDrawerOpen(false)}>COTIZAR CATERING →</a>
        <a href={waLink} target="_blank" rel="noopener noreferrer" data-drawer-wa onClick={() => setDrawerOpen(false)}>
          <WhatsAppIcon size={18} /> WHATSAPP DIRECTO
        </a>
      </div>

      {/* HERO CATERING — protagonista */}
      <section id="top" style={s.hero} data-hero>
        <div style={s.heroGlow1}></div>
        <div style={s.heroGlow2}></div>

        <div style={s.heroGrid} data-hero-grid>
          <div style={s.heroLeft} data-hero-left>
            <div style={s.heroEyebrow}>
              <span style={s.heroEyebrowDot}></span>
              <span>CATERING AUTÉNTICO · ARIZONA</span>
            </div>

            <h1 style={s.heroH1} data-hero-h1>
              <span style={s.heroH1Top}>Llevamos el</span>
              <br />
              <span style={s.heroH1Big}>trompo</span>
              <br />
              <span style={s.heroH1Script}>a tu evento.</span>
            </h1>

            <p style={s.heroSub}>
              Catering de tacos al pastor para bodas, quinceañeras, corporativos y fiestas
              privadas. El trompo en vivo, taquero en sitio, y el sabor que tu evento se merece.
            </p>

            <div style={s.heroCtas} data-hero-ctas>
              <a href="#contacto" style={s.btnPrimary} data-cta-primary>
                SOLICITA TU COTIZACIÓN →
              </a>
              <a href={waLink} target="_blank" rel="noopener noreferrer" style={s.btnWa} data-cta-wa>
                <WhatsAppIcon size={18} /> CHATEA POR WHATSAPP
              </a>
            </div>

            <div style={s.heroStats}>
              <Stat num="500+" lab="Eventos" />
              <Stat num="30+" lab="Mín. invitados" />
              <Stat num="5★" lab="Reseñas" accent={accent} />
            </div>
          </div>

          <div style={s.heroRight} data-hero-right>
            <div style={s.heroPhotoFrame}>
              <img src="assets/trompo.png" alt="Trompo de pastor" style={s.heroTrompo} />
            </div>
          </div>
        </div>
      </section>

      {/* MARQUEE de eventos */}
      {showMarquee && (
        <div style={s.marqueeWrap}>
          <div style={s.marqueeTrack} data-marquee-track>
            <span>{marquee.repeat(4)}</span>
          </div>
        </div>
      )}

      {/* TIPOS DE EVENTOS */}
      <section id="catering" style={s.eventsSec} data-sec-pad>
        <div style={s.secHeader} data-sec-header>
          <div style={s.secEyebrow}>Para cualquier ocasión</div>
          <h2 style={s.secH2} data-sec-h2>
            Tu evento, <em style={{ fontFamily: "'Fraunces', serif", fontStyle: "italic", color: accent }}>nuestro sabor.</em>
          </h2>
        </div>
        <p style={s.secLead}>
          Atendemos eventos de todo tipo y tamaño en el área de Phoenix.
          Llevamos todo: trompo, taquero, salsas, tortillas hechas a mano y la fiesta del sabor.
        </p>
        <div style={s.eventsGrid} data-events-grid>
          {catering.eventTypes.map((ev, i) => (
            <div key={i} style={s.eventCard} data-event-card>
              <EventIcon name={ev.name} accent={accent} />
              <div style={s.eventName} data-event-name>{ev.name}</div>
              <div style={s.eventDesc}>{ev.desc}</div>
            </div>
          ))}
        </div>
      </section>

      {/* PAQUETES */}
      <section id="paquetes" style={s.pkgSec} data-sec-pad>
        <div style={s.secHeader} data-sec-header>
          <div style={s.secEyebrow}>Paquetes de catering</div>
          <h2 style={s.secH2} data-sec-h2>
            Elige el tuyo,<br />
            <em style={{ fontFamily: "'Fraunces', serif", fontStyle: "italic", color: accent }}>nosotros llevamos la fiesta.</em>
          </h2>
        </div>
        <p style={s.secLead}>
          Precios por persona, mínimo 30 invitados. Personalizamos cada paquete según tu evento.
        </p>
        <div style={s.pkgGrid} data-pkg-grid>
          {catering.packages.map((pkg, i) => (
            <div
              key={i}
              data-pkg
              style={{
                ...s.pkgCard,
                ...(pkg.highlighted ? s.pkgCardHi : {}),
              }}
            >
              {pkg.highlighted && <div style={s.pkgBadge}>MÁS POPULAR</div>}
              <div style={s.pkgName}>{pkg.name}</div>
              <div style={s.pkgTagline}>{pkg.tagline}</div>
              <div style={s.pkgPrice}>
                <span style={s.pkgPriceLabel}>desde</span>
                <span style={s.pkgPriceNum}>${pkg.priceFrom}</span>
                <span style={s.pkgPriceUnit}>/persona</span>
              </div>
              <ul style={s.pkgFeatures}>
                {pkg.features.map((f, j) => (
                  <li key={j} style={s.pkgFeature}>
                    <span style={{ ...s.pkgCheck, color: pkg.highlighted ? "#fff" : accent }}>✓</span>
                    <span>{f}</span>
                  </li>
                ))}
              </ul>
              <a
                href="#contacto"
                style={pkg.highlighted ? s.pkgBtnHi : s.pkgBtn}
                data-cta-primary={!pkg.highlighted ? true : undefined}
              >
                COTIZAR {pkg.name.toUpperCase()}
              </a>
            </div>
          ))}
        </div>
      </section>

      {/* TROMPO STORY */}
      <section style={s.trompoSec} data-sec-pad>
        <div style={s.trompoGrid} data-trompo-grid>
          <div style={s.trompoLeft}>
            <div style={s.secEyebrow}>El corazón de la fiesta</div>
            <h2 style={s.trompoH2}>
              <span>12 horas de marinada,</span><br />
              <span style={{ fontFamily: "'Pacifico', cursive", color: accent, fontSize: "1.05em" }}>fuego sin parar.</span>
            </h2>
            <p style={s.trompoCopy}>
              Achiote, guajillo, piña, vinagre, ajo. Lomo de cerdo apilado en el trompo,
              rostizado a fuego lento, rebanado al momento sobre tortilla de maíz hecha a mano.
              Piña, cebolla, cilantro, limón. El al pastor de verdad — el que tu evento se merece.
            </p>
            <div style={s.trompoStats}>
              <div style={s.trompoStat}>
                <div style={s.trompoStatNum}>12<span style={s.trompoStatUnit}>h</span></div>
                <div style={s.trompoStatLab}>Marinado</div>
              </div>
              <div style={s.trompoStatDiv}></div>
              <div style={s.trompoStat}>
                <div style={s.trompoStatNum}>40<span style={s.trompoStatUnit}>lb</span></div>
                <div style={s.trompoStatLab}>Por trompo</div>
              </div>
              <div style={s.trompoStatDiv}></div>
              <div style={s.trompoStat}>
                <div style={s.trompoStatNum}>100%</div>
                <div style={s.trompoStatLab}>Hecho a mano</div>
              </div>
            </div>
          </div>

          <div style={s.trompoRight} data-trompo-right>
            <div style={s.trompoStage}>
              <div style={s.trompoBacklight}></div>
              <img src="assets/trompo.png" alt="Trompo" style={s.trompoImg} />
            </div>
          </div>
        </div>
      </section>

      {/* FAQ */}
      <section id="faq" style={s.faqSec} data-sec-pad>
        <div style={s.secHeader} data-sec-header>
          <div style={s.secEyebrow}>Preguntas frecuentes</div>
          <h2 style={s.secH2} data-sec-h2>
            Todo lo que <em style={{ fontFamily: "'Fraunces', serif", fontStyle: "italic", color: accent }}>necesitas saber.</em>
          </h2>
        </div>
        <div style={s.faqList}>
          {catering.faq.map((item, i) => (
            <div key={i} style={s.faqItem}>
              <button
                style={s.faqQ}
                data-faq-q
                onClick={() => setOpenFaq(openFaq === i ? -1 : i)}
                aria-expanded={openFaq === i}
              >
                <span>{item.q}</span>
                <span style={{ ...s.faqIcon, transform: openFaq === i ? "rotate(45deg)" : "rotate(0deg)" }}>+</span>
              </button>
              {openFaq === i && <div style={s.faqA}>{item.a}</div>}
            </div>
          ))}
        </div>
      </section>

      {/* CONTACTO: FORMULARIO + WHATSAPP */}
      <section id="contacto" style={s.contactSec} data-sec-pad>
        <div style={s.contactGrid} data-form-grid>
          <div style={s.contactLeft}>
            <div style={s.secEyebrow}>Solicita tu cotización</div>
            <h2 style={s.contactH2}>
              Cuéntanos de<br />
              <em style={{ fontFamily: "'Fraunces', serif", fontStyle: "italic", color: accent }}>tu evento.</em>
            </h2>
            <p style={s.contactLead}>
              Llena el formulario y te respondemos por WhatsApp con tu cotización personalizada.
              Sin compromiso.
            </p>

            {!submitted ? (
              <form style={s.form} onSubmit={handleFormSubmit}>
                <div style={s.formFields} data-form-fields>
                  <label style={s.field}>
                    <span style={s.fieldLabel}>Nombre completo *</span>
                    <input
                      type="text"
                      required
                      value={form.nombre}
                      onChange={(e) => setField("nombre", e.target.value)}
                      placeholder="María González"
                      style={s.input}
                    />
                  </label>
                  <label style={s.field}>
                    <span style={s.fieldLabel}>Teléfono *</span>
                    <input
                      type="tel"
                      required
                      value={form.telefono}
                      onChange={(e) => setField("telefono", e.target.value)}
                      placeholder="(623) 555-1234"
                      style={s.input}
                    />
                  </label>
                  <label style={s.field}>
                    <span style={s.fieldLabel}>Fecha del evento *</span>
                    <input
                      type="date"
                      required
                      value={form.fecha}
                      onChange={(e) => setField("fecha", e.target.value)}
                      style={s.input}
                    />
                  </label>
                  <label style={s.field}>
                    <span style={s.fieldLabel}># de personas *</span>
                    <input
                      type="number"
                      required
                      min="1"
                      value={form.personas}
                      onChange={(e) => setField("personas", e.target.value)}
                      placeholder="50"
                      style={s.input}
                    />
                  </label>
                </div>
                <button type="submit" style={s.formSubmit} data-cta-primary>
                  ENVIAR POR WHATSAPP →
                </button>
                <div style={s.formNote}>
                  Al enviar se abrirá WhatsApp con tu mensaje listo. Respondemos en menos de 24 horas.
                </div>
              </form>
            ) : (
              <div style={s.formSuccess}>
                <div style={s.formSuccessIcon}>✓</div>
                <div style={s.formSuccessTitle}>¡Listo!</div>
                <div style={s.formSuccessMsg}>
                  Te abrimos WhatsApp con tu mensaje. Si no se abrió, <a href={waLink} target="_blank" rel="noopener noreferrer" style={{ color: accent, textDecoration: "underline" }}>haz click aquí</a>.
                </div>
                <button onClick={() => { setSubmitted(false); setForm({ nombre: "", telefono: "", fecha: "", personas: "" }); }} style={s.formReset}>
                  Enviar otra solicitud
                </button>
              </div>
            )}
          </div>

          <div style={s.contactRight}>
            <div style={s.waCard}>
              <div style={s.waBadge}>
                <WhatsAppIcon size={20} />
                <span>RESPUESTA INMEDIATA</span>
              </div>
              <div style={s.waTitle}>¿Prefieres chatear?</div>
              <div style={s.waSubtitle}>
                Mándanos un mensaje directo por WhatsApp y resolvemos cualquier duda.
              </div>
              <a href={waLink} target="_blank" rel="noopener noreferrer" style={s.waBtn} data-cta-wa>
                <WhatsAppIcon size={20} />
                CHATEA AHORA
              </a>
              <div style={s.waNumber}>{contact.whatsappDisplay}</div>
            </div>

            <div style={s.contactInfoCard}>
              <div style={s.contactInfoH}>Horario de atención</div>
              <div style={s.contactInfoRow}>
                <span>Lun – Sáb</span>
                <span>9AM — 9PM</span>
              </div>
              <div style={s.contactInfoRow}>
                <span>Domingo</span>
                <span>10AM — 6PM</span>
              </div>
            </div>
          </div>
        </div>
      </section>

      {/* MENU */}
      <section id="menu" style={s.menuSec} data-sec-pad>
        <div style={s.secHeader} data-sec-header>
          <div style={s.secEyebrow}>Nuestro menú</div>
          <h2 style={s.secH2} data-sec-h2>
            Lo que servimos<br />
            <em style={{ fontFamily: "'Fraunces', serif", fontStyle: "italic", color: accent }}>todos los días.</em>
          </h2>
        </div>
        <p style={s.secLead}>
          Visítanos en Peoria o pídelo para llevar. El mismo sabor que llevamos a tu evento, todos los días.
        </p>

        <div style={s.meatPicker}>
          <div style={s.meatPickerLabel}>Elige tu carne</div>
          <div style={s.meatPills} data-meat-pills>
            {data.meats.map((m) => (
              <button
                key={m.es}
                onClick={() => setMeat(m.es)}
                data-meat-pill
                data-active={meat === m.es}
                style={{ ...s.meatPill, ...(meat === m.es ? s.meatPillActive : {}) }}
              >
                {m.es}
              </button>
            ))}
          </div>
        </div>

        <div style={s.menuLayout} data-menu-layout>
          <div style={s.catTabs} data-cat-tabs>
            {data.categories.map((c) => (
              <button
                key={c.id}
                onClick={() => setActiveCat(c.id)}
                data-cat-tab
                data-active={activeCat === c.id}
                style={{ ...s.catTab, ...(activeCat === c.id ? s.catTabActive : {}) }}
              >
                <span style={s.catEs}>{c.es}</span>
                <span style={s.catEn}>{c.en}</span>
              </button>
            ))}
          </div>

          <div style={s.menuPanel} data-menu-panel>
            <div style={s.menuPanelHead} data-menu-panel-head>
              <div>
                <div style={s.menuPanelEs} data-menu-panel-es>{active.es}</div>
                <div style={s.menuPanelEn}>{active.en}</div>
              </div>
              <div style={s.menuPanelMeat}>
                con <strong style={{ color: accent }}>{meat}</strong>
              </div>
            </div>
            {active.blurb && <p style={s.menuPanelBlurb}>{active.blurb}</p>}
            <div style={s.menuItems}>
              {active.items.map((it, i) => (
                <div key={i} style={s.menuItem} data-menu-item>
                  <div style={s.menuItemL}>
                    <div style={s.menuItemName}>{it.name}</div>
                    {it.desc && <div style={s.menuItemDesc}>{it.desc}</div>}
                  </div>
                  <div style={s.menuItemDots}></div>
                  <div style={s.menuItemPrice}>${it.price}</div>
                </div>
              ))}
            </div>
            <div style={s.menuPanelFoot}>
              Extras: chipotle $0.50 · sour cream $0.50 · queso extra $0.50 / $1.00
            </div>
          </div>
        </div>
      </section>

      {/* INTERIOR FULL-BLEED PHOTO */}
      <section style={s.bleed}>
        <img src="assets/interior-landscape.png" alt="Interior del restaurante" style={s.bleedImg} />
        <div style={s.bleedOverlay}></div>
        <div style={s.bleedCaption}>
          <div style={s.bleedEyebrow}>Visítanos en Peoria</div>
          <div style={s.bleedTitle}>
            Familia, fuego<br />y <em style={{ fontFamily: "'Fraunces', serif", fontStyle: "italic" }}>buen sabor.</em>
          </div>
          <p style={s.bleedSub}>
            Una taquería de familia, hecha con cariño desde el día uno.
          </p>
        </div>
      </section>

      {/* UBICACIÓN */}
      <section id="visitanos" style={s.locSec} data-sec-pad>
        <div style={s.secHeader} data-sec-header>
          <div style={s.secEyebrow}>Nuestro restaurante</div>
          <h2 style={s.secH2} data-sec-h2>
            Pasa a <em style={{ fontFamily: "'Fraunces', serif", fontStyle: "italic", color: accent }}>visitarnos.</em>
          </h2>
        </div>
        <div style={s.locGrid} data-loc-grid>
          <div style={s.locCard} data-loc-card>
            <div style={s.locKindWrap}>
              <span style={s.locKind}>{location.kind}</span>
            </div>
            <h3 style={s.locName}>{location.name}</h3>
            <div style={s.locAddr}>{location.address}</div>
            <div style={s.locAddr}>{location.city}</div>
            <div style={s.locPhone}>
              <span style={s.locPhoneLab}>Tel</span>
              <a href={`tel:+${contact.whatsappDigits}`} style={s.locPhoneNum}>{location.phone}</a>
            </div>
            <div style={s.locHours}>
              {location.hours.map(([d, h], j) => (
                <div key={j} style={s.locHourRow}>
                  <span style={s.locHourDay}>{d}</span>
                  <span style={s.locHourTime}>{h}</span>
                </div>
              ))}
            </div>
            <div style={s.locActions}>
              <a
                href={`https://maps.google.com/?q=${encodeURIComponent(location.address + ", " + location.city)}`}
                target="_blank" rel="noopener noreferrer"
                style={s.btnPrimarySm} data-cta-primary
              >
                CÓMO LLEGAR →
              </a>
              <a href={waLink} target="_blank" rel="noopener noreferrer" style={s.btnGhostSm} data-cta-ghost>
                <WhatsAppIcon size={14} /> WHATSAPP
              </a>
            </div>
          </div>
          <div style={s.locPhotoFrame}>
            <img src="assets/interior-portrait.png" alt="Interior" style={s.locPhoto} />
          </div>
        </div>
      </section>

      {/* FOOTER */}
      <footer style={s.footer} data-footer>
        <div style={s.footerGrid} data-footer-grid>
          <div>
            <BrandMark size={56} />
            <div style={s.footerTagline}>
              Catering auténtico de tacos al pastor. Familia, fuego y buen sabor desde Peoria, AZ.
            </div>
            <div style={s.footerSocial}>
              <a style={s.footerSocialLink} href="#">IG</a>
              <a style={s.footerSocialLink} href="#">FB</a>
              <a style={s.footerSocialLink} href="#">TT</a>
            </div>
          </div>
          <div>
            <div style={s.footH}>CATERING</div>
            <a style={s.footL} href="#catering">Tipos de eventos</a>
            <a style={s.footL} href="#paquetes">Paquetes</a>
            <a style={s.footL} href="#faq">Preguntas</a>
            <a style={s.footL} href="#contacto">Cotizar ahora</a>
          </div>
          <div>
            <div style={s.footH}>VISÍTANOS</div>
            <a style={s.footL} href="#visitanos">Restaurante Peoria</a>
            <a style={s.footL} href="#menu">Menú del día</a>
            <a style={s.footL} href={`tel:+${contact.whatsappDigits}`}>{contact.whatsappDisplay}</a>
          </div>
          <div>
            <div style={s.footH}>CONTACTO</div>
            <a style={s.footL} href={waLink} target="_blank" rel="noopener noreferrer">
              <WhatsAppIcon size={14} /> WhatsApp
            </a>
            <a style={s.footL} href={`mailto:${contact.email}`}>{contact.email}</a>
            <div style={{ ...s.footL, opacity: 0.5 }}>{contact.instagram}</div>
          </div>
        </div>
        <div style={s.footerBottom}>
          <span>© 2026 Tacos al Pastor AZ</span>
          <span style={{ opacity: 0.5 }}>·</span>
          <span>Hecho con cariño en Arizona</span>
        </div>
      </footer>

      {/* FLOATING WHATSAPP BUTTON */}
      <a
        href={waLink}
        target="_blank"
        rel="noopener noreferrer"
        aria-label="Chatea por WhatsApp"
        style={s.fab}
        data-fab
      >
        <WhatsAppIcon size={32} color="#fff" />
      </a>
    </div>
  );
}

/* ─────────────── subcomponents ─────────────── */

function Stat({ num, lab, accent }) {
  return (
    <div style={{ display: "flex", flexDirection: "column", gap: 6 }}>
      <div style={{
        fontFamily: "'Anton', sans-serif", fontSize: 36, lineHeight: 1,
        color: accent || "var(--warm-ink)",
      }}>{num}</div>
      <div style={{ fontFamily: "'Inter', sans-serif", fontSize: 11, letterSpacing: "0.15em", opacity: 0.6, textTransform: "uppercase", fontWeight: 600 }}>{lab}</div>
    </div>
  );
}

function BrandMark({ size = 44 }) {
  return (
    <div style={{
      width: size, height: size, borderRadius: "50%",
      background: "var(--warm-red)",
      boxShadow: "0 6px 14px rgba(201,58,44,0.3)",
      display: "flex", alignItems: "center", justifyContent: "center",
      flexShrink: 0,
    }}>
      <span style={{
        fontFamily: "'Pacifico', cursive",
        fontSize: size * 0.55, lineHeight: 1, color: "#fff",
        marginTop: -size * 0.04,
      }}>T</span>
    </div>
  );
}

function WhatsAppIcon({ size = 20, color = "currentColor" }) {
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" fill={color} aria-hidden="true">
      <path d="M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946.003-6.556 5.338-11.891 11.893-11.891 3.181.001 6.167 1.24 8.413 3.488 2.245 2.248 3.481 5.236 3.48 8.414-.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.951-.5-5.688-1.448L.057 24zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.611-.916-2.206-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413z"/>
    </svg>
  );
}

function EventIcon({ name, accent }) {
  const icons = {
    "Bodas": "M12 2 L12 22 M4 8 L20 8 M4 8 Q4 14 8 18 M20 8 Q20 14 16 18 M8 18 L16 18",
    "Quinceañeras": "M3 18 L21 18 M5 18 L7 8 L9 12 L12 6 L15 12 L17 8 L19 18 M8 22 L16 22",
    "Corporativos": "M3 8 L21 8 L21 20 L3 20 Z M9 8 L9 5 L15 5 L15 8 M9 14 L15 14",
    "Cumpleaños": "M5 21 L19 21 M5 21 L5 12 L19 12 L19 21 M7 12 L7 9 Q7 7 9 7 L9 4 M15 4 L15 7 Q17 7 17 9 L17 12 M3 16 Q6 14 9 16 Q12 14 15 16 Q18 14 21 16",
    "Fiestas Privadas": "M9 18 V5 L21 3 V16 M9 18 Q9 21 6 21 Q3 21 3 18 Q3 15 6 15 Q9 15 9 18 M21 16 Q21 19 18 19 Q15 19 15 16 Q15 13 18 13 Q21 13 21 16",
  };
  const path = icons[name] || icons["Fiestas Privadas"];
  return (
    <svg viewBox="0 0 24 24" width="40" height="40" fill="none" stroke={accent} strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" style={{ marginBottom: 14 }}>
      <path d={path} />
    </svg>
  );
}

/* ─────────────── styles ─────────────── */

const warmStyles = {
  root: {
    width: "100%", background: "var(--warm-cream)", color: "var(--warm-ink)",
    fontFamily: "'Inter', system-ui, sans-serif",
  },

  /* HEADER */
  stickyHeader: {
    position: "sticky", top: 0, zIndex: 50,
    background: "rgba(15,10,7,0.92)", backdropFilter: "blur(10px)",
    borderBottom: "1px solid var(--warm-line)",
  },
  topbar: {
    background: "var(--warm-deep)",
    color: "var(--warm-ink)",
    fontSize: 11, fontWeight: 600, letterSpacing: "0.1em",
    padding: "9px 0",
  },
  topbarInner: {
    maxWidth: 1400, margin: "0 auto", padding: "0 40px",
    display: "flex", justifyContent: "space-between", alignItems: "center",
    gap: 24,
  },
  topbarLeft:  { display: "flex", alignItems: "center", gap: 10, whiteSpace: "nowrap" },
  topbarRight: { display: "flex", alignItems: "center", gap: 10, whiteSpace: "nowrap" },
  liveDot: {
    width: 7, height: 7, borderRadius: "50%", background: "var(--warm-orange)",
    animation: "softPulse 2s ease-in-out infinite",
  },
  topbarStrong: { fontWeight: 700, letterSpacing: "0.14em", color: "var(--warm-ink)" },
  topbarMuted:  { opacity: 0.7 },
  topbarSep:    { opacity: 0.4 },

  nav: {
    maxWidth: 1400, margin: "0 auto", padding: "18px 40px",
    display: "flex", alignItems: "center", justifyContent: "space-between",
  },
  navLogo: { display: "flex", alignItems: "center", gap: 14 },
  navLogoTop: { fontFamily: "'Anton', sans-serif", fontSize: 22, letterSpacing: "0.04em", lineHeight: 1, color: "var(--warm-ink)" },
  navLogoBot: { fontFamily: "'Inter', sans-serif", fontSize: 10, color: "var(--warm-red)", letterSpacing: "0.2em", marginTop: 5, fontWeight: 700 },
  navLinks: { display: "flex", gap: 32 },
  navLink: { fontSize: 14, fontWeight: 600, color: "var(--warm-ink)" },
  orderBtn: {
    display: "inline-block",
    background: "var(--warm-red)", color: "#fff", border: "none",
    padding: "13px 22px", fontWeight: 800, fontSize: 12, letterSpacing: "0.15em",
    borderRadius: 8,
    textDecoration: "none",
  },

  /* HERO */
  hero: {
    position: "relative", overflow: "hidden",
    padding: "60px 0 90px",
    background: "linear-gradient(180deg, var(--warm-cream) 0%, var(--warm-alt) 100%)",
  },
  heroGlow1: {
    position: "absolute", top: "10%", left: "10%",
    width: 380, height: 380, borderRadius: "50%",
    background: "radial-gradient(circle, rgba(232,140,42,0.18), transparent 70%)",
    filter: "blur(40px)", pointerEvents: "none",
  },
  heroGlow2: {
    position: "absolute", bottom: "5%", right: "10%",
    width: 420, height: 420, borderRadius: "50%",
    background: "radial-gradient(circle, rgba(201,58,44,0.12), transparent 70%)",
    filter: "blur(40px)", pointerEvents: "none",
  },
  heroGrid: {
    position: "relative", zIndex: 2,
    maxWidth: 1400, margin: "0 auto", padding: "0 40px",
    display: "grid", gridTemplateColumns: "1.1fr 0.9fr", gap: 60,
    alignItems: "center",
  },
  heroLeft: {},
  heroEyebrow: {
    display: "inline-flex", alignItems: "center", gap: 10,
    fontFamily: "'Inter', sans-serif", fontSize: 11, fontWeight: 700,
    color: "var(--warm-red)", letterSpacing: "0.22em", textTransform: "uppercase",
    marginBottom: 28,
    padding: "8px 16px",
    border: "1px solid rgba(201,58,44,0.3)",
    borderRadius: 999,
    background: "rgba(201,58,44,0.06)",
  },
  heroEyebrowDot: {
    width: 7, height: 7, borderRadius: "50%", background: "var(--warm-red)",
    animation: "softPulse 2s ease-in-out infinite",
  },
  heroH1: {
    fontFamily: "'Anton', sans-serif",
    fontSize: "clamp(64px, 8vw, 124px)", lineHeight: 0.9, letterSpacing: "-0.015em",
    margin: 0, fontWeight: 400, color: "var(--warm-ink)",
  },
  heroH1Top: { display: "inline-block" },
  heroH1Big: { display: "inline-block", color: "var(--warm-red)" },
  heroH1Script: {
    display: "inline-block",
    fontFamily: "'Pacifico', cursive",
    fontSize: "0.65em", lineHeight: 1.1,
    fontWeight: 400, marginTop: 6,
    color: "var(--warm-ink)",
  },
  heroSub: {
    fontFamily: "'Fraunces', Georgia, serif",
    fontSize: 20, lineHeight: 1.55, maxWidth: 520, marginTop: 28,
    color: "var(--warm-soft)",
  },
  heroCtas: { display: "flex", gap: 12, marginTop: 36, alignItems: "center", flexWrap: "wrap" },
  btnPrimary: {
    background: "var(--warm-red)", color: "#fff", border: "none",
    padding: "18px 28px", fontSize: 13, letterSpacing: "0.18em", fontWeight: 800,
    borderRadius: 10, textDecoration: "none",
    display: "inline-flex", alignItems: "center", gap: 8,
    boxShadow: "0 8px 18px rgba(201,58,44,0.22)",
  },
  btnWa: {
    background: "var(--wa-green)", color: "#fff", border: "none",
    padding: "18px 26px", fontSize: 13, letterSpacing: "0.16em", fontWeight: 800,
    borderRadius: 10, textDecoration: "none",
    display: "inline-flex", alignItems: "center", gap: 10,
    boxShadow: "0 8px 18px rgba(37,211,102,0.28)",
  },
  heroStats: {
    display: "flex", gap: 48, marginTop: 60, paddingTop: 28,
    borderTop: "1px solid var(--warm-line)",
    flexWrap: "wrap",
  },

  heroRight: { position: "relative", height: 540 },
  heroPhotoFrame: {
    position: "relative", width: "100%", height: "100%",
    display: "flex", alignItems: "center", justifyContent: "center",
  },
  heroTrompo: {
    height: "92%", width: "auto",
    animation: "trompoSway 6s ease-in-out infinite",
    transformOrigin: "top center",
    filter: "drop-shadow(0 30px 50px rgba(0,0,0,0.6))",
  },
  heroPhotoTag: {
    position: "absolute", left: 16, bottom: 24,
    fontFamily: "'Inter', sans-serif", fontSize: 11, fontWeight: 700,
    color: "var(--warm-ink)", letterSpacing: "0.22em",
    background: "#fff", padding: "10px 14px",
    border: "1px solid var(--warm-line)",
    borderRadius: 999,
    display: "inline-flex", alignItems: "center", gap: 8,
    boxShadow: "0 6px 18px rgba(0,0,0,0.5)",
  },
  heroPhotoTagDot: {
    width: 7, height: 7, borderRadius: "50%", background: "var(--warm-red)",
    animation: "softPulse 2s ease-in-out infinite",
  },

  /* MARQUEE */
  marqueeWrap: {
    background: "var(--warm-red)", color: "#fff",
    overflow: "hidden", padding: "16px 0",
    borderTop: "1px solid rgba(0,0,0,0.06)",
    borderBottom: "1px solid rgba(0,0,0,0.06)",
  },
  marqueeTrack: {
    fontFamily: "'Anton', sans-serif", fontSize: 28, letterSpacing: "0.04em",
    whiteSpace: "nowrap", animation: "trompoMarquee 50s linear infinite",
  },

  /* SECTION HEADERS — shared */
  secHeader: { display: "flex", justifyContent: "space-between", alignItems: "flex-end", gap: 40, marginBottom: 24 },
  secEyebrow: {
    fontFamily: "'Inter', sans-serif", fontSize: 12, fontWeight: 700,
    color: "var(--warm-red)", letterSpacing: "0.22em", textTransform: "uppercase",
    paddingBottom: 6,
  },
  secH2: {
    fontFamily: "'Anton', sans-serif", fontSize: "clamp(48px, 6vw, 84px)",
    lineHeight: 0.95, margin: 0, textAlign: "right", letterSpacing: "-0.01em",
    color: "var(--warm-ink)", fontWeight: 400,
  },
  secLead: {
    fontFamily: "'Fraunces', Georgia, serif",
    fontSize: 18, lineHeight: 1.55, color: "var(--warm-soft)",
    maxWidth: 620, margin: "0 0 48px",
  },

  /* EVENTS */
  eventsSec: { maxWidth: 1400, margin: "0 auto", padding: "100px 40px", background: "var(--warm-cream)" },
  eventsGrid: { display: "grid", gridTemplateColumns: "repeat(5, 1fr)", gap: 16 },
  eventCard: {
    background: "var(--warm-card)", border: "1px solid var(--warm-line)",
    borderRadius: 14, padding: 26,
    display: "flex", flexDirection: "column", alignItems: "flex-start",
    boxShadow: "0 4px 14px rgba(0,0,0,0.4)",
  },
  eventName: { fontFamily: "'Anton', sans-serif", fontSize: 22, letterSpacing: "0.02em", color: "var(--warm-ink)", marginBottom: 8 },
  eventDesc: { fontSize: 14, color: "var(--warm-soft)", lineHeight: 1.5 },

  /* PAQUETES */
  pkgSec: { padding: "100px 40px", background: "var(--warm-alt)" },
  pkgGrid: { maxWidth: 1400, margin: "0 auto", display: "grid", gridTemplateColumns: "repeat(3, 1fr)", gap: 28 },
  pkgCard: {
    position: "relative",
    background: "var(--warm-card)", border: "1px solid var(--warm-line)",
    borderRadius: 18, padding: 36,
    display: "flex", flexDirection: "column",
    boxShadow: "0 8px 26px rgba(0,0,0,0.5)",
  },
  pkgCardHi: {
    background: "var(--warm-red)", color: "#fff",
    border: "1px solid var(--warm-red)",
    boxShadow: "0 18px 40px rgba(201,58,44,0.32)",
    transform: "scale(1.02)",
  },
  pkgBadge: {
    position: "absolute", top: -14, left: "50%", transform: "translateX(-50%)",
    background: "var(--warm-orange)", color: "#fff",
    padding: "7px 18px", borderRadius: 999,
    fontSize: 11, fontWeight: 800, letterSpacing: "0.18em",
    boxShadow: "0 4px 12px rgba(232,140,42,0.4)",
  },
  pkgName: { fontFamily: "'Anton', sans-serif", fontSize: 36, letterSpacing: "0.02em", lineHeight: 1, marginBottom: 6 },
  pkgTagline: { fontFamily: "'Fraunces', serif", fontStyle: "italic", fontSize: 16, opacity: 0.8, marginBottom: 22 },
  pkgPrice: {
    display: "flex", alignItems: "baseline", gap: 8,
    paddingBottom: 24, marginBottom: 24,
    borderBottom: "1px solid rgba(0,0,0,0.1)",
  },
  pkgPriceLabel: { fontSize: 13, opacity: 0.7, fontWeight: 600 },
  pkgPriceNum: { fontFamily: "'Anton', sans-serif", fontSize: 52, lineHeight: 1 },
  pkgPriceUnit: { fontSize: 14, opacity: 0.7 },
  pkgFeatures: { listStyle: "none", padding: 0, margin: "0 0 28px", display: "flex", flexDirection: "column", gap: 12 },
  pkgFeature: { display: "flex", alignItems: "flex-start", gap: 10, fontSize: 15, lineHeight: 1.4 },
  pkgCheck: { fontWeight: 800, flexShrink: 0, marginTop: 1 },
  pkgBtn: {
    marginTop: "auto",
    background: "var(--warm-red)", color: "#fff", border: "none",
    padding: "16px 22px", fontSize: 12, letterSpacing: "0.16em", fontWeight: 800,
    borderRadius: 10, textDecoration: "none", textAlign: "center", display: "block",
  },
  pkgBtnHi: {
    marginTop: "auto",
    background: "#fff", color: "var(--warm-red)", border: "none",
    padding: "16px 22px", fontSize: 12, letterSpacing: "0.16em", fontWeight: 800,
    borderRadius: 10, textDecoration: "none", textAlign: "center", display: "block",
  },

  /* TROMPO STORY */
  trompoSec: { padding: "100px 40px", background: "var(--warm-cream)" },
  trompoGrid: { maxWidth: 1400, margin: "0 auto", display: "grid", gridTemplateColumns: "1fr 1fr", gap: 80, alignItems: "center" },
  trompoLeft: {},
  trompoH2: {
    fontFamily: "'Anton', sans-serif", fontSize: "clamp(48px, 6vw, 88px)",
    lineHeight: 0.95, margin: "12px 0 24px", letterSpacing: "-0.01em",
    color: "var(--warm-ink)", fontWeight: 400,
  },
  trompoCopy: {
    fontFamily: "'Fraunces', Georgia, serif",
    fontSize: 19, lineHeight: 1.6, color: "var(--warm-soft)", maxWidth: 540,
  },
  trompoStats: {
    display: "flex", alignItems: "center", gap: 24,
    marginTop: 36, paddingTop: 28, borderTop: "1px solid var(--warm-line)",
    flexWrap: "wrap",
  },
  trompoStat: {},
  trompoStatNum: {
    fontFamily: "'Anton', sans-serif", fontSize: 52, lineHeight: 1,
    color: "var(--warm-red)",
  },
  trompoStatUnit: { fontSize: 22, color: "var(--warm-orange)", marginLeft: 4 },
  trompoStatLab: {
    fontFamily: "'Inter', sans-serif", fontSize: 11, letterSpacing: "0.18em",
    opacity: 0.65, marginTop: 8, textTransform: "uppercase", fontWeight: 600,
  },
  trompoStatDiv: { width: 1, height: 50, background: "var(--warm-line)" },

  trompoRight: {},
  trompoStage: {
    position: "relative", height: 580, overflow: "hidden",
    borderRadius: 18,
    background: "linear-gradient(180deg, #2a1c12 0%, #170f0a 100%)",
    border: "1px solid var(--warm-line)",
  },
  trompoBacklight: {
    position: "absolute", left: "50%", top: "50%",
    transform: "translate(-50%, -50%)",
    width: 360, height: 360, borderRadius: "50%",
    background: "radial-gradient(circle, rgba(232,140,42,0.45) 0%, transparent 65%)",
    filter: "blur(30px)",
    animation: "softPulse 4s ease-in-out infinite",
  },
  trompoImg: {
    position: "absolute", left: "50%", top: 20,
    transform: "translateX(-50%)",
    height: "92%", width: "auto",
    animation: "trompoSway 6s ease-in-out infinite",
    transformOrigin: "top center",
    filter: "drop-shadow(0 20px 30px rgba(0,0,0,0.55))",
  },

  /* FAQ */
  faqSec: { padding: "100px 40px", background: "var(--warm-cream)", maxWidth: 1400, margin: "0 auto" },
  faqList: { maxWidth: 880, margin: "0 auto" },
  faqItem: { borderBottom: "1px solid var(--warm-line)" },
  faqQ: {
    width: "100%", textAlign: "left",
    background: "transparent", border: "none", padding: "22px 4px",
    display: "flex", justifyContent: "space-between", alignItems: "center", gap: 16,
    fontFamily: "'Anton', sans-serif", fontSize: 22, letterSpacing: "0.01em",
    color: "var(--warm-ink)",
  },
  faqIcon: { fontSize: 28, color: "var(--warm-red)", transition: "transform 240ms ease", lineHeight: 1, fontWeight: 300 },
  faqA: {
    padding: "0 4px 24px", fontSize: 16, lineHeight: 1.65,
    color: "var(--warm-soft)", fontFamily: "'Fraunces', serif", maxWidth: 720,
  },

  /* CONTACTO */
  contactSec: { padding: "100px 40px", background: "var(--warm-alt)" },
  contactGrid: { maxWidth: 1400, margin: "0 auto", display: "grid", gridTemplateColumns: "1.4fr 1fr", gap: 60, alignItems: "flex-start" },
  contactLeft: {},
  contactH2: {
    fontFamily: "'Anton', sans-serif", fontSize: "clamp(44px, 5.5vw, 76px)",
    lineHeight: 0.95, margin: "10px 0 20px", letterSpacing: "-0.01em",
    color: "var(--warm-ink)", fontWeight: 400,
  },
  contactLead: { fontFamily: "'Fraunces', serif", fontSize: 17, lineHeight: 1.55, color: "var(--warm-soft)", marginBottom: 32, maxWidth: 540 },

  form: { background: "var(--warm-card)", padding: 32, borderRadius: 16, border: "1px solid var(--warm-line)", boxShadow: "0 12px 32px rgba(0,0,0,0.55)" },
  formFields: { display: "grid", gridTemplateColumns: "1fr 1fr", gap: 18, marginBottom: 22 },
  field: { display: "flex", flexDirection: "column", gap: 8 },
  fieldLabel: { fontSize: 12, fontWeight: 700, letterSpacing: "0.1em", color: "var(--warm-ink)", textTransform: "uppercase" },
  input: {
    width: "100%", boxSizing: "border-box",
    fontFamily: "inherit", fontSize: 16,
    padding: "14px 16px",
    border: "1px solid var(--warm-line)", borderRadius: 8,
    background: "var(--warm-cream)", color: "var(--warm-ink)",
    transition: "border-color 160ms ease, box-shadow 160ms ease",
  },
  formSubmit: {
    width: "100%",
    background: "var(--warm-red)", color: "#fff", border: "none",
    padding: "18px 24px", fontSize: 14, letterSpacing: "0.18em", fontWeight: 800,
    borderRadius: 10, cursor: "pointer",
    boxShadow: "0 10px 24px rgba(201,58,44,0.28)",
  },
  formNote: { marginTop: 14, fontSize: 13, color: "var(--warm-soft)", textAlign: "center", lineHeight: 1.5 },

  formSuccess: { background: "var(--warm-card)", padding: 48, borderRadius: 16, border: "1px solid var(--warm-line)", textAlign: "center" },
  formSuccessIcon: { width: 64, height: 64, borderRadius: "50%", background: "var(--wa-green)", color: "#fff", fontSize: 32, fontWeight: 800, display: "inline-flex", alignItems: "center", justifyContent: "center", marginBottom: 16 },
  formSuccessTitle: { fontFamily: "'Anton', sans-serif", fontSize: 36, color: "var(--warm-ink)", marginBottom: 8 },
  formSuccessMsg: { fontSize: 15, color: "var(--warm-soft)", lineHeight: 1.55, marginBottom: 24 },
  formReset: { background: "transparent", border: "1px solid var(--warm-line)", color: "var(--warm-ink)", padding: "12px 22px", borderRadius: 8, fontSize: 13, fontWeight: 600, cursor: "pointer" },

  contactRight: { display: "flex", flexDirection: "column", gap: 18 },
  waCard: {
    background: "var(--wa-green)", color: "#fff",
    padding: 32, borderRadius: 16,
    boxShadow: "0 16px 36px rgba(37,211,102,0.3)",
  },
  waBadge: {
    display: "inline-flex", alignItems: "center", gap: 8,
    background: "rgba(255,255,255,0.18)", padding: "7px 14px", borderRadius: 999,
    fontSize: 11, fontWeight: 800, letterSpacing: "0.16em",
    marginBottom: 16,
  },
  waTitle: { fontFamily: "'Anton', sans-serif", fontSize: 34, lineHeight: 1.05, marginBottom: 10 },
  waSubtitle: { fontSize: 15, lineHeight: 1.5, opacity: 0.95, marginBottom: 22 },
  waBtn: {
    display: "inline-flex", alignItems: "center", gap: 10,
    background: "#fff", color: "var(--wa-green-dark)",
    padding: "16px 24px", borderRadius: 10,
    fontSize: 13, letterSpacing: "0.16em", fontWeight: 800,
    textDecoration: "none",
    boxShadow: "0 6px 14px rgba(0,0,0,0.12)",
  },
  waNumber: { marginTop: 16, fontSize: 13, opacity: 0.9, fontWeight: 600, letterSpacing: "0.04em" },

  contactInfoCard: { background: "var(--warm-card)", padding: 26, borderRadius: 16, border: "1px solid var(--warm-line)" },
  contactInfoH: { fontFamily: "'Inter', sans-serif", fontSize: 12, fontWeight: 700, letterSpacing: "0.18em", color: "var(--warm-red)", textTransform: "uppercase", marginBottom: 16 },
  contactInfoRow: { display: "flex", justifyContent: "space-between", padding: "8px 0", fontSize: 14, color: "var(--warm-ink)" },

  /* MENU */
  menuSec: { maxWidth: 1400, margin: "0 auto", padding: "100px 40px", background: "var(--warm-cream)" },
  meatPicker: { marginBottom: 32 },
  meatPickerLabel: { fontFamily: "'Inter', sans-serif", fontSize: 11, fontWeight: 700, color: "var(--warm-red)", letterSpacing: "0.22em", textTransform: "uppercase", marginBottom: 14 },
  meatPills: { display: "flex", gap: 10, flexWrap: "wrap" },
  meatPill: {
    background: "var(--warm-card)", color: "var(--warm-ink)",
    border: "1px solid var(--warm-line)",
    padding: "12px 20px", borderRadius: 999,
    fontFamily: "'Anton', sans-serif", fontSize: 16, letterSpacing: "0.04em",
    whiteSpace: "nowrap", cursor: "pointer",
  },
  meatPillActive: {
    background: "var(--warm-red)", borderColor: "var(--warm-red)", color: "#fff",
    boxShadow: "0 6px 14px rgba(201,58,44,0.28)",
  },

  menuLayout: { display: "grid", gridTemplateColumns: "260px 1fr", gap: 36, marginTop: 28 },
  catTabs: { display: "flex", flexDirection: "column", borderTop: "1px solid var(--warm-line)" },
  catTab: {
    display: "flex", flexDirection: "column", alignItems: "flex-start", gap: 2,
    background: "transparent", color: "var(--warm-ink)", border: "none",
    borderBottom: "1px solid var(--warm-line)", padding: "16px 12px 16px 0",
    textAlign: "left",
  },
  catTabActive: {
    color: "var(--warm-red)",
    boxShadow: "inset 3px 0 0 var(--warm-red)",
    paddingLeft: 14,
    background: "rgba(201,58,44,0.04)",
  },
  catEs: { fontFamily: "'Anton', sans-serif", fontSize: 22, letterSpacing: "0.02em", lineHeight: 1 },
  catEn: { fontFamily: "'Inter', sans-serif", fontSize: 10, opacity: 0.6, letterSpacing: "0.15em", fontWeight: 600, textTransform: "uppercase" },

  menuPanel: {
    position: "relative", overflow: "hidden",
    background: "var(--warm-card)",
    border: "1px solid var(--warm-line)",
    borderRadius: 16, padding: 40,
    boxShadow: "0 8px 26px rgba(0,0,0,0.5)",
  },
  menuPanelHead: {
    display: "flex", justifyContent: "space-between", alignItems: "flex-end",
    paddingBottom: 22, borderBottom: "1px solid var(--warm-line)",
    marginBottom: 22,
  },
  menuPanelEs: { fontFamily: "'Anton', sans-serif", fontSize: 56, lineHeight: 0.95, color: "var(--warm-ink)" },
  menuPanelEn: { fontFamily: "'Inter', sans-serif", fontSize: 11, letterSpacing: "0.22em", color: "var(--warm-red)", marginTop: 6, fontWeight: 700, textTransform: "uppercase" },
  menuPanelMeat: { fontFamily: "'Inter', sans-serif", fontSize: 13, letterSpacing: "0.1em", opacity: 0.8, fontWeight: 600 },
  menuPanelBlurb: { fontFamily: "'Fraunces', serif", fontStyle: "italic", fontSize: 16, lineHeight: 1.55, color: "var(--warm-soft)", maxWidth: 600, margin: "0 0 26px" },
  menuItems: { display: "flex", flexDirection: "column", gap: 18 },
  menuItem: { display: "flex", alignItems: "baseline", gap: 14 },
  menuItemL: { flexShrink: 0 },
  menuItemName: { fontFamily: "'Anton', sans-serif", fontSize: 22, letterSpacing: "0.02em", color: "var(--warm-ink)" },
  menuItemDesc: { fontSize: 13, color: "var(--warm-soft)", marginTop: 4, maxWidth: 360 },
  menuItemDots: { flex: 1, borderBottom: "1px dotted var(--warm-line)", marginBottom: 4 },
  menuItemPrice: { fontFamily: "'Anton', sans-serif", fontSize: 24, color: "var(--warm-red)" },
  menuPanelFoot: {
    marginTop: 30, paddingTop: 20, borderTop: "1px solid var(--warm-line)",
    fontFamily: "'Fraunces', serif", fontStyle: "italic", fontSize: 14, color: "var(--warm-soft)",
  },

  /* BLEED */
  bleed: { position: "relative", height: "60vh", minHeight: 440, overflow: "hidden" },
  bleedImg: { width: "100%", height: "100%", objectFit: "cover", display: "block" },
  bleedOverlay: {
    position: "absolute", inset: 0,
    background: "linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.55) 55%, rgba(0,0,0,0.25) 100%)",
  },
  bleedCaption: {
    position: "absolute", left: 60, bottom: 60, right: 60,
    maxWidth: 600, zIndex: 2, color: "#fdf8ee",
  },
  bleedEyebrow: { fontSize: 12, fontWeight: 700, letterSpacing: "0.2em", textTransform: "uppercase", color: "var(--warm-orange)", marginBottom: 10 },
  bleedTitle: {
    fontFamily: "'Anton', sans-serif", fontSize: "clamp(44px, 5.5vw, 88px)",
    lineHeight: 0.95, margin: "12px 0 18px", color: "#fdf8ee",
  },
  bleedSub: {
    fontFamily: "'Fraunces', serif", fontStyle: "italic",
    fontSize: 18, lineHeight: 1.55, opacity: 0.92,
  },

  /* LOCATION */
  locSec: { padding: "100px 40px", background: "var(--warm-cream)", maxWidth: 1400, margin: "0 auto" },
  locGrid: { display: "grid", gridTemplateColumns: "1fr 1fr", gap: 36, alignItems: "stretch" },
  locCard: {
    background: "var(--warm-card)",
    border: "1px solid var(--warm-line)",
    borderRadius: 18, padding: 40,
    boxShadow: "0 8px 26px rgba(0,0,0,0.5)",
  },
  locKindWrap: { marginBottom: 20 },
  locKind: {
    fontFamily: "'Inter', sans-serif", fontSize: 11, letterSpacing: "0.22em",
    background: "var(--warm-red)", color: "#fff", padding: "7px 14px", borderRadius: 999,
    fontWeight: 800, textTransform: "uppercase",
  },
  locName: { fontFamily: "'Anton', sans-serif", fontSize: 44, margin: "0 0 14px", letterSpacing: "0.02em", color: "var(--warm-ink)", fontWeight: 400 },
  locAddr: { fontSize: 16, color: "var(--warm-soft)", lineHeight: 1.55 },
  locPhone: {
    marginTop: 22, display: "flex", alignItems: "center", gap: 12,
    flexWrap: "wrap",
  },
  locPhoneLab: {
    fontSize: 10, letterSpacing: "0.22em", color: "var(--warm-red)",
    border: "1px solid rgba(201,58,44,0.4)", padding: "4px 10px", borderRadius: 999,
    fontWeight: 800, textTransform: "uppercase",
  },
  locPhoneNum: { fontSize: 18, fontWeight: 700, color: "var(--warm-ink)" },
  locHours: {
    marginTop: 26, paddingTop: 22, borderTop: "1px solid var(--warm-line)",
    display: "grid", gap: 10,
  },
  locHourRow: {
    display: "grid", gridTemplateColumns: "120px 1fr", alignItems: "baseline",
    fontSize: 14,
  },
  locHourDay: { color: "var(--warm-soft)", letterSpacing: "0.04em" },
  locHourTime: { color: "var(--warm-ink)", fontWeight: 600 },
  locActions: { display: "flex", gap: 10, marginTop: 28, flexWrap: "wrap" },
  btnPrimarySm: {
    display: "inline-flex", alignItems: "center", gap: 8,
    background: "var(--warm-red)", color: "#fff", border: "none",
    padding: "13px 20px", fontSize: 12, letterSpacing: "0.16em", fontWeight: 800,
    borderRadius: 8, textDecoration: "none",
  },
  btnGhostSm: {
    display: "inline-flex", alignItems: "center", gap: 8,
    background: "transparent", color: "var(--warm-ink)",
    border: "1px solid var(--warm-line)",
    padding: "13px 20px", fontSize: 12, letterSpacing: "0.16em", fontWeight: 800,
    borderRadius: 8, textDecoration: "none",
  },
  locPhotoFrame: {
    position: "relative", borderRadius: 18, overflow: "hidden",
    minHeight: 420,
    border: "1px solid var(--warm-line)",
    boxShadow: "0 8px 26px rgba(0,0,0,0.55)",
  },
  locPhoto: { width: "100%", height: "100%", objectFit: "cover", display: "block", position: "absolute", inset: 0 },

  /* FOOTER */
  footer: {
    background: "var(--warm-deep)", color: "var(--warm-ink)",
    padding: "80px 40px 40px",
  },
  footerGrid: { maxWidth: 1400, margin: "0 auto", display: "grid", gridTemplateColumns: "1.6fr 1fr 1fr 1fr", gap: 40 },
  footerTagline: { marginTop: 18, fontSize: 14, opacity: 0.7, maxWidth: 320, lineHeight: 1.55, fontFamily: "'Fraunces', serif", fontStyle: "italic" },
  footerSocial: { display: "flex", gap: 8, marginTop: 22 },
  footerSocialLink: {
    width: 38, height: 38, borderRadius: "50%",
    border: "1px solid rgba(245,234,218,0.3)",
    display: "inline-flex", alignItems: "center", justifyContent: "center",
    fontSize: 11, fontWeight: 800, letterSpacing: "0.1em",
    color: "var(--warm-orange)", textDecoration: "none",
  },
  footH: { fontFamily: "'Inter', sans-serif", fontSize: 11, color: "var(--warm-orange)", letterSpacing: "0.22em", marginBottom: 18, fontWeight: 800, textTransform: "uppercase" },
  footL: { display: "flex", alignItems: "center", gap: 6, fontSize: 14, padding: "6px 0", opacity: 0.8, textDecoration: "none", color: "var(--warm-ink)" },
  footerBottom: {
    maxWidth: 1400, margin: "60px auto 0", paddingTop: 24,
    borderTop: "1px solid rgba(245,234,218,0.15)",
    fontSize: 12, opacity: 0.55,
    display: "flex", gap: 14, flexWrap: "wrap",
  },

  /* FLOATING WHATSAPP BUTTON */
  fab: {
    position: "fixed", bottom: 28, right: 28, zIndex: 90,
    width: 64, height: 64, borderRadius: "50%",
    background: "var(--wa-green)", color: "#fff",
    display: "inline-flex", alignItems: "center", justifyContent: "center",
    boxShadow: "0 10px 26px rgba(37,211,102,0.4)",
    textDecoration: "none",
  },
};

window.Proposal1Trompo = Proposal1Trompo;
