{"product_id":"airpro-2","title":"AirPods Pro 2","description":"\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e\n\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin\u003e\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:ital,wght@0,400;0,600;0,700;0,800;1,800\u0026amp;family=Inter:wght@400;500;600;700;800\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\n\u003cstyle data-cwl-bundle-vis\u003e\n\/* ────────── version\/bundle cards ────────── *\/\n.v-card,\n.bundle.rsi-trigger-btn,\n.pack-card,\n[data-pack-card] {\n  position: relative;\n  cursor: pointer;\n  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;\n  border: 2px solid rgba(0,0,0,0.08);\n  background: #fff;\n  border-radius: 14px;\n  overflow: visible;\n}\n\n.v-card:hover,\n.bundle.rsi-trigger-btn:hover,\n.pack-card:hover {\n  transform: translateY(-3px);\n  box-shadow: 0 10px 24px rgba(0,0,0,0.10);\n  border-color: rgba(0,0,0,0.18);\n}\n\n\/* Active \/ popular: visualmente destacado *\/\n.v-card.is-active,\n.v-card[aria-pressed=\"true\"],\n.bundle.active,\n.pack-card.is-popular,\n[data-pack-card][data-popular=\"true\"] {\n  transform: scale(1.04);\n  border-color: var(--cwl-accent, #f59a98);\n  box-shadow: 0 14px 30px rgba(245,154,152,0.30), 0 0 0 4px rgba(245,154,152,0.10);\n}\n\n\/* Ribbon \"MÁS POPULAR\" sobre la activa *\/\n.v-card.is-active::before,\n.v-card[aria-pressed=\"true\"]::before,\n.bundle.active::before,\n.pack-card.is-popular::before {\n  content: \"★ MÁS ELEGIDA\";\n  position: absolute;\n  top: -12px;\n  left: 50%;\n  transform: translateX(-50%);\n  background: var(--cwl-accent, #f59a98);\n  color: #fff;\n  font-size: 10px;\n  font-weight: 800;\n  letter-spacing: 0.08em;\n  padding: 5px 14px;\n  border-radius: 999px;\n  white-space: nowrap;\n  box-shadow: 0 4px 10px rgba(245,154,152,0.4);\n  z-index: 5;\n}\n\n\/* Tab pill mejorado *\/\n.v-card .tab,\n.pack-card .tab {\n  display: inline-block;\n  font-size: 10px;\n  font-weight: 800;\n  letter-spacing: 0.08em;\n  padding: 3px 10px;\n  border-radius: 999px;\n  background: rgba(0,0,0,0.06);\n  margin-bottom: 8px;\n}\n\n.v-card.is-active .tab,\n.v-card[aria-pressed=\"true\"] .tab,\n.bundle.active .tab,\n.pack-card.is-popular .tab {\n  background: var(--cwl-accent, #f59a98);\n  color: #fff;\n}\n\n\/* Imagen del card: si está vacía, placeholder con gradiente + icono *\/\n.v-card .vimg,\n.pack-card .pack-img {\n  position: relative;\n  aspect-ratio: 1 \/ 1;\n  border-radius: 10px;\n  overflow: hidden;\n  background: linear-gradient(135deg, #f8f9fb 0%, #eef0f4 100%);\n}\n\n.v-card .vimg img,\n.pack-card .pack-img img,\n.bundle-thumb img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n\/* Placeholder vacío: SVG box icon centrado *\/\n.v-card .vimg .ph,\n.pack-card .pack-img .ph,\n.bundle-thumb .ph,\n.mini-can {\n  position: absolute;\n  inset: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: linear-gradient(135deg, #f5f3ff 0%, #ddd6fe 100%);\n}\n\n.v-card .vimg .ph::before,\n.pack-card .pack-img .ph::before,\n.bundle-thumb .ph::before {\n  content: \"\";\n  width: 48px;\n  height: 48px;\n  background-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%25236366f1%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20opacity%3D%220.55%22%3E%3Cpath%20d%3D%22M21%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016z%22%2F%3E%3Cpolyline%20points%3D%223.27%206.96%2012%2012.01%2020.73%206.96%22%2F%3E%3Cline%20x1%3D%2212%22%20y1%3D%2222.08%22%20x2%3D%2212%22%20y2%3D%2212%22%2F%3E%3C%2Fsvg%3E\");\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: contain;\n}\n\n.v-card .ph-label,\n.pack-card .ph-label,\n.bundle-thumb .ph-label {\n  display: none !important;\n}\n\n\/* ────────── bullets con SVG checkmark ────────── *\/\n.bullets li,\nul.bullets li,\n.feature-list li,\n.benefits-list li {\n  list-style: none !important;\n  position: relative;\n  padding-left: 32px !important;\n  margin-bottom: 10px;\n  line-height: 1.55;\n}\n\n.bullets li::before,\nul.bullets li::before,\n.feature-list li::before,\n.benefits-list li::before {\n  content: \"\";\n  position: absolute;\n  left: 0;\n  top: 2px;\n  width: 22px;\n  height: 22px;\n  border-radius: 50%;\n  background: var(--cwl-accent, #f59a98);\n  display: flex;\n}\n\n.bullets li::after,\nul.bullets li::after,\n.feature-list li::after,\n.benefits-list li::after {\n  content: \"\";\n  position: absolute;\n  left: 4px;\n  top: 6px;\n  width: 14px;\n  height: 14px;\n  background-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E\");\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: contain;\n}\n\n\/* ────────── ocultar iconos placeholder vacíos del template original ────────── *\/\n\/* Las versiones viejas del template (BeautyPro, etc) usaban \u003cspan class=\"ico ico-sm\"\u003e\n   como contenedor de SVG pero el SVG nunca llegaba — quedaban cuadrados vacíos\n   con border. Los ocultamos universalmente. Los pseudo-elementos ::before\/::after\n   nuestros ya suplen los iconos. *\/\n.bullet .ck,\n.bullet .ico,\n.trust .ico,\n.trust span .ico,\n[class*=\"-bullet\"] .ico,\n.feature-list .ico,\n.benefits-list .ico,\n.bundle-thumb .ico,\n.v-card .ico,\n.marquee .ico,\n.marquee-track .ico,\n.marquee-track span \u003e .ico,\n.review-pill .face-ph,\n.faces .face-ph,\n[class*=\"thumbs\"] .ph-label,\n.thumb .ph-label,\n[class*=\"-thumb\"] .ph-label,\n.slides .ph-label,\n.dot .ph-label,\n.arrow .ico {\n  display: none !important;\n}\n\n\/* Carousel arrows: SVG chevron en lugar de placeholder *\/\n.arrow {\n  position: relative;\n  background: rgba(255,255,255,0.85) !important;\n  border: 1px solid rgba(0,0,0,0.08) !important;\n  width: 36px !important;\n  height: 36px !important;\n  border-radius: 50% !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  cursor: pointer;\n  box-shadow: 0 2px 6px rgba(0,0,0,0.08);\n}\n.arrow::before {\n  content: \"\";\n  width: 14px;\n  height: 14px;\n  background-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%25230f1115%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%2215%2018%209%2012%2015%206%22%2F%3E%3C%2Fsvg%3E\");\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: contain;\n}\n.arrow.right::before {\n  transform: rotate(180deg);\n}\n\n\/* Trust badges: 2x2 grid + texto legible.\n   Aplica a .trust \u003e span y a .trust-dots \u003e .trust-dot (BeautyPro\/nuevo-belleza). *\/\n.trust,\n.trust-dots {\n  display: grid !important;\n  grid-template-columns: 1fr 1fr !important;\n  gap: 12px 18px !important;\n  margin-top: 18px !important;\n  max-width: 560px;\n  padding: 16px !important;\n  background: linear-gradient(180deg, #fafafa 0%, #f5f5f5 100%);\n  border-radius: 14px;\n  border: 1px solid rgba(0,0,0,0.06);\n}\n.trust span,\n.trust-dots .trust-dot {\n  display: inline-flex !important;\n  align-items: center !important;\n  gap: 10px !important;\n  font-size: 15px !important;\n  font-weight: 500 !important;\n  position: relative;\n  padding-left: 36px !important;\n  line-height: 1.3 !important;\n  color: #1a1a1a !important;\n  min-height: 32px;\n}\n\/* Default check icon (verde) para todos los badges sin data-icon específico *\/\n.trust span::before,\n.trust-dots .trust-dot::before {\n  content: \"\";\n  position: absolute;\n  left: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 26px;\n  height: 26px;\n  border-radius: 50%;\n  background-color: var(--cwl-trust-icon, #22c55e);\n  -webkit-mask-image: none;\n  mask-image: none;\n}\n.trust span::after,\n.trust-dots .trust-dot::after {\n  content: \"\";\n  position: absolute;\n  left: 5px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 16px;\n  height: 16px;\n  background-color: #ffffff;\n  -webkit-mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E\");\n  mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E\");\n  -webkit-mask-repeat: no-repeat;\n  mask-repeat: no-repeat;\n  -webkit-mask-position: center;\n  mask-position: center;\n  -webkit-mask-size: contain;\n  mask-size: contain;\n}\n\/* Iconos específicos por data-icon — usan mask-image (color via background-color) *\/\n.trust span[data-icon=\"truck\"]::after {\n  -webkit-mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%221%22%20y%3D%223%22%20width%3D%2215%22%20height%3D%2213%22%2F%3E%3Cpolygon%20points%3D%2216%208%2020%208%2023%2011%2023%2016%2016%2016%2016%208%22%2F%3E%3Ccircle%20cx%3D%225.5%22%20cy%3D%2218.5%22%20r%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%2218.5%22%20cy%3D%2218.5%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E\");\n  mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%221%22%20y%3D%223%22%20width%3D%2215%22%20height%3D%2213%22%2F%3E%3Cpolygon%20points%3D%2216%208%2020%208%2023%2011%2023%2016%2016%2016%2016%208%22%2F%3E%3Ccircle%20cx%3D%225.5%22%20cy%3D%2218.5%22%20r%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%2218.5%22%20cy%3D%2218.5%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E\");\n}\n.trust span[data-icon=\"shield\"]::after {\n  -webkit-mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z%22%2F%3E%3Cpolyline%20points%3D%229%2012%2011%2014%2015%2010%22%2F%3E%3C%2Fsvg%3E\");\n  mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z%22%2F%3E%3Cpolyline%20points%3D%229%2012%2011%2014%2015%2010%22%2F%3E%3C%2Fsvg%3E\");\n}\n.trust span[data-icon=\"clock\"]::after {\n  -webkit-mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpolyline%20points%3D%2212%206%2012%2012%2016%2014%22%2F%3E%3C%2Fsvg%3E\");\n  mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpolyline%20points%3D%2212%206%2012%2012%2016%2014%22%2F%3E%3C%2Fsvg%3E\");\n}\n.trust span[data-icon=\"check\"]::after {\n  -webkit-mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E\");\n  mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E\");\n}\n.trust span[data-icon=\"star\"]::before {\n  background-color: #fbbf24 !important;\n}\n.trust span[data-icon=\"star\"]::after {\n  -webkit-mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolygon%20points%3D%2212%202%2015.09%208.26%2022%209.27%2017%2014.14%2018.18%2021.02%2012%2017.77%205.82%2021.02%207%2014.14%202%209.27%208.91%208.26%2012%202%22%2F%3E%3C%2Fsvg%3E\");\n  mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolygon%20points%3D%2212%202%2015.09%208.26%2022%209.27%2017%2014.14%2018.18%2021.02%2012%2017.77%205.82%2021.02%207%2014.14%202%209.27%208.91%208.26%2012%202%22%2F%3E%3C%2Fsvg%3E\");\n}\n.trust span[data-icon=\"users\"]::after {\n  -webkit-mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M17%2021v-2a4%204%200%200%200-4-4H5a4%204%200%200%200-4%204v2%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M23%2021v-2a4%204%200%200%200-3-3.87%22%2F%3E%3Cpath%20d%3D%22M16%203.13a4%204%200%200%201%200%207.75%22%2F%3E%3C%2Fsvg%3E\");\n  mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M17%2021v-2a4%204%200%200%200-4-4H5a4%204%200%200%200-4%204v2%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M23%2021v-2a4%204%200%200%200-3-3.87%22%2F%3E%3Cpath%20d%3D%22M16%203.13a4%204%200%200%201%200%207.75%22%2F%3E%3C%2Fsvg%3E\");\n}\n\n\/* Mobile: trust badges — mismo grid 2x2 pero sizing chico *\/\n@media (max-width: 640px) {\n  .trust {\n    gap: 12px !important;\n    padding: 14px !important;\n    max-width: 100%;\n  }\n  .trust span {\n    font-size: 14px !important;\n    padding-left: 44px !important;\n    gap: 10px !important;\n    min-height: 36px;\n  }\n  .trust span::before {\n    width: 34px !important;\n    height: 34px !important;\n  }\n  .trust span::after {\n    width: 20px !important;\n    height: 20px !important;\n    left: 7px !important;\n  }\n}\n\n\/* ────────── FAQ accordion (estilo premium) ────────── *\/\n.faqs details.faq,\n.faqs \u003e details,\n.faqs .faq {\n  background: #fff;\n  border: 1px solid rgba(0,0,0,0.08);\n  border-radius: 12px;\n  margin-bottom: 10px;\n  padding: 0;\n  overflow: hidden;\n  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;\n}\n.faqs details.faq:hover,\n.faqs \u003e details:hover,\n.faqs .faq:hover {\n  border-color: rgba(0,0,0,0.16);\n  box-shadow: 0 6px 16px rgba(0,0,0,0.07);\n}\n.faqs details.faq[open],\n.faqs \u003e details[open],\n.faqs .faq[open] {\n  border-color: var(--cwl-accent, #f59a98);\n  background: linear-gradient(180deg, #fffbfa 0%, #ffffff 100%);\n  box-shadow: 0 8px 20px rgba(245,154,152,0.12);\n}\n\n\/* Hide browser default chevron (Firefox + Chrome + Safari) *\/\n.faqs details.faq summary,\n.faqs \u003e details summary,\n.faqs .faq summary {\n  padding: 16px 18px !important;\n  font-size: 14.5px;\n  font-weight: 600;\n  cursor: pointer;\n  list-style: none !important;\n  display: flex !important;\n  justify-content: space-between;\n  align-items: center;\n  gap: 14px;\n  color: #1a1a1a;\n  user-select: none;\n}\n.faqs details.faq summary::-webkit-details-marker,\n.faqs \u003e details summary::-webkit-details-marker,\n.faqs .faq summary::-webkit-details-marker {\n  display: none !important;\n}\n.faqs details.faq summary::marker,\n.faqs \u003e details summary::marker,\n.faqs .faq summary::marker {\n  display: none !important;\n  content: \"\" !important;\n}\n\n\/* Toggle: +\/− SVG fino + animación rotación *\/\n.faqs details.faq summary::after,\n.faqs \u003e details summary::after,\n.faqs .faq summary::after {\n  content: \"\";\n  display: inline-block;\n  width: 24px;\n  height: 24px;\n  border-radius: 50%;\n  background-color: rgba(0,0,0,0.05);\n  -webkit-mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2212%22%20y1%3D%225%22%20x2%3D%2212%22%20y2%3D%2219%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2212%22%20x2%3D%2219%22%20y2%3D%2212%22%2F%3E%3C%2Fsvg%3E\");\n  mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2212%22%20y1%3D%225%22%20x2%3D%2212%22%20y2%3D%2219%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2212%22%20x2%3D%2219%22%20y2%3D%2212%22%2F%3E%3C%2Fsvg%3E\");\n  -webkit-mask-size: 14px 14px;\n  mask-size: 14px 14px;\n  -webkit-mask-repeat: no-repeat;\n  mask-repeat: no-repeat;\n  -webkit-mask-position: center;\n  mask-position: center;\n  flex-shrink: 0;\n  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s;\n  position: relative;\n}\n.faqs details.faq[open] summary::after,\n.faqs \u003e details[open] summary::after,\n.faqs .faq[open] summary::after {\n  background-color: var(--cwl-accent, #f59a98) !important;\n  transform: rotate(45deg);\n  -webkit-mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2212%22%20y1%3D%225%22%20x2%3D%2212%22%20y2%3D%2219%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2212%22%20x2%3D%2219%22%20y2%3D%2212%22%2F%3E%3C%2Fsvg%3E\");\n  mask-image: url(\"data:image\/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2212%22%20y1%3D%225%22%20x2%3D%2212%22%20y2%3D%2219%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2212%22%20x2%3D%2219%22%20y2%3D%2212%22%2F%3E%3C%2Fsvg%3E\");\n}\n\n\/* Body de la respuesta *\/\n.faqs details.faq \u003e *:not(summary),\n.faqs \u003e details \u003e *:not(summary),\n.faqs .faq \u003e *:not(summary) {\n  padding: 0 18px 16px 18px !important;\n  font-size: 14px;\n  line-height: 1.6;\n  color: #4a4a4a;\n  animation: cwl-faq-in 0.3s ease;\n}\n@keyframes cwl-faq-in {\n  from { opacity: 0; transform: translateY(-4px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\n\/* ────────── review pill (4.8 ★ from 1,384 reseñas) ────────── *\/\n\/* En mobile el pill se squashea ilegible. Lo re-layouteamos: stars + score+count\n   en línea simple, full width, font legible. *\/\n.review-pill {\n  display: inline-flex !important;\n  align-items: center !important;\n  gap: 10px !important;\n  flex-wrap: wrap !important;\n  padding: 10px 14px !important;\n  border-radius: 999px !important;\n  background: rgba(255,255,255,0.9);\n  font-size: 14px;\n  white-space: normal !important;\n}\n.review-pill .stars {\n  color: #fbbf24 !important;\n  font-size: 16px !important;\n  letter-spacing: 1px !important;\n  flex-shrink: 0 !important;\n}\n.review-pill .txt {\n  font-weight: 600 !important;\n  flex-shrink: 0 !important;\n  white-space: nowrap !important;\n}\n.review-pill .faces {\n  display: none !important;\n}\n@media (max-width: 640px) {\n  .review-pill {\n    width: 100% !important;\n    justify-content: flex-start !important;\n    font-size: 13px !important;\n    padding: 8px 12px !important;\n  }\n  .review-pill .stars {\n    font-size: 14px !important;\n  }\n}\n\n\/* Precio por v-card *\/\n.v-card .v-price {\n  display: block;\n  font-size: 18px;\n  font-weight: 800;\n  color: var(--cwl-accent, #f59a98);\n  margin-top: 6px;\n}\n.v-card .v-price-old {\n  display: inline-block;\n  font-size: 12px;\n  color: #999;\n  text-decoration: line-through;\n  margin-left: 6px;\n  font-weight: 500;\n}\n\n\/* Mobile: 3 columnas en una fila para versions, popular destacada *\/\n@media (max-width: 640px) {\n  .versions {\n    display: grid !important;\n    grid-template-columns: repeat(3, 1fr) !important;\n    gap: 8px !important;\n  }\n  .v-card {\n    padding: 8px 4px !important;\n  }\n  .v-card .name {\n    font-size: 13px !important;\n  }\n  .v-card .tab {\n    font-size: 8px !important;\n    padding: 2px 5px !important;\n  }\n  .v-card.is-active::before,\n  .v-card[aria-pressed=\"true\"]::before {\n    font-size: 8px !important;\n    padding: 3px 8px !important;\n    top: -10px !important;\n  }\n  .v-card .vimg {\n    margin: 4px 0 !important;\n  }\n}\n\u003c\/style\u003e\n\u003cstyle data-cwl-mobile-type\u003e\n@media (max-width: 640px) {\n  [data-block=\"hero\"] h1,\n  [data-block=\"hero\"] [class$=\"-title\"],\n  [data-block=\"hero\"] [class*=\"-hero-title\"],\n  [data-block=\"hero\"] [class*=\"-headline\"] {\n    font-size: clamp(30px, 7.5vw, 40px) !important;\n    line-height: 1.08 !important;\n    font-weight: 800 !important;\n    letter-spacing: -0.01em !important;\n    text-wrap: balance;\n  }\n  [data-block=\"hero\"] h1 + p,\n  [data-block=\"hero\"] [class$=\"-sub\"],\n  [data-block=\"hero\"] [class*=\"-subheadline\"],\n  [data-block=\"hero\"] [class*=\"-hero-sub\"] {\n    font-size: 17px !important;\n    line-height: 1.55 !important;\n    opacity: 1 !important;\n    color: inherit;\n  }\n  [data-block=\"hero\"] [class*=\"-rating\"] {\n    font-size: 13px !important;\n  }\n}\n@media (max-width: 400px) {\n  [data-block=\"hero\"] h1,\n  [data-block=\"hero\"] [class$=\"-title\"],\n  [data-block=\"hero\"] [class*=\"-hero-title\"],\n  [data-block=\"hero\"] [class*=\"-headline\"] {\n    font-size: clamp(28px, 8.5vw, 34px) !important;\n  }\n  [data-block=\"hero\"] h1 + p,\n  [data-block=\"hero\"] [class$=\"-sub\"],\n  [data-block=\"hero\"] [class*=\"-subheadline\"] {\n    font-size: 16px !important;\n  }\n}\n\u003c\/style\u003e\n\u003cstyle\u003e\n\/* ═══ CONSTRUCTOR-WEB THEME OVERRIDE — hide gallery + theme-side product UI ═══ *\/\n\n\/* 1. Galería del theme — ocultar completamente *\/\n[id*=\"MainProduct\"] .product__media-gallery,\n[id*=\"MainProduct\"] .product__media-list,\n[id*=\"MainProduct\"] .product__media-item,\n[id*=\"MainProduct\"] .product__media-toggle,\n[id*=\"MainProduct\"] .product__media-zoom-button,\n[id*=\"MainProduct\"] .product__media-wrapper,\n[id*=\"MainProduct\"] .product__media,\n[id*=\"MainProduct\"] .gallery-slider,\n[id*=\"MainProduct\"] .product__media-list--no-outer-spacing,\n.product-media-modal,\n.product-single__media-group,\n.product-single__photos,\n.product__main-photos {\n  display: none !important;\n}\n\n\/* 2. Title\/price\/rating del theme — el landing tiene los suyos. Selectores con \u003e\n   para ser quirúrgicos: solo hijos directos del info-container, no afectar nada\n   dentro del body_html (rte product__description).\n   ⚠ OJO: NO ocultar .product-form \/ [data-product-form]. Releasit COD se ENGANCHA\n   a ese form (bloque buy_buttons) y mete su botón COD adentro; si lo ocultamos,\n   el COD deja de funcionar. El add-to-cart nativo ya lo oculta Releasit\n   (hideAddToCartButton). Ver generate-template-json.ts (bloque buy_buttons). *\/\n[id*=\"MainProduct\"] \u003e .product__info-container \u003e .product__title,\n[id*=\"MainProduct\"] \u003e .product__info-container \u003e .product__price,\n[id*=\"MainProduct\"] \u003e .product__info-container \u003e .product__rating,\n[id*=\"MainProduct\"] .product__info \u003e .product__title,\n[id*=\"MainProduct\"] .product__info \u003e .product__price,\n[id*=\"MainProduct\"] .product__info \u003e .product__rating {\n  display: none !important;\n}\n\n\/* 3. info-container del theme: full-width, sin padding (porque tiene el\n   description block adentro = body_html del landing) *\/\n[id*=\"MainProduct\"] .product__info-container,\n[id*=\"MainProduct\"] .product__info-wrapper,\n[id*=\"MainProduct\"] .main-product__info-container,\n[id*=\"MainProduct\"] .product__info {\n  width: 100% !important;\n  max-width: 100% !important;\n  flex: 1 1 100% !important;\n  padding: 0 !important;\n  margin: 0 !important;\n}\n\n\/* 4. Wrapper section: sin padding del theme *\/\n.shopify-section[id*=\"MainProduct\"],\n.shopify-section[id*=\"MainProduct\"] \u003e div,\n.shopify-section [class*=\"section-template--\"][class*=\"__main-padding\"] {\n  padding: 0 !important;\n  margin: 0 !important;\n}\n\n\/* 5. Wrapper del landing toma todo el ancho útil *\/\n.cwl-wrap-fhc, .fhc.cwl-wrap-fhc, .rte.product__description {\n  max-width: 100% !important;\n  width: 100% !important;\n}\n\n\/* 6. Blindar las price cards (.fhc .bundle) contra estilos globales del theme.\n   CAUSA RAIZ (diagnosticada en vivo): Shrine oculta los div vacios\n   (div:empty con display none). El .radio del bundle es un div vacio, asi que el\n   theme lo ocultaba -\u003e el grid de 4 columnas perdia su 1ra columna -\u003e los 3 hijos\n   restantes (thumb\/info\/prices) se corrian una columna a la izquierda y el thumb\n   de 70px caia sobre el texto. NO era la imagen ni el grid: era el radio.\n   Fix: forzar el radio a mostrarse + fijar grid\/thumb por las dudas. *\/\nhtml body .fhc .bundle {\n  display: grid !important;\n  grid-template-columns: 22px 70px minmax(0, 1fr) auto !important;\n  align-items: center !important;\n  gap: 16px !important;\n}\nhtml body .fhc .bundle .radio {\n  display: block !important;\n}\nhtml body .fhc .bundle-thumb {\n  width: 70px !important;\n  height: 70px !important;\n  overflow: visible !important;\n}\nhtml body .fhc .bundle-thumb img {\n  width: 100% !important;\n  height: 100% !important;\n  object-fit: cover !important;\n}\n\n\/* 7. FAQ toggles (.fhc .faq). La regla del landing \".faqs .faq \u003e *:not(summary)\"\n   (pensada para los FAQ tipo details\/summary) le mete 16px de padding-bottom al\n   .faq-a aunque esté colapsado, así que el texto del answer asomaba ~16px bajo la\n   pregunta. Forzamos el .faq-a colapsado (sin .open) a altura 0 real. *\/\nhtml body .fhc .faq:not(.open) .faq-a {\n  max-height: 0 !important;\n  padding-top: 0 !important;\n  padding-bottom: 0 !important;\n  overflow: hidden !important;\n}\n\n\/* 8. El landing usa .left\/.right como nombres de COLUMNA, pero Shrine tiene clases\n   utilitarias .left\/.right que setean text-align. Resultado: la columna derecha\n   (header + subheadline + beneficios) quedaba alineada a la derecha. Forzamos las\n   columnas del landing a text-align left. Los elementos con alineación propia\n   (bundle-title centrado, bundle-prices a la derecha) la conservan. *\/\nhtml body .fhc .left,\nhtml body .fhc .right {\n  text-align: left !important;\n}\n\n\/* 9. Comparativo \"VS\" responsive. El .vs-grid traía columnas FIJAS (590px 590px)\n   que desbordan horizontal en movil\/tablet -\u003e columnas fluidas (minmax 0,1fr) y 1\n   sola columna en movil. Aparte, el .compare-table son 3 columnas flex (.ct-col)\n   con celdas de ALTO FIJO (height:64px): en movil el texto de la columna de\n   razones envuelve a 3-4 lineas, excede los 64px y se ENCIMA sobre la celda de\n   abajo. Eso lo arregla un script en landing.liquid que re-grilla la tabla a\n   subgrid (alto auto + filas compartidas alineadas). Ver theme-override-installer\n   (VS_TABLE_GRID_FIX). *\/\nhtml body .fhc .vs-grid {\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;\n}\n@media (max-width: 768px) {\n  html body .fhc .vs-grid {\n    grid-template-columns: 1fr !important;\n  }\n  html body .fhc .compare-table {\n    width: 100% !important;\n  }\n}\n\n\/* 10. Mejoras UX móvil (pedido del user 2026-06-27). Solo aplica \u003c=768px para no\n   tocar el desktop (riesgo cero). Best-practices: body legible (\u003e=16px) y\n   consistente, máx 2 columnas de cards en móvil, texto largo pegado a la izquierda.\n   - FAQ (.faq-q\/.faq-a venían en 14px) -\u003e 16px + ancho completo.\n   - Cards (.tlabel 13px) -\u003e 16px y el .tile-grid (3 columnas fijas de 144px que\n     desbordaban) -\u003e 2 columnas (2x3).\n   - Pasos (.step-num\/.step-text) -\u003e 17\/16px.\n   - Problema (.problem-checklist tenía margin lateral de 138px que lo centraba\/\n     encajonaba) -\u003e sin margen lateral = pegado a la izquierda, ancho completo. *\/\n@media (max-width: 768px) {\n  html body .fhc .faq-q,\n  html body .fhc .faq-a {\n    font-size: 16px !important;\n  }\n  html body .fhc .faqs {\n    max-width: 100% !important;\n    margin-left: 0 !important;\n    margin-right: 0 !important;\n  }\n  html body .fhc .tlabel {\n    font-size: 16px !important;\n  }\n  html body .fhc .step-num {\n    font-size: 17px !important;\n  }\n  html body .fhc .step-text {\n    font-size: 16px !important;\n  }\n  html body .fhc .tile-grid {\n    grid-template-columns: 1fr 1fr !important;\n  }\n  html body .fhc .problem-checklist {\n    margin-left: 0 !important;\n    margin-right: 0 !important;\n    max-width: 100% !important;\n  }\n}\n\n\/* 11. Ajustes UX móvil parte 2 (pedido user). Usa \u003c=600px = breakpoint propio del\n   landing (la sección .mobile-trust solo existe \u003c=600px).\n   - Barra naranja (.sb): ~1.5x más alta. padding vertical 5px → 13px (alto 30→46px).\n   - Tarjeta de confianza (.mobile-trust \/ .m-trust-card): menos gap lateral para que\n     el texto use más ancho. Section sides 16→8px, card sides 18→14px (verificado en\n     vivo: selectores pegan, alto y paddings aplican). *\/\n@media (max-width: 600px) {\n  html body .fhc .sb {\n    padding-top: 13px !important;\n    padding-bottom: 13px !important;\n  }\n  html body .fhc .mobile-trust {\n    padding-left: 8px !important;\n    padding-right: 8px !important;\n  }\n  html body .fhc .m-trust-card {\n    padding-left: 14px !important;\n    padding-right: 14px !important;\n  }\n}\n\n\/* 12. Infográfico \"día a día\" (.photo-villain) recortado en móvil. El @media del\n   landing pone .photo-frame en aspect-ratio 4\/3, pero el infográfico es 1200x960\n   (4\/3.2) → con object-fit:cover recortaba arriba\/abajo (el heading y la fila\n   CONSECUENCIAS). Como tiene texto rasterizado tiene que verse COMPLETO. Fix: el\n   frame del villain se adapta a la imagen (aspect\/height auto) y la img se muestra\n   entera (verificado en vivo: renderedRatio == naturalRatio, full_shown=true).\n   Solo .photo-villain — las otras .photo-frame son fotos y el crop ahí está bien. *\/\n@media (max-width: 600px) {\n  html body .fhc .photo-villain {\n    aspect-ratio: auto !important;\n    height: auto !important;\n  }\n  html body .fhc .photo-villain img {\n    object-fit: contain !important;\n    position: static !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n}\n\n\/* 13. Gap blanco a la derecha (desktop + móvil). Desktop: la sección main-product\n   lleva la clase Shrine .page-width (max-width:1400px) alineada a la izquierda → una\n   franja blanca a la derecha en pantallas anchas (\u003e1400px). El landing es full-bleed\n   (marquee + bandas a todo el ancho), así que la sección debe ocupar el 100%. Móvil:\n   como red de seguridad, clipeamos el overflow-x a nivel de página (este CSS solo\n   carga en landings) por si algún hijo desborda y empuja la página. Verificado en\n   vivo: section_right == viewport (gap_gone). *\/\n[id*=\"MainProduct\"].page-width,\n[id*=\"MainProduct\"] .page-width,\n.shopify-section[id*=\"MainProduct\"] {\n  max-width: 100% !important;\n}\nhtml {\n  overflow-x: clip !important;\n}\n\n\n\/* ═══ RELEASIT COD FORM — sticky button protection ═══ *\/\nhtml body [class*=\"releasit\"][class*=\"sticky\"],\nhtml body [id*=\"releasit\"][id*=\"sticky\"],\nhtml body [class*=\"rcod\"][class*=\"sticky\"],\nhtml body [id*=\"rcod\"][id*=\"sticky\"],\nhtml body [class*=\"releasit\"][class*=\"atc\"],\nhtml body [id*=\"releasit\"][id*=\"atc\"],\nhtml body [class*=\"rcod\"][class*=\"atc\"],\nhtml body [id*=\"rcod\"][id*=\"atc\"],\nhtml body [class*=\"releasit\"][class*=\"floating\"],\nhtml body [id*=\"releasit\"][id*=\"floating\"],\nhtml body [class*=\"releasit\"][class*=\"bar\"],\nhtml body [id*=\"releasit\"][id*=\"bar\"],\nhtml body .releasit-cod-form-sticky-atc,\nhtml body #releasit-cod-form-sticky-atc,\nhtml body .releasit-sticky-atc,\nhtml body #releasit-sticky-atc,\nhtml body .rcod-sticky-atc,\nhtml body #rcod-sticky-atc,\nhtml body .rcod-sticky-atc-button,\nhtml body #rcod-sticky-atc-button,\nhtml body .rcod-floating-button,\nhtml body #rcod-floating-button {\n  display: block !important;\n  visibility: visible !important;\n  opacity: 1 !important;\n  pointer-events: auto !important;\n  position: fixed !important;\n  bottom: 0 !important;\n  left: 0 !important;\n  right: 0 !important;\n  transform: none !important;\n  -webkit-transform: none !important;\n  translate: 0 0 !important;\n  clip-path: none !important;\n  -webkit-clip-path: none !important;\n  height: auto !important;\n  max-height: none !important;\n  z-index: 999999 !important;\n}\n\/* Si Releasit le pone una clase --hidden o --collapsed, neutralizamos también *\/\nhtml body [class*=\"releasit\"][class*=\"--hidden\"],\nhtml body [class*=\"rcod\"][class*=\"--hidden\"],\nhtml body [class*=\"releasit\"][class*=\"-hidden\"],\nhtml body [class*=\"rcod\"][class*=\"-hidden\"],\nhtml body [class*=\"releasit\"][class*=\"collapsed\"],\nhtml body [class*=\"rcod\"][class*=\"collapsed\"] {\n  display: block !important;\n  visibility: visible !important;\n  opacity: 1 !important;\n  transform: none !important;\n}\n\n\n\n  .fhc {\n    \/* Palette tokens — overrideables via section.settings (Shopify theme editor).\n       Defaults preserve the original Full Hair Club look (cream\/navy\/orange).\n       Buttons usan --orange (base) y --orange-2 (hover) — cambialos para reskinear todos los CTAs. *\/\n    --cream: #fbeed8;\n    --cream-2: #f5e3c5;\n    --navy: #1f3a5f;\n    --navy-deep: #16294a;\n    --orange: #e87a3e;\n    --orange-2: #d96528;\n    --orange-soft: #f0a47b;\n    --brown: #3a2a22;\n    --ink: #1b1b1b;\n    --muted: #6b6b6b;\n    --line: #1f3a5f;\n    --font-display: 'Barlow Condensed', 'Inter', sans-serif;\n  }\n  * { box-sizing: border-box; }\n  html, body { margin: 0; padding: 0; }\n  body {\n    background: var(--cream, #fbeed8);\n    font-family: 'Inter', system-ui, sans-serif;\n    color: #1b1b1b;\n    -webkit-font-smoothing: antialiased;\n  }\n  .fhc {\n    background: var(--cream);\n    font-family: 'Inter', system-ui, sans-serif;\n    color: var(--ink);\n  }\n  .fhc .display {\n    font-family: 'Barlow Condensed', 'Inter', sans-serif;\n    font-weight: 800;\n    letter-spacing: 0.01em;\n    line-height: 0.95;\n    text-transform: uppercase;\n  }\n\n  \/* top dark bar *\/\n  .topbar { background: #1b1b1b; height: 28px; }\n\n  \/* header *\/\n  .header-wrap { background: var(--cream); }\n  .fhc .header {\n    max-width: 1280px;\n    margin: 0 auto;\n    height: 76px;\n    display: flex; align-items: center; justify-content: space-between;\n    padding: 0 32px;\n  }\n  .fhc .logo {\n    font-family: 'Barlow Condensed', sans-serif;\n    color: var(--navy);\n    line-height: 0.85;\n    text-align: center;\n  }\n  .logo .word { font-size: 34px; font-weight: 800; font-style: italic; letter-spacing: -0.02em; }\n  .logo .sub { font-size: 9px; font-weight: 700; letter-spacing: 0.32em; margin-top: 4px; color: var(--navy); }\n  .fhc .cta-pill {\n    background: var(--orange);\n    color: #fff;\n    border: none;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 18px;\n    letter-spacing: 0.08em;\n    padding: 14px 26px;\n    border-radius: 4px;\n    cursor: pointer;\n    text-transform: uppercase;\n    white-space: nowrap;\n  }\n  .cta-pill:hover { background: var(--orange-2); }\n\n  \/* page — base 2-col flex *\/\n  .fhc .page {\n    max-width: 1100px;\n    margin: 0 auto;\n    padding: 24px 24px 80px;\n    display: flex;\n    flex-direction: row;\n    flex-wrap: nowrap;\n    gap: 32px;\n    align-items: flex-start;\n  }\n  .fhc .left { flex: 0 0 calc(50% - 16px); max-width: calc(50% - 16px); min-width: 0; display: flex; flex-direction: column; gap: 24px; }\n  .fhc .right { flex: 0 0 calc(50% - 16px); max-width: calc(50% - 16px); min-width: 0; display: flex; flex-direction: column; gap: 24px; }\n  \/* Force 2-col desktop+tablet above 600px — flex row *\/\n  @media (min-width: 601px) {\n    .fhc .page { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 32px !important; }\n    .fhc .left, .fhc .right { flex: 0 0 calc(50% - 16px) !important; max-width: calc(50% - 16px) !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; }\n    .fhc .mobile-trust { display: none !important; }\n    \/* Thumbs más pequeños para alinear altura total con hero square *\/\n    .fhc .gallery { grid-template-columns: 72px 1fr !important; gap: 12px !important; }\n    .fhc .thumb { width: 72px !important; aspect-ratio: 1 \/ 1 !important; }\n    .fhc .thumbs { gap: 10px !important; grid-template-rows: repeat(5, auto) !important; align-content: start !important; }\n  }\n  .fhc .gallery {\n    display: grid;\n    grid-template-columns: 96px 1fr;\n    gap: 14px;\n  }\n  .thumbs { display: grid; grid-template-rows: repeat(5, 1fr); gap: 14px; }\n  .fhc .thumb {\n    width: 96px;\n    border-radius: 8px;\n    border: 1.5px solid var(--navy);\n    background: #fff;\n    display: flex; flex-direction: column; align-items: center; justify-content: space-between;\n    padding: 6px;\n    cursor: pointer;\n    overflow: hidden;\n    position: relative;\n  }\n  .fhc .thumb .t-title {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 8px;\n    color: var(--navy);\n    text-align: center;\n    line-height: 1.05;\n    text-transform: uppercase;\n    padding: 0 2px;\n  }\n  .fhc .thumb .t-body {\n    flex: 1;\n    width: 100%;\n    margin: 4px 0;\n    background:\n      linear-gradient(135deg, #f5d4a6 0%, #e8b985 100%);\n    border-radius: 4px;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 2px;\n    padding: 3px;\n  }\n  .fhc .thumb .t-body span {\n    background: rgba(255,255,255,0.55);\n    border-radius: 2px;\n  }\n  .thumb.active { outline: 2px solid var(--orange); outline-offset: 1px; }\n\n  .fhc .hero {\n    background: transparent !important;\n    border-radius: 10px;\n    aspect-ratio: 1 \/ 1;\n    display: flex; align-items: center; justify-content: center;\n    position: relative;\n    overflow: hidden;\n  }\n  .fhc .hero-slide { background: transparent !important; }\n  .fhc .hero-slide img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }\n\n  .fhc .hero-slide {\n    width: 100%; height: 100%;\n    flex: 0 0 100%;\n    display: flex; align-items: center; justify-content: center;\n    position: relative;\n  }\n  .hero \u003e .hero-slide { display: none; }\n  .hero \u003e .hero-slide.active { display: flex; }\n  .hero-dots { display: none; }\n  .fhc .hero-placeholder {\n    width: 78%; height: 78%;\n    border-radius: 12px;\n    display: flex; align-items: flex-end; justify-content: center;\n    padding: 24px;\n    position: relative;\n  }\n  .hero-placeholder.hp-1 { background: linear-gradient(135deg, #d97a4a 0%, #c96442 100%); }\n  .hero-placeholder.hp-2 { background: linear-gradient(135deg, #2c4263 0%, #1c2f5a 100%); }\n  .hero-placeholder.hp-3 { background: linear-gradient(135deg, #f0d28a 0%, #d9a85c 100%); }\n  .hero-placeholder.hp-4 { background: linear-gradient(135deg, #4a3829 0%, #2c2218 100%); }\n  .fhc .hp-label {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    font-size: 18px;\n    line-height: 1.1;\n    text-align: center;\n    text-shadow: 0 2px 8px rgba(0,0,0,0.3);\n  }\n  .hero-placeholder.hp-3 .hp-label { color: var(--navy); text-shadow: none; }\n\n  \/* product can *\/\n  .fhc .can {\n    width: 230px;\n    height: 380px;\n    position: relative;\n    filter: drop-shadow(0 30px 40px rgba(0,0,0,0.45));\n  }\n  .fhc .can .cap {\n    position: absolute; top: 0; left: 0; right: 0; height: 110px;\n    background: linear-gradient(180deg, #2c4263 0%, #1f3251 60%, #14223d 100%);\n    border-radius: 115px 115px 6px 6px \/ 22px 22px 6px 6px;\n    box-shadow: inset 0 -6px 12px rgba(0,0,0,0.3);\n  }\n  .fhc .can .cap::before {\n    content: \"\"; position: absolute; left: 50%; top: 8px; transform: translateX(-50%);\n    width: 110px; height: 18px;\n    background: linear-gradient(180deg, #d97a55 0%, #b85d3a 100%);\n    border-radius: 50%;\n    box-shadow: inset 0 2px 3px rgba(0,0,0,0.3);\n  }\n  .fhc .can .cap::after {\n    content: \"\"; position: absolute; left: 0; right: 0; bottom: 0; height: 8px;\n    background: rgba(0,0,0,0.35);\n  }\n  .fhc .can .body {\n    position: absolute; top: 100px; left: 0; right: 0; bottom: 0;\n    background:\n      linear-gradient(180deg, #faf7f0 0%, #f0ead9 100%);\n    border-radius: 6px 6px 8px 8px;\n    box-shadow: inset 6px 0 14px rgba(0,0,0,0.12), inset -6px 0 14px rgba(0,0,0,0.12);\n    display: flex; flex-direction: column; align-items: center; padding: 28px 14px 18px;\n  }\n  .fhc .can .tagline {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    color: #fff;\n    font-size: 12px;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    position: absolute; top: 60px; left: 0; right: 0; text-align: center;\n  }\n  .fhc .can .brand {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-style: italic;\n    color: var(--navy);\n    font-size: 56px;\n    line-height: 0.85;\n    margin-top: 18px;\n  }\n  .fhc .can .brand-sub {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 700;\n    color: var(--navy);\n    font-size: 11px;\n    letter-spacing: 0.32em;\n    margin-top: 4px;\n  }\n  .fhc .can .shade {\n    margin-top: 28px;\n    background: var(--brown);\n    color: #fff;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 11px;\n    letter-spacing: 0.18em;\n    padding: 5px 14px;\n    border-radius: 999px;\n  }\n  .fhc .can .desc {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 600;\n    font-size: 11px;\n    color: var(--navy);\n    text-align: center;\n    margin-top: auto;\n    line-height: 1.3;\n    letter-spacing: 0.02em;\n  }\n\n  \/* FAQs *\/\n  .faqs { margin-top: 28px; display: flex; flex-direction: column; gap: 14px; }\n  .fhc .faq {\n    background: #fff;\n    border: 1.5px solid var(--navy);\n    border-radius: 12px;\n    padding: 0;\n  }\n  .fhc .faq-q {\n    width: 100%; background: none; border: none; cursor: pointer;\n    display: flex; align-items: center; justify-content: space-between;\n    padding: 18px 22px;\n    font-family: 'Inter', sans-serif;\n    font-weight: 600;\n    font-size: 15px;\n    color: var(--navy);\n    text-align: left;\n  }\n  .fhc .faq-q .icon {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 700;\n    font-size: 22px;\n    color: var(--navy);\n    line-height: 1;\n    transition: transform 0.2s ease;\n  }\n  .faq.open .faq-q .icon { transform: rotate(45deg); }\n  .fhc .faq-a {\n    max-height: 0; overflow: hidden;\n    transition: max-height 0.25s ease;\n    padding: 0 22px;\n    color: var(--muted);\n    font-size: 14px;\n    line-height: 1.55;\n  }\n  .fhc .faq.open .faq-a {\n    max-height: 240px;\n    padding: 0 22px 18px;\n  }\n\n  \/* right column *\/\n  .right { padding-top: 4px; }\n  .fhc .stars {\n    display: flex; align-items: center; gap: 8px;\n    color: var(--orange);\n    font-size: 16px;\n  }\n  .fhc .stars .meta {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    color: var(--ink);\n    font-size: 13px;\n    letter-spacing: 0.05em;\n  }\n  .fhc h1.title {\n    font-size: 56px;\n    color: var(--navy);\n    margin: 14px 0 14px;\n  }\n  .fhc .lede {\n    font-size: 14px; color: var(--ink); margin: 0 0 18px;\n  }\n  .fhc .benefits {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    column-gap: 22px;\n    row-gap: 10px;\n    margin-bottom: 22px;\n  }\n  .fhc .benefit {\n    display: flex; align-items: center; gap: 10px;\n    font-size: 14px; color: var(--ink); font-weight: 500;\n  }\n  .fhc .check {\n    width: 18px; height: 18px; flex: 0 0 18px;\n    background: var(--orange);\n    color: #fff;\n    border-radius: 50%;\n    display: inline-flex; align-items: center; justify-content: center;\n    font-size: 11px;\n  }\n  .benefit:nth-child(5), .benefit:nth-child(6) { grid-column: 1 \/ -1; }\n\n  .fhc .bundle-title {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 18px;\n    letter-spacing: 0.18em;\n    text-align: center;\n    color: var(--ink);\n    margin: 8px 0 14px;\n  }\n\n  .fhc .bundle {\n    border: 1.5px solid var(--navy);\n    border-radius: 12px;\n    background: #fff;\n    padding: 14px 18px 14px 14px;\n    display: grid;\n    grid-template-columns: 22px 60px minmax(0, 1fr) auto;\n    align-items: center;\n    gap: 18px;\n    cursor: pointer;\n    margin-bottom: 12px;\n    position: relative;\n  }\n  .fhc .bundle.active { border-color: var(--orange); border-width: 2px; padding: 13.5px 17.5px 13.5px 13.5px; }\n  .fhc .radio {\n    width: 20px; height: 20px;\n    border-radius: 50%;\n    border: 2px solid var(--navy);\n    background: #fff;\n    position: relative;\n  }\n  .bundle.active .radio { border-color: var(--orange); }\n  .fhc .bundle.active .radio::after {\n    content: \"\"; position: absolute; inset: 3px;\n    border-radius: 50%; background: var(--orange);\n  }\n  .fhc .bundle-thumb {\n    width: 70px; height: 70px;\n    background: var(--cream-2);\n    border-radius: 8px;\n    display: flex; align-items: center; justify-content: center;\n    position: relative;\n  }\n  .fhc .bundle-thumb .mini-can {\n    width: 44px; height: 56px;\n    border-radius: 6px;\n    background: linear-gradient(135deg, #f0e8d6 0%, #e3d9c0 100%) !important;\n    border: 1px dashed rgba(31,58,95,0.35);\n    position: relative;\n  }\n  .fhc .bundle-thumb .mini-can-OLD {\n    width: 28px; height: 50px;\n    border-radius: 4px 4px 3px 3px;\n    background: linear-gradient(180deg, var(--navy) 0 36%, #f5efe0 36% 100%);\n    position: relative;\n  }\n  .fhc .bundle-thumb .mini-can::after {\n    content: 'full';\n    position: absolute; left: 0; right: 0; top: 55%;\n    text-align: center;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800; font-style: italic;\n    color: var(--navy); font-size: 9px;\n  }\n  .fhc .bundle-thumb .qty-badge {\n    position: absolute; bottom: -6px; left: -6px;\n    background: var(--orange);\n    color: #fff;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 11px;\n    width: 24px; height: 24px;\n    border-radius: 50%;\n    display: flex; align-items: center; justify-content: center;\n    border: 2px solid #fff;\n  }\n  .fhc .bundle-info { display: flex; flex-direction: column; gap: 4px; padding-right: 16px; }\n  .fhc .bundle-info .name {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 18px;\n    letter-spacing: 0.04em;\n    color: var(--navy);\n  }\n  .fhc .bundle-info .per {\n    font-size: 12px; color: var(--muted);\n  }\n  .fhc .bundle-info .badges {\n    display: flex; gap: 6px; margin-top: 4px; flex-wrap: wrap;\n  }\n  .fhc .badge-tag {\n    background: var(--orange);\n    color: #fff;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 9.5px;\n    letter-spacing: 0.05em;\n    padding: 3px 8px;\n    border-radius: 999px;\n    white-space: nowrap;\n  }\n  .bundle-prices { text-align: right; padding-right: 6px; }\n  .fhc .bundle-prices .pnow {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 22px;\n    color: var(--orange-2);\n  }\n  .fhc .bundle-prices .pold {\n    font-size: 14px; color: #aaa; text-decoration: line-through;\n  }\n\n  .fhc .add-bundle {\n    width: 100%;\n    background: var(--orange-soft);\n    color: #fff;\n    border: none;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 20px;\n    letter-spacing: 0.12em;\n    padding: 16px;\n    border-radius: 10px;\n    cursor: pointer;\n    text-transform: uppercase;\n    margin-top: 12px;\n    transition: background 0.15s ease;\n  }\n  .add-bundle.enabled { background: var(--orange); }\n  .add-bundle.enabled:hover { background: var(--orange-2); }\n\n  \/* ========== SECTION DIVIDERS (torn paper) ========== *\/\n  .fhc .torn-top, .fhc .torn-bottom { display: none !important; }\n  .fhc .torn-top--ORIGINAL, .fhc .torn-bottom--ORIGINAL {\n    height: 28px;\n    background-repeat: repeat-x;\n    background-size: 800px 28px;\n  }\n  .fhc .torn-top {\n    background-image: url(\"data:image\/svg+xml;utf8,\u003csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 800 28' preserveAspectRatio='none'\u003e\u003cpath d='M0,28 L0,12 Q20,4 40,10 T80,8 T120,14 T160,6 T200,12 T240,4 T280,11 T320,7 T360,13 T400,5 T440,10 T480,15 T520,6 T560,11 T600,4 T640,12 T680,8 T720,14 T760,6 T800,10 L800,28 Z' fill='%23fbeed8'\/\u003e\u003c\/svg\u003e\");\n    margin-top: -1px;\n  }\n  .fhc .torn-bottom {\n    background-image: url(\"data:image\/svg+xml;utf8,\u003csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 800 28' preserveAspectRatio='none'\u003e\u003cpath d='M0,0 L0,16 Q20,24 40,18 T80,20 T120,14 T160,22 T200,16 T240,24 T280,17 T320,21 T360,15 T400,23 T440,18 T480,13 T520,22 T560,17 T600,24 T640,16 T680,20 T720,14 T760,22 T800,18 L800,0 Z' fill='%23fbeed8'\/\u003e\u003c\/svg\u003e\");\n    margin-bottom: -1px;\n  }\n\n  .fhc .section {\n    max-width: 1280px;\n    margin: 0 auto;\n    padding: 60px 32px;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 64px;\n    align-items: center;\n  }\n\n  \/* Why full hair club? *\/\n  .why { padding: 40px 32px 60px; }\n  .fhc .why h2 {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    color: var(--navy);\n    font-size: 36px;\n    letter-spacing: 0.01em;\n    margin: 0 0 22px;\n    text-transform: uppercase;\n  }\n  .fhc .why-bens {\n    display: grid;\n    grid-template-columns: auto auto auto;\n    column-gap: 28px;\n    row-gap: 12px;\n    justify-content: start;\n  }\n  .why-bens .benefit { font-size: 14px; }\n\n  .fhc .review-card {\n    background: #fff;\n    border: 1.5px solid var(--navy);\n    border-radius: 14px;\n    padding: 22px 26px;\n  }\n  .fhc .review-card .row1 {\n    display: flex; align-items: center; gap: 10px; margin-bottom: 10px;\n  }\n  .review-card .stars-mini { color: var(--orange, #f5a623); font-size: 16px; letter-spacing: 1px; }\n  .fhc .review-card .r-title {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    color: var(--navy);\n    font-size: 16px;\n    letter-spacing: 0.04em;\n  }\n  .fhc .review-card .r-body {\n    color: var(--navy);\n    font-size: 15px;\n    line-height: 1.45;\n    margin: 0 0 14px;\n    font-weight: 500;\n  }\n  .fhc .review-card .r-author-row {\n    display: flex; align-items: center; gap: 10px; margin-top: 4px;\n  }\n  .fhc .review-card .r-avatar {\n    width: 38px; height: 38px; border-radius: 50%;\n    object-fit: cover; flex-shrink: 0;\n    border: 2px solid var(--orange);\n    background: var(--cream-2);\n    display: inline-flex; align-items: center; justify-content: center;\n    font-family: 'Barlow Condensed', sans-serif; font-weight: 800;\n    color: var(--navy); font-size: 16px;\n  }\n  .fhc .review-card .r-author {\n    color: var(--navy);\n    font-size: 13px;\n    font-style: italic;\n    opacity: 0.85;\n  }\n\n  \/* Section background bands *\/\n  .fhc .band {\n    background: var(--cream-2);\n    position: relative;\n  }\n\n  \/* Tag pills *\/\n  .fhc .tag-pill {\n    display: inline-block;\n    border: 1.5px dashed var(--orange);\n    color: var(--orange);\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 14px;\n    letter-spacing: 0.16em;\n    padding: 6px 14px;\n    border-radius: 4px;\n    margin-bottom: 18px;\n    white-space: nowrap;\n  }\n  .fhc .section h2.section-title {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    color: var(--navy);\n    font-size: 44px;\n    letter-spacing: 0.01em;\n    margin: 0 0 18px;\n    text-transform: uppercase;\n    line-height: 1;\n  }\n  .fhc .section p.section-body {\n    font-size: 15px;\n    line-height: 1.55;\n    color: var(--ink);\n    margin: 0;\n    max-width: 460px;\n  }\n\n  .fhc .photo-frame {\n    aspect-ratio: 4 \/ 3.2;\n    border-radius: 12px;\n    border: 1.5px solid var(--navy);\n    overflow: hidden;\n    background: #d4cdb6;\n    position: relative;\n    display: flex; align-items: center; justify-content: center;\n  }\n  .fhc .photo-frame .ph-label {\n    position: absolute;\n    inset: auto 0 12px 0;\n    text-align: center;\n    color: rgba(255,255,255,0.85);\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 700;\n    font-size: 12px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n  }\n  .fhc .photo-villain {\n    background: #f0e9dc;\n    border: 1.5px dashed rgba(28, 47, 90, 0.25);\n  }\n  .fhc .photo-villain::before { content: none; }\n\n  .fhc .photo-hero {\n    background: #f0e9dc;\n    border: 1.5px dashed rgba(28, 47, 90, 0.25);\n  }\n  .fhc .photo-hero::before { content: none; }\n\n  .fhc .bridge {\n    text-align: center;\n    padding: 40px 24px 56px;\n    max-width: 680px;\n    margin: 0 auto;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 700;\n    font-size: 22px;\n    line-height: 1.35;\n    letter-spacing: 0.01em;\n    color: var(--navy);\n    text-transform: uppercase;\n  }\n  .fhc .bridge a {\n    display: inline-block;\n    margin-top: 14px;\n    padding: 12px 28px;\n    background: var(--orange);\n    color: #fff !important;\n    text-decoration: none !important;\n    font-weight: 800;\n    font-size: 15px;\n    letter-spacing: 0.06em;\n    border-radius: 999px;\n    box-shadow: 0 4px 12px rgba(232, 122, 62, 0.3);\n    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;\n  }\n  .fhc .bridge a:hover {\n    background: var(--orange-2);\n    transform: translateY(-1px);\n    box-shadow: 0 6px 16px rgba(232, 122, 62, 0.4);\n  }\n  .fhc .bridge::before {\n    content: \"👇\";\n    display: block;\n    font-size: 28px;\n    margin-bottom: 12px;\n  }\n  @media (max-width: 600px) {\n    .fhc .bridge { padding: 28px 16px 40px; font-size: 18px; }\n    .fhc .bridge a { font-size: 14px; padding: 11px 22px; }\n    .fhc .bridge::before { font-size: 24px; margin-bottom: 8px; }\n  }\n\n  .fhc .hero-stars {\n    display: flex; align-items: center; gap: 8px;\n    margin-bottom: 14px;\n  }\n  .hero-stars .s { color: var(--orange, #f5a623); font-size: 16px; letter-spacing: 1px; }\n  .fhc .hero-stars .meta {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800; font-size: 13px; letter-spacing: 0.05em;\n    color: var(--ink);\n  }\n\n  .fhc .tile-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 14px;\n    margin-top: 22px;\n    max-width: 460px;\n  }\n  .fhc .tile {\n    background: #fff;\n    border: 1.5px solid var(--navy);\n    border-radius: 14px;\n    padding: 18px 12px 14px;\n    display: flex; flex-direction: column; align-items: center; gap: 10px;\n    text-align: center;\n  }\n  .fhc .tile .ico {\n    width: 44px; height: 44px;\n    color: var(--orange);\n    display: flex; align-items: center; justify-content: center;\n  }\n  .tile .ico svg { width: 100%; height: 100%; fill: currentColor; }\n  .fhc .tile .tile-icon-text { font-size: 32px; line-height: 1; display: inline-block; }\n  .fhc .tile .ico img { width: 100%; height: 100%; object-fit: contain; display: block; }\n  .fhc .tile .tlabel {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 13px;\n    color: var(--orange);\n    letter-spacing: 0.06em;\n    line-height: 1.15;\n    text-transform: uppercase;\n  }\n\n  .fhc .hero-cta {\n    width: 100%;\n    background: var(--orange);\n    color: #fff;\n    border: none;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 22px;\n    letter-spacing: 0.12em;\n    padding: 16px;\n    border-radius: 8px;\n    cursor: pointer;\n    text-transform: uppercase;\n    margin-top: 16px;\n  }\n  .hero-cta:hover { background: var(--orange-2); }\n\n  \/* ========== QUOTE + BEFORE\/AFTER ========== *\/\n  .fhc .quote-wrap {\n    max-width: 1280px; margin: 0 auto; padding: 60px 32px 40px; text-align: center;\n  }\n  .fhc .quote-wrap .quote {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    color: var(--navy);\n    font-size: 32px;\n    letter-spacing: 0.01em;\n    text-transform: uppercase;\n    line-height: 1.1;\n    margin: 0 auto 28px;\n    max-width: 720px;\n  }\n  .fhc .ba-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 18px;\n    justify-content: center;\n    align-items: stretch;\n    max-width: 720px;\n    margin: 0 auto;\n  }\n  .fhc .ba-card {\n    width: 100%;\n    aspect-ratio: 1 \/ 1;\n    border-radius: 14px;\n    position: relative;\n    background: #f0e9dc;\n    overflow: hidden;\n    box-shadow: 0 4px 16px rgba(0,0,0,0.12);\n  }\n  .fhc .ba-card.before { background: #f0e9dc; }\n  .fhc .ba-card img {\n    position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; display: block;\n  }\n  .fhc .ba-card .sticker {\n    position: absolute;\n    font-size: 36px;\n    line-height: 1;\n    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));\n    display: none;\n  }\n  .fhc .ba-label {\n    position: absolute;\n    top: 14px;\n    left: 14px;\n    z-index: 2;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 14px;\n    letter-spacing: 0.14em;\n    color: #fff;\n    background: rgba(28, 47, 90, 0.95);\n    padding: 8px 14px;\n    border-radius: 4px;\n    text-transform: uppercase;\n    box-shadow: 0 2px 8px rgba(0,0,0,0.25);\n  }\n  .fhc .ba-label-after {\n    background: var(--orange, #e87a3e);\n  }\n  @media (max-width: 600px) {\n    .fhc .ba-row { gap: 10px; padding: 0 8px; }\n    .fhc .ba-label { font-size: 12px; top: 10px; left: 10px; padding: 6px 10px; }\n  }\n  .ba-card.before .sticker { top: -10px; left: -10px; }\n  .ba-card.after .sticker { top: -10px; right: -10px; }\n\n  \/* ========== 3 STEPS ========== *\/\n  .fhc .steps-wrap {\n    max-width: 1280px; margin: 0 auto; padding: 50px 32px 60px; text-align: center;\n  }\n  .fhc .steps-wrap h2 {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    color: var(--navy);\n    font-size: 32px;\n    letter-spacing: 0.01em;\n    text-transform: uppercase;\n    margin: 0 0 38px;\n  }\n  .fhc .steps {\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 30px;\n    max-width: 900px; margin: 0 auto;\n  }\n  .fhc .step {\n    display: grid; grid-template-columns: 70px 1fr; gap: 16px; align-items: start; text-align: left;\n  }\n  .fhc .step .step-ico {\n    width: 70px; height: 70px;\n    background: var(--orange);\n    border-radius: 50%;\n    display: flex; align-items: center; justify-content: center;\n    color: var(--navy);\n  }\n  .step .step-ico svg { width: 38px; height: 38px; fill: var(--navy); }\n  .fhc .step .step-icon-text { font-size: 36px; line-height: 1; display: inline-block; }\n  .fhc .step .step-ico img { width: 70%; height: 70%; object-fit: contain; }\n  .fhc .step .step-num {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    color: var(--navy);\n    font-size: 18px;\n    letter-spacing: 0.06em;\n    margin-bottom: 4px;\n  }\n  .fhc .step .step-text {\n    font-size: 13px; color: var(--ink); line-height: 1.45;\n    border-bottom: 1px solid #d8cdb3;\n    padding-bottom: 10px;\n  }\n\n  \/* ========== TESTIMONIALS BAND ========== *\/\n  .test-band { background: var(--cream-2); }\n  .test-wrap { max-width: 1280px; margin: 0 auto; padding: 50px 32px 60px; text-align: center; }\n\n  .fhc .polaroids {\n    display: flex; justify-content: center; align-items: center;\n    margin-bottom: 28px;\n    height: 130px;\n    position: relative;\n  }\n  .fhc .polaroid {\n    width: 110px; height: 110px;\n    border: 1.5px solid var(--navy);\n    border-radius: 8px;\n    margin: 0 -10px;\n    background: linear-gradient(135deg, #8a7a6c 0%, #5a4d42 100%);\n    box-shadow: 0 6px 14px rgba(0,0,0,0.25);\n  }\n  .polaroid:nth-child(1) { transform: rotate(-10deg) translateY(8px); background: #f0e9dc; border: 1.5px dashed rgba(28, 47, 90, 0.25); box-shadow: none; }\n  .polaroid:nth-child(2) { transform: rotate(6deg) translateY(-4px); background: #f0e9dc; border: 1.5px dashed rgba(28, 47, 90, 0.25); box-shadow: none; }\n  .polaroid:nth-child(3) { transform: rotate(-4deg) translateY(-12px); z-index: 2; background: #f0e9dc; border: 1.5px dashed rgba(28, 47, 90, 0.25); box-shadow: none; }\n  .polaroid:nth-child(4) { transform: rotate(8deg) translateY(4px); background: #f0e9dc; border: 1.5px dashed rgba(28, 47, 90, 0.25); box-shadow: none; }\n\n  .fhc .stars-big {\n    color: var(--orange, #f5a623); font-size: 28px; letter-spacing: 6px; margin-bottom: 14px;\n  }\n  .fhc .test-headline {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    color: var(--navy);\n    font-size: 30px;\n    letter-spacing: 0.01em;\n    text-transform: uppercase;\n    margin: 0 0 28px;\n    line-height: 1.15;\n  }\n  .test-headline .accent { color: var(--orange); }\n\n  .fhc .reviews {\n    display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 30px;\n  }\n  .fhc .rev {\n    background: #fff;\n    border: 1.5px solid var(--navy);\n    border-radius: 12px;\n    padding: 14px 16px;\n    text-align: left;\n  }\n  .rev .rh { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }\n  .rev .rh .rs { color: var(--orange, #f5a623); font-size: 11px; letter-spacing: 1px; }\n  .rev .rh .rt { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; color: var(--navy); font-size: 13px; letter-spacing: 0.04em; }\n  .rev .rb { font-size: 12px; color: var(--ink); line-height: 1.45; margin: 0 0 10px; }\n  .rev .ra { font-size: 11px; color: var(--navy); font-style: italic; opacity: 0.7; }\n\n  .fhc .test-cta {\n    background: var(--orange); color: #fff; border: none;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800; font-size: 18px; letter-spacing: 0.1em;\n    padding: 14px 38px; border-radius: 6px; cursor: pointer;\n    text-transform: uppercase;\n  }\n  .test-cta:hover { background: var(--orange-2); }\n\n  \/* ========== STATS \/ RINGS ========== *\/\n  .stats-wrap { max-width: 1280px; margin: 0 auto; padding: 50px 32px 80px; text-align: center; }\n  .fhc .stats-wrap h2 {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800; color: var(--navy);\n    font-size: 30px; letter-spacing: 0.01em;\n    text-transform: uppercase; margin: 0 0 28px;\n  }\n  .fhc .stats {\n    display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 1000px; margin: 0 auto;\n  }\n  .fhc .stat {\n    background: #fff;\n    border: 1.5px solid var(--navy);\n    border-radius: 12px;\n    padding: 18px 22px;\n    display: grid;\n    grid-template-columns: 78px 1fr;\n    align-items: center;\n    gap: 16px;\n    text-align: left;\n  }\n  .fhc .stat-ico {\n    width: 72px; height: 72px;\n    border-radius: 16px;\n    background: linear-gradient(135deg, rgba(232, 122, 62, 0.15) 0%, rgba(232, 122, 62, 0.06) 100%);\n    border: 1.5px solid rgba(232, 122, 62, 0.25);\n    display: flex; align-items: center; justify-content: center;\n    flex-shrink: 0;\n  }\n  .fhc .stat-ico .stat-emoji {\n    font-size: 36px; line-height: 1;\n  }\n  .fhc .stat-ico img {\n    width: 60%; height: 60%; object-fit: contain;\n  }\n  .stat-text { font-size: 14px; line-height: 1.45; color: var(--ink); }\n  .stat-text b { color: var(--orange-2); font-weight: 800; font-size: 17px; }\n\n  \/* ========== US VS THEM ========== *\/\n  .vs-wrap { max-width: 1280px; margin: 0 auto; padding: 30px 32px 50px; }\n  .fhc .vs-wrap h2 {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800; color: var(--navy);\n    font-size: 30px; letter-spacing: 0.01em;\n    text-transform: uppercase; text-align: center;\n    margin: 0 0 32px;\n  }\n  .vs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: start; }\n\n  .fhc .compare-table {\n    display: flex;\n    align-items: stretch;\n    position: relative;\n  }\n  .fhc .ct-col {\n    flex: 1;\n    background: #fff;\n    border: 1.5px solid var(--navy);\n    display: flex; flex-direction: column;\n  }\n  .ct-col.first { border-radius: 14px 0 0 14px; border-right: none; flex: 1.3; }\n  .ct-col.last { border-radius: 0 14px 14px 0; border-left: none; }\n  .fhc .ct-col.us {\n    background: var(--cream-2);\n    border-radius: 14px;\n    margin: -10px -1px;\n    z-index: 2;\n    flex: 0.9;\n  }\n  .fhc .ct-cell {\n    padding: 16px 18px;\n    border-bottom: 1px solid #e1d6bd;\n    font-size: 13px;\n    color: var(--ink);\n    display: flex; align-items: center;\n    height: 64px;\n    box-sizing: border-box;\n  }\n  .fhc .ct-cell.head {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800;\n    font-size: 18px;\n    letter-spacing: 0.05em;\n    color: var(--navy);\n    border-bottom: 1.5px solid var(--navy);\n    height: 70px;\n    text-transform: uppercase;\n  }\n  .ct-cell.center { justify-content: center; }\n  .ct-cell.last { border-bottom: none; }\n  .fhc .check-circle, .fhc .x-circle {\n    width: 28px; height: 28px; border-radius: 50%;\n    display: inline-flex; align-items: center; justify-content: center;\n    color: #fff; font-size: 14px; font-weight: 800;\n  }\n  .check-circle { background: var(--navy); }\n  .x-circle { background: var(--ink); }\n\n  .vs-reviews { display: flex; flex-direction: column; gap: 14px; }\n  .fhc .vs-rev {\n    background: #fff;\n    border: 1.5px solid var(--navy);\n    border-radius: 12px;\n    padding: 14px 18px;\n  }\n  .vs-rev .rh { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }\n  .vs-rev .rh .rs { color: var(--orange, #f5a623); font-size: 12px; letter-spacing: 1px; }\n  .vs-rev .rh .rt { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; color: var(--navy); font-size: 14px; letter-spacing: 0.04em; }\n  .vs-rev .rb { font-size: 13px; color: var(--ink); line-height: 1.45; margin: 0 0 8px; }\n  .vs-rev .ra { font-size: 12px; color: var(--navy); font-style: italic; opacity: 0.7; }\n\n  .vs-cta-wrap { text-align: center; margin-top: 30px; }\n  .fhc .vs-cta {\n    background: var(--orange); color: #fff; border: none;\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800; font-size: 18px; letter-spacing: 0.1em;\n    padding: 14px 50px; border-radius: 6px; cursor: pointer;\n    text-transform: uppercase;\n  }\n  .vs-cta:hover { background: var(--orange-2); }\n\n  \/* ========== FAQS SECTION ========== *\/\n  .faqs-band { background: var(--cream-2); }\n  .fhc .faqs-wrap {\n    max-width: 760px; margin: 0 auto; padding: 60px 32px 80px;\n  }\n  .fhc .faqs-wrap h2 {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 800; color: var(--navy);\n    font-size: 36px; letter-spacing: 0.02em;\n    text-align: center; margin: 0 0 30px;\n    text-transform: uppercase;\n  }\n\n  \/* TABLET *\/\n  @media (max-width: 1100px) and (min-width: 601px) {\n    .header { padding: 0 24px; }\n    .page { padding: 20px 24px 60px; }\n    h1.title { font-size: 44px; }\n    .gallery { grid-template-columns: 96px 1fr; gap: 14px; }\n    .thumb { width: 96px; }\n    .thumb .t-title { font-size: 8px; }\n    .why { padding: 32px 24px 40px; }\n    .section { padding: 50px 24px; gap: 40px; }\n    .quote-wrap, .steps-wrap, .test-wrap, .stats-wrap, .vs-wrap, .faqs-wrap { padding-left: 24px; padding-right: 24px; }\n    .reviews { grid-template-columns: repeat(2, 1fr); }\n    .vs-grid { grid-template-columns: 1fr; gap: 28px; }\n    .stats { grid-template-columns: 1fr; }\n    .section h2.section-title { font-size: 38px; }\n  }\n\n  .mobile-trust { display: none; }\n\n  @media (max-width: 600px) {\n    .fhc .mobile-trust {\n      display: block;\n      padding: 28px 16px 0;\n      max-width: 1280px;\n      margin: 0 auto;\n      grid-column: 1 \/ -1;\n      order: 4;\n    }\n    .fhc .m-stars { color: var(--orange); font-size: 22px; letter-spacing: 6px; text-align: center; margin-bottom: 14px; }\n    .fhc .m-trust-title {\n      font-family: var(--font-display);\n      font-weight: 800; color: var(--navy);\n      font-size: 30px; line-height: 1.05; letter-spacing: -0.01em;\n      text-align: center; margin: 0 0 22px; text-transform: uppercase;\n    }\n    .m-trust-title .hl { color: var(--orange); }\n    .fhc .m-trust-card {\n      background: var(--cream-2); border-radius: 18px; padding: 22px 18px;\n      display: grid; grid-template-columns: 1fr; gap: 18px;\n      align-items: center; position: relative; overflow: hidden;\n    }\n    .fhc .m-trust-can { order: -1; }\n    .fhc .m-trust-points { order: 1; }\n    .m-trust-points { display: flex; flex-direction: column; gap: 14px; }\n    .m-trust-row { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: flex-start; }\n    .m-trust-row + .m-trust-row { border-top: 1px solid rgba(28, 47, 90, 0.1); padding-top: 14px; }\n    .fhc .m-trust-ico {\n      width: 44px; height: 44px; border-radius: 50%;\n      background: var(--orange); color: var(--cream);\n      display: flex; align-items: center; justify-content: center; flex-shrink: 0;\n    }\n    .m-trust-ico svg { width: 22px; height: 22px; }\n    .fhc .m-trust-h {\n      font-family: var(--font-display); font-weight: 800; color: var(--navy);\n      font-size: 11px; letter-spacing: 0.04em; margin-bottom: 4px; text-transform: uppercase;\n    }\n    .fhc .m-trust-text p { margin: 0; font-size: 11px; line-height: 1.45; color: rgba(28, 47, 90, 0.75); }\n    .fhc .m-trust-can {\n      display: flex; align-items: center; justify-content: center;\n      align-self: center; width: 100%; max-width: 280px; aspect-ratio: 1 \/ 1;\n      margin: 0 auto; overflow: hidden; border-radius: 12px;\n    }\n    .fhc .m-trust-can .can {\n      transform: scale(0.48); transform-origin: center center;\n      filter: drop-shadow(0 16px 22px rgba(0,0,0,0.35));\n    }\n\n    .header { padding: 0 18px; height: 64px; }\n    .logo .word { font-size: 28px; }\n    .logo .sub { font-size: 8px; letter-spacing: 0.28em; }\n    .cta-pill { font-size: 14px; padding: 11px 18px; letter-spacing: 0.06em; }\n\n    .fhc .page { flex-direction: column !important; gap: 28px !important; padding: 16px 16px 60px !important; max-width: 100% !important; box-sizing: border-box !important; }\n    .fhc .left, .fhc .right { display: contents !important; flex: none !important; max-width: none !important; }\n    .fhc * { box-sizing: border-box; }\n    .fhc img { max-width: 100%; height: auto; }\n    .fhc .sb { max-width: 100%; overflow: hidden; }\n    .gallery-block { order: 1; }\n    .header-block { order: 2; }\n    .bundle-block { order: 3; }\n    .faqs-block { order: 4; margin-top: 0; }\n\n    .fhc .gallery { display: flex !important; flex-direction: column; gap: 12px; min-width: 0; max-width: 100%; }\n    .fhc .hero {\n      aspect-ratio: 1 \/ 1; order: -1;\n      width: 100%; max-width: 100%;\n      border-radius: 14px; overflow: hidden;\n      display: flex; flex-direction: row;\n      overflow-x: auto; overflow-y: hidden;\n      scroll-snap-type: x mandatory;\n      -webkit-overflow-scrolling: touch; scrollbar-width: none;\n    }\n    .fhc .hero-slide { flex: 0 0 100%; width: 100%; max-width: 100%; }\n    .fhc .hero-slide img { width: 100% !important; height: 100% !important; object-fit: cover !important; max-width: 100% !important; }\n    .hero::-webkit-scrollbar { display: none; }\n    .hero \u003e .hero-slide:not(:first-child) { display: flex; }\n    .fhc .hero-slide { flex: 0 0 100%; width: 100%; scroll-snap-align: start; }\n    .fhc .hero-dots { display: flex; justify-content: center; gap: 8px; margin-top: 4px; }\n    .fhc .hero-dots .dot {\n      width: 8px; height: 8px; border-radius: 50%;\n      background: rgba(28, 47, 90, 0.25);\n      transition: background 0.2s, width 0.2s;\n    }\n    .fhc .hero-dots .dot.active { background: var(--orange); width: 22px; border-radius: 4px; }\n    .thumbs { display: none; }\n\n    h1.title { font-size: 38px; }\n    .stars { font-size: 14px; }\n    .stars .meta { font-size: 11px; }\n    .benefits { grid-template-columns: 1fr; row-gap: 8px; }\n    .benefit:nth-child(5), .benefit:nth-child(6) { grid-column: auto; }\n\n    .bundle { grid-template-columns: 20px 54px minmax(0,1fr) auto; gap: 8px; padding: 12px; }\n    .bundle.active { padding: 11.5px; }\n    .bundle-thumb { width: 54px; height: 54px; }\n    .bundle-info .name { font-size: 16px; }\n    .bundle-info .per { font-size: 11px; }\n    .badge-tag { font-size: 9px; padding: 2px 7px; }\n    .bundle-prices .pnow { font-size: 18px; }\n    .bundle-prices .pold { font-size: 12px; }\n    .add-bundle { font-size: 17px; padding: 14px; }\n\n    .faqs { margin-top: 8px; }\n    .faq-q { padding: 14px 16px; font-size: 13px; }\n    .faq.open .faq-a { padding: 0 16px 14px; }\n\n    .why { padding: 32px 16px 40px; }\n    .why \u003e div { grid-template-columns: 1fr !important; gap: 24px !important; }\n    .why h2 { font-size: 26px; margin-bottom: 16px; }\n    .why-bens { grid-template-columns: 1fr !important; row-gap: 8px !important; }\n    .why-bens .benefit { grid-column: auto !important; }\n    .review-card { padding: 18px; }\n\n    .fhc .section { grid-template-columns: 1fr !important; gap: 24px; padding: 40px 16px; }\n    .fhc .section h2.section-title { font-size: 32px; }\n    .fhc .section p.section-body { font-size: 14px; max-width: 100%; }\n    .fhc .photo-frame { aspect-ratio: 4 \/ 3; max-width: 100%; width: 100%; order: -1; }\n    \/* mobile bridge override moved into base @media 600 *\/\n    .tile-grid { max-width: 100%; gap: 10px; }\n    .tile { padding: 14px 8px 12px; }\n    .tile .ico { width: 36px; height: 36px; }\n    .tile .tlabel { font-size: 11px; }\n    .hero-cta { font-size: 18px; padding: 14px; }\n\n    .quote-wrap { padding: 40px 16px 28px; }\n    .quote-wrap .quote { font-size: 22px; }\n    .ba-row { gap: 10px; }\n    .fhc .ba-card { width: 100%; max-width: 100%; }\n\n    .steps-wrap { padding: 32px 16px 40px; }\n    .steps-wrap h2 { font-size: 22px; margin-bottom: 24px; }\n    .steps { grid-template-columns: 1fr; gap: 20px; }\n    .step { grid-template-columns: 56px 1fr; }\n    .step .step-ico { width: 56px; height: 56px; }\n    .step .step-ico svg { width: 30px; height: 30px; }\n\n    .test-wrap { padding: 36px 16px 44px; }\n    .polaroids { height: 110px; }\n    .polaroid { width: 84px; height: 84px; }\n    .stars-big { font-size: 22px; letter-spacing: 4px; }\n    .test-headline { font-size: 22px; }\n    .reviews { grid-template-columns: 1fr 1fr; gap: 10px; }\n    .rev { padding: 12px 14px; }\n    .test-cta { padding: 12px 26px; font-size: 16px; }\n\n    .stats-wrap { padding: 32px 16px 50px; }\n    .stats-wrap h2 { font-size: 22px; }\n    .stats { grid-template-columns: 1fr; gap: 12px; }\n    .stat { padding: 14px 16px; }\n\n    .vs-wrap { padding: 24px 16px 40px; }\n    .vs-wrap h2 { font-size: 22px; margin-bottom: 22px; }\n    .vs-grid { grid-template-columns: 1fr; gap: 24px; }\n    .ct-cell { padding: 12px; height: auto; min-height: 60px; font-size: 12px; }\n    .ct-cell.head { font-size: 14px; height: 60px; }\n    .check-circle, .x-circle { width: 24px; height: 24px; font-size: 12px; }\n\n    .faqs-wrap { padding: 40px 16px 60px; }\n    .faqs-wrap h2 { font-size: 28px; margin-bottom: 22px; }\n  }\n\n  @media (max-width: 480px) {\n    .reviews { grid-template-columns: 1fr; }\n    .why-bens { grid-template-columns: 1fr; }\n    h1.title { font-size: 32px; }\n    .quote-wrap .quote { font-size: 18px; }\n    .test-headline { font-size: 19px; }\n  }\n\n  \/* Announcement bar *\/\n  .ab { background: var(--navy, #1f3a5f); color: #fff; padding: 8px 16px; text-align: center; }\n  .ab-track { display: flex; gap: 32px; justify-content: center; flex-wrap: wrap; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; }\n  .ab-item { color: #fff; }\n  .ab-item::before { content: \"★ \"; color: var(--orange, #e87a3e); }\n\n  \/* Custom mobile sticky CTA — estilo igual al \"Pagar al Recibir\" de Releasit COD *\/\n  .fhc-mobile-sticky { display: none; }\n  @media (max-width: 600px) {\n    .fhc-mobile-sticky {\n      display: block !important;\n      position: fixed !important;\n      bottom: 0 !important;\n      left: 0 !important;\n      right: 0 !important;\n      z-index: 99999 !important;\n      padding: 0 !important;\n      background: transparent !important;\n    }\n    .fhc-mobile-sticky-btn {\n      width: 100% !important;\n      background: #22c55e !important;\n      color: #fff !important;\n      border: none !important;\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;\n      font-weight: 600 !important;\n      font-size: 16px !important;\n      letter-spacing: 0 !important;\n      padding: 16px 16px !important;\n      border-radius: 0 !important;\n      cursor: pointer !important;\n      text-transform: none !important;\n      box-shadow: 0 -2px 8px rgba(0,0,0,0.15) !important;\n      display: flex !important;\n      align-items: center !important;\n      justify-content: center !important;\n      gap: 8px !important;\n    }\n    .fhc-mobile-sticky-btn:hover { background: #16a34a !important; }\n    body { padding-bottom: 56px !important; }\n  }\n\n  \/* Scrolling marquee banner *\/\n  .sb { background: var(--orange, #e87a3e); overflow: hidden; padding: 5px 0; margin: 0; }\n  .sb-track { display: flex; gap: 32px; white-space: nowrap; animation: sb-scroll 12s linear infinite; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; }\n  .sb-item { display: inline-flex; align-items: center; gap: 10px; }\n  .sb-item::after { content: \"\\2605\"; color: #fff; font-size: 13px; }\n  @keyframes sb-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }\n\n  \/* Problem block *\/\n  .problem-wrap { max-width: 1100px; margin: 0 auto; padding: 56px 32px; text-align: center; }\n  .problem-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; color: var(--navy); font-size: 36px; letter-spacing: 0.01em; line-height: 1.1; text-transform: uppercase; margin: 0 0 24px; }\n  .problem-checklist { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 12px; max-width: 760px; margin-inline: auto; text-align: left; }\n  .problem-checklist li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; color: var(--ink); line-height: 1.45; }\n  .problem-check { flex: 0 0 22px; width: 22px; height: 22px; background: var(--orange); color: #fff; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; }\n  .problem-paragraph { font-size: 16px; line-height: 1.55; color: var(--ink); max-width: 720px; margin: 0 auto; }\n\n  \/* Final CTA *\/\n  .finalcta-wrap { background: var(--navy); color: #fff; padding: 60px 32px; text-align: center; }\n  .finalcta-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; color: #fff; font-size: 38px; letter-spacing: 0.01em; line-height: 1.1; text-transform: uppercase; margin: 0 0 14px; }\n  .finalcta-subtitle { font-size: 16px; line-height: 1.55; color: rgba(255,255,255,0.92); max-width: 720px; margin: 0 auto 28px; }\n  .finalcta-btn { background: var(--orange); color: #fff; border: none; cursor: pointer; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 22px; letter-spacing: 0.12em; padding: 18px 40px; border-radius: 10px; text-transform: uppercase; transition: background 0.15s ease; }\n  .finalcta-btn:hover { background: var(--orange-2); }\n  .finalcta-trust {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n    gap: 14px;\n    margin-top: 32px;\n    max-width: 800px;\n    margin-left: auto;\n    margin-right: auto;\n  }\n  .finalcta-badge {\n    font-family: 'Barlow Condensed', sans-serif;\n    font-weight: 700;\n    font-size: 16px;\n    letter-spacing: 0.04em;\n    color: #fff;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    padding: 14px 16px;\n    background: rgba(255, 255, 255, 0.08);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 10px;\n    line-height: 1.2;\n    text-align: center;\n  }\n  .finalcta-badge::before { content: \"\\2605\"; color: var(--orange, #e87a3e); font-size: 18px; flex-shrink: 0; }\n  .finalcta-badge.has-icon::before { content: none; }\n  .finalcta-badge .badge-ico { font-size: 22px; line-height: 1; flex-shrink: 0; }\n  @media (max-width: 600px) {\n    .finalcta-trust { grid-template-columns: 1fr 1fr; gap: 10px; max-width: 100%; }\n    .finalcta-badge { font-size: 13px; padding: 12px 10px; gap: 8px; }\n    .finalcta-badge .badge-ico { font-size: 20px; }\n    .finalcta-badge::before { font-size: 16px; }\n  }\n\n  @media (max-width: 760px) {\n    .problem-title { font-size: 26px; }\n    .finalcta-title { font-size: 28px; }\n    .ab-track { font-size: 11px; gap: 16px; }\n\n    \/* Reviews + Stats: scroll horizontal en mobile *\/\n    .fhc .reviews, .fhc .stats {\n      display: flex !important;\n      grid-template-columns: none !important;\n      overflow-x: auto;\n      scroll-snap-type: x mandatory;\n      -webkit-overflow-scrolling: touch;\n      scrollbar-width: none;\n      gap: 12px;\n      padding: 4px 16px 12px;\n      margin: 0 -16px;\n    }\n    .fhc .reviews::-webkit-scrollbar, .fhc .stats::-webkit-scrollbar { display: none; }\n    .fhc .rev { flex: 0 0 78%; min-width: 240px; max-width: 320px; scroll-snap-align: start; }\n    .fhc .stat { flex: 0 0 75%; min-width: 240px; scroll-snap-align: start; }\n  }\n\n  .fhc .thumb-ph { width: 100%; height: 100%; min-height: 60px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; background: linear-gradient(135deg, #f0e8d6 0%, #e3d9c0 100%); color: var(--navy); font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 600; opacity: 0.7; text-align: center; padding: 4px; }\n  .fhc .thumb-ph span { font-size: 18px; opacity: 0.5; }\n\n\n\u003c\/style\u003e\n\n\u003cdiv class=\"fhc cwl-wrap-fhc\" id=\"shopify-section-\"\u003e\n\u003cdiv class=\"fhc cwl-wrap-fhc\"\u003e\n\u003cdiv class=\"sb\"\u003e\u003cdiv class=\"sb-track\"\u003e\n\u003cspan class=\"sb-item\"\u003ePAGO CONTRA ENTREGA\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eENVÍO GRATIS EL SALVADOR\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eGARANTÍA 30 DÍAS SIN PREGUNTAS\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eCANCELACIÓN ACTIVA REAL\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eGPS ANTI-PÉRDIDA\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eBATERÍA 6 HORAS\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eCONEXIÓN INSTANTÁNEA iOS\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003ePAGO CONTRA ENTREGA\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eENVÍO GRATIS EL SALVADOR\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eGARANTÍA 30 DÍAS SIN PREGUNTAS\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eCANCELACIÓN ACTIVA REAL\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eGPS ANTI-PÉRDIDA\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eBATERÍA 6 HORAS\u003c\/span\u003e\u003cspan class=\"sb-item\"\u003eCONEXIÓN INSTANTÁNEA iOS\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cmain class=\"page fhc-2col-grid\" style=\"display:flex;flex-direction:row;flex-wrap:nowrap;gap:32px;align-items:flex-start;max-width:1100px;margin:0 auto;padding:24px 24px 80px\"\u003e\n    \u003c!-- MOBILE-ONLY TRUST SECTION --\u003e\n    \u003csection class=\"mobile-trust\" data-block=\"mobileTrust\" data-block-label=\"Trust card móvil\"\u003e\n      \u003cdiv class=\"m-stars\"\u003e★★★★★\u003c\/div\u003e\n      \u003ch2 class=\"m-trust-title\"\u003eCOMPRA 100% SEGURA\u003c\/h2\u003e\n      \u003cdiv class=\"m-trust-card\"\u003e\n        \u003cdiv class=\"m-trust-points\"\u003e\n\u003cdiv class=\"m-trust-row\"\u003e\n\u003cdiv class=\"m-trust-ico\"\u003e\u003cspan style=\"font-size:22px\"\u003e⭐\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"m-trust-text\"\u003e\n\u003cdiv class=\"m-trust-h\"\u003eENVÍO GRATIS EL SALVADOR\u003c\/div\u003e\n\u003cp\u003eRecibí tu AirPro 2 en 24-48 horas. Sin costos ocultos.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"m-trust-row\"\u003e\n\u003cdiv class=\"m-trust-ico\"\u003e\u003cspan style=\"font-size:22px\"\u003e⭐\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"m-trust-text\"\u003e\n\u003cdiv class=\"m-trust-h\"\u003ePAGO CONTRA ENTREGA\u003c\/div\u003e\n\u003cp\u003eRevisás el producto y pagás al courier. Cero riesgo.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"m-trust-row\"\u003e\n\u003cdiv class=\"m-trust-ico\"\u003e\u003cspan style=\"font-size:22px\"\u003e⭐\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"m-trust-text\"\u003e\n\u003cdiv class=\"m-trust-h\"\u003eGARANTÍA 30 DÍAS\u003c\/div\u003e\n\u003cp\u003eSi no te gusta, lo devolvés y recuperás tu plata completa.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"m-trust-can\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-0-1783458799554.webp?v=1783458801\" alt=\"Producto\" style=\"width:100%;height:100%;object-fit:contain;display:block;border-radius:10px\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- LEFT COLUMN --\u003e\n    \u003cdiv class=\"left\" style=\"flex:0 0 calc(50% - 16px);max-width:calc(50% - 16px);min-width:0;display:flex;flex-direction:column;gap:24px\"\u003e\n      \u003csection class=\"gallery-block\" data-block=\"hero\" data-block-label=\"Hero\"\u003e\n      \u003cdiv class=\"gallery\"\u003e\n        \u003cdiv class=\"thumbs\"\u003e\n          \u003cdiv class=\"thumb active\" data-slide=\"0\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-1-1783458802513.webp?v=1783458804\" alt=\"Thumb 0\" style=\"width:100%;height:100%;object-fit:cover;border-radius:6px;display:block\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"thumb\" data-slide=\"1\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-2-1783458804763.webp?v=1783458806\" alt=\"Thumb 1\" style=\"width:100%;height:100%;object-fit:cover;border-radius:6px;display:block\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"thumb\" data-slide=\"2\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-3-1783458807042.webp?v=1783458808\" alt=\"Thumb 2\" style=\"width:100%;height:100%;object-fit:cover;border-radius:6px;display:block\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"thumb\" data-slide=\"3\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-4-1783458809241.webp?v=1783458811\" alt=\"Thumb 3\" style=\"width:100%;height:100%;object-fit:cover;border-radius:6px;display:block\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"thumb\" data-slide=\"4\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-5-1783458811451.webp?v=1783458813\" alt=\"Thumb 4\" style=\"width:100%;height:100%;object-fit:cover;border-radius:6px;display:block\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"hero\" id=\"heroCarousel\"\u003e\n          \u003cdiv class=\"hero-slide active\" data-idx=\"0\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-1-1783458802513.webp?v=1783458804\" alt=\"Slide 0\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"hero-slide\" data-idx=\"1\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-2-1783458804763.webp?v=1783458806\" alt=\"Slide 1\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"hero-slide\" data-idx=\"2\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-3-1783458807042.webp?v=1783458808\" alt=\"Slide 2\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"hero-slide\" data-idx=\"3\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-4-1783458809241.webp?v=1783458811\" alt=\"Slide 3\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"hero-slide\" data-idx=\"4\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-5-1783458811451.webp?v=1783458813\" alt=\"Slide 4\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"hero-dots\" id=\"heroDots\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"dot active\"\u003e\u003c\/span\u003e\n          \u003cspan class=\"dot\"\u003e\u003c\/span\u003e\n          \u003cspan class=\"dot\"\u003e\u003c\/span\u003e\n          \u003cspan class=\"dot\"\u003e\u003c\/span\u003e\n          \u003cspan class=\"dot\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"faqs-block\" data-block=\"faq\" data-block-label=\"FAQs\"\u003e\n      \u003cdiv class=\"faqs\" id=\"faqs\"\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Son audífonos originales de Apple?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eNo. AirPro 2 son réplicas premium 1:1 con todas las funciones principales: cancelación activa de ruido, GPS, PopUp iOS, batería de 6 horas, sensores táctiles. No son originales Apple pero tienen el mismo look y funcionalidad a fracción del precio. Preferís pagar $300 por el logo o $30 por la tecnología real?\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Cómo funciona el pago contra entrega?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eHacés tu pedido online sin pagar nada. Preparamos tu orden y la enviamos vía courier. Cuando el paquete llega a tu casa (24-48hrs), abrís la caja, revisás que todo esté bien y recién ahí pagás los $30 al courier en efectivo. Cero riesgo para vos.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿La cancelación de ruido funciona de verdad?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eSí. AirPro 2 tiene cancelación activa por hardware (no es trucho). El sistema analiza ruidos externos 48,000 veces por segundo y emite ondas inversas que los cancelan. Funciona especialmente bien con ruidos constantes como buses, tráfico, aires acondicionados. No es marketing, es física.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Funcionan con Android o solo con iOS?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eFuncionan con ambos. Con iOS tenés el PopUp automático (como los originales). Con Android se conectan por Bluetooth normal en 5 segundos. Todas las funciones (cancelación, GPS, controles táctiles, batería) funcionan igual en ambos sistemas.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Cuánto dura la batería realmente?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003e6 horas continuas de reproducción con cancelación activa encendida. El case de carga te da 4 cargas completas adicionales, total 24 horas. En uso normal (música intermitente durante el día) te duran toda la semana sin cargar.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- RIGHT COLUMN --\u003e\n    \u003cdiv class=\"right\" style=\"flex:0 0 calc(50% - 16px);max-width:calc(50% - 16px);min-width:0;display:flex;flex-direction:column;gap:24px\"\u003e\n      \u003csection class=\"header-block\" data-block=\"hero\" data-block-label=\"Encabezado del producto\"\u003e\n      \u003cdiv class=\"stars\"\u003e\n        \u003cspan\u003e★★★★★\u003c\/span\u003e\n        \u003cspan class=\"meta\"\u003e(4.8) 127 clientes en El Salvador\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003ch1 class=\"title display\"\u003eAirPods Pro 2\u003c\/h1\u003e\n      \u003cp class=\"lede\"\u003eCancelación activa de ruido, conexión automática iOS y hasta 6 horas de batería. Todo lo que esperás\u003c\/p\u003e\n\n      \u003cdiv class=\"benefits\"\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003eCancelación activa de ruido — bloqueá distraccione\u003c\/div\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003eConexión automática en 2 segundos con iOS\u003c\/div\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003eGPS integrado — nunca más perdés tus audífonos\u003c\/div\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003e6 horas de batería continua + 24hrs con case\u003c\/div\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003e4 tamaños de silicona para ajuste perfecto\u003c\/div\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003eSonido adaptativo — se ajusta 48,000 veces\/seg\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"bundle-block\" data-block=\"bundle\" data-block-label=\"Bundle precios\"\u003e\n      \u003cdiv class=\"bundle-title\"\u003eCOMPRÁ Y AHORRÁ\u003c\/div\u003e\n\n      \u003cdiv id=\"bundles\"\u003e\n        \u003cdiv class=\"bundle rsi-trigger-btn\" data-id=\"1\" data-variant-id=\"\" role=\"button\" tabindex=\"0\"\u003e\n          \u003cdiv class=\"radio\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bundle-thumb\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-6-1783458813866.webp?v=1783458815\" alt=\"1 AIRPRO 2\" style=\"width:100%;height:100%;object-fit:cover;border-radius:8px;display:block\"\u003e\u003cdiv class=\"qty-badge\"\u003e1X\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bundle-info\"\u003e\n            \u003cdiv class=\"name\"\u003e1 AIRPRO 2\u003c\/div\u003e\n            \u003cdiv class=\"per\"\u003e$30.00 \u003c\/div\u003e\n            \u003cdiv class=\"badges\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bundle-prices\"\u003e\n            \u003cdiv class=\"pnow\"\u003e$30.00\u003c\/div\u003e\n            \u003cdiv class=\"pold\"\u003e$30.00\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundle active rsi-trigger-btn\" data-id=\"2\" data-variant-id=\"\" role=\"button\" tabindex=\"0\"\u003e\n          \u003cdiv class=\"radio\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bundle-thumb\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-7-1783458816041.webp?v=1783458817\" alt=\"2 AIRPRO 2\" style=\"width:100%;height:100%;object-fit:cover;border-radius:8px;display:block\"\u003e\u003cdiv class=\"qty-badge\"\u003e2X\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bundle-info\"\u003e\n            \u003cdiv class=\"name\"\u003e2 AIRPRO 2\u003c\/div\u003e\n            \u003cdiv class=\"per\"\u003e$24.00\u003c\/div\u003e\n            \u003cdiv class=\"badges\"\u003e\n\u003cspan class=\"badge-tag\"\u003eMÁS POPULAR\u003c\/span\u003e\u003cspan class=\"badge-tag\"\u003eAHORRÁ $8\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bundle-prices\"\u003e\n            \u003cdiv class=\"pnow\"\u003e$48.00\u003c\/div\u003e\n            \u003cdiv class=\"pold\"\u003e$50.00\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundle rsi-trigger-btn\" data-id=\"3\" data-variant-id=\"\" role=\"button\" tabindex=\"0\"\u003e\n          \u003cdiv class=\"radio\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bundle-thumb\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-8-1783458818352.webp?v=1783458820\" alt=\"3 AIRPRO 2\" style=\"width:100%;height:100%;object-fit:cover;border-radius:8px;display:block\"\u003e\u003cdiv class=\"qty-badge\"\u003e3X\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bundle-info\"\u003e\n            \u003cdiv class=\"name\"\u003e3 AIRPRO 2\u003c\/div\u003e\n            \u003cdiv class=\"per\"\u003e$21.00\u003c\/div\u003e\n            \u003cdiv class=\"badges\"\u003e\n\u003cspan class=\"badge-tag\"\u003eMEJOR VALOR\u003c\/span\u003e\u003cspan class=\"badge-tag\"\u003eAHORRÁ $15\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bundle-prices\"\u003e\n            \u003cdiv class=\"pnow\"\u003e$63.00\u003c\/div\u003e\n            \u003cdiv class=\"pold\"\u003e$75.00\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cbutton class=\"add-bundle enabled rsi-trigger-btn\" data-variant-id=\"\"\u003eAGREGAR AL CARRITO — PAGO AL RECIBIR\u003c\/button\u003e\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n  \u003c\/main\u003e\n\n  \u003c!-- ========== ¿TE RECONOCÉS EN ESTO? ========== --\u003e\n  \u003csection class=\"problem-wrap\" data-block=\"problem\" data-block-label=\"Problema (¿Te reconocés?)\"\u003e\n    \u003ch2 class=\"problem-title\"\u003e¿CANSADO DE AUDÍFONOS QUE NO CUMPLEN LO QUE PROMETEN?\u003c\/h2\u003e\n    \u003cul class=\"problem-checklist\"\u003e\n\u003cli\u003e\n\u003cspan class=\"problem-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003eSe desconectan cada 5 minutos y tenés que volver a emparejarlos\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"problem-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003eEl ruido de la calle arruina tus llamadas y tu música\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"problem-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003eLos perdés constantemente porque no tienen GPS\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"problem-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003eLa batería muere justo cuando más los necesitás\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"problem-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003eNo se ajustan bien y se caen de tus oídos\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n    \u003cp class=\"problem-paragraph\"\u003eLos audífonos baratos prometen mucho pero fallan en lo básico. Los audífonos premium cumplen, pero cuestan $300. \u003cstrong\u003eAirPro 2 rompe esa falsa dicotomía\u003c\/strong\u003e: tecnología de punta (cancelación activa, GPS, batería de 6 horas) a precio accesible. No más compromisos.\u003c\/p\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ========== WHY FULL HAIR CLUB ========== --\u003e\n  \u003csection class=\"why\" data-block=\"whySection\" data-block-label=\"Why us + review\"\u003e\n    \u003cdiv style=\"max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;\"\u003e\n      \u003cdiv\u003e\n        \u003ch2\u003ePOR QUÉ AIRPRO 2 ES DIFERENTE\u003c\/h2\u003e\n        \u003cdiv class=\"why-bens\"\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003eCANCELACIÓN ACTIVA REAL \u003c\/div\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003eGPS INTEGRADO\u003c\/div\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003eCONEXIÓN AUTOMÁTICA iOS \u003c\/div\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003eBATERÍA QUE DURA\u003c\/div\u003e\n\u003cdiv class=\"benefit\"\u003e\n\u003cspan class=\"check\"\u003e✓\u003c\/span\u003eAJUSTE PERSONALIZADO\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"review-card\"\u003e\n        \u003cdiv class=\"row1\"\u003e\n          \u003cspan class=\"stars-mini\"\u003e★★★★★\u003c\/span\u003e\n          \u003cspan class=\"r-title\"\u003eMejor compra tech del año\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"r-body\"\u003eAntes usaba audífonos de $15 que se desconectaban todo el tiempo. Con AirPro 2 la conexión es automática y el sonido es increíble. Además con el GPS ya no los pierdo cada semana. No puedo creer que cuesten solo $30.\u003c\/p\u003e\n        \u003cdiv class=\"r-author-row\"\u003e\n\u003cimg class=\"r-avatar\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-9-1783458820707.jpg?v=1783458822\" alt=\"José M., San Salvador\"\u003e\u003cdiv class=\"r-author\"\u003eJosé M., San Salvador\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ========== THE VILLAIN ========== --\u003e\n  \u003cdiv class=\"band\"\u003e\n    \u003cdiv class=\"torn-top\"\u003e\u003c\/div\u003e\n    \u003csection class=\"section\" data-block=\"villain\" data-block-label=\"Villain (problema)\"\u003e\n      \u003cdiv\u003e\n        \u003cspan class=\"tag-pill\"\u003eEL PROBLEMA CON AUDÍFONO\u003c\/span\u003e\n        \u003ch2 class=\"section-title\"\u003eTECNOLOGÍA PREMIUM, SIN PAGAR DE MÁS\u003c\/h2\u003e\n        \u003cp class=\"section-body\"\u003eDisfruta la experiencia de los AirPods Pro 2 sin gastar una fortuna. Obtén sonido de alta calidad, cancelación activa de ruido, modo transparencia, audio espacial y una batería de larga duración. Todo lo que buscas para escuchar música, atender llamadas y usar tu iPhone con una excelente experiencia, a un precio mucho más accesible.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"photo-frame photo-villain\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-10-1783458823032.webp?v=1783458824\" alt=\"Foto del problema\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n    \u003c\/section\u003e\n    \u003cdiv class=\"bridge\"\u003e\n      ¿Quieres la experiencia Pro sin gastar una fortuna?\n      \u003ca href=\"#hero\"\u003eMIRÁ CÓMO\u003c\/a\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"torn-bottom\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ========== THE HERO ========== --\u003e\n  \u003csection class=\"section\" id=\"hero\" data-block=\"meet\" data-block-label=\"Meet (solución)\"\u003e\n    \u003cdiv\u003e\n      \u003cspan class=\"tag-pill\"\u003eCONOCÉ AIRPRO 2\u003c\/span\u003e\n      \u003ch2 class=\"section-title\"\u003eTODO LO QUE ESPERÁS DE AUDÍFONOS PREMIUM\u003c\/h2\u003e\n      \u003cp class=\"section-body\"\u003eAirPro 2 no es un audífono básico con Bluetooth. Es un dispositivo inteligente completo: cancelación activa de ruido, GPS anti-pérdida, conexión automática iOS, sonido adaptativo, controles táctiles y batería de 6+24 horas. Diseñado para co\u003c\/p\u003e\n      \u003cdiv class=\"tile-grid\"\u003e\n\u003cdiv class=\"tile\"\u003e\n          \u003cdiv class=\"ico\"\u003e\u003cspan class=\"tile-icon-text\"\u003e🎧\u003c\/span\u003e\u003c\/div\u003e\n          \u003cdiv class=\"tlabel\"\u003eCANCELACIÓN ACTIVA — bloqueá distracciones externa\u003c\/div\u003e\n        \u003c\/div\u003e\n\u003cdiv class=\"tile\"\u003e\n          \u003cdiv class=\"ico\"\u003e\u003cspan class=\"tile-icon-text\"\u003e📍\u003c\/span\u003e\u003c\/div\u003e\n          \u003cdiv class=\"tlabel\"\u003eGPS INTEGRADO — encontrá tus audífonos siempre\u003c\/div\u003e\n        \u003c\/div\u003e\n\u003cdiv class=\"tile\"\u003e\n          \u003cdiv class=\"ico\"\u003e\u003cspan class=\"tile-icon-text\"\u003e⚡\u003c\/span\u003e\u003c\/div\u003e\n          \u003cdiv class=\"tlabel\"\u003eCONEXIÓN AUTOMÁTICA iOS — PopUp instantáneo\u003c\/div\u003e\n        \u003c\/div\u003e\n\u003cdiv class=\"tile\"\u003e\n          \u003cdiv class=\"ico\"\u003e\u003cspan class=\"tile-icon-text\"\u003e🔋\u003c\/span\u003e\u003c\/div\u003e\n          \u003cdiv class=\"tlabel\"\u003e6HRS BATERÍA + 24HRS CASE — todo el día sin cargar\u003c\/div\u003e\n        \u003c\/div\u003e\n\u003cdiv class=\"tile\"\u003e\n          \u003cdiv class=\"ico\"\u003e\u003cspan class=\"tile-icon-text\"\u003e🎚️\u003c\/span\u003e\u003c\/div\u003e\n          \u003cdiv class=\"tlabel\"\u003eSONIDO ADAPTATIVO — se ajusta 48,000 veces\/seg\u003c\/div\u003e\n        \u003c\/div\u003e\n\u003cdiv class=\"tile\"\u003e\n          \u003cdiv class=\"ico\"\u003e\u003cspan class=\"tile-icon-text\"\u003e👌\u003c\/span\u003e\u003c\/div\u003e\n          \u003cdiv class=\"tlabel\"\u003e4 TAMAÑOS SILICONA — ajuste perfecto garantizado\u003c\/div\u003e\n        \u003c\/div\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"hero-stars\"\u003e\n        \u003cspan class=\"s\"\u003e★★★★★\u003c\/span\u003e\n        \u003cspan class=\"meta\"\u003e(4.8) 127 clientes en El Salvador\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"photo-frame photo-hero\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-11-1783458825597.webp?v=1783458827\" alt=\"Foto del producto\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n      \u003cbutton class=\"hero-cta rsi-trigger-btn\"\u003eSÍ, QUIERO AIRPRO 2 POR $30\u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ========== QUOTE + BEFORE\/AFTER ========== --\u003e\n  \u003csection class=\"quote-wrap\" data-block=\"quote\" data-block-label=\"Quote + Antes\/Después\"\u003e\n    \u003ch2 class=\"quote\"\u003eNo puedo creer que pagué $280 por mis audífonos anteriores. AirPro 2 hace exactamente lo mismo por $30. La cancelación de ruido funciona de verdad y la batería dura todo el día. \u003c\/h2\u003e\n    \u003cdiv class=\"ba-row\"\u003e\n      \u003cdiv class=\"ba-card before\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-12-1783458827974.webp?v=1783458829\" alt=\"Antes\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003cspan class=\"ba-label ba-label-before\"\u003eANTES\u003c\/span\u003e\n    \u003c\/div\u003e\n      \u003cdiv class=\"ba-card after\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-13-1783458830141.webp?v=1783458831\" alt=\"Después\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003cspan class=\"ba-label ba-label-after\"\u003eDESPUÉS\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ========== 3 SIMPLE STEPS ========== --\u003e\n  \u003csection class=\"steps-wrap\" data-block=\"steps\" data-block-label=\"3 pasos\"\u003e\n    \u003ch2\u003eCÓMO USAR AIRPRO 2\u003c\/h2\u003e\n    \u003cdiv class=\"steps\"\u003e\n\u003cdiv class=\"step\"\u003e\n        \u003cdiv class=\"step-ico\"\u003e\u003cspan class=\"step-icon-text\"\u003e📦\u003c\/span\u003e\u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cdiv class=\"step-num\"\u003ePASO 1: CONECTA FÁCIL\u003c\/div\u003e\n          \u003cp class=\"step-text\"\u003eSacá los AirPro 2 del case de carga. Si tenés iOS, aparecerá automáticamente el PopUp de conexión en pantalla. Si tenés Android, andá a Bluetooth y seleccioná AirPro 2. Conexión en 2 segundos.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\u003cdiv class=\"step\"\u003e\n        \u003cdiv class=\"step-ico\"\u003e\u003cspan class=\"step-icon-text\"\u003e👂\u003c\/span\u003e\u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cdiv class=\"step-num\"\u003ePASO 2: ELIJE TU AJUSTE\u003c\/div\u003e\n          \u003cp class=\"step-text\"\u003eProbá los 4 tamaños de silicona incluidos hasta encontrar el que calza perfecto. Un buen ajuste mejora el sonido y activa correctamente la cancelación de ruido. Los audífonos deben sentirse cómodos y seguros.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\u003cdiv class=\"step\"\u003e\n        \u003cdiv class=\"step-ico\"\u003e\u003cspan class=\"step-icon-text\"\u003e🎛️\u003c\/span\u003e\u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cdiv class=\"step-num\"\u003ePASO 3: CONTROL DE TOTAL\u003c\/div\u003e\n          \u003cp class=\"step-text\"\u003ePresioná y mantené 2 segundos el sensor táctil de cualquier audífono para activar cancelación activa. El modo inteligente analiza tu entorno 48,000 veces por segundo y bloquea ruidos molestos. Tocá de nuevo para modo transparencia.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ========== TESTIMONIALS BAND ========== --\u003e\n  \u003cdiv class=\"test-band\"\u003e\n    \u003cdiv class=\"torn-top\"\u003e\u003c\/div\u003e\n    \u003csection class=\"test-wrap\" data-block=\"testimonials\" data-block-label=\"Testimonios\"\u003e\n      \u003cdiv class=\"polaroids\"\u003e\n        \u003cdiv class=\"polaroid\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-14-1783458832320.jpg?v=1783458833\" alt=\"Testimonio 1\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"polaroid\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-15-1783458834651.jpg?v=1783458836\" alt=\"Testimonio 2\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"polaroid\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-16-1783458837234.jpg?v=1783458838\" alt=\"Testimonio 3\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"polaroid\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/cwl-5576d7cd-17-1783458839380.jpg?v=1783458841\" alt=\"Testimonio 4\" style=\"width:100%;height:100%;object-fit:cover;display:block\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stars-big\"\u003e★★★★★\u003c\/div\u003e\n      \u003ch2 class=\"test-headline\"\u003e127 SALVADOREÑOS YA USAN AIRPRO 2\u003c\/h2\u003e\n\n      \u003cdiv class=\"reviews\"\u003e\n\u003cdiv class=\"rev\"\u003e\n\u003cdiv class=\"rh\"\u003e\n\u003cspan class=\"rs\"\u003e★★★★★\u003c\/span\u003e\u003cspan class=\"rt\"\u003eMejor que mis audífonos de $200\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"rb\"\u003eCompré AirPro 2 con cero expectativas porque costaban $30. Me volaron la cabeza. La cancelación de ruido funciona increíble en el bus, la batería me dura todo el día y el GPS ya me salvó dos veces de perderlos. Honestamente suenan mejor que mis audífonos anteriores que costaron $200. No entiendo cóm\u003c\/p\u003e\n\u003cdiv class=\"ra\"\u003e- Carlos R., San Salvador\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rev\"\u003e\n\u003cdiv class=\"rh\"\u003e\n\u003cspan class=\"rs\"\u003e★★★★★\u003c\/span\u003e\u003cspan class=\"rt\"\u003eEl GPS es un game changer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"rb\"\u003eYo perdía mis audífonos cada semana. Literal los dejaba en todos lados. Con AirPro 2 tengo GPS y los encuentro siempre. La app me muestra en el mapa exacto dónde están. Además suenan brutal y la conexión es automática. Ya le dije a toda mi familia que se compren unos.\u003c\/p\u003e\n\u003cdiv class=\"ra\"\u003e- María G., Santa Ana\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rev\"\u003e\n\u003cdiv class=\"rh\"\u003e\n\u003cspan class=\"rs\"\u003e★★★★★\u003c\/span\u003e\u003cspan class=\"rt\"\u003ePago contra entrega me convenció\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"rb\"\u003eAl principio pensé que era estafa porque el precio era muy bajo. Pero vi que aceptaban pago contra entrega y dije bueno, no pierdo nada. Los recibí en 2 días, los probé y quedé sorprendido. Sonido espectacular, cancelación que funciona y batería que dura. Los uso todos los días para el gym.\u003c\/p\u003e\n\u003cdiv class=\"ra\"\u003e- Luis A., San Miguel\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rev\"\u003e\n\u003cdiv class=\"rh\"\u003e\n\u003cspan class=\"rs\"\u003e★★★★★\u003c\/span\u003e\u003cspan class=\"rt\"\u003eMi esposa y yo compramos 2\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"rb\"\u003eVimos la oferta de 2 por $52 y decidimos pedir para los dos. Mejor decisión. Ahora salimos a correr juntos con música sin cables, hacemos llamadas con audio perfecto y la cancelación de ruido nos salva en el trabajo. Calidad premium real a precio justo. 100% recomendados.\u003c\/p\u003e\n\u003cdiv class=\"ra\"\u003e- Roberto y Ana, Soyapango\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n      \u003cbutton class=\"test-cta rsi-trigger-btn\"\u003eQUIERO MIS AIRPRO 2 AHORA\u003c\/button\u003e\n    \u003c\/section\u003e\n    \u003cdiv class=\"torn-bottom\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ========== STATS \/ ICONS ========== --\u003e\n  \u003csection class=\"stats-wrap\" data-block=\"stats\" data-block-label=\"Stats\"\u003e\n    \u003ch2\u003eAIRPRO 2 EN NÚMEROS\u003c\/h2\u003e\n    \u003cdiv class=\"stats\"\u003e\n\u003cdiv class=\"stat\"\u003e\n          \u003cdiv class=\"stat-ico\"\u003e\u003cspan class=\"stat-emoji\"\u003e⭐\u003c\/span\u003e\u003c\/div\u003e\n          \u003cdiv class=\"stat-text\"\u003e\n\u003cstrong\u003e127 clientes\u003c\/strong\u003e en El Salvador ya confían en AirPro 2 — calificación promedio 4.8\/5\u003c\/div\u003e\n        \u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n          \u003cdiv class=\"stat-ico\"\u003e\u003cspan class=\"stat-emoji\"\u003e🔊\u003c\/span\u003e\u003c\/div\u003e\n          \u003cdiv class=\"stat-text\"\u003e\n\u003cstrong\u003e48,000 ajustes\/seg\u003c\/strong\u003e de cancelación activa — bloquea ruido en tiempo real\u003c\/div\u003e\n        \u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n          \u003cdiv class=\"stat-ico\"\u003e\u003cspan class=\"stat-emoji\"\u003e🔋\u003c\/span\u003e\u003c\/div\u003e\n          \u003cdiv class=\"stat-text\"\u003e\n\u003cstrong\u003e30 horas\u003c\/strong\u003e de batería total (6hrs audífonos + 24hrs case) — semana completa sin cargar\u003c\/div\u003e\n        \u003c\/div\u003e\n\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ========== US VS THEM ========== --\u003e\n  \u003csection class=\"vs-wrap\" data-block=\"vsSection\" data-block-label=\"VS Comparativa\"\u003e\n    \u003ch2\u003eAIRPRO 2 VS COMPETENCIA\u003c\/h2\u003e\n    \u003cdiv class=\"vs-grid\"\u003e\n      \u003cdiv class=\"compare-table\"\u003e\n\u003cdiv class=\"ct-col first\"\u003e\n          \u003cdiv class=\"ct-cell head\"\u003eCOMPARACIÓN HONESTA\u003c\/div\u003e\n\u003cdiv class=\"ct-cell\"\u003eCancelación activa de ruido profesional\u003c\/div\u003e\n\u003cdiv class=\"ct-cell\"\u003eGPS integrado anti-pérdida\u003c\/div\u003e\n\u003cdiv class=\"ct-cell\"\u003eConexión automática iOS (PopUp)\u003c\/div\u003e\n\u003cdiv class=\"ct-cell\"\u003eGarantía 30 días sin preguntas\u003c\/div\u003e\n\u003cdiv class=\"ct-cell last\"\u003ePago contra entrega disponible\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ct-col us\"\u003e\n          \u003cdiv class=\"ct-cell head center\"\u003e\u003cdiv style=\"font-family:'Barlow Condensed',sans-serif;font-weight:800;font-style:italic;font-size:28px;color:var(--navy);line-height:0.85;\"\u003eAIRPRO 2\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center\"\u003e\u003cspan class=\"check-circle\"\u003e✓\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center\"\u003e\u003cspan class=\"check-circle\"\u003e✓\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center\"\u003e\u003cspan class=\"check-circle\"\u003e✓\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center\"\u003e\u003cspan class=\"check-circle\"\u003e✓\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center last\"\u003e\u003cspan class=\"check-circle\"\u003e✓\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ct-col last\"\u003e\n          \u003cdiv class=\"ct-cell head center\"\u003eMARCAS PREMIUM\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center\"\u003e\u003cspan class=\"x-circle\"\u003e✕\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center\"\u003e\u003cspan class=\"x-circle\"\u003e✕\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center\"\u003e\u003cspan class=\"x-circle\"\u003e✕\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center\"\u003e\u003cspan class=\"x-circle\"\u003e✕\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"ct-cell center last\"\u003e\u003cspan class=\"x-circle\"\u003e✕\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n      \u003cdiv class=\"vs-reviews\"\u003e\n\u003cdiv class=\"vs-rev\"\u003e\n\u003cdiv class=\"rh\"\u003e\n\u003cspan class=\"rs\"\u003e★★★★★\u003c\/span\u003e\u003cspan class=\"rt\"\u003eCancelan ruido mejor que mis audífonos de $250\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"rb\"\u003eTenía unos audífonos premium de una marca famosa que me costaron $250. AirPro 2 cancelan el ruido igual o mejor, especialmente en el bus y en la calle. Me ahorre $220 y tengo la misma tecnología.\u003c\/p\u003e\n\u003cdiv class=\"ra\"\u003e- Diego P., San Salvador\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vs-rev\"\u003e\n\u003cdiv class=\"rh\"\u003e\n\u003cspan class=\"rs\"\u003e★★★★★\u003c\/span\u003e\u003cspan class=\"rt\"\u003eEl pago contra entrega eliminó mi desconfianza\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"rb\"\u003eNunca compro tech online porque me da miedo que sea malo. Pero con pago contra entrega no arriesgaba nada. Los recibí, los probé ahí mismo frente al courier y pagué. Sonido brutal, conexión perfecta. Ahora recomiendo AirPro 2 a todos.\u003c\/p\u003e\n\u003cdiv class=\"ra\"\u003e- Sofía L., Santa Tecla\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vs-rev\"\u003e\n\u003cdiv class=\"rh\"\u003e\n\u003cspan class=\"rs\"\u003e★★★★★\u003c\/span\u003e\u003cspan class=\"rt\"\u003eTecnología real a precio accesible\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"rb\"\u003eSoy ingeniero y puedo confirmar que AirPro 2 tiene specs reales: chip Bluetooth 5.2, drivers de 10mm, cancelación activa por hardware. No es marketing. Es tecnología de verdad a precio justo porque eliminan intermediarios.\u003c\/p\u003e\n\u003cdiv class=\"ra\"\u003e- Andrés M., Antiguo Cuscatlán\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"vs-cta-wrap\"\u003e\n      \u003cbutton class=\"vs-cta rsi-trigger-btn\"\u003eAPROVECHAR OFERTA AHORA\u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ========== FINAL CTA ========== --\u003e\n  \u003csection class=\"finalcta-wrap\" data-block=\"finalCta\" data-block-label=\"Final CTA\"\u003e\n    \u003ch2 class=\"finalcta-title\"\u003eUPGRADE TU EXPERIENCIA DE AUDIO HOY\u003c\/h2\u003e\n    \u003cp class=\"finalcta-subtitle\"\u003eCancelación activa, GPS, batería de 6 horas y conexión automática iOS. Todo por $30. Pago contra entrega. Envío gratis. Garantía 30 días.\u003c\/p\u003e\n    \u003cbutton class=\"finalcta-btn rsi-trigger-btn\"\u003ePEDIR AIRPRO 2 — PAGO AL RECIBIR\u003c\/button\u003e\n    \u003cdiv class=\"finalcta-trust\"\u003e\n\u003cspan class=\"finalcta-badge has-icon\"\u003e\u003cspan class=\"badge-ico\"\u003e📦\u003c\/span\u003eEnvío gratis El Salvador\u003c\/span\u003e\u003cspan class=\"finalcta-badge has-icon\"\u003e\u003cspan class=\"badge-ico\"\u003e💳\u003c\/span\u003ePago contra entrega\u003c\/span\u003e\u003cspan class=\"finalcta-badge has-icon\"\u003e\u003cspan class=\"badge-ico\"\u003e✅\u003c\/span\u003eGarantía 30 días\u003c\/span\u003e\u003cspan class=\"finalcta-badge has-icon\"\u003e\u003cspan class=\"badge-ico\"\u003e🔒\u003c\/span\u003eCompra 100% segura\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ========== FAQS ========== --\u003e\n  \u003cdiv class=\"faqs-band\"\u003e\n    \u003cdiv class=\"torn-top\"\u003e\u003c\/div\u003e\n    \u003csection class=\"faqs-wrap\" data-block=\"faq\" data-block-label=\"FAQ Band\"\u003e\n      \u003ch2\u003ePREGUNTAS FRECUENTES\u003c\/h2\u003e\n      \u003cdiv class=\"faqs\"\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Son audífonos originales de Apple?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eNo. AirPro 2 son réplicas premium 1:1 con todas las funciones principales: cancelación activa de ruido, GPS, PopUp iOS, batería de 6 horas, sensores táctiles. No son originales Apple pero tienen el mismo look y funcionalidad a fracción del precio. Preferís pagar $300 por el logo o $30 por la tecnología real?\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Cómo funciona el pago contra entrega?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eHacés tu pedido online sin pagar nada. Preparamos tu orden y la enviamos vía courier. Cuando el paquete llega a tu casa (24-48hrs), abrís la caja, revisás que todo esté bien y recién ahí pagás los $30 al courier en efectivo. Cero riesgo para vos.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿La cancelación de ruido funciona de verdad?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eSí. AirPro 2 tiene cancelación activa por hardware (no es trucho). El sistema analiza ruidos externos 48,000 veces por segundo y emite ondas inversas que los cancelan. Funciona especialmente bien con ruidos constantes como buses, tráfico, aires acondicionados. No es marketing, es física.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Funcionan con Android o solo con iOS?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eFuncionan con ambos. Con iOS tenés el PopUp automático (como los originales). Con Android se conectan por Bluetooth normal en 5 segundos. Todas las funciones (cancelación, GPS, controles táctiles, batería) funcionan igual en ambos sistemas.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Cuánto dura la batería realmente?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003e6 horas continuas de reproducción con cancelación activa encendida. El case de carga te da 4 cargas completas adicionales, total 24 horas. En uso normal (música intermitente durante el día) te duran toda la semana sin cargar.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Cómo funciona el GPS si los pierdo?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eLos AirPro 2 se conectan a la app (iOS o Android). Si los perdés, abrís la app y te muestra en un mapa la última ubicación conocida. También podés hacerlos sonar para encontrarlos si están cerca. No es GPS satelital continuo, pero sirve perfecto para recuperarlos.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Qué incluye la garantía de 30 días?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eSi por cualquier motivo no estás satisfecho con AirPro 2, tenés 30 días para devolverlos y recuperar tu plata completa. Sin preguntas. Nos escribís por WhatsApp, coordinamos la devolución y te reintegramos los $30. Queremos que estés 100% feliz con tu compra.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Resisten agua y sudor?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eSí. AirPro 2 tienen certificación IPX4 (resistencia a salpicaduras). Podés usarlos para correr, gym o bajo lluvia ligera sin problema. No son sumergibles, pero el sudor y gotas de agua no los afectan.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq\"\u003e\n\u003cbutton class=\"faq-q\"\u003e\u003cspan\u003e¿Por qué son tan baratos si tienen toda esta tecnología?\u003c\/span\u003e\u003cspan class=\"icon\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\u003cdiv class=\"faq-a\"\u003e\u003cp\u003eEliminamos intermediarios. No gastamos millones en publicidad con celebrities ni en packaging ultra premium. Compramos directo de fábrica y te vendemos a precio real. Las marcas premium cobran $300 porque pueden, no porque los audífonos cuesten eso. AirPro 2 es precio justo sin inflación de marca.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003c\/section\u003e\n    \u003cdiv class=\"torn-bottom\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003ca class=\"releasit-form-anchor rsi-trigger-btn\" data-variant-id=\"\"\u003e\u003c\/a\u003e\n\n  \u003c!-- Custom mobile sticky CTA — visual igual al sticky verde de Releasit COD.\n       Solo visible en mobile. Click dispara Releasit COD via class rsi-trigger-btn. --\u003e\n  \u003cdiv class=\"fhc-mobile-sticky\" id=\"fhc-mobile-sticky\"\u003e\n    \u003cbutton class=\"fhc-mobile-sticky-btn rsi-trigger-btn\" data-variant-id=\"\"\u003e\n      \u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"flex-shrink:0\"\u003e\u003cpath d=\"M3 3H5L5.4 5M7 13H17L21 5H5.4M7 13L5.4 5M7 13L4.7 15.3C4.07 15.93 4.51 17 5.41 17H17M17 17C15.9 17 15 17.9 15 19C15 20.1 15.9 21 17 21C18.1 21 19 20.1 19 19C19 17.9 18.1 17 17 17ZM9 19C9 20.1 8.1 21 7 21C5.9 21 5 20.1 5 19C5 17.9 5.9 17 7 17C8.1 17 9 17.9 9 19Z\" stroke=\"#fff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003eAGREGAR AL CARRITO — PAGO AL RECIBIR\u003c\/span\u003e\n    \u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\n  \/\/ Hero carousel: thumbnail click switches main slide (desktop)\n  \/\/ and on mobile, scroll position drives dot indicator\n  (function() {\n    const carousel = document.getElementById('heroCarousel');\n    if (!carousel) return;\n    const slides = carousel.querySelectorAll('.hero-slide');\n    const thumbs = document.querySelectorAll('.thumbs .thumb');\n    const dots = document.querySelectorAll('#heroDots .dot');\n\n    function setActive(idx) {\n      slides.forEach((s, i) =\u003e s.classList.toggle('active', i === idx));\n      thumbs.forEach((t, i) =\u003e t.classList.toggle('active', i === idx));\n      dots.forEach((d, i) =\u003e d.classList.toggle('active', i === idx));\n    }\n\n    thumbs.forEach((t, i) =\u003e {\n      t.addEventListener('click', () =\u003e {\n        const isMobile = window.matchMedia('(max-width: 860px)').matches;\n        if (isMobile) {\n          carousel.scrollTo({ left: i * carousel.clientWidth, behavior: 'smooth' });\n        } else {\n          setActive(i);\n        }\n      });\n    });\n\n    \/\/ mobile: sync dots to scroll position\n    let raf = null;\n    carousel.addEventListener('scroll', () =\u003e {\n      if (raf) cancelAnimationFrame(raf);\n      raf = requestAnimationFrame(() =\u003e {\n        const idx = Math.round(carousel.scrollLeft \/ carousel.clientWidth);\n        dots.forEach((d, i) =\u003e d.classList.toggle('active', i === idx));\n        thumbs.forEach((t, i) =\u003e t.classList.toggle('active', i === idx));\n      });\n    }, { passive: true });\n\n    dots.forEach((d, i) =\u003e {\n      d.addEventListener('click', () =\u003e {\n        carousel.scrollTo({ left: i * carousel.clientWidth, behavior: 'smooth' });\n      });\n    });\n  })();\n\n  \/\/ FAQ accordion\n  document.querySelectorAll('.faq').forEach(faq =\u003e {\n    faq.querySelector('.faq-q').addEventListener('click', () =\u003e {\n      faq.classList.toggle('open');\n    });\n  });\n\n  \/\/ Bundle selector\n  document.querySelectorAll('.bundle').forEach(b =\u003e {\n    b.addEventListener('click', () =\u003e {\n      document.querySelectorAll('.bundle').forEach(x =\u003e x.classList.remove('active'));\n      b.classList.add('active');\n    });\n  });\n\n\u003c\/script\u003e\n\n\n\n\u003cscript\u003e(function(){\n  try {\n    var S = '[class*=\"releasit\"][class*=\"sticky\"],[id*=\"releasit\"][id*=\"sticky\"],[class*=\"rcod\"][class*=\"sticky\"],[id*=\"rcod\"][id*=\"sticky\"],[class*=\"releasit\"][class*=\"atc\"],[id*=\"releasit\"][id*=\"atc\"],[class*=\"rcod\"][class*=\"atc\"],[id*=\"rcod\"][id*=\"atc\"],[class*=\"releasit\"][class*=\"floating\"],[id*=\"releasit\"][id*=\"floating\"],.rcod-sticky-atc,#rcod-sticky-atc,.releasit-cod-form-sticky-atc,#releasit-cod-form-sticky-atc';\n    function keep(){\n      try {\n        var els = document.querySelectorAll(S);\n        for (var i=0;i\u003cels.length;i++) {\n          var el = els[i];\n          var cs = getComputedStyle(el);\n          if (cs.display === 'none') el.style.setProperty('display','block','important');\n          if (cs.visibility === 'hidden') el.style.setProperty('visibility','visible','important');\n          if (parseFloat(cs.opacity) === 0) el.style.setProperty('opacity','1','important');\n          if (cs.transform \u0026\u0026 cs.transform !== 'none') el.style.setProperty('transform','none','important');\n          if (cs.position !== 'fixed') el.style.setProperty('position','fixed','important');\n          var b = parseFloat(cs.bottom);\n          if (!isFinite(b) || b \u003c 0) el.style.setProperty('bottom','0','important');\n          if (el.getAttribute('aria-hidden') === 'true') el.setAttribute('aria-hidden','false');\n          \/\/ Quita clases que Releasit usa para ocultar\n          var cls = el.className \u0026\u0026 typeof el.className === 'string' ? el.className : '';\n          if (\/--hidden|-hidden|collapsed|hide-sticky\/i.test(cls)) {\n            el.className = cls.replace(\/(s|^)([\\w-]*?(?:--hidden|-hidden|collapsed|hide-sticky)[\\w-]*)(?=\\s|$)\/gi,' ').trim();\n          }\n        }\n      } catch(e){}\n    }\n    if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', keep);\n    else keep();\n    setInterval(keep, 200);\n    \/\/ También al scroll para reaccionar inmediatamente cuando Releasit oculta\n    window.addEventListener('scroll', keep, { passive: true });\n  } catch(e){}\n})();\u003c\/script\u003e\n\u003cstyle data-cwl-thumb-swap\u003e.thumbs .is-thumb-active,\n[class*=\"thumbs\"] .is-thumb-active {\n  outline: 2px solid var(--cwl-accent, #f59a98) !important;\n  outline-offset: 2px;\n}\u003c\/style\u003e\n\u003cscript data-cwl-thumb-swap\u003e(function(){\n  if (window.__cwlThumbSwap) return;\n  window.__cwlThumbSwap = true;\n  function init() {\n    var thumbBtns = document.querySelectorAll('.thumbs button, .thumbs \u003e div, .thumbs .thumb, [class*=\"thumbs\"] button');\n    var heroImg = document.querySelector('.mock img.hero-img, .hero img.hero-img, .mock img, .gallery-main img, .hero-image img');\n    var heroPh = document.querySelector('.mock .ph');\n    if (!thumbBtns.length) return;\n    thumbBtns.forEach(function(btn, i) {\n      btn.style.cursor = 'pointer';\n      btn.addEventListener('click', function() {\n        var btnImg = btn.querySelector('img');\n        if (btnImg \u0026\u0026 btnImg.src) {\n          if (heroImg) {\n            heroImg.src = btnImg.src;\n          } else if (heroPh) {\n            \/\/ Reemplazar placeholder con imagen\n            var newImg = document.createElement('img');\n            newImg.src = btnImg.src;\n            newImg.className = 'hero-img';\n            newImg.alt = '';\n            newImg.style.cssText = 'width:100%;height:100%;object-fit:cover';\n            heroPh.replaceWith(newImg);\n          }\n        }\n        \/\/ Visual feedback: marca activa\n        thumbBtns.forEach(function(b) { b.classList.remove('is-thumb-active'); });\n        btn.classList.add('is-thumb-active');\n      });\n    });\n    if (thumbBtns[0]) thumbBtns[0].classList.add('is-thumb-active');\n  }\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\u003c\/script\u003e\n","brand":"SHOPYSV S.A de C.V","offers":[{"title":"Default Title","offer_id":53715672367288,"sku":null,"price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0562\/4505\/9768\/files\/2_a3209b44-4901-42ea-9c15-7883844cf063.png?v=1783459134","url":"https:\/\/shopysv.com\/products\/airpro-2","provider":"SHOPYSV S.A de C.V","version":"1.0","type":"link"}