{"product_id":"genglo-bundle","title":"GenGlo Bundle","description":"\u003c!-- GenGlo Bundle Page - Shopify Compatible --\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003clink rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Titan+One\u0026amp;family=Nunito:wght@400;600;700;800;900\u0026amp;display=swap\"\u003e\n\n\u003cstyle\u003e\n:root {\n  --yello: #ffff76;\n  --violet: #6242f7;\n  --aqua: #a2f1ff;\n  --pink: #ecb6ff;\n  --moon: #fffffc;\n  --vdark: #3a22d4;\n  --fn: \"Titan One\", cursive;\n  --fb: \"Nunito\", sans-serif;\n}\n\n.genglo-bundle-wrap {\n  width: 100%;\n  max-width: 100%;\n  overflow-x: hidden;\n  font-family: var(--fb);\n  color: var(--vdark);\n}\n\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n\/* ── HIDE DEFAULT SHOPIFY \"SALE\" BADGE ON THIS PRODUCT ── *\/\n.price__badge-sale {\n  display: none !important;\n}\n\n\/* ── SAVINGS BADGE (sits next to native Shopify price) ── *\/\n.gg-save-badge {\n  display: inline-block;\n  font-family: var(--fn);\n  font-size: 13px;\n  color: var(--vdark);\n  background: var(--yello);\n  padding: 6px 14px;\n  border-radius: 30px;\n  margin-left: 10px;\n  vertical-align: middle;\n  white-space: nowrap;\n}\n\n\/* ── STEPS SECTION ── *\/\n.steps-section {\n  background: var(--moon);\n  padding: 60px 0;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: opacity 0.75s cubic-bezier(.22,1,.36,1), transform 0.75s cubic-bezier(.22,1,.36,1);\n}\n.steps-section.visible { opacity: 1; transform: translateY(0); }\n\n.steps-inner {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0 24px;\n}\n.steps-header {\n  text-align: center;\n  margin-bottom: 56px;\n}\n.steps-header h2 {\n  font-family: var(--fn);\n  font-size: clamp(32px, 5vw, 52px);\n  color: var(--vdark);\n  line-height: 1.0;\n  margin-bottom: 12px;\n}\n.steps-header p {\n  font-size: 16px;\n  color: #555;\n  font-weight: 600;\n}\n\n.steps-grid {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n}\n\n.step-card {\n  background: white;\n  border-radius: 24px;\n  padding: 28px;\n  border: 3px solid var(--pink);\n  transition: border-color 0.2s, transform 0.2s;\n  position: relative;\n  overflow: hidden;\n  display: grid;\n  grid-template-columns: auto 1fr;\n  gap: 24px;\n  align-items: start;\n}\n.step-card:hover { border-color: var(--violet); transform: translateX(4px); }\n.step-card::before {\n  content: \"\";\n  position: absolute;\n  top: 0; left: 0; bottom: 0;\n  width: 5px;\n  border-radius: 24px 0 0 24px;\n}\n.step-card.step-1::before { background: #FFD700; }\n.step-card.step-2::before { background: var(--violet); }\n.step-card.step-3::before { background: var(--aqua); }\n\n.step-card-number {\n  font-family: var(--fn);\n  font-size: 48px;\n  color: var(--pink);\n  line-height: 1;\n  width: 56px;\n  text-align: center;\n  padding-top: 4px;\n}\n.step-card-body {}\n\n.step-card-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  width: 100%;\n  background: none;\n  border: none;\n  cursor: default;\n  padding: 0;\n  text-align: left;\n  font-family: inherit;\n}\n.step-chevron {\n  display: none;\n  font-size: 14px;\n  color: var(--violet);\n  transition: transform 0.25s ease;\n  flex-shrink: 0;\n  margin-left: 10px;\n  margin-top: 8px;\n}\n.step-collapsible {\n  overflow: hidden;\n}\n\n.step-number {\n  font-family: var(--fn);\n  font-size: 11px;\n  letter-spacing: 0.15em;\n  text-transform: uppercase;\n  color: #aaa;\n  margin-bottom: 8px;\n}\n.step-card h3 {\n  font-family: var(--fn);\n  font-size: 22px;\n  color: var(--vdark);\n  margin-bottom: 14px;\n  line-height: 1.1;\n}\n.step-card .step-desc {\n  font-size: 14px;\n  color: #555;\n  line-height: 1.8;\n  font-weight: 600;\n  margin-bottom: 20px;\n}\n.step-bullets {\n  list-style: none;\n  margin-bottom: 20px;\n}\n.step-bullets li {\n  font-size: 13px;\n  color: var(--vdark);\n  font-weight: 700;\n  padding: 5px 0;\n  padding-left: 20px;\n  position: relative;\n}\n.step-bullets li::before {\n  content: \"✦\";\n  position: absolute;\n  left: 0;\n  font-size: 10px;\n  color: var(--violet);\n  top: 6px;\n}\n.step-tagline {\n  font-family: var(--fn);\n  font-size: 13px;\n  color: var(--violet);\n  border-left: 3px solid var(--pink);\n  padding-left: 12px;\n  line-height: 1.5;\n}\n\n\/* ── WHY BUNDLE ── *\/\n.why-section {\n  background: linear-gradient(160deg, #6242f7 0%, #3a22d4 100%);\n  padding: 60px 0;\n  text-align: center;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: opacity 0.75s cubic-bezier(.22,1,.36,1), transform 0.75s cubic-bezier(.22,1,.36,1);\n}\n.why-section.visible { opacity: 1; transform: translateY(0); }\n\n.why-inner { max-width: 100%; margin: 0 auto; padding: 0 24px; }\n.why-section h2 {\n  font-family: var(--fn);\n  font-size: clamp(30px, 5vw, 52px);\n  color: var(--yello);\n  margin-bottom: 14px;\n  line-height: 1.0;\n}\n.why-section .why-sub {\n  font-size: 16px;\n  color: rgba(255,255,252,0.8);\n  font-weight: 600;\n  margin-bottom: 40px;\n}\n.why-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n  gap: 14px;\n  text-align: left;\n  margin-bottom: 40px;\n}\n.why-item {\n  background: rgba(255,255,252,0.1);\n  border-radius: 16px;\n  padding: 18px 20px;\n  border: 1px solid rgba(255,255,252,0.15);\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  transition: background 0.2s;\n}\n.why-item:hover { background: rgba(255,255,252,0.16); }\n.why-dot {\n  width: 8px; height: 8px;\n  border-radius: 50%;\n  background: var(--yello);\n  flex-shrink: 0;\n}\n.why-item span {\n  font-size: 14px;\n  color: var(--moon);\n  font-weight: 700;\n  line-height: 1.4;\n}\n.why-cta-text {\n  font-family: var(--fn);\n  font-size: 18px;\n  color: var(--aqua);\n  line-height: 1.5;\n}\n\n\/* ── WHO IT'S FOR ── *\/\n.who-section {\n  background: #f0eaff;\n  padding: 60px 0;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: opacity 0.75s cubic-bezier(.22,1,.36,1), transform 0.75s cubic-bezier(.22,1,.36,1);\n}\n.who-section.visible { opacity: 1; transform: translateY(0); }\n\n.who-inner {\n  max-width: 100%;\n  margin: 0 auto;\n  text-align: center;\n  padding: 0 24px;\n}\n.who-section h2 {\n  font-family: var(--fn);\n  font-size: clamp(28px, 4vw, 44px);\n  color: var(--vdark);\n  margin-bottom: 12px;\n}\n.who-section p {\n  font-size: 15px;\n  color: #555;\n  font-weight: 600;\n  margin-bottom: 36px;\n}\n.who-chips {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n  justify-content: center;\n}\n.who-chip {\n  font-family: var(--fn);\n  font-size: 14px;\n  padding: 12px 22px;\n  border-radius: 50px;\n  background: white;\n  color: var(--vdark);\n  border: 2px solid var(--pink);\n  transition: all 0.2s;\n}\n.who-chip:hover { border-color: var(--violet); background: var(--violet); color: white; transform: translateY(-2px); }\n\n\/* ── HOW TO USE ── *\/\n.how-section {\n  background: var(--moon);\n  padding: 60px 0;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: opacity 0.75s cubic-bezier(.22,1,.36,1), transform 0.75s cubic-bezier(.22,1,.36,1);\n}\n.how-section.visible { opacity: 1; transform: translateY(0); }\n\n.how-inner {\n  max-width: 100%;\n  margin: 0 auto;\n  text-align: center;\n  padding: 0 24px;\n}\n.how-section h2 {\n  font-family: var(--fn);\n  font-size: clamp(28px, 4vw, 44px);\n  color: var(--vdark);\n  margin-bottom: 10px;\n}\n.how-section .how-sub {\n  font-size: 15px;\n  color: #666;\n  font-weight: 600;\n  margin-bottom: 40px;\n}\n.how-steps {\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n  margin-bottom: 36px;\n}\n.how-step {\n  background: white;\n  border-radius: 18px;\n  padding: 20px 24px;\n  border: 2px solid var(--pink);\n  display: flex;\n  align-items: center;\n  gap: 20px;\n  text-align: left;\n  transition: border-color 0.2s, transform 0.2s;\n}\n.how-step:hover { border-color: var(--violet); transform: translateX(4px); }\n.how-num {\n  font-family: var(--fn);\n  font-size: 28px;\n  color: var(--violet);\n  flex-shrink: 0;\n  width: 44px;\n}\n.how-step-text h4 {\n  font-family: var(--fn);\n  font-size: 16px;\n  color: var(--vdark);\n  margin-bottom: 2px;\n}\n.how-step-text p {\n  font-size: 13px;\n  color: #666;\n  font-weight: 600;\n}\n.how-note {\n  font-family: var(--fn);\n  font-size: 16px;\n  color: var(--violet);\n  background: #f0eaff;\n  border-radius: 14px;\n  padding: 16px 24px;\n}\n\n\/* ── CLOSING CTA ── *\/\n.closing-section {\n  background: linear-gradient(160deg, #a2f1ff 0%, #6242f7 55%, #3a22d4 100%);\n  padding: 60px 0;\n  text-align: center;\n  position: relative;\n  overflow: hidden;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: opacity 0.75s cubic-bezier(.22,1,.36,1), transform 0.75s cubic-bezier(.22,1,.36,1);\n}\n.closing-section.visible { opacity: 1; transform: translateY(0); }\n.closing-inner { max-width: 100%; margin: 0 auto; position: relative; z-index: 1; padding: 0 24px; }\n.closing-section h2 {\n  font-family: var(--fn);\n  font-size: clamp(36px, 6vw, 64px);\n  color: var(--yello);\n  line-height: 1.0;\n  margin-bottom: 16px;\n}\n.closing-section p {\n  font-size: 16px;\n  color: rgba(255,255,252,0.88);\n  line-height: 1.8;\n  font-weight: 600;\n  margin-bottom: 36px;\n}\n.cta-row { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }\n.cta-btn {\n  display: inline-block;\n  font-family: var(--fn);\n  font-size: 17px;\n  padding: 16px 40px;\n  border-radius: 50px;\n  text-decoration: none;\n  transition: transform 0.2s, box-shadow 0.2s;\n}\n.cta-primary {\n  background: var(--yello);\n  color: var(--vdark);\n  box-shadow: 0 8px 32px rgba(255,255,118,0.4);\n}\n.cta-primary:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(255,255,118,0.55); }\n\n\/* ── INCI DROPDOWN ── *\/\n.inci-toggle {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-top: 16px;\n  background: none;\n  border: none;\n  cursor: pointer;\n  font-family: var(--fb);\n  font-size: 12px;\n  font-weight: 700;\n  color: #aaa;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  padding: 0;\n  transition: color 0.2s;\n}\n.inci-toggle:hover { color: var(--violet); }\n.inci-arrow {\n  display: inline-block;\n  font-size: 10px;\n  transition: transform 0.25s ease;\n}\n.inci-toggle.open .inci-arrow { transform: rotate(180deg); }\n.inci-content {\n  display: none;\n  font-size: 12px;\n  color: #777;\n  line-height: 1.8;\n  font-weight: 600;\n  margin-top: 10px;\n  padding: 14px 16px;\n  background: #fafafa;\n  border-radius: 12px;\n  border: 1px solid #eee;\n}\n.inci-content.open { display: block; }\n\n\/* ── RESPONSIVE ── *\/\n@media (max-width: 760px) {\n  .steps-section, .why-section, .who-section, .how-section { padding: 40px 0; }\n}\n\n\/* Fix cramped step cards on small phones — stack number above text\n   instead of squeezing both into a narrow side-by-side layout *\/\n@media (max-width: 480px) {\n  .step-card {\n    grid-template-columns: 1fr;\n    padding: 20px;\n    gap: 10px;\n  }\n  .step-card-number {\n    width: auto;\n    text-align: left;\n    font-size: 32px;\n    padding-top: 0;\n  }\n  .step-card h3 {\n    font-size: 20px;\n  }\n}\n\n\/* Turn step cards into tap-to-expand dropdowns on mobile only *\/\n@media (max-width: 760px) {\n  .step-card-header { cursor: pointer; }\n  .step-chevron { display: inline-block; }\n  .step-collapsible {\n    max-height: 0;\n    transition: max-height 0.3s ease;\n  }\n  .step-card.step-open .step-collapsible {\n    max-height: 1200px;\n  }\n  .step-card.step-open .step-chevron { transform: rotate(180deg); }\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"genglo-bundle-wrap\"\u003e\n\n  \u003c!-- STEPS --\u003e\n  \u003csection class=\"steps-section\"\u003e\n    \u003cdiv class=\"steps-inner\"\u003e\n      \u003cdiv class=\"steps-header\"\u003e\n        \u003ch2\u003eThe GenGlo Bundle ✦\u003c\/h2\u003e\n        \u003cp\u003eGentle on skin. Strong on confidence.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"steps-grid\"\u003e\n\n        \u003cdiv class=\"step-card step-1\"\u003e\n          \u003cdiv class=\"step-card-number\"\u003e1\u003c\/div\u003e\n          \u003cdiv class=\"step-card-body\"\u003e\n            \u003cbutton class=\"step-card-header\" onclick=\"toggleStepCard(this)\" type=\"button\"\u003e\n              \u003cdiv\u003e\n                \u003cp class=\"step-number\"\u003eStep 01\u003c\/p\u003e\n                \u003ch3\u003eFoam Wash Cleanser 💛\u003c\/h3\u003e\n              \u003c\/div\u003e\n              \u003cspan class=\"step-chevron\"\u003e▼\u003c\/span\u003e\n            \u003c\/button\u003e\n            \u003cdiv class=\"step-collapsible\"\u003e\n              \u003cp class=\"step-desc\"\u003eA light, cloud-soft foam that removes dirt, oil and school-day build-up without stripping or stinging.\u003c\/p\u003e\n              \u003cul class=\"step-bullets\"\u003e\n                \u003cli\u003eSulphate-free\u003c\/li\u003e\n                \u003cli\u003eSoap-free\u003c\/li\u003e\n                \u003cli\u003eNon-drying\u003c\/li\u003e\n                \u003cli\u003eSafe for sensitive, tween skin\u003c\/li\u003e\n              \u003c\/ul\u003e\n              \u003cp class=\"step-tagline\"\u003eCleans without wrecking your skin barrier.\u003c\/p\u003e\n              \u003cbutton class=\"inci-toggle\" onclick=\"toggleInci(this)\"\u003e\n                Ingredients \u003cspan class=\"inci-arrow\"\u003e▼\u003c\/span\u003e\n              \u003c\/button\u003e\n              \u003cdiv class=\"inci-content\"\u003eAqua (Water), Betaine, Decyl Glucoside, Sodium Lauroyl Sarcosinate, Glycerin, Caprylyl\/Capryl Glucoside, Gluconolactone, Panthenol, Vanilla Planifolia Fruit Extract, Inulin, Hydroxyacetophenone, Arginine, Sodium Benzoate, Saccharide Isomerate, Citric Acid, Aloe Barbadensis (Aloe Vera) Leaf Juice Powder, Fructose, Hydroxypropyl Guar Hydroxypropyltrimonium Chloride, Disodium EDTA, Polyquaternium-10, Hydrolyzed Sodium Hyaluronate, Sodium Hyaluronate, Calcium Gluconate, Phenoxyethanol, Sodium Citrate, Ethylhexylglycerin.\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"step-card step-2\"\u003e\n          \u003cdiv class=\"step-card-number\"\u003e2\u003c\/div\u003e\n          \u003cdiv class=\"step-card-body\"\u003e\n            \u003cbutton class=\"step-card-header\" onclick=\"toggleStepCard(this)\" type=\"button\"\u003e\n              \u003cdiv\u003e\n                \u003cp class=\"step-number\"\u003eStep 02\u003c\/p\u003e\n                \u003ch3\u003eSpot Serum 💜\u003c\/h3\u003e\n              \u003c\/div\u003e\n              \u003cspan class=\"step-chevron\"\u003e▼\u003c\/span\u003e\n            \u003c\/button\u003e\n            \u003cdiv class=\"step-collapsible\"\u003e\n              \u003cp class=\"step-desc\"\u003eTargeted support for breakouts — without harsh, scary ingredients. Lightweight, fast-absorbing, tween-safe.\u003c\/p\u003e\n              \u003cul class=\"step-bullets\"\u003e\n                \u003cli\u003eReduces the look of blemishes\u003c\/li\u003e\n                \u003cli\u003eCalms redness\u003c\/li\u003e\n                \u003cli\u003eLightweight, fast-absorbing\u003c\/li\u003e\n                \u003cli\u003eNo burning, no peeling\u003c\/li\u003e\n              \u003c\/ul\u003e\n              \u003cp class=\"step-tagline\"\u003eBecause tween skin needs guidance, not punishment.\u003c\/p\u003e\n              \u003cbutton class=\"inci-toggle\" onclick=\"toggleInci(this)\"\u003e\n                Ingredients \u003cspan class=\"inci-arrow\"\u003e▼\u003c\/span\u003e\n              \u003c\/button\u003e\n              \u003cdiv class=\"inci-content\"\u003eAqua (Water), Glycerin, Niacinamide, Squalane, Polyglyceryl-3 Methylglucose Distearate, Helianthus Annuus (Sunflower) Seed Oil, Panthenol, Vanilla Planifolia Fruit Extract, Benzyl Alcohol, Hydroxyacetophenone, Zinc PCA, Hydroxyethyl Acrylate\/Sodium Acryloyldimethyl Taurate Copolymer, Caesalpinia Spinosa (Tara) Gum, Butylene Glycol, Bisabolol, Sodium Stearoyl Glutamate, Ethylhexylglycerin, Tocopherol, Sodium Hyaluronate, Aloe Barbadensis (Aloe Vera) Leaf Juice Powder, Sorbitan Isostearate, Polysorbate 60, Citric Acid, Centella Asiatica (Asiatic Pennywort) Leaf Extract, Polylysine.\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"step-card step-3\"\u003e\n          \u003cdiv class=\"step-card-number\"\u003e3\u003c\/div\u003e\n          \u003cdiv class=\"step-card-body\"\u003e\n            \u003cbutton class=\"step-card-header\" onclick=\"toggleStepCard(this)\" type=\"button\"\u003e\n              \u003cdiv\u003e\n                \u003cp class=\"step-number\"\u003eStep 03\u003c\/p\u003e\n                \u003ch3\u003eSoft Cream Moisturiser 💙\u003c\/h3\u003e\n              \u003c\/div\u003e\n              \u003cspan class=\"step-chevron\"\u003e▼\u003c\/span\u003e\n            \u003c\/button\u003e\n            \u003cdiv class=\"step-collapsible\"\u003e\n              \u003cp class=\"step-desc\"\u003eHydration that feels light, never greasy. Supports the skin barrier and works perfectly under SPF.\u003c\/p\u003e\n              \u003cul class=\"step-bullets\"\u003e\n                \u003cli\u003eSupports the skin barrier\u003c\/li\u003e\n                \u003cli\u003eKeeps skin soft + balanced\u003c\/li\u003e\n                \u003cli\u003eMakeup-free glow\u003c\/li\u003e\n                \u003cli\u003ePerfect under SPF\u003c\/li\u003e\n              \u003c\/ul\u003e\n              \u003cp class=\"step-tagline\"\u003eMoisturiser is not optional. It's essential.\u003c\/p\u003e\n              \u003cbutton class=\"inci-toggle\" onclick=\"toggleInci(this)\"\u003e\n                Ingredients \u003cspan class=\"inci-arrow\"\u003e▼\u003c\/span\u003e\n              \u003c\/button\u003e\n              \u003cdiv class=\"inci-content\"\u003eAqua (Water), Caprylic\/Capric Triglyceride, Helianthus Annuus (Sunflower) Seed Oil, Glyceryl Stearate SE, Isododecane, Glycerin, Cetyl Alcohol, Squalane, Dimethicone, Butylene Glycol, Niacinamide, Hydrogenated Polydecene, Butyrospermum Parkii (Shea) Butter, Avena Sativa (Oat) Kernel Flour, Steareth-21, Vanilla Planifolia Fruit Extract, Inulin, Benzyl Alcohol, Hydroxyacetophenone, Sodium Stearoyl Glutamate, Polysilicone-11, Zinc PCA, Carbomer, Bisabolol, Ethylhexylglycerin, Citric Acid, Tocopherol, Aloe Barbadensis (Aloe Vera) Leaf Juice Powder, Sodium Hyaluronate, Fructose, Disodium EDTA, Ceramide NP.\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- WHY THE BUNDLE --\u003e\n  \u003csection class=\"why-section\"\u003e\n    \u003cdiv class=\"why-inner\"\u003e\n      \u003ch2\u003eWhy the Bundle? 🌈\u003c\/h2\u003e\n      \u003cp class=\"why-sub\"\u003eThis tween skincare bundle is a complete routine — not three random products thrown together. Every step works with the others.\u003c\/p\u003e\n      \u003cdiv class=\"why-grid\"\u003e\n        \u003cdiv class=\"why-item\"\u003e\n\u003cspan class=\"why-dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDesigned as a complete routine\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"why-item\"\u003e\n\u003cspan class=\"why-dot\"\u003e\u003c\/span\u003e\u003cspan\u003eFormulated for young skin\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"why-item\"\u003e\n\u003cspan class=\"why-dot\"\u003e\u003c\/span\u003e\u003cspan\u003eDermatologist reviewed\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"why-item\"\u003e\n\u003cspan class=\"why-dot\"\u003e\u003c\/span\u003e\u003cspan\u003eMade in the UK\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"why-item\"\u003e\n\u003cspan class=\"why-dot\"\u003e\u003c\/span\u003e\u003cspan\u003eNo harsh actives\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"why-item\"\u003e\n\u003cspan class=\"why-dot\"\u003e\u003c\/span\u003e\u003cspan\u003eNo adult-strength formulas\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"why-item\"\u003e\n\u003cspan class=\"why-dot\"\u003e\u003c\/span\u003e\u003cspan\u003eNo 10-step overwhelm\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"why-item\"\u003e\n\u003cspan class=\"why-dot\"\u003e\u003c\/span\u003e\u003cspan\u003eSkincare that grows with you\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"why-cta-text\"\u003eJust simple, effective skincare that grows with you. ✦\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- WHO IT'S FOR --\u003e\n  \u003csection class=\"who-section\"\u003e\n    \u003cdiv class=\"who-inner\"\u003e\n      \u003ch2\u003eWho It's For 💫\u003c\/h2\u003e\n      \u003cp\u003eThe GenGlo bundle is designed for tweens and teens experiencing any of the following:\u003c\/p\u003e\n      \u003cdiv class=\"who-chips\"\u003e\n        \u003cspan class=\"who-chip\"\u003eFirst breakouts\u003c\/span\u003e\n        \u003cspan class=\"who-chip\"\u003eOily T-zones\u003c\/span\u003e\n        \u003cspan class=\"who-chip\"\u003eSensitive skin\u003c\/span\u003e\n        \u003cspan class=\"who-chip\"\u003eTight or dry skin\u003c\/span\u003e\n        \u003cspan class=\"who-chip\"\u003eHormonal blemishes\u003c\/span\u003e\n        \u003cspan class=\"who-chip\"\u003eStarting a skincare routine\u003c\/span\u003e\n        \u003cspan class=\"who-chip\"\u003eBreakout-prone skin\u003c\/span\u003e\n        \u003cspan class=\"who-chip\"\u003eYoung skin\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- HOW TO USE --\u003e\n  \u003csection class=\"how-section\"\u003e\n    \u003cdiv class=\"how-inner\"\u003e\n      \u003ch2\u003eHow To Use 🧴\u003c\/h2\u003e\n      \u003cp class=\"how-sub\"\u003eMorning + Night. That's it.\u003c\/p\u003e\n      \u003cdiv class=\"how-steps\"\u003e\n        \u003cdiv class=\"how-step\"\u003e\n          \u003cdiv class=\"how-num\"\u003e1\u003c\/div\u003e\n          \u003cdiv class=\"how-step-text\"\u003e\n            \u003ch4\u003eCleanse\u003c\/h4\u003e\n            \u003cp\u003eFoam Wash Cleanser — morning and night\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"how-step\"\u003e\n          \u003cdiv class=\"how-num\"\u003e2\u003c\/div\u003e\n          \u003cdiv class=\"how-step-text\"\u003e\n            \u003ch4\u003eTarget\u003c\/h4\u003e\n            \u003cp\u003eSpot Serum — apply where needed\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"how-step\"\u003e\n          \u003cdiv class=\"how-num\"\u003e3\u003c\/div\u003e\n          \u003cdiv class=\"how-step-text\"\u003e\n            \u003ch4\u003eMoisturise\u003c\/h4\u003e\n            \u003cp\u003eSoft Cream Moisturiser — finish every time\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"how-note\"\u003eNo chaos. No confusion. ✦\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\nfunction toggleInci(btn) {\n  var content = btn.nextElementSibling;\n  var isOpen = content.classList.contains('open');\n  content.classList.toggle('open', !isOpen);\n  btn.classList.toggle('open', !isOpen);\n}\n\nfunction toggleStepCard(btn) {\n  var card = btn.closest('.step-card');\n  card.classList.toggle('step-open');\n}\n\n(function() {\n  \/\/ Inject \"Save £15\" badge next to the native Shopify price\n  function injectSavingsBadge() {\n    \/\/ Find the price container Shopify renders natively (id starts with \"price-\")\n    var priceWrapper = document.querySelector('[id^=\"price-\"]');\n    if (!priceWrapper) return;\n    if (priceWrapper.querySelector('.gg-save-badge')) return; \/\/ avoid duplicates\n\n    var badge = document.createElement('span');\n    badge.className = 'gg-save-badge';\n    badge.textContent = '🎉 Save £15';\n    priceWrapper.appendChild(badge);\n\n    \/\/ Hide the default grey \"Sale\" badge Shopify shows automatically\n    var saleBadges = priceWrapper.querySelectorAll('.price__badge-sale');\n    saleBadges.forEach(function(el) { el.style.display = 'none'; });\n  }\n  injectSavingsBadge();\n  \/\/ Re-run shortly after in case the price section renders slightly later\n  setTimeout(injectSavingsBadge, 300);\n  setTimeout(injectSavingsBadge, 800);\n\n  \/\/ Hide Shopify page title\n  [\"main-page-title\",\"page__title\",\"page-title\",\"page-header\",\"page__heading\"].forEach(function(cls) {\n    document.querySelectorAll(\".\" + cls).forEach(function(el) {\n      if (!el.closest(\".genglo-bundle-wrap\")) el.style.display = \"none\";\n    });\n  });\n  document.querySelectorAll(\"h1\").forEach(function(el) {\n    if (!el.closest(\".genglo-bundle-wrap\")) el.style.display = \"none\";\n  });\n\n  \/\/ Scroll reveal\n  var revealEls = document.querySelectorAll(\".steps-section, .why-section, .who-section, .how-section\");\n  if (\"IntersectionObserver\" in window) {\n    var io = new IntersectionObserver(function(entries) {\n      entries.forEach(function(e) {\n        if (e.isIntersecting) { e.target.classList.add(\"visible\"); io.unobserve(e.target); }\n      });\n    }, { threshold: 0.1 });\n    revealEls.forEach(function(el) { io.observe(el); });\n  } else {\n    revealEls.forEach(function(el) { el.classList.add(\"visible\"); });\n  }\n})();\n\u003c\/script\u003e\n","brand":"My Store","offers":[{"title":"Default Title","offer_id":56636435431755,"sku":"1250","price":39.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0933\/4328\/5579\/files\/2_3f5ee6ae-442e-4fc1-8b05-adc4910a954a.png?v=1787924367","url":"https:\/\/www.genglo.co.uk\/products\/genglo-bundle","provider":"GenGlo","version":"1.0","type":"link"}