{"product_id":"luz-navidena","title":"LUZ NAVIDEÑA ✨ ¡Magia luminosa para noches inolvidables!","description":"\u003c!-- ============= LUZ NAVIDEÑA — PÁGINA DE VENTAS (Actualizado con secciones nuevas) ============= --\u003e\n\u003cstyle\u003e\n  .anvd{ --pri:#0F5A4A; --rubi:#B11E2F; --gold:#D6B16A; --tx:#1C1B1B; --muted:#6b6b6b; --sep:#eceaea; --shadow:0 10px 30px rgba(0,0,0,.08); --hover:0 16px 40px rgba(0,0,0,.12) }\n  .anvd *{ box-sizing:border-box }\n  .anvd .wrap{ max-width:860px; margin:0 auto; padding:8px }\n\n  .anvd h1,.anvd h2,.anvd h3{ font-family:\"Playfair Display\",\"Cormorant\",serif; line-height:1.2; margin:0 0 8px; color:var(--tx) }\n  .anvd p,.anvd li,.anvd small{ font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--tx) }\n\n  .anvd .hero{ padding:18px 16px; text-align:center; background:linear-gradient(180deg, rgba(214,177,106,.08), transparent); border-radius:14px }\n  .anvd .kicker{ color:var(--pri); letter-spacing:.5px; font-weight:600; font-size:12px; text-transform:uppercase }\n  .anvd .headline{ font-size:32px; font-weight:700 }\n  .anvd .sub{ font-size:16px; color:var(--muted); margin:8px auto 18px; max-width:620px }\n\n  .anvd .media{ display:flex; flex-direction:column; gap:10px; margin:14px 0 }\n  .anvd .media img,.anvd .media video{ width:100%; border-radius:16px; box-shadow:var(--shadow) }\n\n  .anvd .section{ margin:26px 0 }\n  .anvd .card{ background:#fff; border-radius:16px; padding:18px; border:1px solid var(--sep); box-shadow:var(--shadow) }\n  .anvd .title-2{ font-size:24px; margin-bottom:10px }\n  .anvd .list{ list-style:none; padding:0; margin:0; display:grid; gap:10px }\n  .anvd .li{ display:flex; gap:10px; align-items:flex-start }\n  .anvd .tick{ width:22px; height:22px; border-radius:50%; background:var(--pri); color:#fff; font-size:14px; display:flex; justify-content:center; align-items:center }\n\n  \/* Temporizador *\/\n  .anvd .timer{ display:flex; gap:10px; justify-content:center; align-items:center; margin:10px 0 0 }\n  .anvd .tbox{ min-width:64px; text-align:center; background:#fff; border:1px solid var(--sep); border-radius:10px; padding:8px 6px; box-shadow:var(--shadow) }\n  .anvd .tval{ font-weight:800; font-size:20px; letter-spacing:.5px; animation:pulse 1s infinite steps(2,end) }\n  .anvd .tcap{ font-size:11px; color:var(--muted) }\n  @keyframes pulse{ 50%{ opacity:.75 } }\n\n  \/* Ofertas (coluna única) *\/\n  .anvd .offers{ display:flex; flex-direction:column; gap:14px; margin-top:12px }\n  .anvd .offer{ border:1px solid var(--sep); border-radius:16px; padding:18px; background:#fff; position:relative; transition:transform .2s ease, box-shadow .2s ease }\n  .anvd .offer:hover{ transform:translateY(-2px); box-shadow:var(--hover) }\n  .anvd .offer.best{ outline:2px solid var(--gold); background:linear-gradient(180deg, rgba(214,177,106,.08), #fff) }\n  .anvd .pill{ position:absolute; top:10px; right:10px; background:var(--gold); color:#2b220e; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700 }\n  .anvd .price{ font-size:24px; font-weight:800; margin:10px 0; color:var(--tx) }\n  .anvd .cta{ display:flex; align-items:center; justify-content:center; margin-top:12px; padding:14px; width:100%; border-radius:12px; background:var(--pri); color:#fff; font-weight:700; text-decoration:none; font-size:16px }\n  .anvd .cta:hover{ filter:brightness(.93) }\n  .anvd .cta.big{ font-size:18px; padding:16px; }\n\n  .anvd .note{ font-size:12px; color:var(--muted); margin-top:8px }\n  .anvd .ribbon{ text-align:center; padding:10px; border-radius:12px; border:1px dashed var(--sep); background:linear-gradient(90deg, rgba(15,90,74,.08), rgba(177,30,47,.08)); font-weight:600 }\n\n  \/* Stock *\/\n  .anvd .stock{ display:flex; justify-content:center; gap:8px; align-items:center; margin-top:8px; font-weight:700 }\n  .anvd .stock b{ color:var(--rubi) }\n  .anvd .bar{ height:8px; background:#f1f1f1; border-radius:999px; overflow:hidden; margin-top:6px }\n  .anvd .bar \u003e i{ display:block; height:100%; width:40%; background:linear-gradient(90deg, var(--rubi), var(--pri)) }\n\n  \/* Selo confiança *\/\n  .anvd .trust{ margin-top:12px; display:flex; justify-content:center }\n  .anvd .trust img{ max-width:560px; width:100%; height:auto; border-radius:12px; border:1px solid var(--sep); box-shadow:var(--shadow) }\n\n  \/* FAQ + acordeón *\/\n  .anvd details{ border:1px solid var(--sep); border-radius:12px; padding:12px; background:#fff }\n  .anvd summary{ cursor:pointer; font-weight:700 }\n  .anvd details+details{ margin-top:8px }\n  .anvd .acc-body{ margin-top:10px }\n  .anvd .acc-img{ display:none; margin-top:10px; border-radius:12px; box-shadow:var(--shadow); border:1px solid var(--sep); width:100%; height:auto }\n  .anvd details[open] .acc-img{ display:block }\n\n  \/* Reseñas *\/\n  .anvd .rating{ display:flex; justify-content:center; }\n  .anvd .rating img{ width:100%; max-width:820px; border-radius:12px; border:1px solid var(--sep); box-shadow:var(--shadow) }\n\u003c\/style\u003e\n\u003csection class=\"anvd\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003c!-- HERO --\u003e\n\u003cdiv class=\"hero card\"\u003e\n\u003cdiv class=\"kicker\"\u003eEdición Premium\u003c\/div\u003e\n\u003ch1 class=\"headline\"\u003eConvierte tu hogar en un \u003cspan style=\"color: var(--pri);\"\u003ecielo navideño\u003c\/span\u003e lleno de magia\u003c\/h1\u003e\n\u003cp class=\"sub\"\u003eCon \u003cb\u003eLuz Navideña\u003c\/b\u003e, cada noche cobra vida con un espectáculo de luces \u003cb\u003everdes y rojas\u003c\/b\u003e — elegante, cálido y memorable.\u003c\/p\u003e\n\u003c!-- Temporizador de urgencia --\u003e\n\u003cdiv class=\"card\" style=\"margin-top: 12px;\"\u003e\n\u003cdiv style=\"text-align: center; font-weight: 800; letter-spacing: .3px;\"\u003e🔥 Oferta termina en\u003c\/div\u003e\n\u003cdiv class=\"timer\" id=\"timer\"\u003e\n\u003cdiv class=\"tbox\"\u003e\n\u003cdiv class=\"tval\" id=\"t-h\"\u003e00\u003c\/div\u003e\n\u003cdiv class=\"tcap\"\u003eHORAS\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tbox\"\u003e\n\u003cdiv class=\"tval\" id=\"t-m\"\u003e00\u003c\/div\u003e\n\u003cdiv class=\"tcap\"\u003eMIN\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tbox\"\u003e\n\u003cdiv class=\"tval\" id=\"t-s\"\u003e00\u003c\/div\u003e\n\u003cdiv class=\"tcap\"\u003eSEG\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csmall style=\"display: block; text-align: center; color: var(--muted); margin-top: 6px;\"\u003eRenovado diariamente • Stock limitado\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- VIDEO HERO autoplay --\u003e\n\u003cdiv class=\"media\"\u003e\u003cvideo autoplay=\"autoplay\" muted=\"\" loop=\"loop\" playsinline=\"\" preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0000\/0000\/files\/poster.jpg\"\u003e\n        \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/babe925ef9324decace61540c3799fee.mp4\" type=\"video\/mp4\"\u003e\n        Tu navegador no soporta video HTML5.\n      \u003c\/source\u003e\u003c\/video\u003e\u003c\/div\u003e\n\u003c!-- PROBLEMA → SOLUCIÓN (SEÇÃO 1 - texto no box largura total) --\u003e\n\u003cdiv style=\"padding: 18px 0;\" class=\"section card\"\u003e\n\u003ch2 class=\"title-2\"\u003eDe la decoración complicada a la magia instantánea\u003c\/h2\u003e\n\u003cp\u003eDecorar toda la casa para Navidad puede ser \u003cb\u003ecaro, demorado y poco práctico\u003c\/b\u003e. Cables, adornos, instalación… y el resultado muchas veces no luce como imaginabas.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- MÍDIA DA SEÇÃO 1 (fora da seção, ajustada ao contêiner) --\u003e\n\u003cdiv class=\"media\"\u003e\u003cvideo poster=\"https:\/\/via.placeholder.com\/960x540?text=Antes:+Decoración+limitada\" preload=\"metadata\" playsinline=\"\" loop=\"loop\" muted=\"\" autoplay=\"autoplay\"\u003e \u003csource type=\"video\/mp4\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/5f69ec985918484ba2c62211ca3dc379.mp4\"\u003e\u003c\/video\u003e\u003c\/div\u003e\n\u003c!-- PROBLEMA → SOLUCIÓN (SEÇÃO 2 - texto no box largura total) --\u003e\n\u003cdiv style=\"padding: 18px 0;\" class=\"section card\"\u003e\n\u003cp style=\"margin-top: 6px;\"\u003eCon \u003cb\u003eLuz Navideña\u003c\/b\u003e, en \u003cb\u003esegundos\u003c\/b\u003e tu hogar se transforma en un \u003cb\u003ecielo estrellado\u003c\/b\u003e verde y rojo: elegante, cálido y perfecto para fotos. Sin esfuerzo, sin complicaciones y con \u003cb\u003ebajo consumo\u003c\/b\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- MÍDIA DA SEÇÃO 2 (fora da seção, ajustada ao contêiner) --\u003e\n\u003cdiv class=\"media\"\u003e\u003cimg alt=\"Casa iluminada con Aurora Navideña\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0933\/5586\/8465\/files\/Novo_estrella_descricao_2.webp?v=1762285404\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cstyle\u003e\n  \/* ===== BENEFICIOS: icon + texto em linha ===== *\/\n  #beneficios {\n    max-width: 95%;\n    margin: 0 auto;       \/* Centraliza horizontalmente *\/\n  }\n#beneficios .beneficios-inline {\nlist-style: none;\nmargin: 0;\npadding: 0;\n}\n#beneficios .beneficios-inline li {\ndisplay: flex;\nalign-items: flex-start;  \/* ✅ ícone alinhado ao topo *\/\ngap: 10px;\nmargin: 8px 0;\nline-height: 1.5;\n}\n#beneficios .tick {\ndisplay: inline-flex;\njustify-content: center;\nalign-items: center;\nwidth: 22px;\nheight: 22px;\nborder-radius:50%;\nbackground:#0F5A4A; \/* Verde \/\ncolor:#fff;\nfont-size:12px;\nline-height:1;\nmargin-top:3px; \/ ✅ fino ajuste visual *\/\nflex-shrink:0;\n}\n#beneficios .txt {\ndisplay: inline;\n}\n\u003c\/style\u003e\n\u003csection id=\"aurora-nav\" class=\"anvd\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"section card\" id=\"beneficios\"\u003e\n\u003ch2 class=\"title-2\"\u003eBeneficios que amarás\u003c\/h2\u003e\n\u003cul class=\"list beneficios-inline\"\u003e\n\u003cli\u003e\n\u003cspan class=\"tick\"\u003e★\u003c\/span\u003e \u003cspan class=\"txt\"\u003e\u003cb\u003eAmbiente navideño instantáneo:\u003c\/b\u003e magia en segundos, sin instalación compleja.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"tick\"\u003e★\u003c\/span\u003e \u003cspan class=\"txt\"\u003e\u003cb\u003eLuces verdes y rojas vibrantes:\u003c\/b\u003e efecto premium, ideal para fotos.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"tick\"\u003e★\u003c\/span\u003e \u003cspan class=\"txt\"\u003e\u003cb\u003eApto para interior y exterior:\u003c\/b\u003e sala, fachada, jardín o balcón.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"tick\"\u003e★\u003c\/span\u003e \u003cspan class=\"txt\"\u003e\u003cb\u003eBajo consumo:\u003c\/b\u003e belleza sin sorprender tu factura.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"tick\"\u003e★\u003c\/span\u003e \u003cspan class=\"txt\"\u003e\u003cb\u003eVersátil:\u003c\/b\u003e cenas, reuniones, fotos y celebraciones.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- TUTORIAL (paso a paso) EN ACORDEÓN + VÍDEO OCULTO --\u003e\n\u003cdiv style=\"padding: 18px 0;\" id=\"tutorial\" class=\"section card\"\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e🛠 Cómo usarlo (paso a paso) ▾\u003c\/summary\u003e\n  \u003cdiv class=\"acc-body\"\u003e\n    \u003col style=\"list-style: decimal; padding-left: 18px;\" class=\"list\"\u003e\n      \u003cli\u003eDesempaca el proyector.\u003c\/li\u003e\n      \u003cli\u003eConecta el proyector a una toma eléctrica externa o interna.\u003c\/li\u003e\n      \u003cli\u003eColoca el proyector frente al área que deseas iluminar.\u003c\/li\u003e\n      \u003cli\u003eUsa el control remoto para seleccionar el modo de luz y movimiento deseado.\u003c\/li\u003e\n      \u003cli\u003eDisfruta de la magia de las luces sin esfuerzo y controla todo a distancia.\u003c\/li\u003e\n    \u003c\/ol\u003e\n    \u003cvideo class=\"acc-img\" poster=\"https:\/\/via.placeholder.com\/960x540?text=Tutorial:+Aurora+Navide%C3%B1a\" preload=\"metadata\" playsinline controls\u003e\n      \u003csource type=\"video\/mp4\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/d209b55d8c4747c2b75a6e7af39db886.mp4\"\u003e Tu navegador no soporta video HTML5.\n    \u003c\/source\u003e\u003c\/video\u003e\n  \u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c!-- ✅ SECCIÓN: ESPECIFICACIONES (ya en acordeón con imagen oculta) --\u003e\n\u003cdiv class=\"section card\" id=\"especificaciones\" style=\"padding: 18px 0;\"\u003e\n  \u003cdiv class=\"block fade\"\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003e⚙️ Especificaciones técnicas ▾\u003c\/summary\u003e\n      \u003cul class=\"list\" style=\"margin-top:8px\"\u003e\n        \u003cli class=\"li\"\u003e\n\u003cspan class=\"tick\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eAlimentación:\u003c\/b\u003e 110–220V AC (enchufe estándar).\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli class=\"li\"\u003e\n\u003cspan class=\"tick\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eConsumo:\u003c\/b\u003e LEDs de alta eficiencia (bajo consumo).\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli class=\"li\"\u003e\n\u003cspan class=\"tick\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eProtección:\u003c\/b\u003e uso interior y exterior (resistente a lluvia ligera).\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli class=\"li\"\u003e\n\u003cspan class=\"tick\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eCobertura:\u003c\/b\u003e amplia proyección de puntos luminosos (dependiendo de la distancia).\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli class=\"li\"\u003e\n\u003cspan class=\"tick\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eModos:\u003c\/b\u003e múltiples patrones de luz y movimiento con control remoto.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli class=\"li\"\u003e\n\u003cspan class=\"tick\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eInstalación:\u003c\/b\u003e base estaca o superficie plana; listo en segundos.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli class=\"li\"\u003e\n\u003cspan class=\"tick\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eAplicación:\u003c\/b\u003e fachadas, jardines, salas, eventos y celebraciones.\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cimg class=\"acc-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0933\/5586\/8465\/files\/Novo_estrella_descricao_6.webp?v=1762286265\" alt=\"Detalles técnicos del proyector\"\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- \/wrap --\u003e\n\u003c!-- ✅ FULL-BLEED RESEÑAS (fora do .wrap, 100% viewport) --\u003e\n\u003cdiv style=\"width: 100%; margin: 0; padding: 0;\"\u003e\u003cimg style=\"display: block; width: 100%; height: auto; margin: 0; padding: 0; border: 0; max-width: 100%;\" alt=\"Calificaciones y comentarios de clientes\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0933\/5586\/8465\/files\/ChatGPT_Image_4_de_nov._de_2025_16_54_30.png?v=1762439569\"\u003e\u003c\/div\u003e\n\u003c!-- ✅ \/FULL-BLEED RESEÑAS --\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003c!-- reabre .wrap para seguir igual --\u003e\n\u003c!-- OFERTAS --\u003e\n\u003cdiv id=\"ofertas\" class=\"section\"\u003e\n\u003ch2 class=\"title-2\"\u003e💥 Elige tu oferta\u003c\/h2\u003e\n\u003cdiv class=\"offers\"\u003e\n  \u003cdiv data-offer=\"2\" class=\"offer best\"\u003e\n    \u003cdiv class=\"pill\"\u003e★ Más vendido\u003c\/div\u003e\n    \u003ch3\u003e2 unidades\u003c\/h3\u003e\n    \u003cp\u003eDecora sala + fachada\u003c\/p\u003e\n    \u003cdiv class=\"price\"\u003e$224.900 COP\u003c\/div\u003e\n    \u003cdiv class=\"stock\"\u003e\n\u003cspan\u003eDisponibles:\u003c\/span\u003e \u003cb id=\"stock-2\"\u003e--\u003c\/b\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"bar\"\u003e\u003ci style=\"width: 40%;\" id=\"bar-2\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n    \u003ca href=\"#aurora-nav\" class=\"cta big\"\u003eComprar ahora\u003c\/a\u003e\n    \u003cdiv class=\"note\"\u003eMejor relación precio • 🚚 Envío gratis • 💳 Pagas al recibir\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv data-offer=\"1\" class=\"offer best\"\u003e\n    \u003cdiv class=\"pill\"\u003e★ Destacado\u003c\/div\u003e\n    \u003ch3\u003e1 unidad\u003c\/h3\u003e\n    \u003cp\u003eIdeal para espacios pequeños\u003c\/p\u003e\n    \u003cdiv class=\"price\"\u003e$149.900 COP\u003c\/div\u003e\n    \u003cdiv class=\"stock\"\u003e\n\u003cspan\u003eDisponibles:\u003c\/span\u003e \u003cb id=\"stock-1\"\u003e--\u003c\/b\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"bar\"\u003e\u003ci style=\"width: 40%;\" id=\"bar-1\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n    \u003ca href=\"#aurora-nav\" class=\"cta\"\u003eComprar ahora\u003c\/a\u003e\n    \u003cdiv class=\"note\"\u003e🚚 Envío gratis • 💳 Pagas al recibir\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-top: 12px;\" class=\"ribbon\"\u003e🎄 Alta demanda navideña • Stock limitado • Envío imediato\u003c\/div\u003e\n\u003cdiv class=\"trust\"\u003e\u003cimg alt=\"Sello de confianza\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0933\/5586\/8465\/files\/485541832017577214-8d0de358-1f4f-482c-885f-81399410d228-removebg-preview.png?v=1762456287\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- FAQ --\u003e\n\u003cdiv style=\"padding: 18px 0;\" class=\"section card\"\u003e\n\u003ch2 class=\"title-2\"\u003ePreguntas frecuentes\u003c\/h2\u003e\n\u003cdetails\u003e\n\u003csummary\u003e¿Sirve para exteriores?\u003c\/summary\u003e\n\u003cp\u003eSí, perfecto para fachadas, jardines, balcones.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e¿Necesita instalación?\u003c\/summary\u003e\n\u003cp\u003eNo. Solo conectar y listo.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e¿Puedo pagar al recibir?\u003c\/summary\u003e\n\u003cp\u003e✅ Sí, contraentrega disponible.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c!-- CTA FINAL --\u003e\n\u003cdiv style=\"text-align: center; padding: 18px 0;\" class=\"section card\"\u003e\n\u003ch2 class=\"title-2\"\u003eHaz tu Navidad inolvidable con \u003cspan style=\"color: var(--rubi);\"\u003eLuz Navideña\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"sub\"\u003eMagia luminosa para noches inolvidables.\u003c\/p\u003e\n\u003ca class=\"cta big\" href=\"#ofertas\"\u003eQuiero mi Luz Navideña\u003c\/a\u003e \u003csmall class=\"note\"\u003eRecomendación: 2 unidades para sala + fachada.\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- \/wrap --\u003e\u003c\/section\u003e\n\u003cp\u003e\u003cscript\u003e\n\/* ==================== TEMPORIZADOR ==================== *\/\n(function(){\n  const DEADLINE_HOURS = 24;\n  const KEY = 'anvd_deadline';\n  function getDeadline(){\n    const now = Date.now();\n    let dl = localStorage.getItem(KEY);\n    if(dl \u0026\u0026 +dl\u003enow) return +dl;\n    const next = now + DEADLINE_HOURS*3600*1000;\n    localStorage.setItem(KEY,String(next));\n    return next;\n  }\n  const deadline = getDeadline();\n  const h=document.getElementById('t-h'),m=document.getElementById('t-m'),s=document.getElementById('t-s');\n  function pad(n){return String(n).padStart(2,'0');}\n  function tick(){\n    let diff=deadline-Date.now();\n    if(diff\u003c=0){\n      const next=Date.now()+DEADLINE_HOURS*3600*1000;\n      localStorage.setItem(KEY,String(next));\n      return tick();\n    }\n    const hrs=Math.floor(diff\/3600000); diff-=hrs*3600000;\n    const min=Math.floor(diff\/60000);   diff-=min*60000;\n    const sec=Math.floor(diff\/1000);\n    h.textContent=pad(hrs); m.textContent=pad(min); s.textContent=pad(sec);\n    requestAnimationFrame(()=\u003esetTimeout(tick,250));\n  }\n  tick();\n})();\n\u003c\/script\u003e\n\u003cscript\u003e\n\/* ==================== STOCK DINÁMICO (CORREÇÃO DEFINITIVA: VARIANT MATCH 1x\/2x) ==================== *\/\n(function(){\n  function ready(fn){ if(document.readyState!=='loading'){ fn(); } else { document.addEventListener('DOMContentLoaded', fn); } }\n  ready(function(){\n    const els = {\n      one: { qty: document.getElementById('stock-1'), bar: document.getElementById('bar-1') },\n      two: { qty: document.getElementById('stock-2'), bar: document.getElementById('bar-2') }\n    };\n    const maxV = { one: 30, two: 40 };\n\n    function updateUI(which, qty){\n      const node = els[which];\n      if(!node) return;\n      const val = Math.max(0, Number(qty)||0);\n      if(node.qty) node.qty.textContent = val;\n      if(node.bar){\n        const pct = Math.max(5, Math.min(100, Math.round((val \/ maxV[which]) * 100)));\n        node.bar.style.width = pct + '%';\n      }\n    }\n\n    function pickVariants(variants){\n      \/\/ Reconhece variantes por título\/opções contendo \"1\"\/\"una\/uno\" e \"2\"\/\"dos\"\n      const RX_ONE = \/(^(?:\\s*)?1(?!\\d)|\\buna\\b|\\buno\\b|\\bx1\\b|\\b1 unidad(?:es)?\\b)\/i;\n      const RX_TWO = \/(^(?:\\s*)?2(?!\\d)|\\bdos\\b|\\bx2\\b|\\b2 unidades?\\b)\/i;\n      let one=null, two=null;\n      variants.forEach(v=\u003e{\n        const titleParts = [\n          v.name, v.title, v.public_title,\n          Array.isArray(v.options)?v.options.join(' '):''\n        ].filter(Boolean).join(' ').trim();\n        if(!one \u0026\u0026 RX_ONE.test(titleParts)) one = v;\n        if(!two \u0026\u0026 RX_TWO.test(titleParts)) two = v;\n      });\n      return { one, two };\n    }\n\n    function tryAnalytics(){\n      try{\n        const meta = window.ShopifyAnalytics \u0026\u0026 window.ShopifyAnalytics.meta;\n        const product = meta \u0026\u0026 meta.product;\n        if(!product || !Array.isArray(product.variants) || !product.variants.length) return false;\n        const {one, two} = pickVariants(product.variants);\n        let any=false;\n        if(one \u0026\u0026 one.inventory_quantity!=null){ updateUI('one', one.inventory_quantity); any=true; }\n        if(two \u0026\u0026 two.inventory_quantity!=null){ updateUI('two', two.inventory_quantity); any=true; }\n        return any;\n      }catch(e){ return false; }\n    }\n\n    function tryProductJSONScripts(){\n      try{\n        const scripts = document.querySelectorAll('script[type=\"application\/json\"],script[type=\"application\/ld+json\"]');\n        for(const s of scripts){\n          let data=null; try{ data = JSON.parse(s.textContent||''); }catch(_){}\n          if(!data) continue;\n          if(Array.isArray(data.variants) \u0026\u0026 data.variants.length){\n            const {one, two} = pickVariants(data.variants);\n            let any=false;\n            if(one \u0026\u0026 one.inventory_quantity!=null){ updateUI('one', one.inventory_quantity); any=true; }\n            if(two \u0026\u0026 two.inventory_quantity!=null){ updateUI('two', two.inventory_quantity); any=true; }\n            if(any) return true;\n          }\n        }\n        return false;\n      }catch(e){ return false; }\n    }\n\n    function tryFetch(){\n      try{\n        \/\/ Quando for usado dentro da descrição, ainda assim tentamos o .js do produto na URL atual\n        const path = (location.pathname||'').replace(\/\\\/+$\/,'');\n        if(!\/\\\/products\\\/\/.test(path)) return false;\n        const url = path + '.js';\n        fetch(url, { credentials:'same-origin' })\n          .then(r =\u003e r.ok ? r.json() : Promise.reject())\n          .then(data =\u003e {\n            if(!data || !Array.isArray(data.variants) || !data.variants.length){ fallback(); return; }\n            const {one, two} = pickVariants(data.variants);\n            let any=false;\n            if(one \u0026\u0026 one.inventory_quantity!=null){ updateUI('one', one.inventory_quantity); any=true; }\n            if(two \u0026\u0026 two.inventory_quantity!=null){ updateUI('two', two.inventory_quantity); any=true; }\n            if(!any) fallback();\n          })\n          .catch(fallback);\n        return true;\n      }catch(e){ return false; }\n    }\n\n    function fallback(){\n      \/\/ Contador local persistente como último recurso\n      const KEY='anvd_stock_fb_final';\n      const saved = JSON.parse(localStorage.getItem(KEY) || '{}');\n      const init = saved.init || { one: 18, two: 24 };\n      function drift(v,min){ const d=(Math.random()\u003c0.5?-1:0); return Math.max(min, (Number(v)||min) + d); }\n      const cur = { one: drift(saved.cur\u0026\u0026saved.cur.one||init.one, 3), two: drift(saved.cur\u0026\u0026saved.cur.two||init.two, 5) };\n      localStorage.setItem(KEY, JSON.stringify({init, cur}));\n      updateUI('one', cur.one);\n      updateUI('two', cur.two);\n    }\n\n    \/\/ Estratégia: tenta várias fontes com polling leve, sem alterar mais nada.\n    let attempts = 0;\n    (function poll(){\n      if(tryAnalytics()) return;\n      if(++attempts \u003c 6){ return setTimeout(poll, 200); }\n      if(tryProductJSONScripts()) return;\n      if(!tryFetch()) fallback();\n    })();\n\n    \/\/ Tentativa tardia extra\n    setTimeout(function(){ if(!tryAnalytics()) tryFetch(); }, 900);\n  });\n})();\n\u003c\/script\u003e\n\u003cscript\u003e\n\/* ==================== SCROLL SUAVE PARA CTAs DE \"ELIGE TU OFERTA\" → TOPO DA PÁGINA ==================== *\/\n(function(){\n  function scrollToTop(){ window.scrollTo({ top: 0, behavior: 'smooth' }); }\n  document.querySelectorAll('#ofertas .cta').forEach(function(el){\n    el.addEventListener('click', function(ev){ ev.preventDefault(); scrollToTop(); });\n  });\n})();\n\u003c\/script\u003e\u003c\/p\u003e\n\u003c!-- ============= \/AURORA NAVIDEÑA — FIN ============= --\u003e","brand":"DeUnTodo","offers":[{"title":"Default Title","offer_id":52018761531697,"sku":"Proyector multipuntos-1","price":149900.0,"currency_code":"COP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0933\/5586\/8465\/files\/Novoestrellacarrossel_1.webp?v=1762781474","url":"https:\/\/maxiofertas.shop\/products\/luz-navidena","provider":"MaxiOfertas","version":"1.0","type":"link"}