{"title":"NUTRICION","description":"","products":[{"product_id":"colagenomarino","title":"COLAGENO MARINO + OBSEQUIO","description":"\u003cbody\u003e\n\n\n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n    \u003ctitle\u003eMAXI PLUS Colágeno Marino - Oferta Exclusiva\u003c\/title\u003e\n    \n    \u003c!-- Cargar las fuentes Poppins (para títulos) y Montserrat (para el cuerpo\/futura) --\u003e\n    \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=Montserrat:wght@400;600;700;800\u0026amp;family=Poppins:wght==600;700;800;900\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n    \n    \u003c!-- Incluir Tailwind CSS CDN (El framework CSS principal) --\u003e\n    \u003cscript src=\"https:\/\/cdn.tailwindcss.com\"\u003e\u003c\/script\u003e\n    \n    \u003c!-- Configuración para usar las nuevas fuentes y personalizar colores --\u003e\n    \u003cscript\u003e\n        tailwind.config = {\n            theme: {\n                extend: {\n                    colors: {\n                        'primary-green': '#006b8f', \/\/ Azul\/Teal oscuro para salud y pureza\n                        'secondary-gray': '#4b5563', \n                        'accent-pink': '#f472b6', \/\/ Pink 400 - Para el cabello\/piel (manteniendo el color)\n                        'bg-light': '#f3feff', \/\/ Azul claro (muy claro) - Fondo suave\n                        'cta-color': '#078e91', \/\/ Teal oscuro\/Cyan para alto contraste y acción\n                    },\n                    fontFamily: {\n                        \/\/ Usamos Montserrat como la nueva fuente sans-serif (estilo Futura\/moderno)\n                        sans: ['Montserrat', 'sans-serif'],\n                        \/\/ Poppins para los títulos como solicitó el usuario\n                        poppins: ['Poppins', 'sans-serif'], \n                    },\n                }\n            }\n        }\n    \u003c\/script\u003e\n    \n    \u003c!-- CSS Personalizado para animaciones y elementos no cubiertos por Tailwind --\u003e\n    \u003cstyle\u003e\n        \/* Estilos base para la responsividad y look \u0026 feel *\/\n        body { \n            padding-bottom: 5rem; \/* Espacio para el CTA fijo *\/ \n            min-height: 100vh; \/* Asegura que el cuerpo ocupe toda la altura *\/\n        }\n        .star-rating { color: #facc15; } \/* Amarillo 400 *\/\n        .emoji { font-size: 1.75rem; margin-right: 0.5rem; } \/* Emoji un poco más grande *\/\n        .feature-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }\n        .feature-card:hover { transform: translateY(-3px); box-shadow: 0 8px 12px rgba(0, 0, 0, 0.1); }\n        \n        \/* Botón CTA principal - AHORA USA EL NUEVO COLOR #078e91 *\/\n        .cta-button {\n            transition: background-color 0.3s ease, transform 0.1s ease;\n            animation: pulse-ring 2s infinite; \/* Aplica la animación de pulso CTA *\/\n        }\n        .cta-button:active {\n            transform: scale(0.98);\n        }\n        \/* Animación para el botón CTA fijo (AIDA: Acción) - COLOR #078e91 *\/\n        @keyframes pulse-ring {\n            \/* Usando los valores RGBA de #078e91 (7, 142, 145) *\/\n            0% { box-shadow: 0 0 0 0 rgba(7, 142, 145, 0.7); } \n            70% { box-shadow: 0 0 0 10px rgba(7, 142, 145, 0); }\n            100% { box-shadow: 0 0 0 0 rgba(7, 142, 145, 0); }\n        }\n        \/* Animación para el botón CTA fijo (AIDA: Acción) - COLOR #078e91 *\/\n        @keyframes pulse-ring {\n            \/* Usando los valores RGBA de #078e91 (7, 142, 145) *\/\n            0% { box-shadow: 0 0 0 0 rgba(7, 142, 145, 0.7); } \n            70% { box-shadow: 0 0 0 10px rgba(7, 142, 145, 0); }\n            100% { box-shadow: 0 0 0 0 rgba(7, 142, 145, 0); }\n        }\n\n        \/* Animación de Pulso Verde\/Azul para Pago Contra Entrega (Se mantiene el color primary-green #006b8f) *\/\n        .green-cta-button {\n            transition: background-color 0.3s ease, transform 0.1s ease;\n            animation: green-pulse-ring 2s infinite; \n        }\n        .green-cta-button:active {\n            transform: scale(0.98);\n        }\n        \/* Definiendo el pulso con primary-green\/blue (#006b8f) *\/\n        @keyframes green-pulse-ring {\n            \/* Usando los valores RGBA de #006b8f (0, 107, 143) *\/\n            0% { box-shadow: 0 0 0 0 rgba(0, 107, 143, 0.7); } \n            70% { box-shadow: 0 0 0 10px rgba(0, 107, 143, 0); }\n            100% { box-shadow: 0 0 0 0 rgba(0, 107, 143, 0); }\n        }\n\n        \/* Estilos específicos para el carrusel de testimonios *\/\n        .carousel-container {\n            overflow: hidden;\n            width: 100%;\n            \/* Cursor de arrastre para indicar interactividad *\/\n            cursor: grab; \n        }\n        .carousel-track {\n            display: flex;\n            transition: transform 0.5s ease-in-out;\n            touch-action: pan-y; \/* Permite el arrastre horizontal, bloquea el vertical *\/\n        }\n        .carousel-slide {\n            flex-shrink: 0;\n            width: 100%; \/* Cada slide ocupa el 100% del contenedor visible *\/\n            padding: 1rem; \/* Asegura que el contenido no toque los bordes *\/\n            box-sizing: border-box; \n            \/* Altura fija para evitar saltos al cambiar slides *\/\n            min-height: 150px; \n        }\n\n        \/* Estilos para el Slideshow de la Imagen Principal *\/\n        .maxi-slide-container {\n            height: auto; \n            cursor: grab; \/* Añadido cursor para arrastrar *\/\n        }\n        .maxi-slide-track {\n            \/* La transición se maneja por JS ahora *\/\n        }\n        .maxi-slide-image {\n            object-fit: cover;\n        }\n\n        \/* Estilos para los puntos de paginación del slide principal *\/\n        .main-slide-dot {\n            transition: all 0.3s ease;\n        }\n        .main-slide-dot.active {\n            opacity: 1;\n            background-color: #006b8f; \/* primary-green *\/\n            transform: scale(1.1);\n        }\n\n\n        \/* Estilo para asegurar que solo la primera letra sea mayúscula *\/\n        .capitalize-first-letter:first-letter {\n            text-transform: uppercase;\n        }\n\n        \/* Clases de transición para mostrar\/ocultar el CTA fijo *\/\n        .sticky-cta-transition {\n            transition: transform 0.3s ease-in-out;\n        }\n        \/* Estado oculto: empujado hacia abajo, fuera de la vista *\/\n        .sticky-cta-hidden {\n            transform: translateY(100%);\n        }\n        \/* Estado visible: en su posición normal (bottom-0) *\/\n        .sticky-cta-visible {\n            transform: translateY(0);\n        }\n        \n        \/* FORZAR LA ANULACIÓN de los estilos .rte de la plataforma (Shopify, etc.) *\/\n        \/* 1. Resetear todas las imágenes dentro del contenedor principal a los valores base *\/\n        .max-w-xl img {\n            border: none !important;\n            box-shadow: none !important;\n            border-radius: 0 !important;\n            margin-bottom: 0 !important;\n        }\n\n        \/* 2. Re-aplicar selectivamente las clases de Tailwind que SÍ queremos *\/\n        \/* Esto \"gana\" al selector .rte img porque es más específico *\/\n        .max-w-xl img.rounded-lg { border-radius: 0.5rem !important; }\n        .max-w-xl img.rounded-xl { border-radius: 0.75rem !important; }\n        .max-w-xl img.rounded-t-2xl { border-top-left-radius: 1rem !important; border-top-right-radius: 1rem !important; }\n        .max-w-xl img.rounded-b-2xl { border-bottom-left-radius: 1rem !important; border-bottom-right-radius: 1rem !important; }\n        .max-w-xl img.rounded-2xl { border-radius: 1rem !important; }\n        .max-w-xl img.rounded-full { border-radius: 9999px !important; }\n        \n        .max-w-xl img.shadow-md { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; }\n        .max-w-xl img.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important; }\n        .max-w-xl img.shadow-xl { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important; }\n        \n        .max-w-xl img.border { border-width: 1px !important; border-style: solid !important; }\n        .max-w-xl img.border-2 { border-width: 2px !important; border-style: solid !important; }\n        .max-w-xl img.border-4 { border-width: 4px !important; border-style: solid !important; }\n        \n        .max-w-xl img.border-gray-100 { border-color: #f3f4f6 !important; }\n        .max-w-xl img.border-primary-green { border-color: #006b8f !important; }\n        .max-w-xl img.border-accent-pink { border-color: #f472b6 !important; }\n        .max-w-xl img.border-white { border-color: #ffffff !important; }\n        \n        .max-w-xl img.mb-3 { margin-bottom: 0.75rem !important; }\n        .max-w-xl img.mb-4 { margin-bottom: 1rem !important; }\n        .max-w-xl img.mb-8 { margin-bottom: 2rem !important; }\n    \u003c\/style\u003e\n\n\n\n    \u003cdiv class=\"max-w-xl mx-auto p-4 sm:p-6 lg:p-8\"\u003e\n\n        \u003c!-- Galería de Producto (Visuales Rápidos) - SLIDESHOW IMPLEMENTADO --\u003e\n        \u003c!-- Se elimina la sombra de la portada (shadow-2xl eliminado de este bloque y de JS) --\u003e\n        \u003cdiv class=\"mb-6 max-w-xl mx-auto\"\u003e\n            \u003c!-- Contenedor del Slideshow de Imagen Principal. SIN SOMBRA --\u003e\n            \u003cdiv id=\"main-slide-container\" class=\"maxi-slide-container mb-8 relative rounded-xl overflow-hidden\"\u003e\n                \u003cdiv id=\"main-slide-track\" class=\"maxi-slide-track w-[200%] h-full flex\"\u003e\n                    \u003c!-- Slide 1: Nueva Imagen (Enfoque de Beneficio). --\u003e\n                    \u003cimg src=\"https:\/\/i.imgur.com\/WVxotMf.jpeg\" alt=\"Recupera 10 años con Colágeno Marino\" class=\"maxi-slide-image w-1\/2 h-auto block\" onerror=\"this.onerror=null; this.src='https:\/\/placehold.co\/600x600\/000000\/ffffff?text=Imagen+Beneficios+Fallback';\"\u003e\n                    \u003c!-- Slide 2: Imagen del Tarro (Enfoque de Producto). --\u003e\n                    \u003cimg src=\"https:\/\/i.imgur.com\/Ta5xw3S.jpeg\" alt=\"MAXI PLUS Colágeno Marino, Presentación Principal\" class=\"maxi-slide-image w-1\/2 h-auto block\" onerror=\"this.onerror=null; this.src='https:\/\/placehold.co\/600x600\/059669\/ffffff?text=Producto+Principal+Fallback';\"\u003e\n                \u003c\/div\u003e\n                \n                \u003c!-- Paginación (Puntitos) --\u003e\n                \u003cdiv id=\"main-slide-pagination\" class=\"absolute bottom-4 left-0 right-0 flex justify-center space-x-2 z-10\"\u003e\n                    \u003cspan class=\"main-slide-dot active w-3 h-3 bg-white rounded-full opacity-75\"\u003e\u003c\/span\u003e\n                    \u003cspan class=\"main-slide-dot w-3 h-3 bg-white rounded-full opacity-50\"\u003e\u003c\/span\u003e\n                \u003c\/div\u003e\n            \u003c\/div\u003e\n            \n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- TESTIMONIOS (SOCIAL PROOF) - SECCIÓN PRINCIPAL --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003csection class=\"mb-10 mt-2\"\u003e\n            \u003c!-- Título --\u003e\n            \u003ch2 class=\"text-2xl font-bold text-secondary-gray mb-4 text-center font-poppins\"\u003e\n                ⭐ Más de 10.000 clientes satisfechos\n            \u003c\/h2\u003e\n            \n            \u003c!-- Testimonio Principal (Marta L.) - NO TOCADO --\u003e\n            \u003cdiv class=\"p-4 bg-primary-green rounded-2xl shadow-xl mb-6 text-center\"\u003e\n                \n                \u003c!-- Foto de Perfil Centrada (Circular) --\u003e\n                \u003cimg src=\"https:\/\/i.imgur.com\/QV23akB.jpeg\" alt=\"Marta L. Testimonio\" class=\"w-24 h-24 rounded-full border-2 border-accent-pink mx-auto mb-4 object-cover\"\u003e\n                \n                \u003c!-- Texto (Segunda fila) --\u003e\n                \u003cdiv class=\"w-full\"\u003e\n                    \u003cp class=\"star-rating text-3xl mb-1\"\u003e⭐⭐⭐⭐⭐\u003c\/p\u003e\n                    \u003c!-- text-lg (mantiene el tamaño seguro) --\u003e\n                    \u003cp class=\"italic text-white text-2xl leading-snug\"\u003e\n                        \"Mis rodillas dejaron de crujir en solo dos semanas. ¡Es el único que realmente funciona para el dolor articular!\"\n                    \u003c\/p\u003e\n                    \u003c!-- Nombre alineado a la derecha, para mejor contraste --\u003e\n                    \u003cp class=\"text-right mt-3 font-semibold text-white\/90 text-base\"\u003e- Marta L., 52 años.\u003c\/p\u003e\n                \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003c!-- Carrusel de Testimonios Secundarios (AJUSTADO PARA SWIPE Y TEXTO) --\u003e\n            \u003cdiv id=\"testimonial-carousel-1\" class=\"carousel-container rounded-2xl shadow-lg border border-gray-100 bg-white\"\u003e\n                \u003cdiv id=\"carousel-track-1\" class=\"carousel-track\"\u003e\n                    \n                    \u003c!-- Testimonio 1 (Ana V. - Piel) - TEXTO A text-base para evitar desbordamiento --\u003e\n                    \u003cdiv class=\"carousel-slide\"\u003e\n                        \u003cdiv class=\"flex items-start\"\u003e\n                            \u003cimg src=\"https:\/\/i.imgur.com\/7S0XdY6.jpeg\" alt=\"Ana V. Testimonio\" class=\"flex-shrink-0 w-16 h-16 rounded-full border-2 border-primary-green mr-4 object-cover\"\u003e\n                            \u003cdiv class=\"flex-1\"\u003e\n                                \u003cp class=\"star-rating text-xl mb-1\"\u003e⭐⭐⭐⭐⭐\u003c\/p\u003e\n                                \u003c!-- TEXTO AJUSTADO A BASE --\u003e\n                                \u003cp class=\"text-2xl italic text-gray-700\"\u003e\"Mi dermatólogo lo recomendó. La calidad de mi piel es impresionante, incluso las manchas se ven mejor.\"\u003c\/p\u003e\n                                \u003cp class=\"text-sm font-semibold mt-2 text-gray-500\"\u003eAna V.\u003c\/p\u003e\n                            \u003c\/div\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n                    \n                    \u003c!-- Testimonio 2 (Elena G. - Cabello) - TEXTO A text-base para evitar desbordamiento --\u003e\n                    \u003cdiv class=\"carousel-slide\"\u003e\n                        \u003cdiv class=\"flex items-start\"\u003e\n                            \u003cimg src=\"https:\/\/i.imgur.com\/xWmRxeY.jpeg\" alt=\"Elena G. Testimonio\" class=\"flex-shrink-0 w-16 h-16 rounded-full border-2 border-primary-green mr-4 object-cover\"\u003e\n                            \u003cdiv class=\"flex-1\"\u003e\n                                \u003cp class=\"star-rating text-xl mb-1\"\u003e⭐⭐⭐⭐⭐\u003c\/p\u003e\n                                \u003c!-- TEXTO AJUSTADO A BASE --\u003e\n                                \u003cp class=\"text-2xl italic text-gray-700\"\u003e\"El cabello me creció más rápido que nunca. Ya no necesito pastillas de biotina aparte.\"\u003c\/p\u003e\n                                \u003cp class=\"text-sm font-semibold mt-2 text-gray-500\"\u003eElena G.\u003c\/p\u003e\n                            \u003c\/div\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n                    \n                    \u003c!-- Testimonio 3 (Roberto M. - Sabor) - TEXTO A text-base para evitar desbordamiento --\u003e\n                    \u003cdiv class=\"carousel-slide\"\u003e\n                        \u003cdiv class=\"flex items-start\"\u003e\n                            \u003c!-- Imagen de Roberto M. añadida --\u003e\n                            \u003cimg src=\"https:\/\/i.imgur.com\/hSHwlIY.jpeg\" alt=\"Roberto M. Testimonio\" class=\"flex-shrink-0 w-16 h-16 rounded-full border-2 border-primary-green mr-4 object-cover\"\u003e\n                            \u003cdiv class=\"flex-1\"\u003e\n                                \u003cp class=\"star-rating text-xl mb-1\"\u003e⭐⭐⭐⭐⭐\u003c\/p\u003e\n                                \u003c!-- TEXTO AJUSTADO A BASE --\u003e\n                                \u003cp class=\"text-2xl italic text-gray-700\"\u003e\"Fácil de tomar, sin sabor. Lo mezclo en mi batido matinal y me siento con más energía. ¡Gran producto!\"\u003c\/p\u003e\n                                \u003cp class=\"text-sm font-semibold mt-2 text-gray-500\"\u003eRoberto M.\u003c\/p\u003e\n                            \u003c\/div\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n\n                \u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003c!-- Fin Carrusel --\u003e\n        \u003c\/section\u003e\n\n\n            \n            \u003c!-- CUADRO DE OFERTAS ACTUALIZADO --\u003e\n            \u003csection class=\"mt-8 bg-white p-6 rounded-2xl shadow-xl border border-gray-100\"\u003e\n                \u003ch2 class=\"text-3xl font-extrabold text-primary-green text-center mb-2 font-poppins\"\u003e\n                    Elige tu descuento y ahorra \u003cbr\u003econ MAXI PLUS\n                \u003c\/h2\u003e\n                \u003cp class=\"text-lg text-secondary-gray text-center mb-6 font-semibold\"\u003e\n                    ¡Entre más cuidas tu salud y belleza, más ahorras!\n                \u003c\/p\u003e\n\n                \u003c!-- Imagen \"Paga al Recibir\" --\u003e\n                \u003cimg src=\"https:\/\/i.imgur.com\/b5aAFve.jpeg\" alt=\"Paga al Recibir en Casa\" class=\"w-full h-auto rounded-xl mb-4\" onerror=\"this.onerror=null; this.src='https:\/\/placehold.co\/600x150\/006b8f\/ffffff?text=Paga+al+Recibir';\"\u003e\n\n                \u003c!-- Paquete de Oferta 1 (1 Tarro) - PRECIO AJUSTADO $79.900 --\u003e\n                \u003cdiv class=\"flex items-center justify-between p-4 mb-4 bg-bg-light rounded-xl border border-primary-green\/30\"\u003e\n                    \u003cdiv class=\"flex-1 pr-4\"\u003e\n                        \u003cp class=\"text-2xl font-bold text-secondary-gray leading-tight\"\u003e1 tarro (700 g) + obsequio de 125 g gratis\u003c\/p\u003e\n                        \u003c!-- PRECIO AJUSTADO --\u003e\n                        \u003cp class=\"text-4xl font-extrabold text-cta-color mt-1\"\u003e$79.900\u003c\/p\u003e\n                    \u003c\/div\u003e\n                    \u003cdiv class=\"w-36 h-36 flex-shrink-0\"\u003e \n                        \u003cimg src=\"https:\/\/i.imgur.com\/e0LuXxX.png\" alt=\"1 Tarro Maxi Plus Colágeno Marino\" class=\"w-full h-full object-contain\"\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n\n                \u003c!-- Paquete de Oferta 2 (2 Tarros) - PRECIO AJUSTADO $135.900 --\u003e\n                \u003cdiv class=\"flex items-center justify-between p-4 mb-4 bg-bg-light rounded-xl border border-primary-green\/30\"\u003e\n                    \u003cdiv class=\"flex-1 pr-4\"\u003e\n                        \u003cp class=\"text-2xl font-bold text-secondary-gray leading-tight\"\u003e2 tarros con descuento especial + 2 obsequios de 125 g gratis\u003c\/p\u003e\n                        \u003c!-- PRECIO AJUSTADO --\u003e\n                        \u003cp class=\"text-4xl font-extrabold text-cta-color mt-1\"\u003e$135.900\u003c\/p\u003e\n                    \u003c\/div\u003e\n                    \u003cdiv class=\"w-36 h-36 flex-shrink-0\"\u003e \n                        \u003cimg src=\"https:\/\/i.imgur.com\/AvYLPsM.png\" alt=\"2 Tarros Maxi Plus Colágeno Marino\" class=\"w-full h-full object-contain\"\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n\n                \u003c!-- Paquete de Oferta 3 (3 Tarros) - PRECIO AJUSTADO $159.900 --\u003e\n                \u003cdiv class=\"flex items-center justify-between p-4 bg-bg-light rounded-xl border border-primary-green\/30\"\u003e\n                    \u003cdiv class=\"flex-1 pr-4\"\u003e\n                        \u003cp class=\"text-2xl font-bold text-secondary-gray leading-tight\"\u003e3 tarros con máximo descuento + 3 obsequios de 125 g gratis\u003c\/p\u003e\n                        \u003c!-- PRECIO AJUSTADO --\u003e\n                        \u003cp class=\"text-4xl font-extrabold text-cta-color mt-1\"\u003e$159.900\u003c\/p\u003e\n                    \u003c\/div\u003e\n                    \u003cdiv class=\"w-36 h-36 flex-shrink-0\"\u003e \n                        \u003cimg src=\"https:\/\/i.imgur.com\/pQUH8hv.png\" alt=\"3 Tarros Maxi Plus Colágeno Marino\" class=\"w-full h-full object-contain\"\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n\n                \u003c!-- BOTÓN DE PAGO CONTRA ENTREGA (IDENTIFICADO con ID para el Intersection Observer) --\u003e\n                \u003cdiv class=\"mt-6\"\u003e\n                    \u003ca href=\"\/rsi-btn-hook\" id=\"first-cta-button\" class=\"green-cta-button w-full px-4 py-3 bg-primary-green text-white font-extrabold text-xl rounded-xl shadow-lg hover:bg-[#005a78] focus:outline-none focus:ring-4 focus:ring-primary-green focus:ring-opacity-70 font-poppins flex items-center justify-center no-underline\" role=\"button\"\u003e\n                        \u003cspan class=\"text-2xl mr-3\"\u003e🚚\u003c\/span\u003e \n                        PAGO CONTRA ENTREGA\n                    \u003c\/a\u003e\n                \u003c\/div\u003e\n            \u003c\/section\u003e\n\n            \u003c!-- Iconos de Confianza (Actualizado) --\u003e\n            \u003cdiv class=\"mt-6 mb-10\"\u003e\n                 \u003cimg src=\"https:\/\/i.imgur.com\/YqFvPkz.jpeg\" alt=\"Garantía y envío gratuito\" class=\"w-full h-auto rounded-xl shadow-md\" onerror=\"this.onerror=null; this.src='https:\/\/placehold.co\/600x150\/006b8f\/ffffff?text=Garantía+y+Envío';\"\u003e\n            \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- SECCIÓN DE INGREDIENTES ELIMINADA --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n\n\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- PROBLEMA O INTERÉS (REEMPLAZADO POR IMAGEN DIRECTA) --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003csection class=\"mb-10\" style=\"font-size: 0;\"\u003e \n            \u003cimg src=\"https:\/\/i.imgur.com\/6fdU2rv.jpeg\" alt=\"Potencia tu Bienestar\" class=\"w-full h-auto rounded-t-2xl object-cover block\" onerror=\"this.onerror=null; this.src='https:\/\/placehold.co\/600x300\/F472B6\/ffffff?text=Potencia+tu+Bienestar';\"\u003e\n            \u003cimg src=\"https:\/\/i.imgur.com\/TvG6cmY.jpeg\" alt=\"Qué pasa si te falta Colágeno\" class=\"w-full h-auto rounded-b-2xl object-cover block\" onerror=\"this.onerror=null; this.src='https:\/\/placehold.co\/600x300\/006B8F\/ffffff?text=Falta+Colageno';\"\u003e\n        \u003c\/section\u003e\n        \n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- BENEFICIOS (IMAGE ABOVE, TEXT BELOW) - AJUSTES DE TÍTULO Y TAMAÑO --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003csection class=\"mb-10 p-5 bg-bg-light rounded-2xl shadow-lg border border-primary-green\/20\"\u003e\n            \u003c!-- Título CAMBIADO: Así transforma tu cuerpo MAXI PLUS --\u003e\n            \u003ch2 class=\"text-2xl font-bold text-primary-green mb-5 text-center font-poppins\"\u003e\n                ✅ Así transforma tu cuerpo MAXI PLUS\n            \u003c\/h2\u003e\n            \u003cdiv class=\"grid grid-cols-1 md:grid-cols-3 gap-6\"\u003e\n                \n                \u003c!-- Beneficio 1: Movilidad - Título y Descripción ajustados --\u003e\n                \u003cdiv class=\"feature-card bg-white p-4 rounded-xl shadow-md border border-gray-100 text-center\"\u003e\n                    \u003cimg src=\"https:\/\/i.imgur.com\/ESC9Otb.jpeg\" alt=\"Imagen de articulaciones saludables\" class=\"rounded-lg w-full mb-3 object-cover\"\u003e\n                    \u003c!-- Título ajustado a text-xl y texto Adiós dolor --\u003e\n                    \u003ch3 class=\"font-semibold text-xl text-secondary-gray mb-1 font-poppins\"\u003e1. Adiós dolor\u003c\/h3\u003e\n                    \u003c!-- Descripción ajustada a text-2xl --\u003e\n                    \u003cp class=\"text-2xl text-gray-600\"\u003eFortalece cartílagos. Recupera la \u003cspan class=\"font-bold\"\u003eflexibilidad\u003c\/span\u003e que perdiste.\u003c\/p\u003e\n                \u003c\/div\u003e\n\n                \u003c!-- Beneficio 2: Cabello y Uñas - Título y Descripción ajustados --\u003e\n                \u003cdiv class=\"feature-card bg-white p-4 rounded-xl shadow-md border border-gray-100 text-center\"\u003e\n                    \u003cimg src=\"https:\/\/i.imgur.com\/pKENU3e.jpeg\" alt=\"Imagen de cabello y uñas sanas\" class=\"rounded-lg w-full mb-3 object-cover\"\u003e\n                    \u003c!-- Título ajustado a text-xl y texto 2. Anti-caída --\u003e\n                    \u003ch3 class=\"font-semibold text-xl text-secondary-gray mb-1 font-poppins\"\u003e2. Anti-caída\u003c\/h3\u003e\n                    \u003c!-- Descripción ajustada a text-2xl --\u003e\n                    \u003cp class=\"text-2xl text-gray-600\"\u003eCabello más denso y uñas que \u003cspan class=\"font-bold\"\u003eno se quiebran\u003c\/span\u003e gracias a la Biotina.\u003c\/p\u003e\n                \u003c\/div\u003e\n\n                \u003c!-- Beneficio 3: Piel - Título y Descripción ajustados --\u003e\n                \u003cdiv class=\"feature-card bg-white p-4 rounded-xl shadow-md border border-gray-100 text-center\"\u003e\n                    \u003cimg src=\"https:\/\/i.imgur.com\/mIhTL4W.jpeg\" alt=\"Imagen de piel suave\" class=\"rounded-lg w-full mb-3 object-cover\"\u003e\n                    \u003c!-- Título ajustado a text-xl y texto Cero arrugas --\u003e\n                    \u003ch3 class=\"font-semibold text-xl text-secondary-gray mb-1 font-poppins\"\u003e3. Cero arrugas\u003c\/h3\u003e\n                    \u003c!-- Descripción ajustada a text-2xl --\u003e\n                    \u003cp class=\"text-2xl text-gray-600\"\u003ePiel visiblemente \u003cspan class=\"font-bold\"\u003emás elástica y firme\u003c\/span\u003e. Efecto lifting natural.\u003c\/p\u003e\n                \u003c\/div\u003e\n            \u003c\/div\u003e\n        \u003c\/section\u003e\n\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- REPETIR LA OFERTA (REPEAT OFFER) - EVITAR PÉRDIDA --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003cdiv class=\"text-center p-6 bg-cta-color\/10 rounded-2xl shadow-xl border-4 border-cta-color mb-10\"\u003e\n            \u003c!-- Título (Aplica font-poppins) --\u003e\n            \u003ch2 class=\"text-2xl font-bold text-cta-color mb-3 font-poppins\"\u003e¡NO ESPERES MÁS!\u003c\/h2\u003e\n            \u003c!-- TEXTO GRANDE Y LEGIBLE (MODIFICADO) --\u003e\n            \u003cp class=\"text-xl text-secondary-gray mb-4 font-semibold\"\u003e \n                ¡Compra hoy y llévate \u003cspan class=\"font-extrabold text-primary-green\"\u003e125 gramos adicionales gratis por cada tarro\u003c\/span\u003e! \n            \u003c\/p\u003e\n            \u003c!-- El CTA principal se repite aquí también. Cambiado a \u003ca\u003e con href=\"\/rsi-btn-hook\" --\u003e\n            \u003ca href=\"\/rsi-btn-hook\" class=\"cta-button w-full sm:w-auto px-10 py-3 bg-cta-color text-white font-extrabold text-xl rounded-xl shadow-lg hover:bg-[#057577] focus:outline-none focus:ring-4 focus:ring-cta-color focus:ring-opacity-70 font-poppins flex justify-center no-underline\" role=\"button\"\u003e\n                QUIERO EMPEZAR MI TRATAMIENTO AHORA\n            \u003c\/a\u003e\n        \u003c\/div\u003e\n\n\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- CÓMO USAR (HOW TO USE) - SECCIÓN FÁCIL Y CLARA [ACTUALIZADA] --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003csection class=\"mb-10 p-5 bg-white rounded-2xl shadow-lg border border-gray-100\"\u003e\n            \u003ch2 class=\"text-2xl font-bold text-secondary-gray mb-6 text-center font-poppins\"\u003e\n                🤔 ¿Cómo tomar MAXI PLUS?\n            \u003c\/h2\u003e\n            \u003cdiv class=\"space-y-6\"\u003e\n                \n                \u003c!-- Item 1 --\u003e\n                \u003cdiv class=\"flex items-center p-4 bg-bg-light rounded-xl shadow-sm border border-gray-100\"\u003e\n                    \u003cspan class=\"text-4xl font-extrabold text-primary-green mr-4\"\u003e1\u003c\/span\u003e\n                    \u003cdiv\u003e\n                        \u003ch3 class=\"font-bold text-xl text-secondary-gray font-poppins\"\u003eDosis recomendada\u003c\/h3\u003e\n                        \u003cp class=\"text-2xl text-gray-600\"\u003eGeneralmente, se recomienda tomar entre 5 y 10 gramos al día.\u003c\/p\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n\n                \u003c!-- Item 2 --\u003e\n                \u003cdiv class=\"flex items-center p-4 bg-bg-light rounded-xl shadow-sm border border-gray-100\"\u003e\n                    \u003cspan class=\"text-4xl font-extrabold text-primary-green mr-4\"\u003e2\u003c\/span\u003e\n                    \u003cdiv\u003e\n                        \u003ch3 class=\"font-bold text-xl text-secondary-gray font-poppins\"\u003eEn polvo\u003c\/h3\u003e\n                        \u003cp class=\"text-2xl text-gray-600\"\u003eMezcla la dosis recomendada en agua, jugo, café, batidos o cualquier otra bebida. También puedes agregarlo al yogur, sopas o recetas de repostería.\u003c\/p\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n\n                \u003c!-- Item 3 --\u003e\n                \u003cdiv class=\"flex items-center p-4 bg-bg-light rounded-xl shadow-sm border border-gray-100\"\u003e\n                    \u003cspan class=\"text-4xl font-extrabold text-primary-green mr-4\"\u003e3\u003c\/span\u003e\n                    \u003cdiv\u003e\n                        \u003ch3 class=\"font-bold text-xl text-secondary-gray font-poppins\"\u003eMomento del día\u003c\/h3\u003e\n                        \u003cp class=\"text-2xl text-gray-600\"\u003ePuedes tomarlo en cualquier momento, pero muchas personas prefieren consumirlo por la mañana con el desayuno o por la noche antes de dormir. Si lo tomas para la recuperación muscular, es ideal hacerlo después del ejercicio.\u003c\/p\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n\n                \u003c!-- Item 4 --\u003e\n                \u003cdiv class=\"flex items-center p-4 bg-bg-light rounded-xl shadow-sm border border-gray-100\"\u003e\n                    \u003cspan class=\"text-4xl font-extrabold text-primary-green mr-4\"\u003e4\u003c\/span\u003e\n                    \u003cdiv\u003e\n                        \u003ch3 class=\"font-bold text-xl text-secondary-gray font-poppins\"\u003eConsistencia\u003c\/h3\u003e\n                        \u003cp class=\"text-2xl text-gray-600\"\u003ePara obtener los mejores resultados, es importante consumirlo de manera constante todos los días.\u003c\/p\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n            \u003c\/div\u003e\n        \u003c\/section\u003e\n        \n        \n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- RESEÑAS ADICIONALES (ACTUALIZADAS) --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003csection class=\"mb-10 p-5 bg-white rounded-2xl shadow-lg border border-gray-100\"\u003e\n            \u003ch2 class=\"text-2xl font-bold text-secondary-gray mb-5 text-center font-poppins\"\u003e\n                💬 Clientes satisfechos\n            \u003c\/h2\u003e\n            \u003cdiv class=\"space-y-4\"\u003e\n\n                \u003c!-- Reseña 1: Piel Hidratada (Lucía P.) --\u003e\n                \u003cdiv class=\"p-4 bg-bg-light rounded-xl border border-gray-100 shadow-sm\"\u003e\n                    \u003cp class=\"star-rating text-xl mb-1\"\u003e⭐⭐⭐⭐⭐\u003c\/p\u003e\n                    \u003cp class=\"italic text-gray-700 font-medium\"\u003e\n                        \"Noté mi piel mucho más hidratada a la tercera semana. Me encanta que sea marino, sé que es de calidad.\"\n                    \u003c\/p\u003e\n                    \u003cp class=\"text-sm font-semibold mt-2 text-primary-green\/80\"\u003e- Lucía P.\u003c\/p\u003e\n                \u003c\/div\u003e\n\n                \u003c!-- Reseña 2: Post-entrenamiento (Fernando B.) --\u003e\n                \u003cdiv class=\"p-4 bg-bg-light rounded-xl border border-gray-100 shadow-sm\"\u003e\n                    \u003cp class=\"star-rating text-xl mb-1\"\u003e⭐⭐⭐⭐⭐\u003c\/p\u003e\n                    \u003cp class=\"italic text-gray-700 font-medium\"\u003e\n                        \"Excelente para mi recuperación post-entrenamiento. Menos dolor muscular y mis tendones están más fuertes.\"\n                    \u003c\/p\u003e\n                    \u003cp class=\"text-sm font-semibold mt-2 text-primary-green\/80\"\u003e- Fernando B.\u003c\/p\u003e\n                \u003c\/div\u003e\n                \n                \u003c!-- Reseña 3: Atleta \/ Inflamación (Javier S.) --\u003e\n                \u003cdiv class=\"p-4 bg-bg-light rounded-xl border border-gray-100 shadow-sm\"\u003e\n                    \u003cp class=\"star-rating text-xl mb-1\"\u003e⭐⭐⭐⭐⭐\u003c\/p\u003e\n                    \u003cp class=\"italic text-gray-700 font-medium\"\u003e\n                        \"Soy atleta. Mis articulaciones necesitaban este empujón. Menos inflamación después de mis carreras.\"\n                    \u003c\/p\u003e\n                    \u003cp class=\"text-sm font-semibold mt-2 text-primary-green\/80\"\u003e- Javier S.\u003c\/p\u003e\n                \u003c\/div\u003e\n            \u003c\/div\u003e\n        \u003c\/section\u003e\n        \n        \n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- REPETICIÓN FINAL DEL CTA (FINAL CTA) - MOVIDA ARRIBA --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003cdiv class=\"text-center p-6 bg-primary-green rounded-2xl shadow-xl border-4 border-white mb-10\"\u003e \u003c!-- Añadido mb-10 para separación --\u003e\n            \u003ch2 class=\"text-3xl font-extrabold text-white mb-3 font-poppins\"\u003e\n                ¡ORDENA HOY Y PAGA AL RECIBIR!\n            \u003c\/h2\u003e\n            \u003cp class=\"text-xl text-white\/90 mb-6 font-medium\"\u003e\n                Selecciona tu paquete favorito de MAXI PLUS y disfruta de los obsequios.\n            \u003c\/p\u003e\n            \u003c!-- BOTÓN DE PAGO CONTRA ENTREGA FINAL --\u003e\n            \u003ca href=\"\/rsi-btn-hook\" class=\"green-cta-button w-full sm:w-auto px-10 py-4 bg-accent-pink text-white font-extrabold text-2xl rounded-xl shadow-2xl hover:bg-[#d946ef] focus:outline-none focus:ring-4 focus:ring-accent-pink focus:ring-opacity-70 font-poppins flex items-center justify-center no-underline\" role=\"button\"\u003e\n                \u003cspan class=\"text-3xl mr-3\"\u003e🎁\u003c\/span\u003e\n                QUIERO MI DESCUENTO EXCLUSIVO\n            \u003c\/a\u003e\n        \u003c\/div\u003e\n\n\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- FAQ SIMPLE (FREQUENTLY ASKED QUESTIONS) - [ACTUALIZADA] --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003csection class=\"mb-10 p-5 bg-white rounded-2xl shadow-lg border border-gray-100\"\u003e\n            \u003ch2 class=\"text-2xl font-bold text-secondary-gray mb-5 text-center font-poppins\"\u003e\n                ❓ ¿Dudas? Resolvemos tus preguntas\n            \u003c\/h2\u003e\n            \u003cdiv class=\"space-y-4\"\u003e\n                \n                \u003c!-- Pregunta 1: ¿Cuándo veo resultados? --\u003e\n                \u003cdetails class=\"group rounded-xl p-4 bg-bg-light border border-gray-100 open:bg-primary-green\/10\"\u003e\n                    \u003csummary class=\"flex justify-between items-center cursor-pointer font-semibold text-lg text-secondary-gray group-open:text-primary-green\"\u003e\n                        ¿Cómo saber si el colágeno está haciendo efecto?\n                        \u003cspan class=\"text-xl transform group-open:rotate-90 transition-transform\"\u003e▶\u003c\/span\u003e\n                    \u003c\/summary\u003e\n                    \u003cp class=\"mt-2 text-gray-600\"\u003eLas personas que consumen colágeno a diario pueden notar una mejor hidratación de la piel, una mayor elasticidad de la piel y pueden notar que su piel está más firme y más joven..\u003c\/p\u003e\n                \u003c\/details\u003e\n\n                \u003c!-- Pregunta 2: ¿Cómo se prepara? --\u003e\n                \u003cdetails class=\"group rounded-xl p-4 bg-bg-light border border-gray-100 open:bg-primary-green\/10\"\u003e\n                    \u003csummary class=\"flex justify-between items-center cursor-pointer font-semibold text-lg text-secondary-gray group-open:text-primary-green\"\u003e\n                        ¿Cómo se prepara?\n                        \u003cspan class=\"text-xl transform group-open:rotate-90 transition-transform\"\u003e▶\u003c\/span\u003e\n                    \u003c\/summary\u003e\n                    \u003cp class=\"mt-2 text-gray-600\"\u003eDisuelve \u003cspan class=\"font-bold\"\u003e20g (una cucharadita)\u003c\/span\u003e en agua, café o batido. Tiene sabor neutro. Puedes tomarlo \u003cspan class=\"font-bold\"\u003e2 veces al día\u003c\/span\u003e.\u003c\/p\u003e\n                \u003c\/details\u003e\n\n                \u003c!-- Pregunta 3: ¿Puedo tomar este colágeno si soy diabética o tengo hipertensión? --\u003e\n                \u003cdetails class=\"group rounded-xl p-4 bg-bg-light border border-gray-100 open:bg-primary-green\/10\"\u003e\n                    \u003csummary class=\"flex justify-between items-center cursor-pointer font-semibold text-lg text-secondary-gray group-open:text-primary-green\"\u003e\n                        ¿Puedo tomar este colágeno si soy diabética o tengo hipertensión?\n                        \u003cspan class=\"text-xl transform group-open:rotate-90 transition-transform\"\u003e▶\u003c\/span\u003e\n                    \u003c\/summary\u003e\n                    \u003cp class=\"mt-2 text-gray-600\"\u003eEl colágeno \u003cspan class=\"font-bold\"\u003eno interfiere\u003c\/span\u003e con ninguna enfermedad existente. De todas formas, te recomendamos consultarlo con tu médico de cabecera.\u003c\/p\u003e\n                \u003c\/details\u003e\n\n                \u003c!-- Pregunta 4: ¿Qué sabor tiene? --\u003e\n                \u003cdetails class=\"group rounded-xl p-4 bg-bg-light border border-gray-100 open:bg-primary-green\/10\"\u003e\n                    \u003csummary class=\"flex justify-between items-center cursor-pointer font-semibold text-lg text-secondary-gray group-open:text-primary-green\"\u003e\n                        ¿Qué sabor tiene?\n                        \u003cspan class=\"text-xl transform group-open:rotate-90 transition-transform\"\u003e▶\u003c\/span\u003e\n                    \u003c\/summary\u003e\n                    \u003cp class=\"mt-2 text-gray-600\"\u003eEl colágeno marino hidrolizado suele tener un sabor suave a pescado, ya que se extrae de las escamas, piel o huesos de peces. Además, se suelen agregar sabores o endulzantes para mejorar su palatabilidad, especialmente en presentaciones en polvo o en bebidas.\u003c\/p\u003e\n                \u003c\/details\u003e\n\n                \u003c!-- Pregunta 5: ¿Quién lo puede consumir? --\u003e\n                \u003cdetails class=\"group rounded-xl p-4 bg-bg-light border border-gray-100 open:bg-primary-green\/10\"\u003e\n                    \u003csummary class=\"flex justify-between items-center cursor-pointer font-semibold text-lg text-secondary-gray group-open:text-primary-green\"\u003e\n                        ¿Quién lo puede consumir?\n                        \u003cspan class=\"text-xl transform group-open:rotate-90 transition-transform\"\u003e▶\u003c\/span\u003e\n                    \u003c\/summary\u003e\n                    \u003cp class=\"mt-2 text-gray-600\"\u003eEl colágeno hidrolizado es seguro para la mayoría de las personas, especialmente adultos mayores, personas con problemas articulares, deportistas y quienes buscan mejorar la salud de la piel, el cabello y las uñas. También es útil para personas con problemas digestivos o que siguen dietas bajas en carbohidratos. Siempre es recomendable consultar a un médico antes de usarlo si se tienen condiciones médicas o se está embarazada.\u003c\/p\u003e\n                \u003c\/details\u003e\n\n                \u003c!-- Pregunta 6: ¿Puedo tomar colágeno marino hidrolizado si sigo una dieta específica? --\u003e\n                \u003cdetails class=\"group rounded-xl p-4 bg-bg-light border border-gray-100 open:bg-primary-green\/10\"\u003e\n                    \u003csummary class=\"flex justify-between items-center cursor-pointer font-semibold text-lg text-secondary-gray group-open:text-primary-green\"\u003e\n                        ¿Puedo tomar colágeno marino hidrolizado si sigo una dieta específica?\n                        \u003cspan class=\"text-xl transform group-open:rotate-90 transition-transform\"\u003e▶\u003c\/span\u003e\n                    \u003c\/summary\u003e\n                    \u003cp class=\"mt-2 text-gray-600\"\u003eSí, el colágeno marino hidrolizado es compatible con la mayoría de las dietas específicas, como la dieta cetogénica, paleo y bajas en carbohidratos.\u003c\/p\u003e\n                \u003c\/details\u003e\n            \u003c\/div\u003e\n        \u003c\/section\u003e\n\n\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003c!-- FOOTER SIMPLE --\u003e\n        \u003c!-- ---------------------------------------------------- --\u003e\n        \u003cfooter class=\"mt-10 text-center text-sm text-secondary-gray\/70\"\u003e\n            \u003cp\u003eMAXI PLUS | Colágeno Marino Hidrolizado. \u003c\/p\u003e\n            \u003cp class=\"mt-1\"\u003eTodos los derechos reservados.\u003c\/p\u003e\n        \u003c\/footer\u003e\n    \u003c\/div\u003e\n\n\n    \u003c!-- Barra de CTA Fija en la Parte Inferior (Mobile First) --\u003e\n    \u003c!-- Clase inicial para ocultar con transición: sticky-cta-hidden --\u003e\n    \u003cdiv id=\"sticky-cta\" class=\"fixed bottom-0 left-0 right-0 p-4 bg-white\/95 backdrop-blur-sm shadow-[0_-5px_15px_rgba(0,0,0,0.1)] z-50 sticky-cta-transition sticky-cta-hidden\"\u003e\n        \u003cdiv class=\"max-w-xl mx-auto\"\u003e\n            \u003ca href=\"\/rsi-btn-hook\" class=\"cta-button w-full px-4 py-3 bg-cta-color text-white font-extrabold text-xl rounded-xl shadow-lg hover:bg-[#057577] focus:outline-none focus:ring-4 focus:ring-cta-color focus:ring-opacity-70 font-poppins flex items-center justify-center no-underline\" role=\"button\"\u003e\n                \u003cspan class=\"text-2xl mr-3\"\u003e🛒\u003c\/span\u003e \n                ¡COMPRA AHORA Y PAGA EN CASA!\n            \u003c\/a\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n\n    \u003c!-- ---------------------------------------------------- --\u003e\n    \u003c!-- SCRIPT DE INTERACCIÓN (CARRUSELES Y SLIDESHOW + OBSERVER) --\u003e\n    \u003c!-- ---------------------------------------------------- --\u003e\n    \u003cscript\u003e\n        document.addEventListener('DOMContentLoaded', () =\u003e {\n\n            \/\/ ==========================================================\n            \/\/ LÓGICA DEL SLIDESHOW PRINCIPAL (ARRASTRABLE + AUTO)\n            \/\/ ==========================================================\n            const setupDraggableSlideshow = (containerId, trackId, paginationId, intervalTime = 5000) =\u003e {\n                const container = document.getElementById(containerId);\n                const track = document.getElementById(trackId);\n                const pagination = document.getElementById(paginationId);\n                if (!container || !track || !pagination) return;\n\n                const dots = pagination.querySelectorAll('.main-slide-dot');\n                const totalSlides = dots.length; \/\/ 2\n                \n                let isDragging = false;\n                let startPos = 0;\n                let currentTranslate = 0;\n                let prevTranslate = 0;\n                let animationID;\n                let currentIndex = 0;\n                let containerWidth = container.clientWidth;\n                let autoSlideInterval;\n\n                \/\/ --- Funciones de Ayuda ---\n\n                const updatePagination = () =\u003e {\n                    dots.forEach((dot, index) =\u003e {\n                        dot.classList.toggle('active', index === currentIndex);\n                        dot.classList.toggle('opacity-50', index !== currentIndex);\n                        dot.classList.toggle('opacity-75', index === currentIndex);\n                    });\n                };\n                \n                const slideTo = (index) =\u003e {\n                    containerWidth = container.clientWidth;\n                    track.style.transition = 'transform 0.3s ease-out';\n                    currentTranslate = index * -containerWidth;\n                    prevTranslate = currentTranslate;\n                    track.style.transform = `translateX(${currentTranslate}px)`;\n                    currentIndex = index;\n                    updatePagination();\n                };\n\n                const slideNext = () =\u003e {\n                    const nextIndex = (currentIndex + 1) % totalSlides;\n                    slideTo(nextIndex);\n                };\n\n                const resetAutoSlide = () =\u003e {\n                    clearInterval(autoSlideInterval);\n                    autoSlideInterval = setInterval(slideNext, intervalTime);\n                };\n\n                \/\/ --- Funciones de Arrastre ---\n\n                \/\/ Variables para los listeners globales\n                const dragMoveListener = (e) =\u003e dragMove(e.type === 'touchmove' ? e.touches[0].clientX : e.clientX);\n                const dragEndListener = (e) =\u003e dragEnd(e.type === 'touchend' ? e.changedTouches[0].clientX : e.clientX);\n\n                const dragStart = (clientX) =\u003e {\n                    isDragging = true;\n                    startPos = clientX;\n                    containerWidth = container.clientWidth;\n                    track.style.transition = 'none'; \n                    container.style.cursor = 'grabbing';\n                    clearInterval(autoSlideInterval); \/\/ Pausa el auto-slide\n                    animationID = requestAnimationFrame(animation);\n\n                    \/\/ *** CORRECCIÓN: Añadir listeners globales ***\n                    window.addEventListener('mousemove', dragMoveListener);\n                    window.addEventListener('mouseup', dragEndListener);\n                    window.addEventListener('touchmove', dragMoveListener);\n                    window.addEventListener('touchend', dragEndListener);\n                };\n\n                const dragMove = (clientX) =\u003e {\n                    if (!isDragging) return;\n                    \n                    const currentPosition = clientX;\n                    let moveBy = currentPosition - startPos;\n\n                    \/\/ Lógica de restricción:\n                    if (currentIndex === 0 \u0026\u0026 moveBy \u003e 0) {\n                        moveBy = 0; \/\/ Restringe el movimiento a la derecha en el primer slide\n                    }\n                    if (currentIndex === (totalSlides - 1) \u0026\u0026 moveBy \u003c 0) {\n                        moveBy = 0; \/\/ Restringe el movimiento a la izquierda en el último slide\n                    }\n                    \n                    currentTranslate = prevTranslate + moveBy;\n                    track.style.transform = `translateX(${currentTranslate}px)`;\n                };\n\n                const dragEnd = (clientX) =\u003e {\n                    if (!isDragging) return;\n                    \n                    cancelAnimationFrame(animationID);\n                    isDragging = false;\n                    container.style.cursor = 'grab';\n\n                    \/\/ *** CORRECCIÓN: Eliminar listeners globales ***\n                    window.removeEventListener('mousemove', dragMoveListener);\n                    window.removeEventListener('mouseup', dragEndListener);\n                    window.removeEventListener('touchmove', dragMoveListener);\n                    window.removeEventListener('touchend', dragEndListener);\n\n                    const movedBy = clientX - startPos;\n                    const threshold = containerWidth \/ 4; \/\/ 25% del ancho\n\n                    \/\/ Si arrastré (negativo) lo suficiente Y no estoy en el último slide\n                    if (movedBy \u003c -threshold \u0026\u0026 currentIndex \u003c (totalSlides - 1)) {\n                        currentIndex = 1; \/\/ Voy al slide 1\n                    } \n                    \/\/ Si arrastré (positivo) lo suficiente Y no estoy en el primer slide\n                    else if (movedBy \u003e threshold \u0026\u0026 currentIndex \u003e 0) {\n                        currentIndex = 0; \/\/ Voy al slide 0\n                    }\n\n                    slideTo(currentIndex); \/\/ Snap al slide correcto\n                    resetAutoSlide(); \/\/ Reinicia el auto-slide\n                };\n\n                const animation = () =\u003e {\n                    if (isDragging) requestAnimationFrame(animation);\n                };\n                \n                \/\/ --- Inicialización y Event Listeners ---\n                \n                \/\/ Asegurar que el tamaño sea correcto al inicio y al redimensionar\n                window.addEventListener('resize', () =\u003e slideTo(currentIndex));\n                slideTo(currentIndex);\n                resetAutoSlide();\n                \n                \/\/ Event Listeners (Mouse)\n                container.addEventListener('mousedown', (e) =\u003e {\n                    e.preventDefault(); \/\/ Evitar arrastre de imagen fantasma\n                    dragStart(e.clientX);\n                });\n\n                \/\/ Event Listeners (Touch)\n                container.addEventListener('touchstart', (e) =\u003e {\n                    dragStart(e.touches[0].clientX);\n                });\n            };\n\n\n            \/\/ ==========================================================\n            \/\/ LÓGICA DE CARRUSEL CON SWIPE (TESTIMONIOS)\n            \/\/ ==========================================================\n            const setupTestimonialCarousel = (containerId, trackId, totalSlides, intervalTime) =\u003e {\n                const container = document.getElementById(containerId);\n                const track = document.getElementById(trackId);\n                if (!container || !track) return;\n\n                let isDragging = false;\n                let startPos = 0;\n                let currentTranslate = 0;\n                let prevTranslate = 0;\n                let animationID;\n                let currentIndex = 0;\n                let interval;\n                let containerWidth = container.clientWidth;\n\n                \/\/ 1. Funciones de Navegación\n                const setPositionByIndex = () =\u003e {\n                    containerWidth = container.clientWidth;\n                    currentTranslate = currentIndex * -containerWidth;\n                    prevTranslate = currentTranslate;\n                    track.style.transition = 'transform 0.5s ease-in-out';\n                    track.style.transform = `translateX(${currentTranslate}px)`;\n                };\n\n                const slideToNext = () =\u003e {\n                    currentIndex = (currentIndex + 1) % totalSlides;\n                    setPositionByIndex();\n                };\n\n                const resetInterval = () =\u003e {\n                    clearInterval(interval);\n                    interval = setInterval(slideToNext, intervalTime);\n                };\n\n                \/\/ Variables para listeners globales de testimonios\n                const testimonialDragMove = (e) =\u003e dragMove(e.type === 'touchmove' ? e.touches[0].clientX : e.clientX);\n                const testimonialDragEnd = (e) =\u003e dragEnd(e.type === 'touchend' ? e.changedTouches[0].clientX : e.clientX);\n\n                \/\/ 2. Funciones de Drag\/Swipe\n                const dragStart = (clientX) =\u003e {\n                    isDragging = true;\n                    startPos = clientX;\n                    containerWidth = container.clientWidth;\n                    track.style.transition = 'none'; \n                    clearInterval(interval); \n                    animationID = requestAnimationFrame(animation);\n                    \n                    window.addEventListener('mousemove', testimonialDragMove);\n                    window.addEventListener('mouseup', testimonialDragEnd);\n                    window.addEventListener('touchmove', testimonialDragMove);\n                    window.addEventListener('touchend', testimonialDragEnd);\n                };\n\n                const dragMove = (clientX) =\u003e {\n                    if (!isDragging) return;\n                    const currentPosition = clientX;\n                    currentTranslate = prevTranslate + (currentPosition - startPos);\n                };\n\n                const dragEnd = (clientX) =\u003e {\n                    if (!isDragging) return;\n                    \n                    cancelAnimationFrame(animationID);\n                    isDragging = false;\n\n                    window.removeEventListener('mousemove', testimonialDragMove);\n                    window.removeEventListener('mouseup', testimonialDragEnd);\n                    window.removeEventListener('touchmove', testimonialDragMove);\n                    window.removeEventListener('touchend', testimonialDragEnd);\n                    \n                    const movedBy = clientX - startPos;\n                    const threshold = containerWidth \/ 4; \n\n                    if (movedBy \u003c -threshold \u0026\u0026 currentIndex \u003c totalSlides - 1) {\n                        currentIndex += 1; \n                    } else if (movedBy \u003e threshold \u0026\u0026 currentIndex \u003e 0) {\n                        currentIndex -= 1; \n                    }\n\n                    setPositionByIndex(); \n                    resetInterval(); \n                };\n\n                const animation = () =\u003e {\n                    track.style.transform = `translateX(${currentTranslate}px)`;\n                    if (isDragging) requestAnimationFrame(animation);\n                };\n                \n                \/\/ 3. Inicialización y Event Listeners\n                resetInterval(); \n                window.addEventListener('resize', setPositionByIndex);\n\n                container.addEventListener('mousedown', (e) =\u003e {\n                    e.preventDefault();\n                    dragStart(e.clientX);\n                });\n                container.addEventListener('touchstart', (e) =\u003e {\n                    dragStart(e.touches[0].clientX);\n                });\n                \n                setPositionByIndex();\n            };\n\n            \/\/ ==========================================================\n            \/\/ LÓGICA DE INTERSECTION OBSERVER para el CTA Fijo (Corregido)\n            \/\/ ==========================================================\n            const firstCta = document.getElementById('first-cta-button');\n            const stickyCta = document.getElementById('sticky-cta');\n\n            if (firstCta \u0026\u0026 stickyCta) {\n                const observerOptions = {\n                    root: null, \n                    rootMargin: '0px',\n                    threshold: 0.5 \n                };\n\n                const observer = new IntersectionObserver((entries) =\u003e {\n                    entries.forEach(entry =\u003e {\n                        if (!entry.isIntersecting) {\n                            stickyCta.classList.remove('sticky-cta-hidden');\n                            stickyCta.classList.add('sticky-cta-visible');\n                        } else {\n                            stickyCta.classList.remove('sticky-cta-visible');\n                            stickyCta.classList.add('sticky-cta-hidden');\n                        }\n                    });\n                }, observerOptions);\n\n                observer.observe(firstCta);\n            }\n            \/\/ ==========================================================\n\n\n            \/\/ Ejecución de todos los carruseles\/slideshows\n            setupDraggableSlideshow('main-slide-container', 'main-slide-track', 'main-slide-pagination', 5000); \/\/ 5 segundos\n            setupTestimonialCarousel('testimonial-carousel-1', 'carousel-track-1', 3, 5000); \/\/ Primer carrusel de testimonios\n        });\n    \u003c\/script\u003e\n\u003c\/body\u003e","brand":"OH MY SHOP","offers":[{"title":"Default Title","offer_id":56593501618521,"sku":"13022025","price":79900.0,"currency_code":"COP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0977\/5818\/3769\/files\/CM1.jpg?v=1772219762"}],"url":"https:\/\/ohmyshop.com.co\/collections\/nutricion.oembed","provider":"OH MY SHOP","version":"1.0","type":"link"}