{"title":"Social Media Stock Songs","description":"","products":[{"product_id":"epic-inspiration-music-2-copy","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033417851228,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/WhatsAppImage2026-03-16at18.21.22.jpg?v=1773678159"},{"product_id":"epic-inspiration-music-universal-studio-style-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033497215324,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/WhatsAppImage2026-03-16at18.21.22.jpg?v=1773678159"},{"product_id":"epic-inspiration-music-3","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033501868380,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/WhatsAppImage2026-03-16at18.21.22.jpg?v=1773678159"},{"product_id":"epic-inspiration-music-4","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033506226524,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/WhatsAppImage2026-03-16at18.21.22.jpg?v=1773678159"},{"product_id":"epic-inspiration-music-documentary-netflix-style-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033512780124,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/WhatsAppImage2026-03-16at18.21.22.jpg?v=1773678159"},{"product_id":"epic-inspiration-music-documentary-netflix-style-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033517728092,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/WhatsAppImage2026-03-16at18.21.22.jpg?v=1773678159"},{"product_id":"epic-inspiration-music-hollywood-style-3","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033524674908,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/WhatsAppImage2026-03-16at18.21.22.jpg?v=1773678159"},{"product_id":"epic-inspiration-music-hollywood-style-4","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033529000284,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/WhatsAppImage2026-03-16at18.21.22.jpg?v=1773678159"},{"product_id":"children-dance-style-2-instrumental","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033575432540,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-02-51.jpg?v=1773759994"},{"product_id":"children-kindergarden-dance-style-instrumental","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033587425628,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-02-51.jpg?v=1773759994"},{"product_id":"children-music-happy-kids-style","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033593258332,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-02-51.jpg?v=1773759994"},{"product_id":"children-sing-along-style-instrumental","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033601548636,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-02-51.jpg?v=1773759994"},{"product_id":"children-cartoon-intrumental","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033606070620,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-02-51.jpg?v=1773759994"},{"product_id":"children-dance-style-instrumental","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033610789212,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"gaming-action-music-3","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033668198748,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"gaming-action-music-4","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033672163676,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"gaming-background-music-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033677373788,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"gaming-background-music-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033682878812,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"happy-tiktok-music-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033687892316,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"happy-tiktok-music-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033692250460,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"happy-tiktok-music-3","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033698247004,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"happy-tiktok-music-4","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57033725378908,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"social-media-music","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57048749932892,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-buddhist-temple-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57048768086364,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-tibetan-temple-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57048785092956,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-tibetan-temple-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57048798101852,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-sacred-temple-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57048813601116,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-sacred-temple-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57048822907228,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"social-media-short-music","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57048828182876,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-shamanic-tribal-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57048835817820,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-buddhist-temple-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57048848630108,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-deep-meditation-chakra-healing-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058020688220,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-deep-meditation-chakra-healing-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058051031388,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-esoteric-mystical-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058074231132,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-esoteric-mystical-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058095071580,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-healing-relaxation-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058125349212,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-healing-relaxation-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058139046236,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-nature-spiritual-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058153955676,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-nature-spiritual-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058166833500,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-sleep-spiritual-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058195800412,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"ambient-meditation-sleep-spiritual-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058202681692,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"classic-lo-fi-podcast-background-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058207170908,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"classic-lo-fi-podcast-background-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058215330140,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"classic-lo-fi-podcast-background-3","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058222244188,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"classic-lo-fi-podcast-background-4","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058239086940,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"documentary-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058260549980,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"documentary-2","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058272772444,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"documentary-3","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058284011868,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"documentary-4","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058295054684,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"},{"product_id":"edm-electronic-afro-house-arabic-1","title":"Gute Stiefel, schlechte Ideen – TOMEX ","description":"\u003cdiv class=\"notranslate\"\u003e\n\u003cdiv id=\"custom-audio-container\" style=\"\n    background-color: #1a1a1a; \n    border-radius: 8px; \n    padding: 10px 15px; \n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); \n    user-select: none; \n    pointer-events: auto;\n\" oncontextmenu=\"return false;\"\u003e\n    \n    \u003caudio id=\"previewPlayer\" preload=\"auto\" style=\"display: none;\"\u003e\n        Dein Browser unterstützt kein Audioelement.\n    \u003c\/audio\u003e\n\n    \u003cdiv style=\"display: flex; align-items: center; gap: 10px;\"\u003e\n        \u003cbutton id=\"playPauseBtn\" style=\"\n            background-color: #4a4a4a; border: none; color: white; width: 40px; \n            height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer;\n            transition: background-color 0.2s;\"\u003e▶\u003c\/button\u003e\n\n        \u003cdiv style=\"flex-grow: 1; display: flex; flex-direction: column; gap: 5px;\"\u003e\n            \u003cdiv id=\"progressBarContainer\" style=\"\n                background-color: #4a4a4a; height: 8px; border-radius: 4px; \n                cursor: pointer; overflow: hidden;\"\u003e\n                \u003cdiv id=\"progressBarFill\" style=\"\n                    width: 0%; height: 100%; background-color: #8a2be2;\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv id=\"timeDisplay\" style=\"\n                color: #cccccc; font-size: 12px; text-align: left;\"\u003e\n                0:00 \/ 0:40\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    const maxDuration = 40;\n    const songUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/Good_Boots_Bad_Ideas.mp3?v=1764672460\"; \n    \n    const audio = document.getElementById(\"previewPlayer\");\n    const playPauseBtn = document.getElementById(\"playPauseBtn\");\n    const progressBarFill = document.getElementById(\"progressBarFill\");\n    const progressBarContainer = document.getElementById(\"progressBarContainer\");\n    const timeDisplay = document.getElementById(\"timeDisplay\");\n\n    function formatTime(seconds) {\n        const minutes = Math.floor(seconds \/ 60);\n        const remainingSeconds = Math.floor(seconds % 60);\n        return `${minutes}:${remainingSeconds \u003c 10 ? '0' : ''}${remainingSeconds}`;\n    }\n\n    \/\/ Initialization\n    const source = document.createElement('source');\n    source.src = songUrl;\n    source.type = 'audio\/mpeg';\n    audio.appendChild(source);\n    audio.load();\n\n    audio.addEventListener('loadedmetadata', () =\u003e { timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`; });\n\n    \/\/ Controls\n    playPauseBtn.addEventListener('click', () =\u003e {\n        if (audio.paused) {\n            audio.play();\n            playPauseBtn.textContent = '⏸';\n        } else {\n            audio.pause();\n            playPauseBtn.textContent = '▶';\n        }\n    });\n\n    progressBarContainer.addEventListener('click', (e) =\u003e {\n        const clickRatio = e.offsetX \/ progressBarContainer.offsetWidth;\n        const seekTime = clickRatio * maxDuration;\n        if (seekTime \u003e= 0 \u0026\u0026 seekTime \u003c= maxDuration) { audio.currentTime = seekTime; }\n    });\n\n    \/\/ Time Limit \u0026 Updates\n    audio.addEventListener(\"timeupdate\", () =\u003e {\n        let currentTime = audio.currentTime;\n        if (currentTime \u003e= maxDuration) {\n            audio.pause();\n            audio.currentTime = 0;\n            playPauseBtn.textContent = '▶';\n            progressBarFill.style.width = '0%';\n            timeDisplay.textContent = `0:00 \/ ${formatTime(maxDuration)}`;\n            alert(\"Die Vorschau ist nach \" + maxDuration + \" Sekunden beendet.\");\n            return;\n        }\n        const progressPercent = (currentTime \/ maxDuration) * 100;\n        progressBarFill.style.width = progressPercent + '%';\n        timeDisplay.textContent = `${formatTime(currentTime)} \/ ${formatTime(maxDuration)}`;\n    });\n\n    audio.addEventListener('ended', () =\u003e { audio.currentTime = 0; playPauseBtn.textContent = '▶'; });\n\n    \/\/ Protections\n    document.addEventListener('selectstart', e =\u003e e.preventDefault());\n    document.addEventListener('dragstart', e =\u003e e.preventDefault());\n    document.addEventListener('keydown', e =\u003e {\n      if ((e.ctrlKey || e.metaKey) \u0026\u0026 e.key === 's') { e.preventDefault(); alert(\"Speichern ist deaktiviert.\"); }\n    });\n    Object.defineProperty(window, 'previewPlayer', { value: null });\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"MF Radio Shop","offers":[{"title":"Default Title","offer_id":57058313732444,"sku":null,"price":4.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0962\/9224\/1756\/files\/photo_2026-03-17_17-15-42.jpg?v=1773760912"}],"url":"https:\/\/shop.mfradio.de\/de\/collections\/gaming-action-music.oembed","provider":"MF Radio Shop ","version":"1.0","type":"link"}