{"product_id":"foco-solar-tipo-camara","title":"VigiLuz Solar™ - Foco tipo cámara que protege tu casa de noche sin gastar energía","description":"\u003cstyle\u003e\n.vigiluz-lp{\n  --black:#101216;\n  --black2:#171a1f;\n  --yellow:#f4c400;\n  --gold:#d7aa00;\n  --green:#2fa345;\n  --green-dark:#207e34;\n  --red:#b72222;\n  --blue:#1899df;\n  --soft:#f6f7f8;\n  --border:#e5e7eb;\n  --text:#202124;\n\n  max-width:860px;\n  margin:0 auto;\n  padding:0 16px 40px;\n  color:var(--text);\n  font-family:inherit;\n  line-height:1.5;\n}\n\n.vigiluz-lp *{\n  box-sizing:border-box;\n}\n\n.vigiluz-lp img{\n  display:block;\n  width:100%;\n  max-width:100%;\n  height:auto;\n  -webkit-user-drag:none;\n}\n\n.vigiluz-lp h1,\n.vigiluz-lp h2,\n.vigiluz-lp h3{\n  color:#111;\n  margin:0 0 11px;\n  text-align:center;\n  font-weight:800;\n  line-height:1.18;\n}\n\n.vigiluz-lp h1{\n  font-size:32px;\n  font-weight:900;\n  line-height:1.12;\n  letter-spacing:-.5px;\n}\n\n.vigiluz-lp h2{\n  font-size:26px;\n  text-transform:uppercase;\n}\n\n.vigiluz-lp h3{\n  font-size:20px;\n}\n\n.vigiluz-lp p{\n  font-size:17px;\n  margin:0 0 16px;\n}\n\n.vg-section{\n  margin:38px 0;\n}\n\n.vg-desc{\n  max-width:720px;\n  margin:0 auto 17px!important;\n  color:#50545b;\n  text-align:center;\n}\n\n.vg-lead{\n  font-size:19px!important;\n}\n\n.vg-divider{\n  width:58px;\n  height:5px;\n  border-radius:10px;\n  background:var(--yellow);\n  margin:0 auto 15px;\n}\n\n.vg-media{\n  margin:20px auto;\n  overflow:hidden;\n  border-radius:16px;\n  background:#f1f1f1;\n  box-shadow:0 6px 20px rgba(0,0,0,.07);\n}\n\n\n\/* ==================================================\n   GANCHO\n================================================== *\/\n\n.vg-hook{\n  max-width:780px;\n  margin-left:auto!important;\n  margin-right:auto!important;\n  text-transform:uppercase;\n}\n\n.vg-hook-highlight{\n  color:var(--gold);\n  font-weight:900;\n}\n\n\n\/* ==================================================\n   RESEÑAS CORTAS\n================================================== *\/\n\n.vg-social-title{\n  max-width:680px;\n  margin:28px auto 14px;\n  text-align:center;\n}\n\n.vg-social-title:before{\n  content:\"\";\n  display:block;\n  width:46px;\n  height:4px;\n  margin:0 auto 12px;\n  border-radius:20px;\n  background:var(--yellow);\n}\n\n.vg-social-title h2{\n  margin-bottom:5px;\n  font-size:22px;\n}\n\n.vg-social-title p{\n  margin:0 auto!important;\n  color:#666;\n  font-size:15px;\n}\n\n\n\/* ==================================================\n   CARRUSELES\n================================================== *\/\n\n.vg-mini-wrap{\n  margin-bottom:28px;\n}\n\n.vg-mini-viewport,\n.vg-review-viewport{\n  overflow:hidden;\n  cursor:grab;\n  touch-action:pan-y;\n  user-select:none;\n  -webkit-user-select:none;\n  -webkit-tap-highlight-color:transparent;\n}\n\n.vg-mini-viewport.is-dragging,\n.vg-review-viewport.is-dragging{\n  cursor:grabbing;\n}\n\n.vg-mini-track,\n.vg-review-track{\n  display:flex;\n  gap:14px;\n  will-change:transform;\n  transition:transform .5s ease;\n}\n\n.vg-mini-slide{\n  flex:0 0 calc((100% - 14px)\/2);\n}\n\n.vg-mini-card{\n  min-height:155px;\n  height:100%;\n  display:flex;\n  align-items:center;\n  gap:15px;\n  padding:18px;\n  border:1px solid var(--border);\n  border-radius:16px;\n  background:#fff;\n  box-shadow:0 5px 18px rgba(0,0,0,.06);\n}\n\n.vg-avatar{\n  width:68px;\n  height:68px;\n  min-width:68px;\n  overflow:hidden;\n  border-radius:50%;\n  border:3px solid #fff;\n  box-shadow:0 0 0 1px #ddd;\n}\n\n.vg-avatar img{\n  width:100%;\n  height:100%;\n  object-fit:cover;\n}\n\n.vg-stars{\n  color:#f2b900;\n  letter-spacing:1px;\n  line-height:1;\n  margin-bottom:6px;\n}\n\n.vg-mini-card p{\n  margin:0 0 5px;\n  font-size:15px;\n  line-height:1.4;\n  text-align:left;\n}\n\n.vg-mini-name{\n  font-size:14px;\n  font-weight:800;\n}\n\n\n\/* ==================================================\n   DOTS\n================================================== *\/\n\n.vg-dots{\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  gap:6px;\n  margin-top:11px;\n}\n\n.vg-dot{\n  width:7px;\n  height:7px;\n  padding:0;\n  border:0;\n  border-radius:30px;\n  background:#d1d1d1;\n  cursor:pointer;\n  transition:.25s;\n}\n\n.vg-dot.active{\n  width:19px;\n  background:var(--yellow);\n}\n\n\n\/* ==================================================\n   BENEFICIOS\n================================================== *\/\n\n.vg-benefits{\n  display:grid;\n  grid-template-columns:repeat(4,1fr);\n  gap:9px;\n  margin:20px 0 8px;\n}\n\n.vg-benefit{\n  position:relative;\n  overflow:hidden;\n  padding:13px 7px 11px;\n  border:1px solid #e3e3e3;\n  border-radius:12px;\n  background:#f7f7f7;\n  text-align:center;\n  font-size:14px;\n  font-weight:750;\n}\n\n.vg-benefit:before{\n  content:\"\";\n  position:absolute;\n  top:0;\n  left:0;\n  width:100%;\n  height:3px;\n  background:var(--yellow);\n}\n\n\n\/* ==================================================\n   CONTADOR\n================================================== *\/\n\n.vg-offer-timer{\n  position:relative;\n  overflow:hidden;\n  max-width:600px;\n  margin:28px auto 34px;\n  padding:20px 18px 18px;\n  border-radius:16px;\n  background:linear-gradient(180deg,#17191d 0%,#0e1013 100%);\n  box-shadow:0 8px 24px rgba(0,0,0,.12);\n  text-align:center;\n  color:#fff;\n}\n\n.vg-offer-timer:before{\n  content:\"\";\n  position:absolute;\n  top:0;\n  left:0;\n  width:100%;\n  height:4px;\n  background:var(--red);\n}\n\n.vg-timer-badge{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap:7px;\n  margin-bottom:15px;\n  padding:7px 13px;\n  border-radius:7px;\n  background:var(--red);\n  color:#fff;\n  font-size:12px;\n  line-height:1;\n  font-weight:900;\n  text-transform:uppercase;\n  letter-spacing:.2px;\n}\n\n.vg-timer-clock{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:7px;\n}\n\n.vg-time-unit{\n  min-width:72px;\n}\n\n.vg-time-number{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  min-height:52px;\n  padding:7px 8px;\n  border:1px solid #34383e;\n  border-radius:10px;\n  background:#202329;\n  color:var(--yellow);\n  font-size:29px;\n  line-height:1;\n  font-weight:900;\n  font-variant-numeric:tabular-nums;\n}\n\n.vg-time-label{\n  display:block;\n  margin-top:6px;\n  color:#aeb4bc;\n  font-size:9px;\n  line-height:1;\n  font-weight:800;\n  letter-spacing:.6px;\n  text-transform:uppercase;\n}\n\n.vg-time-separator{\n  position:relative;\n  top:-7px;\n  color:#fff;\n  font-size:25px;\n  font-weight:900;\n}\n\n\n\/* ==================================================\n   BLOQUE OSCURO\n================================================== *\/\n\n.vg-dark{\n  position:relative;\n  overflow:hidden;\n  padding:29px 22px;\n  border-radius:19px;\n  color:#fff;\n  background:\n    radial-gradient(\n      circle at 90% 0%,\n      rgba(244,196,0,.09),\n      transparent 35%\n    ),\n    linear-gradient(\n      180deg,\n      #171a1f,\n      #0d0f12\n    );\n  box-shadow:0 9px 28px rgba(0,0,0,.12);\n}\n\n.vg-dark:before{\n  content:\"\";\n  position:absolute;\n  top:0;\n  left:0;\n  width:100%;\n  height:5px;\n  background:var(--yellow);\n}\n\n.vg-dark h2{\n  color:#fff;\n}\n\n.vg-dark .vg-desc{\n  color:#ededed;\n  margin-bottom:0!important;\n}\n\n\n\/* ==================================================\n   SOLAR\n================================================== *\/\n\n.vg-solar-badge{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  width:52px;\n  height:52px;\n  margin:0 auto 13px;\n  border-radius:50%;\n  background:#fff4b9;\n  font-size:27px;\n}\n\n\n\/* ==================================================\n   MODO DE USO\n================================================== *\/\n\n.vg-steps{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  gap:12px;\n  margin-top:18px;\n}\n\n.vg-step{\n  padding:17px;\n  border:1px solid var(--border);\n  border-radius:14px;\n  background:#fff;\n}\n\n.vg-step-num{\n  width:35px;\n  height:35px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  margin-bottom:9px;\n  border-radius:50%;\n  background:var(--yellow);\n  color:#111;\n  font-size:17px;\n  font-weight:900;\n}\n\n.vg-step strong{\n  display:block;\n  margin-bottom:4px;\n}\n\n.vg-step p{\n  margin:0;\n  color:#555;\n  font-size:15px;\n  text-align:left;\n}\n\n\n\/* ==================================================\n   ESPECIFICACIONES\n================================================== *\/\n\n.vg-specs{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  gap:9px;\n  margin-top:18px;\n}\n\n.vg-spec{\n  padding:14px;\n  border:1px solid #ebebeb;\n  border-radius:12px;\n  background:var(--soft);\n  font-size:14px;\n  text-align:left;\n}\n\n.vg-spec strong{\n  display:block;\n  margin-bottom:3px;\n  color:#111;\n}\n\n\n\/* ==================================================\n   TABLA COMPARATIVA\n================================================== *\/\n\n.vg-compare{\n  margin-top:20px;\n  overflow:hidden;\n  border:1px solid var(--border);\n  border-radius:15px;\n}\n\n.vg-compare-head,\n.vg-compare-row{\n  display:grid;\n  grid-template-columns:.72fr 1.1fr 1.3fr;\n}\n\n.vg-compare-head{\n  color:#fff;\n  background:#111;\n  font-weight:800;\n}\n\n.vg-compare-head div{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  padding:12px 7px;\n  font-size:12px;\n  line-height:1.25;\n  text-align:center;\n}\n\n.vg-compare-row{\n  border-top:1px solid var(--border);\n}\n\n.vg-compare-row:nth-child(odd){\n  background:#fafafa;\n}\n\n.vg-compare-row div{\n  display:flex;\n  align-items:center;\n  padding:11px 9px;\n  font-size:13px;\n  line-height:1.35;\n}\n\n.vg-compare-row div:first-child{\n  font-weight:800;\n}\n\n.vg-good{\n  color:#167d43;\n  font-weight:650;\n}\n\n.vg-bad{\n  color:#555;\n}\n\n\n\/* ==================================================\n   RESEÑAS FINALES\n================================================== *\/\n\n.vg-review-viewport{\n  margin-top:18px;\n}\n\n.vg-review-slide{\n  flex:0 0 calc((100% - 14px)\/2);\n}\n\n.vg-review-card{\n  height:100%;\n  overflow:hidden;\n  border:1px solid var(--border);\n  border-radius:16px;\n  background:#fff;\n  box-shadow:0 4px 15px rgba(0,0,0,.05);\n}\n\n.vg-review-photo{\n  height:230px;\n  overflow:hidden;\n  background:#f4f4f4;\n}\n\n.vg-review-photo img{\n  width:100%;\n  height:100%;\n  object-fit:cover;\n}\n\n.vg-review-body{\n  padding:17px;\n}\n\n.vg-review-body p{\n  margin:8px 0 10px;\n  font-size:15px;\n  text-align:left;\n}\n\n.vg-review-name{\n  font-size:14px;\n  font-weight:800;\n}\n\n\n\/* ==================================================\n   FAQ\n================================================== *\/\n\n.vg-faq details{\n  border-bottom:1px solid var(--border);\n}\n\n.vg-faq summary{\n  position:relative;\n  padding:17px 35px 17px 0;\n  list-style:none;\n  cursor:pointer;\n  font-size:16px;\n  font-weight:800;\n  text-align:left;\n}\n\n.vg-faq summary::-webkit-details-marker{\n  display:none;\n}\n\n.vg-faq summary:after{\n  content:\"+\";\n  position:absolute;\n  top:13px;\n  right:4px;\n  font-size:26px;\n  font-weight:400;\n}\n\n.vg-faq details[open] summary:after{\n  content:\"–\";\n}\n\n.vg-faq details p{\n  margin:0;\n  padding:0 0 17px;\n  color:#555;\n  font-size:15px;\n  text-align:left;\n}\n\n\n\/* ==================================================\n   STARKEN \/ BLUE EXPRESS\n================================================== *\/\n\n.vg-shipping-final{\n  margin:34px auto 5px;\n  overflow:hidden;\n  border-radius:16px;\n}\n\n.vg-shipping-final img{\n  width:100%;\n  height:auto;\n}\n\n\n\/* ==================================================\n   MOBILE\n================================================== *\/\n\n@media(max-width:650px){\n\n  .vigiluz-lp{\n    padding:0 13px 35px;\n  }\n\n  .vigiluz-lp h1{\n    font-size:27px;\n  }\n\n  .vigiluz-lp h2{\n    font-size:22px;\n  }\n\n  .vigiluz-lp h3{\n    font-size:18px;\n  }\n\n  .vigiluz-lp p{\n    font-size:16px;\n  }\n\n  .vg-section{\n    margin:31px 0;\n  }\n\n  .vg-social-title h2{\n    font-size:20px;\n  }\n\n  .vg-social-title p{\n    font-size:14px;\n  }\n\n  .vg-mini-slide{\n    flex:0 0 100%;\n  }\n\n  .vg-mini-card{\n    min-height:142px;\n    padding:15px;\n    gap:13px;\n  }\n\n  .vg-avatar{\n    width:59px;\n    height:59px;\n    min-width:59px;\n  }\n\n  .vg-mini-card p{\n    font-size:14px;\n  }\n\n  .vg-benefits{\n    grid-template-columns:1fr 1fr;\n    gap:8px;\n  }\n\n  .vg-benefit{\n    font-size:13px;\n  }\n\n  .vg-offer-timer{\n    margin:24px auto 30px;\n    padding:18px 12px 16px;\n    border-radius:14px;\n  }\n\n  .vg-timer-badge{\n    margin-bottom:14px;\n    font-size:10.5px;\n    padding:7px 10px;\n  }\n\n  .vg-time-unit{\n    min-width:64px;\n  }\n\n  .vg-time-number{\n    min-height:48px;\n    font-size:26px;\n  }\n\n  .vg-time-separator{\n    font-size:22px;\n  }\n\n  .vg-dark{\n    padding:25px 17px;\n  }\n\n  .vg-steps{\n    grid-template-columns:1fr;\n  }\n\n  .vg-specs{\n    grid-template-columns:1fr 1fr;\n  }\n\n  .vg-spec{\n    padding:11px 9px;\n    font-size:12px;\n  }\n\n  .vg-compare-head,\n  .vg-compare-row{\n    grid-template-columns:.65fr 1fr 1.15fr;\n  }\n\n  .vg-compare-head div{\n    padding:10px 4px;\n    font-size:9.5px;\n  }\n\n  .vg-compare-row div{\n    padding:9px 5px;\n    font-size:10.5px;\n    line-height:1.25;\n  }\n\n  .vg-review-slide{\n    flex:0 0 100%;\n  }\n\n  .vg-review-photo{\n    height:220px;\n  }\n\n  .vg-shipping-final{\n    margin-top:28px;\n    border-radius:13px;\n  }\n}\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"vigiluz-lp\"\u003e\n\n\n\u003c!-- ==================================================\n     INTRO\n================================================== --\u003e\n\n\u003csection class=\"vg-section\"\u003e\n\n  \u003ch1 class=\"vg-hook\"\u003e\n\n    ¿TU PATIO O ENTRADA QUEDAN COMPLETAMENTE\n\n    \u003cspan class=\"vg-hook-highlight\"\u003e\n      A OSCURAS EN LA NOCHE?\n    \u003c\/span\u003e\n\n  \u003c\/h1\u003e\n\n\n  \u003cp class=\"vg-desc vg-lead\"\u003e\n\n    Este foco tipo cámara se enciende solo al detectar movimiento,\n    iluminando el área justo cuando más lo necesitas y da la misma\n    sensación disuasiva que una cámara real.\n\n  \u003c\/p\u003e\n\n\n  \u003cdiv class=\"vg-media\"\u003e\n\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0830\/1074\/8725\/files\/GIF_3.webp?v=1715899535\" alt=\"Foco Solar Tipo Cámara\" loading=\"eager\"\u003e\n\n  \u003c\/div\u003e\n\n\n\n  \u003c!-- ==================================================\n       RESEÑAS CORTAS\n  ================================================== --\u003e\n\n  \u003cdiv class=\"vg-social-title\"\u003e\n\n    \u003ch2\u003e\n      LO QUE DICEN QUIENES YA LA INSTALARON\n    \u003c\/h2\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"vg-mini-wrap\"\u003e\n\n    \u003cdiv class=\"vg-mini-viewport\"\u003e\n\n      \u003cdiv class=\"vg-mini-track\"\u003e\n\n\n        \u003c!-- MARCELA --\u003e\n\n        \u003cdiv class=\"vg-mini-slide\"\u003e\n\n          \u003cdiv class=\"vg-mini-card\"\u003e\n\n            \u003cdiv class=\"vg-avatar\"\u003e\n\n              \u003cimg src=\"https:\/\/i.pinimg.com\/1200x\/ca\/39\/2b\/ca392b9715c064ab8bc450fc92291ba5.jpg\" alt=\"Marcela Pérez\" draggable=\"false\"\u003e\n\n            \u003c\/div\u003e\n\n\n            \u003cdiv\u003e\n\n              \u003cdiv class=\"vg-stars\"\u003e\n                ★★★★★\n              \u003c\/div\u003e\n\n              \u003cp\u003e\n                \"Buena luz en la noche y se activa rápido con el movimiento.\n                Justo lo que buscaba para el patio.\"\n              \u003c\/p\u003e\n\n              \u003cdiv class=\"vg-mini-name\"\u003e\n                Marcela Pérez\n              \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n\n        \u003c!-- CARLOS --\u003e\n\n        \u003cdiv class=\"vg-mini-slide\"\u003e\n\n          \u003cdiv class=\"vg-mini-card\"\u003e\n\n            \u003cdiv class=\"vg-avatar\"\u003e\n\n              \u003cimg src=\"https:\/\/i.pinimg.com\/1200x\/d2\/60\/9e\/d2609e3bc59e31a106fbc9565bcf86d6.jpg\" alt=\"Carlos Muñoz\" draggable=\"false\"\u003e\n\n            \u003c\/div\u003e\n\n\n            \u003cdiv\u003e\n\n              \u003cdiv class=\"vg-stars\"\u003e\n                ★★★★★\n              \u003c\/div\u003e\n\n              \u003cp\u003e\n                \"La puse en la entrada y me siento más tranquilo ya que\n                simula que hay una cámara. Cumple lo que promete.\"\n              \u003c\/p\u003e\n\n              \u003cdiv class=\"vg-mini-name\"\u003e\n                Carlos Muñoz\n              \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n\n        \u003c!-- RODRIGO --\u003e\n\n        \u003cdiv class=\"vg-mini-slide\"\u003e\n\n          \u003cdiv class=\"vg-mini-card\"\u003e\n\n            \u003cdiv class=\"vg-avatar\"\u003e\n\n              \u003cimg src=\"https:\/\/i.pinimg.com\/1200x\/db\/5d\/8d\/db5d8d114e38eb2bbef2c74e5a16205d.jpg\" alt=\"Rodrigo Torres\" draggable=\"false\"\u003e\n\n            \u003c\/div\u003e\n\n\n            \u003cdiv\u003e\n\n              \u003cdiv class=\"vg-stars\"\u003e\n                ★★★★★\n              \u003c\/div\u003e\n\n              \u003cp\u003e\n                \"Fácil de instalar, no necesité ayuda de nadie.\n                En media hora ya estaba funcionando.\"\n              \u003c\/p\u003e\n\n              \u003cdiv class=\"vg-mini-name\"\u003e\n                Rodrigo Torres\n              \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-dots vg-mini-dots\"\u003e\n\n      \u003cbutton type=\"button\" class=\"vg-dot active\" aria-label=\"Reseña Marcela\"\u003e\n      \u003c\/button\u003e\n\n      \u003cbutton type=\"button\" class=\"vg-dot\" aria-label=\"Reseña Carlos\"\u003e\n      \u003c\/button\u003e\n\n      \u003cbutton type=\"button\" class=\"vg-dot\" aria-label=\"Reseña Rodrigo\"\u003e\n      \u003c\/button\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\n  \u003c!-- ==================================================\n       BENEFICIOS\n  ================================================== --\u003e\n\n  \u003cdiv class=\"vg-benefits\"\u003e\n\n    \u003cdiv class=\"vg-benefit\"\u003e\n      ✅ Funciona con luz solar\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"vg-benefit\"\u003e\n      ✅ Fácil instalación\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"vg-benefit\"\u003e\n      ✅ Resiste la lluvia\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"vg-benefit\"\u003e\n      ✅ Simula vigilancia real\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\n  \u003c!-- ==================================================\n       CONTADOR\n  ================================================== --\u003e\n\n  \u003cdiv class=\"vg-offer-timer\"\u003e\n\n    \u003cdiv class=\"vg-timer-badge\"\u003e\n      ⏱ OFERTA ESPECIAL DISPONIBLE POR\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-timer-clock\"\u003e\n\n\n      \u003cdiv class=\"vg-time-unit\"\u003e\n\n        \u003cdiv class=\"vg-time-number\" id=\"vgTimerHours\"\u003e\n          01\n        \u003c\/div\u003e\n\n        \u003cspan class=\"vg-time-label\"\u003e\n          Horas\n        \u003c\/span\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vg-time-separator\"\u003e\n        :\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vg-time-unit\"\u003e\n\n        \u003cdiv class=\"vg-time-number\" id=\"vgTimerMinutes\"\u003e\n          21\n        \u003c\/div\u003e\n\n        \u003cspan class=\"vg-time-label\"\u003e\n          Minutos\n        \u003c\/span\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vg-time-separator\"\u003e\n        :\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vg-time-unit\"\u003e\n\n        \u003cdiv class=\"vg-time-number\" id=\"vgTimerSeconds\"\u003e\n          00\n        \u003c\/div\u003e\n\n        \u003cspan class=\"vg-time-label\"\u003e\n          Segundos\n        \u003c\/span\u003e\n\n      \u003c\/div\u003e\n\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003c!-- ==================================================\n     SEGURIDAD\n================================================== --\u003e\n\n\u003csection class=\"vg-section vg-dark\"\u003e\n\n  \u003cdiv class=\"vg-divider\"\u003e\u003c\/div\u003e\n\n  \u003ch2\u003e\n    SEGURIDAD LAS 24 HORAS\n  \u003c\/h2\u003e\n\n  \u003cp class=\"vg-desc\"\u003e\n\n    Cuenta con sensor de movimiento que se activa automáticamente\n    ante cualquier movimiento. Además disuade a intrusos con el mismo\n    efecto que una cámara de vigilancia real.\n\n  \u003c\/p\u003e\n\n\u003c\/section\u003e\n\n\n\u003cdiv class=\"vg-media\"\u003e\n\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0600\/2842\/0252\/files\/g1_ecd4d18e-d7c6-4787-acaf-27c459b6fbd8_480x480.gif?v=1662012614\" alt=\"Foco Solar con Forma de Cámara\" loading=\"lazy\"\u003e\n\n\u003c\/div\u003e\n\n\n\n\u003c!-- ==================================================\n     ENERGÍA SOLAR\n================================================== --\u003e\n\n\u003csection class=\"vg-section\"\u003e\n\n  \u003cdiv class=\"vg-solar-badge\"\u003e\n    ☀️\n  \u003c\/div\u003e\n\n\n  \u003ch2\u003e\n    ENERGÍA SOLAR, CERO GASTO EN ELECTRICIDAD\n  \u003c\/h2\u003e\n\n\n  \u003cp class=\"vg-desc\"\u003e\n    Se carga con el sol durante el día, sin cables ni enchufes.\n  \u003c\/p\u003e\n\n\n  \u003cdiv class=\"vg-media\"\u003e\n\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0288\/1578\/6044\/files\/20220909_b504975a4a0a7db6_376165757451_mp4_264_hd_unlimit_taobao_480x480.webp?v=1673279280\" alt=\"Luz solar tipo cámara\" loading=\"lazy\"\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003c!-- ==================================================\n     MODO DE USO\n================================================== --\u003e\n\n\u003csection class=\"vg-section\"\u003e\n\n  \u003cdiv class=\"vg-divider\"\u003e\u003c\/div\u003e\n\n  \u003ch2\u003e\n    MODO DE USO\n  \u003c\/h2\u003e\n\n\n  \u003cdiv class=\"vg-steps\"\u003e\n\n\n    \u003cdiv class=\"vg-step\"\u003e\n\n      \u003cdiv class=\"vg-step-num\"\u003e\n        1\n      \u003c\/div\u003e\n\n      \u003cstrong\u003e\n        Paso 1 – Elige la ubicación\n      \u003c\/strong\u003e\n\n      \u003cp\u003e\n        Selecciona un lugar exterior donde quieras iluminar y proteger,\n        como la entrada o el patio.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-step\"\u003e\n\n      \u003cdiv class=\"vg-step-num\"\u003e\n        2\n      \u003c\/div\u003e\n\n      \u003cstrong\u003e\n        Paso 2 – Fija el soporte\n      \u003c\/strong\u003e\n\n      \u003cp\u003e\n        Atornilla la base a la pared usando los tornillos incluidos,\n        sin necesidad de cables.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-step\"\u003e\n\n      \u003cdiv class=\"vg-step-num\"\u003e\n        3\n      \u003c\/div\u003e\n\n      \u003cstrong\u003e\n        Paso 3 – Ajusta el ángulo\n      \u003c\/strong\u003e\n\n      \u003cp\u003e\n        Gira el foco y el panel solar hacia el sol\n        y el área que deseas cubrir.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-step\"\u003e\n\n      \u003cdiv class=\"vg-step-num\"\u003e\n        4\n      \u003c\/div\u003e\n\n      \u003cstrong\u003e\n        Paso 4 – Selecciona el modo\n      \u003c\/strong\u003e\n\n      \u003cp\u003e\n        Usa el control remoto para elegir entre luz constante\n        o activación por movimiento.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"vg-media\"\u003e\n\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0668\/6044\/9891\/files\/foco_camara_6.webp?v=1778297936\" alt=\"Foco Led Solar Tipo Cámara\" loading=\"lazy\"\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003c!-- ==================================================\n     ESPECIFICACIONES\n================================================== --\u003e\n\n\u003csection class=\"vg-section\"\u003e\n\n  \u003cdiv class=\"vg-divider\"\u003e\u003c\/div\u003e\n\n  \u003ch2\u003e\n    ESPECIFICACIONES\n  \u003c\/h2\u003e\n\n\n  \u003cdiv class=\"vg-specs\"\u003e\n\n\n    \u003cdiv class=\"vg-spec\"\u003e\n\n      \u003cstrong\u003e\n        Iluminación:\n      \u003c\/strong\u003e\n\n      77 LED de alta luminosidad, color blanco frío.\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-spec\"\u003e\n\n      \u003cstrong\u003e\n        Batería:\n      \u003c\/strong\u003e\n\n      Recargable mediante panel solar incorporado.\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-spec\"\u003e\n\n      \u003cstrong\u003e\n        Sensor de movimiento:\n      \u003c\/strong\u003e\n\n      Con ángulo de 120 grados.\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-spec\"\u003e\n\n      \u003cstrong\u003e\n        Resistencia al agua:\n      \u003c\/strong\u003e\n\n      Apta para uso en exteriores.\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-spec\" style=\"grid-column:1\/-1\"\u003e\n\n      \u003cstrong\u003e\n        Control remoto:\n      \u003c\/strong\u003e\n\n      Incluido, permite cambiar entre los 3 modos\n      de iluminación a distancia.\n\n    \u003c\/div\u003e\n\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"vg-media\"\u003e\n\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0592\/8307\/9219\/files\/Foco_Solar_GIF.gif?v=1720124172\" alt=\"Foco Led Solar Tipo Cámara Seguridad\" loading=\"lazy\"\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003c!-- ==================================================\n     COMPARATIVA\n================================================== --\u003e\n\n\u003csection class=\"vg-section\"\u003e\n\n  \u003cdiv class=\"vg-compare\"\u003e\n\n\n    \u003cdiv class=\"vg-compare-head\"\u003e\n\n      \u003cdiv\u003e\n        Criterio\n      \u003c\/div\u003e\n\n      \u003cdiv\u003e\n        Foco Solar Tipo Cámara\n      \u003c\/div\u003e\n\n      \u003cdiv\u003e\n        Cámara de Seguridad Cableada\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-compare-row\"\u003e\n\n      \u003cdiv\u003e\n        Instalación\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-good\"\u003e\n        ✅ En minutos, sin electricista\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-bad\"\u003e\n        ❌ Requiere instalación profesional y cables\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-compare-row\"\u003e\n\n      \u003cdiv\u003e\n        Costo inicial\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-good\"\u003e\n        ✅ Bajo costo de compra\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-bad\"\u003e\n        ❌ Equipo y mano de obra costosos\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-compare-row\"\u003e\n\n      \u003cdiv\u003e\n        Consumo eléctrico\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-good\"\u003e\n        ✅ Se carga con energía solar\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-bad\"\u003e\n        ⚠️ Aumenta la cuenta de luz\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-compare-row\"\u003e\n\n      \u003cdiv\u003e\n        Mantenimiento\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-good\"\u003e\n        ✅ Mínimo, sin cuotas mensuales\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-bad\"\u003e\n        ❌ Suele requerir monitoreo pagado\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-compare-row\"\u003e\n\n      \u003cdiv\u003e\n        Efecto disuasivo\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-good\"\u003e\n        ✅ Simula cámara real y luz activa\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-bad\"\u003e\n        ⚠️ Depende de visibilidad y funcionamiento\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vg-compare-row\"\u003e\n\n      \u003cdiv\u003e\n        Movilidad\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-good\"\u003e\n        ✅ Fácil de reubicar donde quieras\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vg-bad\"\u003e\n        ❌ Fija, difícil de mover una vez instalada\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003c!-- ==================================================\n     RESEÑAS FINALES\n================================================== --\u003e\n\n\u003csection class=\"vg-section\"\u003e\n\n  \u003cdiv class=\"vg-divider\"\u003e\u003c\/div\u003e\n\n  \u003ch2\u003e\n    RESEÑAS\n  \u003c\/h2\u003e\n\n\n  \u003cdiv class=\"vg-review-viewport\"\u003e\n\n    \u003cdiv class=\"vg-review-track\"\u003e\n\n\n      \u003c!-- CARLA --\u003e\n\n      \u003cdiv class=\"vg-review-slide\"\u003e\n\n        \u003cdiv class=\"vg-review-card\"\u003e\n\n          \u003cdiv class=\"vg-review-photo\"\u003e\n\n            \u003cimg src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcSXxaBbe7xC08cIgFuTqfgStYfpNM42JTO-FTJAhiZ7yg\u0026amp;s=10\" alt=\"Reseña Foco Solar\" draggable=\"false\" loading=\"lazy\"\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vg-review-body\"\u003e\n\n            \u003cdiv class=\"vg-stars\"\u003e\n              ★★★★★\n            \u003c\/div\u003e\n\n            \u003cp\u003e\n              \"Lo instalé en la entrada de la casa y hace unos días\n              se activó como a las 3 de la mañana. Salí a mirar y había\n              un gato, pero igual me dejó tranquila saber que se enciende\n              sola apenas hay movimiento.\"\n            \u003c\/p\u003e\n\n            \u003cdiv class=\"vg-review-name\"\u003e\n              Carla Muñoz, 58 años\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- FERNANDA --\u003e\n\n      \u003cdiv class=\"vg-review-slide\"\u003e\n\n        \u003cdiv class=\"vg-review-card\"\u003e\n\n          \u003cdiv class=\"vg-review-photo\"\u003e\n\n            \u003cimg src=\"https:\/\/ae-pic-a1.aliexpress-media.com\/kf\/A66937aa9b2e64d9d84aa97da7e4637b4u.jpg_960x960q75.jpg_.avif\" alt=\"Reseña Foco Solar\" draggable=\"false\" loading=\"lazy\"\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vg-review-body\"\u003e\n\n            \u003cdiv class=\"vg-stars\"\u003e\n              ★★★★★\n            \u003c\/div\u003e\n\n            \u003cp\u003e\n              \"Vivo sola y de repente llegaba a la casa a oscuras después\n              del trabajo, eso me tenía nerviosa. Ahora se prende automático\n              apenas me bajo del auto y puedo entrar sin andar buscando\n              las llaves a oscuras.\"\n            \u003c\/p\u003e\n\n            \u003cdiv class=\"vg-review-name\"\u003e\n              Fernanda Rojas, 56 años\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- PEDRO --\u003e\n\n      \u003cdiv class=\"vg-review-slide\"\u003e\n\n        \u003cdiv class=\"vg-review-card\"\u003e\n\n          \u003cdiv class=\"vg-review-photo\"\u003e\n\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0722\/5409\/5572\/files\/2-ezgif.com-webp-to-avif-converter_cab49daa-216d-4185-a536-bfaa971e49a5.avif?v=1785274093\" alt=\"Reseña Foco Solar\" draggable=\"false\" loading=\"lazy\"\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vg-review-body\"\u003e\n\n            \u003cdiv class=\"vg-stars\"\u003e\n              ★★★★★\n            \u003c\/div\u003e\n\n            \u003cp\u003e\n              \"Tenía pensado poner cámaras de verdad pero cotizé y era otro\n              precio, con instalación aparte. Con esto puse una en techo de\n              la casa y desde lejos cualquiera cacha que hay cámara,\n              que es lo que buscaba.\"\n            \u003c\/p\u003e\n\n            \u003cdiv class=\"vg-review-name\"\u003e\n              Pedro Álvarez, 66 años\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003cdiv class=\"vg-dots vg-review-dots\"\u003e\n\n    \u003cbutton type=\"button\" class=\"vg-dot active\" aria-label=\"Reseña final 1\"\u003e\n    \u003c\/button\u003e\n\n    \u003cbutton type=\"button\" class=\"vg-dot\" aria-label=\"Reseña final 2\"\u003e\n    \u003c\/button\u003e\n\n    \u003cbutton type=\"button\" class=\"vg-dot\" aria-label=\"Reseña final 3\"\u003e\n    \u003c\/button\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003c!-- ==================================================\n     FAQ\n================================================== --\u003e\n\n\u003csection class=\"vg-section vg-faq\"\u003e\n\n  \u003cdiv class=\"vg-divider\"\u003e\u003c\/div\u003e\n\n  \u003ch2\u003e\n    PREGUNTAS FRECUENTES\n  \u003c\/h2\u003e\n\n\n  \u003cdetails\u003e\n\n    \u003csummary\u003e\n      ¿De verdad sirve para espantar a los ladrones aunque no sea una cámara real?\n    \u003c\/summary\u003e\n\n    \u003cp\u003e\n      Sí, porque el efecto visual es lo que disuade.\n      La mayoría no se arriesga a ser grabado,\n      y esta luz simula justamente eso.\n    \u003c\/p\u003e\n\n  \u003c\/details\u003e\n\n\n  \u003cdetails\u003e\n\n    \u003csummary\u003e\n      ¿Qué pasa si llueve o queda expuesto al sol todo el día?\n    \u003c\/summary\u003e\n\n    \u003cp\u003e\n      Está fabricado con resistencia IP66, pensado para exteriores.\n      Aguanta lluvia, sol y cambios de clima sin problema.\n    \u003c\/p\u003e\n\n  \u003c\/details\u003e\n\n\n  \u003cdetails\u003e\n\n    \u003csummary\u003e\n      ¿Necesito contratar a alguien para instalarlo?\n    \u003c\/summary\u003e\n\n    \u003cp\u003e\n      No, se instala con los tornillos que vienen incluidos.\n      Es cosa de elegir el lugar y atornillarlo en la pared.\n    \u003c\/p\u003e\n\n  \u003c\/details\u003e\n\n\n  \u003cdetails\u003e\n\n    \u003csummary\u003e\n      ¿Cómo sé que se va a activar cuando alguien se acerque?\n    \u003c\/summary\u003e\n\n    \u003cp\u003e\n      Trae un sensor de movimiento que detecta a varios metros de distancia.\n      Apenas hay movimiento, la luz se enciende sola.\n    \u003c\/p\u003e\n\n  \u003c\/details\u003e\n\n\n  \u003cdetails\u003e\n\n    \u003csummary\u003e\n      ¿Qué pasa si no hay mucho sol donde vivo?\n    \u003c\/summary\u003e\n\n    \u003cp\u003e\n      La batería se carga durante el día, incluso con luz indirecta.\n    \u003c\/p\u003e\n\n  \u003c\/details\u003e\n\n\n  \u003cdetails\u003e\n\n    \u003csummary\u003e\n      ¿Puedo cambiar el modo de luz cuando quiera?\n    \u003c\/summary\u003e\n\n    \u003cp\u003e\n      Sí, el control remoto incluido te permite cambiar entre\n      los 3 modos sin tener que bajar el foco.\n    \u003c\/p\u003e\n\n  \u003c\/details\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003c!-- ==================================================\n     STARKEN \/ BLUE EXPRESS\n================================================== --\u003e\n\n\u003cdiv class=\"vg-shipping-final\"\u003e\n\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0657\/1619\/1388\/files\/Diseno_sin_titulo_1_1_92828d2f-2e9d-4c15-b68c-70074f00c5cb.jpg?v=1777049060\" alt=\"Envíos Starken y Blue Express - Pago al recibir\" loading=\"lazy\"\u003e\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\n\u003cscript\u003e\n(function(){\n\n\n\/* ==================================================\n   FUNCIÓN GENERAL DE CARRUSEL\n================================================== *\/\n\nfunction initVgCarousel(options){\n\n  const viewport =\n    document.querySelector(options.viewport);\n\n  const track =\n    document.querySelector(options.track);\n\n  const slides =\n    document.querySelectorAll(options.slide);\n\n  const dots =\n    document.querySelectorAll(options.dots);\n\n\n  if(\n    !viewport ||\n    !track ||\n    !slides.length\n  ){\n    return;\n  }\n\n\n  let index = 0;\n  let timer = null;\n\n  let dragging = false;\n  let startX = 0;\n  let startY = 0;\n  let deltaX = 0;\n  let horizontal = false;\n\n\n  function visible(){\n\n    if(window.innerWidth \u003c= 650){\n      return 1;\n    }\n\n    return options.desktopVisible || 1;\n\n  }\n\n\n  function maxIndex(){\n\n    return Math.max(\n      0,\n      slides.length -\n      visible()\n    );\n\n  }\n\n\n  function gapSize(){\n\n    const styles =\n      window.getComputedStyle(track);\n\n    return parseFloat(\n      styles.columnGap ||\n      styles.gap ||\n      0\n    ) || 0;\n\n  }\n\n\n  function step(){\n\n    if(!slides.length){\n      return 0;\n    }\n\n    return (\n      slides[0]\n      .getBoundingClientRect()\n      .width +\n      gapSize()\n    );\n\n  }\n\n\n  function updateDots(){\n\n    const max =\n      maxIndex();\n\n\n    dots.forEach(function(dot,i){\n\n      dot.style.display =\n        i \u003c= max\n          ? ''\n          : 'none';\n\n      dot.classList.toggle(\n        'active',\n        i === index\n      );\n\n    });\n\n  }\n\n\n  function show(\n    newIndex,\n    animate = true\n  ){\n\n    const max =\n      maxIndex();\n\n\n    if(newIndex \u003c 0){\n      newIndex = max;\n    }\n\n\n    if(newIndex \u003e max){\n      newIndex = 0;\n    }\n\n\n    index =\n      newIndex;\n\n\n    track.style.transition =\n      animate\n        ? 'transform .5s ease'\n        : 'none';\n\n\n    track.style.transform =\n      'translate3d(-' +\n      (\n        step() *\n        index\n      ) +\n      'px,0,0)';\n\n\n    updateDots();\n\n  }\n\n\n  function stop(){\n\n    if(timer){\n\n      clearInterval(timer);\n\n      timer = null;\n\n    }\n\n  }\n\n\n  function start(){\n\n    stop();\n\n\n    timer =\n      setInterval(function(){\n\n        show(\n          index + 1,\n          true\n        );\n\n      },options.interval);\n\n  }\n\n\n  function finish(){\n\n    if(!dragging){\n      return;\n    }\n\n\n    dragging = false;\n\n\n    viewport.classList.remove(\n      'is-dragging'\n    );\n\n\n    const limit =\n      Math.max(\n        45,\n        viewport.offsetWidth *\n        .12\n      );\n\n\n    if(\n      horizontal \u0026\u0026\n      Math.abs(deltaX) \u003e limit\n    ){\n\n      show(\n        deltaX \u003c 0\n          ? index + 1\n          : index - 1,\n        true\n      );\n\n    }\n\n    else{\n\n      show(\n        index,\n        true\n      );\n\n    }\n\n\n    deltaX = 0;\n\n    horizontal = false;\n\n\n    start();\n\n  }\n\n\n  dots.forEach(function(dot,i){\n\n    dot.addEventListener(\n      'click',\n      function(){\n\n        if(\n          i \u003c=\n          maxIndex()\n        ){\n\n          show(\n            i,\n            true\n          );\n\n          start();\n\n        }\n\n      }\n    );\n\n  });\n\n\n  viewport.addEventListener(\n    'pointerdown',\n    function(event){\n\n      if(\n        event.pointerType === 'mouse' \u0026\u0026\n        event.button !== 0\n      ){\n        return;\n      }\n\n\n      dragging = true;\n\n      horizontal = false;\n\n      startX = event.clientX;\n\n      startY = event.clientY;\n\n      deltaX = 0;\n\n\n      viewport.classList.add(\n        'is-dragging'\n      );\n\n\n      track.style.transition =\n        'none';\n\n\n      stop();\n\n\n      try{\n\n        viewport.setPointerCapture(\n          event.pointerId\n        );\n\n      }\n\n      catch(error){}\n\n    }\n  );\n\n\n  viewport.addEventListener(\n    'pointermove',\n    function(event){\n\n      if(!dragging){\n        return;\n      }\n\n\n      const dx =\n        event.clientX -\n        startX;\n\n\n      const dy =\n        event.clientY -\n        startY;\n\n\n      if(\n        !horizontal \u0026\u0026\n        Math.abs(dx) \u003e 7 \u0026\u0026\n        Math.abs(dx) \u003e\n        Math.abs(dy)\n      ){\n\n        horizontal =\n          true;\n\n      }\n\n\n      if(!horizontal){\n        return;\n      }\n\n\n      deltaX =\n        dx;\n\n\n      let position =\n        -step() *\n        index +\n        deltaX;\n\n\n      if(\n        index === 0 \u0026\u0026\n        deltaX \u003e 0\n      ){\n\n        position =\n          deltaX * .3;\n\n      }\n\n\n      if(\n        index === maxIndex() \u0026\u0026\n        deltaX \u003c 0\n      ){\n\n        position =\n          -step() *\n          index +\n          deltaX * .3;\n\n      }\n\n\n      track.style.transform =\n        'translate3d(' +\n        position +\n        'px,0,0)';\n\n    }\n  );\n\n\n  viewport.addEventListener(\n    'pointerup',\n    finish\n  );\n\n\n  viewport.addEventListener(\n    'pointercancel',\n    finish\n  );\n\n\n  let resizeTimer;\n\n\n  window.addEventListener(\n    'resize',\n    function(){\n\n      clearTimeout(\n        resizeTimer\n      );\n\n\n      resizeTimer =\n        setTimeout(function(){\n\n          if(\n            index \u003e\n            maxIndex()\n          ){\n\n            index =\n              maxIndex();\n\n          }\n\n\n          show(\n            index,\n            false\n          );\n\n        },150);\n\n    }\n  );\n\n\n  show(\n    0,\n    false\n  );\n\n\n  start();\n\n}\n\n\n\/* ==================================================\n   RESEÑAS CORTAS\n================================================== *\/\n\ninitVgCarousel({\n\n  viewport:\n    '.vg-mini-viewport',\n\n  track:\n    '.vg-mini-track',\n\n  slide:\n    '.vg-mini-slide',\n\n  dots:\n    '.vg-mini-dots .vg-dot',\n\n  desktopVisible:\n    2,\n\n  interval:\n    4200\n\n});\n\n\n\/* ==================================================\n   RESEÑAS FINALES\n================================================== *\/\n\ninitVgCarousel({\n\n  viewport:\n    '.vg-review-viewport',\n\n  track:\n    '.vg-review-track',\n\n  slide:\n    '.vg-review-slide',\n\n  dots:\n    '.vg-review-dots .vg-dot',\n\n  desktopVisible:\n    2,\n\n  interval:\n    5200\n\n});\n\n\n\/* ==================================================\n   CONTADOR\n   RANGO: 1H05 → 1H38\n================================================== *\/\n\nconst hoursEl =\n  document.getElementById(\n    'vgTimerHours'\n  );\n\nconst minutesEl =\n  document.getElementById(\n    'vgTimerMinutes'\n  );\n\nconst secondsEl =\n  document.getElementById(\n    'vgTimerSeconds'\n  );\n\n\nif(\n  hoursEl \u0026\u0026\n  minutesEl \u0026\u0026\n  secondsEl\n){\n\n  const STORAGE_KEY =\n    'vigiluz_offer_timer_65_98_v1';\n\n\n  \/* 1 HORA 05 MINUTOS *\/\n\n  const MIN_TIME =\n    (\n      1 * 60 * 60\n    ) +\n    (\n      5 * 60\n    );\n\n\n  \/* 1 HORA 38 MINUTOS *\/\n\n  const MAX_TIME =\n    (\n      1 * 60 * 60\n    ) +\n    (\n      38 * 60\n    );\n\n\n  let endTime =\n    parseInt(\n      localStorage.getItem(\n        STORAGE_KEY\n      ),\n      10\n    );\n\n\n  const now =\n    Date.now();\n\n\n  \/*\n     CREA UN TIEMPO ALEATORIO\n     ENTRE 1:05 Y 1:38\n  *\/\n\n  if(\n    !endTime ||\n    endTime \u003c= now\n  ){\n\n    const randomSeconds =\n      Math.floor(\n        Math.random() *\n        (\n          MAX_TIME -\n          MIN_TIME +\n          1\n        )\n      ) +\n      MIN_TIME;\n\n\n    endTime =\n      now +\n      (\n        randomSeconds *\n        1000\n      );\n\n\n    localStorage.setItem(\n      STORAGE_KEY,\n      endTime\n    );\n\n  }\n\n\n  function pad(number){\n\n    return String(number)\n      .padStart(2,'0');\n\n  }\n\n\n  function updateOfferTimer(){\n\n    const remaining =\n      Math.max(\n        0,\n        Math.floor(\n          (\n            endTime -\n            Date.now()\n          ) \/\n          1000\n        )\n      );\n\n\n    const hours =\n      Math.floor(\n        remaining \/\n        3600\n      );\n\n\n    const minutes =\n      Math.floor(\n        (\n          remaining %\n          3600\n        ) \/\n        60\n      );\n\n\n    const seconds =\n      remaining %\n      60;\n\n\n    hoursEl.textContent =\n      pad(hours);\n\n\n    minutesEl.textContent =\n      pad(minutes);\n\n\n    secondsEl.textContent =\n      pad(seconds);\n\n\n    if(\n      remaining \u003c= 0\n    ){\n\n      clearInterval(\n        offerTimerInterval\n      );\n\n    }\n\n  }\n\n\n  updateOfferTimer();\n\n\n  const offerTimerInterval =\n    setInterval(\n      updateOfferTimer,\n      1000\n    );\n\n}\n\n})();\n\u003c\/script\u003e","brand":"Soilant","offers":[{"title":"Default Title","offer_id":58338295939375,"sku":"太阳能监控灯","price":26990.0,"currency_code":"CLP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0990\/7801\/3231\/files\/d39b7c7a-8046-4665-a77d-5c943c985177.png?v=1786852814","url":"https:\/\/soilantchile.com\/products\/foco-solar-tipo-camara","provider":"Soilant","version":"1.0","type":"link"}