{"product_id":"dualora™-smooth-glow-exfoliating-spray","title":"Dualora™ Smooth \u0026 Glow Exfoliating Spray","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\u003eDualora™ Smooth \u0026amp; Glow Exfoliating Spray\u003c\/title\u003e\n  \u003c!-- Google Fonts: Cinzel for high-end titles, Montserrat for clean body text --\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=Cinzel:wght@500;600;700\u0026amp;family=Montserrat:wght@300;400;500;600;700\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003c!-- Tailwind CSS CDN --\u003e\n  \u003cscript src=\"https:\/\/cdn.tailwindcss.com\"\u003e\u003c\/script\u003e\n  \u003cscript\u003e\n    tailwind.config = {\n      theme: {\n        extend: {\n          colors: {\n            emeraldBrand: '#064E3B',\n            emeraldLight: '#ECFDF5',\n            emeraldBorder: '#A7F3D0',\n            darkText: '#111111',\n            mutedText: '#4B5563',\n          },\n          fontFamily: {\n            cinzel: ['Cinzel', 'serif'],\n            montserrat: ['Montserrat', 'sans-serif'],\n          }\n        }\n      }\n    }\n  \u003c\/script\u003e\n  \u003cstyle\u003e\n    body {\n      font-family: 'Montserrat', sans-serif;\n      background-color: #FAFAFA;\n      color: #111111;\n    }\n    \n    \/* Smooth transitions and custom focus outlines *\/\n    .btn-tab {\n      transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n    }\n    \n    \/* Subtle luxury box shadows *\/\n    .luxury-card {\n      box-shadow: 0 10px 30px -5px rgba(6, 78, 59, 0.05), 0 4px 12px -2px rgba(0, 0, 0, 0.03);\n    }\n    \n    \/* Content Fade Animation *\/\n    @keyframes fadeInScale {\n      from {\n        opacity: 0;\n        transform: translateY(6px) scale(0.99);\n      }\n      to {\n        opacity: 1;\n        transform: translateY(0) scale(1);\n      }\n    }\n    \n    .tab-content-anim {\n      animation: fadeInScale 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;\n    }\n\n    \/* Custom scrollbar for preview frame *\/\n    ::-webkit-scrollbar {\n      width: 6px;\n    }\n    ::-webkit-scrollbar-track {\n      background: #f1f1f1;\n    }\n    ::-webkit-scrollbar-thumb {\n      background: #064E3B;\n      border-radius: 3px;\n    }\n  \u003c\/style\u003e\n\n\n\n  \u003c!-- MAIN SHOPIFY PRODUCT CONTAINER --\u003e\n  \u003cmain class=\"w-full max-w-2xl bg-white rounded-3xl luxury-card border border-gray-100 p-6 sm:p-10 text-center relative overflow-hidden\"\u003e\n    \n    \u003c!-- TOP PILL BADGE --\u003e\n    \u003cdiv class=\"mb-5 flex justify-center\"\u003e\n      \u003cspan class=\"inline-flex items-center gap-1.5 px-5 py-1.5 rounded-full border-2 border-emeraldBrand text-emeraldBrand text-xs font-semibold tracking-widest uppercase bg-white shadow-sm hover:scale-105 transition-transform duration-200\"\u003e\n        ★ + SELF-CARE RITUAL\n      \u003c\/span\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- MAIN HEADING \u0026 TAGLINE --\u003e\n    \u003ch1 class=\"font-cinzel text-2xl sm:text-3xl font-semibold tracking-wider text-darkText mb-2 uppercase\"\u003e\n      DUALORA™ SMOOTH \u0026amp; GLOW\n    \u003c\/h1\u003e\n    \n    \u003cp class=\"text-emeraldBrand font-bold text-xs sm:text-sm tracking-widest uppercase mb-5\"\u003e\n      BUFF. REFRESH. GLOW. YOUR BODY CARE — ELEVATED.\n    \u003c\/p\u003e\n\n    \u003cp class=\"text-xs sm:text-sm text-mutedText leading-relaxed mb-8 max-w-xl mx-auto font-normal\"\u003e\n      Introducing \u003cstrong class=\"text-darkText font-semibold\"\u003eDualora™ Smooth \u0026amp; Glow Exfoliating Spray\u003c\/strong\u003e, an effortless body-care upgrade formulated to buff away surface buildup, unclog dull skin, and reveal a softer, more radiant complexion from head to toe.\n    \u003c\/p\u003e\n\n    \u003c!-- INTERACTIVE CARD: DUALORA IN ACTION --\u003e\n    \u003csection class=\"border border-gray-200 rounded-2xl p-5 sm:p-7 bg-white mb-8 luxury-card text-center\"\u003e\n      \n      \u003ch2 class=\"font-cinzel text-lg sm:text-xl font-semibold tracking-wide text-darkText mb-1 uppercase\"\u003e\n        DUALORA™ IN ACTION\n      \u003c\/h2\u003e\n      \u003cp class=\"text-xs text-gray-500 mb-6\"\u003e\n        Select a mode below to preview targeted action \u0026amp; benefits:\n      \u003c\/p\u003e\n\n      \u003c!-- TAB SELECTION BUTTONS --\u003e\n      \u003cdiv class=\"flex flex-wrap justify-center gap-2 sm:gap-3 mb-6\"\u003e\n        \u003cbutton id=\"tab-btn-glow\" onclick=\"setActiveTab('glow')\" class=\"btn-tab px-4 py-2 rounded-full text-xs font-semibold flex items-center gap-1.5 bg-emeraldBrand text-white shadow-md border border-emeraldBrand\"\u003e\n          \u003cspan\u003e✨\u003c\/span\u003e Radiance \u0026amp; Glow\n        \u003c\/button\u003e\n        \n        \u003cbutton id=\"tab-btn-roughness\" onclick=\"setActiveTab('roughness')\" class=\"btn-tab px-4 py-2 rounded-full text-xs font-semibold flex items-center gap-1.5 bg-gray-100 text-gray-600 hover:bg-gray-200 border border-gray-200\"\u003e\n          \u003cspan\u003e🙌\u003c\/span\u003e Smooth Rough Areas\n        \u003c\/button\u003e\n        \n        \u003cbutton id=\"tab-btn-ritual\" onclick=\"setActiveTab('ritual')\" class=\"btn-tab px-4 py-2 rounded-full text-xs font-semibold flex items-center gap-1.5 bg-gray-100 text-gray-600 hover:bg-gray-200 border border-gray-200\"\u003e\n          \u003cspan\u003e💧\u003c\/span\u003e 3-Step Ritual\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003c!-- DYNAMIC CONTENT PANEL --\u003e\n      \u003cdiv id=\"tab-panel\" class=\"bg-emeraldLight border border-emeraldBorder rounded-xl p-5 sm:p-6 text-left tab-content-anim\"\u003e\n        \n        \u003c!-- CONTENT WILL BE INJECTED BY JAVASCRIPT BELOW --\u003e\n        \u003cdiv id=\"panel-body\"\u003e\u003c\/div\u003e\n\n        \u003c!-- SPECIFICATION GRID --\u003e\n        \u003cdiv id=\"panel-spec\" class=\"grid grid-cols-1 sm:grid-cols-3 gap-3 border-t border-emeraldBorder\/60 pt-4 mt-5 text-center\"\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- MALE \u0026 FEMALE COMPATIBILITY CARD --\u003e\n    \u003csection class=\"border border-gray-200 rounded-2xl overflow-hidden bg-white mb-8 luxury-card\"\u003e\n      \n      \u003c!-- CARD BANNER --\u003e\n      \u003cdiv class=\"bg-emeraldBrand text-white py-2.5 px-4 text-xs font-bold tracking-widest uppercase flex items-center justify-center gap-2\"\u003e\n        \u003cspan\u003e✨\u003c\/span\u003e MALE \u0026amp; FEMALE COMPATIBLE FORMULA\n      \u003c\/div\u003e\n\n      \u003c!-- 2-COLUMN GRID --\u003e\n      \u003cdiv class=\"p-5 sm:p-6 grid grid-cols-1 md:grid-cols-2 gap-4 text-left\"\u003e\n        \n        \u003c!-- FOR WOMEN --\u003e\n        \u003cdiv class=\"bg-emeraldLight\/70 rounded-xl p-4 sm:p-5 border border-emeraldBorder\/50\"\u003e\n          \u003ch3 class=\"text-xs font-bold text-emeraldBrand tracking-wider uppercase mb-3 flex items-center gap-1.5\"\u003e\n            \u003cspan class=\"text-sm\"\u003e♡\u003c\/span\u003e FOR WOMEN\n          \u003c\/h3\u003e\n          \u003cul class=\"text-xs text-gray-700 space-y-2.5 list-disc pl-4 leading-relaxed\"\u003e\n            \u003cli\u003eSmooths bumpy skin texture on arms, thighs, and chest.\u003c\/li\u003e\n            \u003cli\u003ePreps skin for flawless self-tan application \u0026amp; body lotions.\u003c\/li\u003e\n            \u003cli\u003eEnhances natural radiance and promotes an even tone.\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- FOR MEN --\u003e\n        \u003cdiv class=\"bg-emeraldLight\/70 rounded-xl p-4 sm:p-5 border border-emeraldBorder\/50\"\u003e\n          \u003ch3 class=\"text-xs font-bold text-emeraldBrand tracking-wider uppercase mb-3 flex items-center gap-1.5\"\u003e\n            \u003cspan class=\"text-sm\"\u003e⚡\u003c\/span\u003e FOR MEN\n          \u003c\/h3\u003e\n          \u003cul class=\"text-xs text-gray-700 space-y-2.5 list-disc pl-4 leading-relaxed\"\u003e\n            \u003cli\u003eClears post-workout sweat buildup on back \u0026amp; shoulders.\u003c\/li\u003e\n            \u003cli\u003eSoftens rough, calloused elbows, knees, and hands.\u003c\/li\u003e\n            \u003cli\u003ePrevents ingrown hairs and keeps body skin feeling fresh.\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FOOTER SLOGAN --\u003e\n    \u003cfooter class=\"pt-2 pb-1\"\u003e\n      \u003cp class=\"font-cinzel text-xs sm:text-sm font-semibold tracking-widest text-emeraldBrand uppercase\"\u003e\n        ✨ Your skin. Your glow. Your Dualora™.\n      \u003c\/p\u003e\n      \u003cp class=\"text-[10px] text-gray-400 mt-2\"\u003e100 ml · Body Exfoliating Spray\u003c\/p\u003e\n    \u003c\/footer\u003e\n\n  \u003c\/main\u003e\n\n  \u003c!-- INTERACTIVE JS LOGIC --\u003e\n  \u003cscript\u003e\n    \/\/ Tab Content Data\n    const tabData = {\n      glow: {\n        icon: \"🌿\",\n        title: \"BRIGHTENING \u0026 EVEN-TONE FORMULA\",\n        desc: \"Infused with Kojic Acid, Turmeric, and Niacinamide to help fade the appearance of dark spots, even out skin tone, and restore a fresh, vibrant glow to dull-looking skin.\",\n        specs: [\n          { label: \"KEY INGREDIENTS\", val: \"Kojic, Turmeric, Niacinamide\" },\n          { label: \"TARGET CONCERN\", val: \"Dullness \u0026 Uneven Tone\" },\n          { label: \"VOLUME\", val: \"100 ml \/ 3.38 fl oz\" }\n        ]\n      },\n      roughness: {\n        icon: \"🙌\",\n        title: \"TARGETED SURFACE EXFOLIATION\",\n        desc: \"Gently dissolves surface buildup and dead skin cells on stubborn, rough zones like elbows, back, shoulders, chest, and knees for instantly touchable softness.\",\n        specs: [\n          { label: \"TARGET AREAS\", val: \"Elbows, Back, Chest, Arms\" },\n          { label: \"FEEL\", val: \"Instantly Softer \u0026 Smoother\" },\n          { label: \"FREQUENCY\", val: \"2–3 Times Weekly\" }\n        ]\n      },\n      ritual: {\n        icon: \"💧\",\n        title: \"EFFORTLESS 3-STEP RITUAL\",\n        desc: \"\u003cspan class='font-bold text-emeraldBrand'\u003e1. SPRAY\u003c\/span\u003e onto dry skin.\u003cbr\u003e\u003cspan class='font-bold text-emeraldBrand'\u003e2. MASSAGE\u003c\/span\u003e gently as dead surface cells roll off.\u003cbr\u003e\u003cspan class='font-bold text-emeraldBrand'\u003e3. RINSE\u003c\/span\u003e thoroughly with warm water for an instant glow.\",\n        specs: [\n          { label: \"APPLICATION\", val: \"Spray onto Dry Skin\" },\n          { label: \"ACTION\", val: \"Gently Massage\" },\n          { label: \"FINISH\", val: \"Rinse \u0026 Glow\" }\n        ]\n      }\n    };\n\n    function setActiveTab(tabKey) {\n      const btnGlow = document.getElementById('tab-btn-glow');\n      const btnRoughness = document.getElementById('tab-btn-roughness');\n      const btnRitual = document.getElementById('tab-btn-ritual');\n      const panel = document.getElementById('tab-panel');\n      const panelBody = document.getElementById('panel-body');\n      const panelSpec = document.getElementById('panel-spec');\n\n      \/\/ Reset Button Styles\n      const inactiveClasses = ['bg-gray-100', 'text-gray-600', 'hover:bg-gray-200', 'border-gray-200'];\n      const activeClasses = ['bg-emeraldBrand', 'text-white', 'shadow-md', 'border-emeraldBrand'];\n\n      [btnGlow, btnRoughness, btnRitual].forEach(btn =\u003e {\n        btn.classList.remove(...activeClasses);\n        btn.classList.add(...inactiveClasses);\n      });\n\n      \/\/ Highlight Selected Button\n      let currentBtn;\n      if (tabKey === 'glow') currentBtn = btnGlow;\n      if (tabKey === 'roughness') currentBtn = btnRoughness;\n      if (tabKey === 'ritual') currentBtn = btnRitual;\n\n      currentBtn.classList.remove(...inactiveClasses);\n      currentBtn.classList.add(...activeClasses);\n\n      \/\/ Trigger Animation Restart\n      panel.classList.remove('tab-content-anim');\n      void panel.offsetWidth; \/\/ Trigger reflow\n      panel.classList.add('tab-content-anim');\n\n      \/\/ Update Panel Text\n      const data = tabData[tabKey];\n      panelBody.innerHTML = `\n        \u003cdiv class=\"flex items-center gap-2 mb-2\"\u003e\n          \u003cspan class=\"text-base\"\u003e${data.icon}\u003c\/span\u003e\n          \u003ch3 class=\"text-xs font-bold text-emeraldBrand tracking-wider uppercase\"\u003e${data.title}\u003c\/h3\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"text-xs text-gray-700 leading-relaxed\"\u003e${data.desc}\u003c\/p\u003e\n      `;\n\n      \/\/ Update Spec Grid\n      panelSpec.innerHTML = data.specs.map(s =\u003e `\n        \u003cdiv\u003e\n          \u003cspan class=\"block text-[9px] font-bold text-emeraldBrand tracking-widest uppercase mb-1\"\u003e${s.label}\u003c\/span\u003e\n          \u003cspan class=\"block text-xs font-semibold text-gray-900\"\u003e${s.val}\u003c\/span\u003e\n        \u003c\/div\u003e\n      `).join('');\n    }\n\n    \/\/ Initialize Default Tab\n    window.onload = function() {\n      setActiveTab('glow');\n    };\n  \u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"Dualora","offers":[{"title":"Default Title","offer_id":68052709146945,"sku":null,"price":299.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1011\/4862\/3169\/files\/product-showcase-with-the-orange-spray-bottle-beside-a-white-dualora-branded-box-on-a-pure-white-background.png?v=1792864824","url":"https:\/\/www.dualora.co.za\/products\/dualora%e2%84%a2-smooth-glow-exfoliating-spray","provider":"Dualora","version":"1.0","type":"link"}