{"product_id":"samsung-galaxy-buds2-right-ear-replacement","title":"Samsung Galaxy Buds2 Rechter Ohrhörer Ersatz (SM-R177)","description":"\u003cdiv data-mce-fragment=\"1\"\u003e\n\n    \u003cstrong\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv data-mce-fragment=\"1\"\u003e\n\n    \u003cstrong\u003e\u003c\/strong\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003c!-- Key Product Information --\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\n\n    \u003cul data-mce-fragment=\"1\"\u003e\n\n        \u003cli data-mce-fragment=\"1\"\u003e\u003cstrong\u003e100 % originaler Samsung Earbud-Ersatz.\u003c\/strong\u003e\u003c\/li\u003e\n\n        \u003cli data-mce-fragment=\"1\"\u003e\u003cstrong\u003eVoll funktionsfähig. Getestet, desinfiziert und auf Echtheit überprüft.\u003c\/strong\u003e\u003c\/li\u003e\n\n        \u003cli data-mce-fragment=\"1\"\u003e\u003cstrong\u003eKompatibles Modell: Galaxy Buds2 (SM-R177).\u003c\/strong\u003e\u003c\/li\u003e\n\n        \u003cli data-mce-fragment=\"1\"\u003e\u003cstrong\u003eSchneller und kostenloser Versand.\u003c\/strong\u003e\u003c\/li\u003e\n\n        \u003cli data-mce-fragment=\"1\"\u003e\u003cstrong\u003e30 Tage Rückgaberecht. 90 Tage Garantie.\u003c\/strong\u003e\u003c\/li\u003e\n\n    \u003c\/ul\u003e\n\n    \u003cp\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003c!-- Condition Grades Table --\u003e\n\u003cdiv class=\"table-wrapper\"\u003e\n\n    \u003ctable width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"5\"\u003e\n\n        \u003ctbody\u003e\n\n            \u003ctr\u003e\n\n                \u003ctd\u003e\u003cb\u003eWie neu\u003c\/b\u003e\u003c\/td\u003e\n\n                \u003ctd\u003e\u003cb\u003eLeicht gebraucht\u003c\/b\u003e\u003c\/td\u003e\n\n                \u003ctd\u003e\u003cb\u003eGuter Zustand\u003c\/b\u003e\u003c\/td\u003e\n\n            \u003c\/tr\u003e\n\n            \u003ctr\u003e\n\n                \u003ctd\u003eAusgezeichneter Zustand, ohne sichtbare Abnutzungserscheinungen.\u003c\/td\u003e\n\n                \u003ctd\u003eLeichte bis mäßige Kratzer oder Spuren am Gehäuse oder an den Ohrhörern.\u003c\/td\u003e\n\n                \u003ctd\u003eSichtbare Kratzer und\/oder Dellen. Voll funktionsfähig.\u003c\/td\u003e\n\n            \u003c\/tr\u003e\n\n        \u003c\/tbody\u003e\n\n    \u003c\/table\u003e\n\n\n\u003c\/div\u003e\n\n\u003cp\u003e\u003cem\u003eFür weitere Fragen zu den Produktbedingungen senden Sie uns bitte eine Nachricht.\u003c\/em\u003e\u003c\/p\u003e\n\n\u003c!-- Customer Support and Pairing Info --\u003e\n\u003cp\u003e\u003cstrong\u003eWenn Sie Probleme beim Koppeln Ihres Geräts haben, senden Sie uns bitte eine Nachricht! Seriennummern werden vor dem Versand für eine einfachere Bearbeitung erfasst.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003c!-- Syncing Instructions Link --\u003e\n\u003cp dir=\"ltr\" data-mce-fragment=\"1\"\u003e\n    \u003cstrong\u003e\u003ca href=\"https:\/\/www.recellexchange.com\/blogs\/news\/factory-reset-samsung-galaxy-buds\"\u003e\n        Klicken Sie hier für die Synchronisierungsanleitung\u003c\/a\u003e\u003c\/strong\u003e\n\u003c\/p\u003e\n\n\u003c!-- Bundle Popup Overlay --\u003e\n\u003cdiv class=\"bundle-popup-overlay\" id=\"bundlePopupOverlay\" onclick=\"hideBundlePopup()\"\u003e\n\n    \u003cdiv class=\"bundle-popup\" onclick=\"event.stopPropagation()\"\u003e\n\n        \u003cdiv class=\"bundle-popup-header\"\u003e\n\n            \u003cbutton class=\"bundle-close-btn\" onclick=\"hideBundlePopup()\"\u003e×\u003c\/button\u003e\n            \u003cdiv class=\"bundle-smart-badge\"\u003e💡 EMPFOHLEN\u003c\/div\u003e\n\n            \u003cdiv class=\"bundle-popup-title\"\u003eGalaxy Buds2 Set vervollständigen?\u003c\/div\u003e\n\n            \u003cdiv class=\"bundle-popup-subtitle\"\u003e\u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \n        \u003cdiv class=\"bundle-popup-content\"\u003e\n\n            \u003cdiv class=\"bundle-deal-card\"\u003e\n\n                \u003cdiv class=\"bundle-deal-visual\"\u003e\n\n                    \u003cdiv class=\"bundle-ear-item\"\u003e\n\n                        \u003cdiv class=\"bundle-ear-circle bundle-left\"\u003e\n\n                            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_09_22_53_AM.png?v=1751473452\" alt=\"Galaxy Buds2 Left Ear\" class=\"bundle-earbud-image\" onerror=\"this.style.display='none'; this.nextElementSibling.style.display='block';\"\u003e\n                            \u003cdiv style=\"display:none; font-size: 24px;\"\u003e🎧\u003c\/div\u003e\n\n                        \u003c\/div\u003e\n\n                        \u003cdiv class=\"bundle-ear-label\"\u003eLinker Ohrhörer\u003c\/div\u003e\n\n                    \u003c\/div\u003e\n\n                    \u003cdiv class=\"bundle-plus-icon\"\u003e+\u003c\/div\u003e\n\n                    \u003cdiv class=\"bundle-ear-item\"\u003e\n\n                        \u003cdiv class=\"bundle-ear-circle bundle-right\"\u003e\n\n                            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_09_46_12_AM_c6e44c61-6bda-4fb9-8bf3-0c2ec7cb9bb1.png?v=1751475423\" alt=\"Galaxy Buds2 Right Ear\" class=\"bundle-earbud-image\" onerror=\"this.style.display='none'; this.nextElementSibling.style.display='block';\"\u003e\n                            \u003cdiv style=\"display:none; font-size: 24px;\"\u003e🎧\u003c\/div\u003e\n\n                            \u003cdiv class=\"bundle-checkmark\"\u003e✓\u003c\/div\u003e\n\n                        \u003c\/div\u003e\n\n                        \u003cdiv class=\"bundle-ear-label\"\u003eRechter Ohrhörer\u003c\/div\u003e\n\n                    \u003c\/div\u003e\n\n                \u003c\/div\u003e\n\n\n                \u003cdiv class=\"bundle-pricing-summary\"\u003e\n\n                    \u003cdiv class=\"bundle-bundle-price\"\u003eHol dir das passende Paar für nur 10 $!\u003c\/div\u003e\n\n                \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"bundle-social-proof\"\u003e\n\n                \u003cdiv class=\"bundle-social-text\"\u003eVervollständigen Sie Ihr Set mit massiven Einsparungen\u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n\n            \u003cbutton class=\"bundle-main-cta\" onclick=\"addBundleToCart()\"\u003e\n                Linken Ohrhörer für 10 $ hinzufügen\n            \u003c\/button\u003e\n            \n            \u003cdiv class=\"bundle-skip-link\" onclick=\"hideBundlePopup()\"\u003e\n\n                Nein danke, nur der rechte Ohrhörer\n            \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c!-- Accordion Styles --\u003e\n\u003cstyle\u003e\n    .accordion {\n        background-color: #ffffff;\n        color: #444;\n        cursor: pointer;\n        padding: 18px;\n        width: 100%;\n        text-align: left;\n        border: 1px solid #ddd;\n        outline: none;\n        transition: background-color 0.4s;\n        font-size: 16px;\n        font-weight: bold;\n        display: block;\n        border-radius: 5px;\n        margin-bottom: 5px;\n    }\n\n    .accordion.active, .accordion:hover {\n        background-color: #f1f1f1;\n    }\n\n    .accordion:after {\n        content: '\\002B'; \/* Plus sign *\/\n        color: #444;\n        font-weight: bold;\n        float: right;\n        margin-left: 5px;\n    }\n\n    .accordion.active:after {\n        content: \"\\2212\"; \/* Minus sign *\/\n    }\n\n    .panel {\n        padding: 15px;\n        background-color: white;\n        display: none;\n        overflow: hidden;\n        border: 1px solid #ddd;\n        border-top: none;\n        border-radius: 5px;\n    }\n\n    \/* Bundle Popup Styles *\/\n    .bundle-popup-overlay {\n        position: fixed;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background: rgba(0, 0, 0, 0.4);\n        backdrop-filter: blur(2px);\n        z-index: 10000;\n        opacity: 0;\n        visibility: hidden;\n        transition: all 0.3s ease;\n    }\n\n    .bundle-popup-overlay.active {\n        opacity: 1;\n        visibility: visible;\n    }\n\n    .bundle-popup {\n        position: fixed;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%) scale(0.95);\n        background: white;\n        border-radius: 20px;\n        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);\n        max-width: 380px;\n        width: 90%;\n        z-index: 10001;\n        transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);\n        overflow: hidden;\n    }\n\n    .bundle-popup-overlay.active .bundle-popup {\n        transform: translate(-50%, -50%) scale(1);\n    }\n\n    .bundle-popup-header {\n        padding: 28px 24px 20px;\n        text-align: center;\n        position: relative;\n    }\n\n    .bundle-smart-badge {\n        background: #6366f1;\n        color: white;\n        padding: 6px 12px;\n        border-radius: 6px;\n        font-size: 11px;\n        font-weight: 600;\n        margin-bottom: 16px;\n        display: inline-block;\n        letter-spacing: 0.5px;\n    }\n\n    .bundle-popup-title {\n        font-size: 22px;\n        font-weight: 700;\n        color: #1f2937;\n        margin-bottom: 8px;\n        line-height: 1.2;\n    }\n\n    .bundle-popup-subtitle {\n        font-size: 15px;\n        color: #6b7280;\n        font-weight: 500;\n    }\n\n    .bundle-close-btn {\n        position: absolute;\n        top: 20px;\n        right: 20px;\n        background: #f3f4f6;\n        border: none;\n        color: #6b7280;\n        width: 32px;\n        height: 32px;\n        border-radius: 50%;\n        cursor: pointer;\n        font-size: 18px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        transition: all 0.2s ease;\n    }\n\n    .bundle-close-btn:hover {\n        background: #e5e7eb;\n        color: #374151;\n    }\n\n    .bundle-popup-content {\n        padding: 0 24px 28px;\n    }\n\n    .bundle-deal-card {\n        background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);\n        border-radius: 16px;\n        padding: 24px;\n        margin-bottom: 24px;\n        text-align: center;\n    }\n\n    .bundle-deal-visual {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        gap: 20px;\n        margin-bottom: 20px;\n    }\n\n    .bundle-ear-item {\n        text-align: center;\n    }\n\n    .bundle-ear-circle {\n        width: 80px;\n        height: 80px;\n        border-radius: 12px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        margin: 0 auto 8px;\n        overflow: hidden;\n        position: relative;\n    }\n\n    .bundle-ear-circle.bundle-left {\n        background: #dbeafe;\n        border: 2px solid #2563eb;\n    }\n\n    .bundle-ear-circle.bundle-right {\n        background: #dcfce7;\n        border: 2px solid #16a34a;\n    }\n\n    .bundle-earbud-image {\n        width: 70px;\n        height: 70px;\n        object-fit: contain;\n        border-radius: 8px;\n    }\n\n    .bundle-checkmark {\n        position: absolute;\n        top: -4px;\n        right: -4px;\n        background: #16a34a;\n        color: white;\n        width: 20px;\n        height: 20px;\n        border-radius: 50%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        font-size: 12px;\n        font-weight: bold;\n    }\n\n    .bundle-plus-icon {\n        font-size: 20px;\n        color: #9ca3af;\n        font-weight: bold;\n    }\n\n    .bundle-ear-label {\n        font-weight: 600;\n        color: #202124;\n        margin-bottom: 4px;\n        font-size: 14px;\n    }\n\n    .bundle-pricing-summary {\n        background: #f0fdf4;\n        border: 2px solid #16a34a;\n        border-radius: 12px;\n        padding: 16px;\n        text-align: center;\n    }\n\n    .bundle-original-price {\n        font-size: 14px;\n        color: #6b7280;\n        text-decoration: line-through;\n        margin-bottom: 4px;\n    }\n\n    .bundle-bundle-price {\n        font-size: 18px;\n        font-weight: 600;\n        color: #16a34a;\n        margin-bottom: 4px;\n        line-height: 1.3;\n    }\n\n    .bundle-savings-text {\n        font-size: 14px;\n        color: #16a34a;\n        font-weight: 600;\n    }\n\n    .bundle-social-proof {\n        background: #fef3c7;\n        border-radius: 10px;\n        padding: 12px;\n        margin-bottom: 20px;\n        text-align: center;\n    }\n\n    .bundle-social-text {\n        font-size: 13px;\n        color: #92400e;\n        font-weight: 500;\n    }\n\n    .bundle-main-cta {\n        width: 100%;\n        background: #6366f1;\n        color: white;\n        border: none;\n        padding: 18px;\n        border-radius: 8px;\n        font-size: 16px;\n        font-weight: 700;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        margin-bottom: 12px;\n        box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2);\n    }\n\n    .bundle-main-cta:hover {\n        background: #4f46e5;\n        transform: translateY(-1px);\n        box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);\n    }\n\n    .bundle-skip-link {\n        text-align: center;\n        color: #6b7280;\n        font-size: 14px;\n        cursor: pointer;\n        text-decoration: underline;\n        padding: 8px;\n    }\n\n    .bundle-skip-link:hover {\n        color: #374151;\n    }\n\n    @media (max-width: 480px) {\n        .bundle-popup {\n            margin: 16px;\n            width: calc(100% - 32px);\n        }\n        \n        .bundle-deal-visual {\n            gap: 12px;\n        }\n        \n        .bundle-ear-circle {\n            width: 70px;\n            height: 70px;\n        }\n    }\n\u003c\/style\u003e\n\n\u003c!-- Accordion Buttons and Content --\u003e\n\u003cbutton class=\"accordion\"\u003eInhalt des Kaufs\u003c\/button\u003e\n\u003cdiv class=\"panel\"\u003e\n\n    \u003cp\u003e1x Samsung Galaxy Buds2 rechter Ohrhörer-Ersatz (Ohrstöpsel in Standardgröße). Kein weiteres Zubehör enthalten.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003cbutton class=\"accordion\"\u003eVersanddetails\u003c\/button\u003e\n\u003cdiv class=\"panel\"\u003e\n\n    \u003cp\u003eBestellungen werden noch am selben oder am nächsten Werktag versandt. Geschätzte Lieferzeit: 3-5 Werktage per USPS First Class.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003cbutton class=\"accordion\"\u003eRückgaberecht\u003c\/button\u003e\n\u003cdiv class=\"panel\"\u003e\n\n    \u003cp\u003eWir bieten Rücksendungen an, wenn Sie unzufrieden sind oder das Gerät nicht koppeln können. Kontaktieren Sie uns zuerst für Unterstützung.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003cbutton class=\"accordion\"\u003eBeeinträchtigt dies die Klangqualität?\u003c\/button\u003e\n\u003cdiv class=\"panel\"\u003e\n\n    \u003cp\u003eDies ist ein originales Samsung-Ersatzteil und klingt genauso wie Ihr Originalstück.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003cbutton class=\"accordion\"\u003eKann ich nur den rechten Ohrhörer kaufen?\u003c\/button\u003e\n\u003cdiv class=\"panel\"\u003e\n\n    \u003cp\u003eJa! Sie können nur den rechten Ohrhörer kaufen. Die Verfügbarkeit kann variieren – bestellen Sie bei einem vertrauenswürdigen Lieferanten wie ReCellExchange.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\u003c!-- JavaScript for Accordion Functionality and Bundle Popup --\u003e\n\u003cscript\u003e\n    document.addEventListener(\"DOMContentLoaded\", function() {\n        \/\/ Accordion functionality\n        var accordions = document.querySelectorAll(\".accordion\");\n\n        accordions.forEach(function(acc) {\n            acc.addEventListener(\"click\", function() {\n                this.classList.toggle(\"active\");\n\n                var panel = this.nextElementSibling;\n                if (panel.style.display === \"block\") {\n                    panel.style.display = \"none\";\n                } else {\n                    panel.style.display = \"block\";\n                }\n            });\n        });\n\n        \/\/ Bundle popup functionality\n        \/\/ Show popup after 10 seconds\n        setTimeout(function() {\n            showBundlePopup();\n        }, 10000);\n\n        \/\/ Close popup with Escape key\n        document.addEventListener('keydown', function(e) {\n            if (e.key === 'Escape') {\n                hideBundlePopup();\n            }\n        });\n    });\n\n    function checkMatchingStock(currentVariantId) {\n        \/\/ Map current variant to matching variant\n        const variantMap = {\n            '42793576988833': '42793547694241', \/\/ Graphite Right → Left\n            '42793577087137': '42793547825313', \/\/ White Right → Left\n            '42793577021601': '42793547759777', \/\/ Violet Right → Left\n            '42793577054369': '42793547792545', \/\/ Olive Right → Left\n            '42795590942881': '42795590549665'  \/\/ Phantom Black Right → Left\n        };\n        \n        const matchingVariantId = variantMap[currentVariantId];\n        if (!matchingVariantId) {\n            console.log('No matching variant found for:', currentVariantId);\n            return false;\n        }\n        \n        \/\/ Since we can't easily check cross-product inventory, \n        \/\/ let's use a simpler approach: only hide popup for specific known out-of-stock combinations\n        \n        \/\/ List of variant combinations that should NOT show popup (both current → matching)\n        const outOfStockCombinations = [\n            \/\/ Add pairs here when you know both are out of stock\n            \/\/ Format: 'currentVariantId:matchingVariantId'\n            \/\/ Example: '42795590942881:42795590549665', \/\/ Phantom Black pair both out of stock\n        ];\n        \n        const combination = `${currentVariantId}:${matchingVariantId}`;\n        if (outOfStockCombinations.includes(combination)) {\n            console.log('Bundle combination is out of stock:', combination);\n            return false;\n        }\n        \n        \/\/ For most cases, show the popup and let Shopify handle stock at checkout\n        console.log('Bundle available for:', currentVariantId, '→', matchingVariantId);\n        return true;\n    }\n\n    function showBundlePopup() {\n        \/\/ Get current selected variant\n        let currentVariantId = null;\n        \n        const variantSelect = document.querySelector('select[name=\"id\"]');\n        const variantInput = document.querySelector('input[name=\"id\"]');\n        const variantRadio = document.querySelector('input[name=\"id\"]:checked');\n        \n        if (variantSelect) currentVariantId = variantSelect.value;\n        else if (variantInput) currentVariantId = variantInput.value;\n        else if (variantRadio) currentVariantId = variantRadio.value;\n        \n        \/\/ Check URL for variant parameter as fallback\n        const urlParams = new URLSearchParams(window.location.search);\n        const urlVariant = urlParams.get('variant');\n        if (urlVariant) currentVariantId = urlVariant;\n        \n        console.log('Checking stock for current variant:', currentVariantId);\n        \n        \/\/ Only show popup if matching piece is in stock\n        if (!currentVariantId || !checkMatchingStock(currentVariantId)) {\n            console.log('Bundle popup not shown - matching variant out of stock or not found');\n            return;\n        }\n        \n        const overlay = document.getElementById('bundlePopupOverlay');\n        if (overlay) {\n            \/\/ Update images based on selected variant before showing popup\n            updatePopupImages();\n            overlay.classList.add('active');\n            document.body.style.overflow = 'hidden';\n        }\n    }\n\n    function updatePopupImages() {\n        \/\/ Get current selected variant ID (same logic as addBundleToCart)\n        let currentVariantId = null;\n        \n        const variantSelect = document.querySelector('select[name=\"id\"]');\n        const variantInput = document.querySelector('input[name=\"id\"]');\n        const variantRadio = document.querySelector('input[name=\"id\"]:checked');\n        \n        if (variantSelect) currentVariantId = variantSelect.value;\n        else if (variantInput) currentVariantId = variantInput.value;\n        else if (variantRadio) currentVariantId = variantRadio.value;\n        \n        \/\/ Check URL for variant parameter\n        const urlParams = new URLSearchParams(window.location.search);\n        const urlVariant = urlParams.get('variant');\n        if (urlVariant) currentVariantId = urlVariant;\n        \n        \/\/ Determine color and set images\n        const leftImage = document.querySelector('.bundle-ear-circle.bundle-left img');\n        const rightImage = document.querySelector('.bundle-ear-circle.bundle-right img');\n        \n        console.log('Current variant for images:', currentVariantId);\n        \n        \/\/ Determine which color to show based on variant ID or URL\n        if (currentVariantId === '42793577087137' || \/\/ White Right Ear\n            window.location.href.toLowerCase().includes('white')) {\n            \/\/ Set white Buds2 images\n            leftImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_11_24_20_AM.png?v=1751480674';\n            leftImage.alt = 'Galaxy Buds2 White Left Ear';\n            rightImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_09_52_57_AM.png?v=1751475423';\n            rightImage.alt = 'Galaxy Buds2 White Right Ear';\n        } else if (currentVariantId === '42795590942881' || \/\/ Phantom Black Right Ear\n                   window.location.href.toLowerCase().includes('phantom') || window.location.href.toLowerCase().includes('black')) {\n            \/\/ Set phantom black Buds2 images\n            leftImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/BLACKLEFTEAR_e6da1c73-3c2c-4878-9060-6b959818e2a3.png?v=1751480179';\n            leftImage.alt = 'Galaxy Buds2 Phantom Black Left Ear';\n            rightImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_09_38_36_AM.png?v=1751474358';\n            rightImage.alt = 'Galaxy Buds2 Phantom Black Right Ear';\n        } else if (currentVariantId === '42793577021601' || \/\/ Violet Right Ear\n                   window.location.href.toLowerCase().includes('violet')) {\n            \/\/ Set violet Buds2 images\n            leftImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_11_15_09_AM.png?v=1751480179';\n            leftImage.alt = 'Galaxy Buds2 Violet Left Ear';\n            rightImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_09_48_53_AM.png?v=1751474963';\n            rightImage.alt = 'Galaxy Buds2 Violet Right Ear';\n        } else if (currentVariantId === '42793577054369' || \/\/ Olive Right Ear\n                   window.location.href.toLowerCase().includes('olive')) {\n            \/\/ Set olive Buds2 images\n            leftImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/OLIVELEFTEAR_27b41937-233f-42a7-a2c4-df3b7e0b3d2d.png?v=1751480179';\n            leftImage.alt = 'Galaxy Buds2 Olive Left Ear';\n            rightImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_09_56_07_AM.png?v=1751475423';\n            rightImage.alt = 'Galaxy Buds2 Olive Right Ear';\n        } else {\n            \/\/ Set graphite Buds2 images (default) - includes graphite variant ID check\n            leftImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_09_22_53_AM.png?v=1751473452';\n            leftImage.alt = 'Galaxy Buds2 Graphite Left Ear';\n            rightImage.src = 'https:\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_09_46_12_AM_c6e44c61-6bda-4fb9-8bf3-0c2ec7cb9bb1.png?v=1751475423';\n            rightImage.alt = 'Galaxy Buds2 Graphite Right Ear';\n        }\n    }\n\n    function hideBundlePopup() {\n        const overlay = document.getElementById('bundlePopupOverlay');\n        if (overlay) {\n            overlay.classList.remove('active');\n            document.body.style.overflow = 'auto';\n        }\n    }\n\n    function addBundleToCart() {\n        \/\/ Method 1: Check for Shopify's current variant (most reliable)\n        let currentVariantId = null;\n        \n        \/\/ Try to get from common Shopify variant selectors\n        const variantSelect = document.querySelector('select[name=\"id\"]');\n        const variantInput = document.querySelector('input[name=\"id\"]');\n        const variantRadio = document.querySelector('input[name=\"id\"]:checked');\n        \n        if (variantSelect) {\n            currentVariantId = variantSelect.value;\n        } else if (variantInput) {\n            currentVariantId = variantInput.value;\n        } else if (variantRadio) {\n            currentVariantId = variantRadio.value;\n        }\n        \n        \/\/ Method 2: Check URL parameters for variant\n        const urlParams = new URLSearchParams(window.location.search);\n        const urlVariant = urlParams.get('variant');\n        if (urlVariant) {\n            currentVariantId = urlVariant;\n        }\n        \n        \/\/ Method 3: Check page content and URL for color keywords\n        const pageUrl = window.location.href.toLowerCase();\n        \n        \/\/ Method 4: Check for selected color option text\n        const selectedOptions = document.querySelectorAll('.product-form__input:checked, .swatch-element.color input:checked, .variant-input:checked');\n        let selectedColorText = '';\n        selectedOptions.forEach(option =\u003e {\n            const label = document.querySelector(`label[for=\"${option.id}\"]`);\n            if (label) selectedColorText += label.textContent.toLowerCase() + ' ';\n        });\n        \n        console.log('Current variant ID:', currentVariantId);\n        console.log('Selected color text:', selectedColorText);\n        console.log('Page URL:', pageUrl);\n        \n        \/\/ Check for Galaxy Buds2 color variants\n        const isGraphite = selectedColorText.includes('graphite') || pageUrl.includes('graphite') || \n                          currentVariantId === '42793576988833'; \/\/ Graphite Right Ear\n        const isWhite = selectedColorText.includes('white') || pageUrl.includes('white') ||\n                       currentVariantId === '42793577087137'; \/\/ White Right Ear\n        const isPhantomBlack = selectedColorText.includes('phantom') || selectedColorText.includes('black') || \n                              pageUrl.includes('phantom') || pageUrl.includes('black') ||\n                              currentVariantId === '42795590942881'; \/\/ Phantom Black Right Ear\n        const isViolet = selectedColorText.includes('violet') || pageUrl.includes('violet') ||\n                        currentVariantId === '42793577021601'; \/\/ Violet Right Ear\n        const isOlive = selectedColorText.includes('olive') || pageUrl.includes('olive') ||\n                       currentVariantId === '42793577054369'; \/\/ Olive Right Ear\n        \n        \/\/ Set appropriate variant IDs based on color for Galaxy Buds2\n        let leftEarVariantId, rightEarVariantId;\n        let colorName;\n        \n        \/\/ First try to map directly from current variant ID if we have it\n        if (currentVariantId) {\n            \/\/ Map known right ear variants to their corresponding left ear variants\n            const variantMap = {\n                '42793576988833': { left: '42793547694241', color: 'Graphite' },\n                '42793577087137': { left: '42793547825313', color: 'White' },\n                '42795590942881': { left: '42795590549665', color: 'Phantom Black' },\n                '42793577021601': { left: '42793547759777', color: 'Violet' },\n                '42793577054369': { left: '42793547792545', color: 'Olive' }\n            };\n            \n            const mappedVariant = variantMap[currentVariantId];\n            if (mappedVariant) {\n                rightEarVariantId = currentVariantId;\n                leftEarVariantId = mappedVariant.left;\n                colorName = mappedVariant.color;\n            }\n        }\n        \n        \/\/ Fallback to color detection if variant mapping didn't work\n        if (!leftEarVariantId) {\n            if (isGraphite) {\n                leftEarVariantId = '42793547694241'; \/\/ Graphite Left Ear\n                rightEarVariantId = '42793576988833'; \/\/ Graphite Right Ear\n                colorName = 'Graphite';\n            } else if (isWhite) {\n                leftEarVariantId = '42793547825313'; \/\/ White Left Ear\n                rightEarVariantId = '42793577087137'; \/\/ White Right Ear\n                colorName = 'White';\n            } else if (isPhantomBlack) {\n                leftEarVariantId = '42795590549665'; \/\/ Phantom Black Left Ear\n                rightEarVariantId = '42795590942881'; \/\/ Phantom Black Right Ear\n                colorName = 'Phantom Black';\n            } else if (isViolet) {\n                leftEarVariantId = '42793547759777'; \/\/ Violet Left Ear\n                rightEarVariantId = '42793577021601'; \/\/ Violet Right Ear\n                colorName = 'Violet';\n            } else if (isOlive) {\n                leftEarVariantId = '42793547792545'; \/\/ Olive Left Ear\n                rightEarVariantId = '42793577054369'; \/\/ Olive Right Ear\n                colorName = 'Olive';\n            } else {\n                \/\/ Default to Graphite if we can't detect color\n                leftEarVariantId = '42793547694241';\n                rightEarVariantId = '42793576988833';\n                colorName = 'Graphite';\n            }\n        }\n        \n        console.log('Adding ' + colorName + ' Galaxy Buds2 complete set to cart');\n        console.log('Right Ear Variant ID: ' + rightEarVariantId);\n        console.log('Left Ear Variant ID: ' + leftEarVariantId);\n        \n        \/\/ Add both ears to cart (right ear first since they're on right ear page)\n        fetch('\/cart\/add.js', {\n            method: 'POST',\n            headers: { 'Content-Type': 'application\/json' },\n            body: JSON.stringify({\n                items: [\n                    {\n                        id: rightEarVariantId,\n                        quantity: 1\n                    },\n                    {\n                        id: leftEarVariantId,\n                        quantity: 1\n                    }\n                ]\n            })\n        })\n        .then(response =\u003e response.json())\n        .then(data =\u003e {\n            if (data.items \u0026\u0026 data.items.length \u003e 0) {\n                \/\/ Success! Redirect to cart\n                hideBundlePopup();\n                window.location.href=\"\/de\/cart\";\n            } else {\n                throw new Error('Failed to add items to cart');\n            }\n        })\n        .catch(error =\u003e {\n            console.error('Error:', error);\n            alert('Sorry, the matching ear piece is currently out of stock. You can still purchase this single ear or check back later for the bundle deal!');\n        });\n    }\n\u003c\/script\u003e","brand":"ReCellExchange","offers":[{"title":"Phantom Schwarz \/ Wie neu","offer_id":42795590942881,"sku":"SGB2-R-LN-PHANTOM BLACK","price":34.99,"currency_code":"USD","in_stock":false},{"title":"Phantom Schwarz \/ Gut","offer_id":43013643108513,"sku":"SGB2-R-A\/B-PHANTOM BLACK","price":29.99,"currency_code":"USD","in_stock":false},{"title":"Phantom Schwarz \/ Messe","offer_id":43013643141281,"sku":"SGB2-R-C-PHANTOM BLACK","price":24.99,"currency_code":"USD","in_stock":false},{"title":"Graphit \/ Wie neu","offer_id":42793576988833,"sku":"SGB2-R-LN-GRAPHITE","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Graphit \/ Gut","offer_id":43013643174049,"sku":"SGB2-R-A\/B-GRAPHITE","price":29.99,"currency_code":"USD","in_stock":false},{"title":"Graphit \/ Messe","offer_id":43013643206817,"sku":"SGB2-R-C-GRAPHITE","price":24.99,"currency_code":"USD","in_stock":false},{"title":"Violett \/ Wie neu","offer_id":42793577021601,"sku":"SGB2-R-LN-LAVENDER","price":34.99,"currency_code":"USD","in_stock":false},{"title":"Violett \/ Gut","offer_id":43013643239585,"sku":"SGB2-R-A\/B-LAVENDER","price":29.99,"currency_code":"USD","in_stock":false},{"title":"Violett \/ Messe","offer_id":43013643272353,"sku":"SGB2-R-C-LAVENDER","price":24.99,"currency_code":"USD","in_stock":false},{"title":"Olive \/ Wie neu","offer_id":42793577054369,"sku":"SGB2-R-LN-OLIVE","price":34.99,"currency_code":"USD","in_stock":false},{"title":"Olive \/ Gut","offer_id":43013643305121,"sku":"SGB2-R-A\/B-OLIVE","price":29.99,"currency_code":"USD","in_stock":false},{"title":"Olive \/ Messe","offer_id":43013643337889,"sku":"SGB2-R-C-OLIVE","price":24.99,"currency_code":"USD","in_stock":false},{"title":"Weiß \/ Wie neu","offer_id":42793577087137,"sku":"SGB2-R-LN-WHITE","price":34.99,"currency_code":"USD","in_stock":false},{"title":"Weiß \/ Gut","offer_id":43013643370657,"sku":"SGB2-R-A\/B-WHITE","price":29.99,"currency_code":"USD","in_stock":false},{"title":"Weiß \/ Messe","offer_id":43013643403425,"sku":"SGB2-R-C-WHITE","price":24.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0525\/8982\/2113\/files\/ChatGPT_Image_Jul_2_2025_09_38_36_AM.png?v=1762458060","url":"https:\/\/www.recellexchange.com\/de\/products\/samsung-galaxy-buds2-right-ear-replacement","provider":"ReCellExchange","version":"1.0","type":"link"}