{"title":"Shop the Feed-Mini 2","description":"","products":[{"product_id":"miofive-mini-2-front-rear-dash-cam","title":"MIOFIVE Dashcam Mini 2 – 2K + 1080P FHD Dual Dashcam (ohne SD-Karte)(UK)","description":"\u003cstyle type=\"text\/css\"\u003e\n    .description-content {\n        margin: 0px auto;\n        padding: 0px;\n    }\n\n    .description-item {\n        width: 100%;\n        margin: 0px auto;\n        padding: 0px;\n    }\n\n    .description-item img {\n        width: 100%;\n    }\n\n    .description-scroll {\n        position: relative;\n        margin: 0px auto;\n        padding: 0px;\n    }\n\n    .description-scroll-btn {\n        top: 50%;\n        position: absolute;\n        padding: 10px;\n        cursor: pointer;\n        width: 42px;\n        height: 42px;\n        border-radius: 50%;\n        background-color: rgb(247, 247, 247);\n        border: 1px solid var(--icon);\n        transform: translateY(-50%);\n        border-color: transparent;\n        z-index: 1;\n    }\n\n    .description-scroll-btn-left {\n        left: 0;\n        margin-left: -0.2rem;\n        transform: rotate(90deg) translateX(-0.15rem);\n    }\n\n    .description-scroll-btn-left:hover {\n        transform: rotate(90deg) translateX(-0.15rem) scale(0.98);\n    }\n\n    .description-scroll-btn-right {\n        right: 0;\n        margin-right: -0.2rem;\n        transform: rotate(-90deg) translateX(0.15rem);\n    }\n\n    .description-scroll-btn-right:hover {\n        transform: rotate(-90deg) translateX(0.15rem) scale(0.98);\n    }\n\n    .description-dot-container {\n        position: absolute;\n        bottom: 20px;\n        width: 100%;\n        display: flex;\n        justify-content: center;\n    }\n\n    .description-dot {\n        background-color: #fff;\n        \/* 圆点颜色 *\/\n        border: 1px solid #000;\n        \/* 边框 *\/\n        padding: 5px;\n        \/* 圆点大小 *\/\n        border-radius: 50%;\n        \/* 设置为圆形 *\/\n        margin: 0 5px;\n        \/* 圆点之间的间距 *\/\n        cursor: pointer;\n        \/* 鼠标悬停时显示手形图标 *\/\n        outline: none;\n        \/* 点击时不显示轮廓 *\/\n    }\n\n    .description-dot.active {\n        background-color: #D72735;\n    }\n\n    .description-container {\n        padding: 0px;\n        margin: 0px;\n        display: flex;\n        overflow-x: auto;\n        scroll-snap-type: x mandatory;\n        scroll-behavior: smooth;\n        scrollbar-width: none;\n        -ms-overflow-style: none;\n    }\n\n    .description-container::-webkit-scrollbar {\n        display: none;\n    }\n\n    .description-wrapper {\n        position: relative;\n        flex: 0 0 100%;\n        width: 100%;\n        display: flex;\n        scroll-snap-align: start;\n        scroll-snap-stop: always;\n    }\n\n    .description-wrapper img {\n        width: 100%;\n    }\n\n    .description-wrapper h3 {\n        margin: 0px;\n        padding: 0px;\n        font-size: 20px;\n        font-weight: 700;\n        color: #232323;\n        margin-bottom: 15px;\n    }\n\n    .description-wrapper p {\n        margin: 0px;\n        padding: 0px;\n        font-size: 14px;\n        margin-bottom: 8px;\n    }\n\n    .description-wrapper-item {\n        flex: 1;\n    }\n\n    .description-wrapper-text {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        padding-left: 5%;\n        padding-right: 5%;\n    }\n\n    .description-wrapper-header {\n        display: flex;\n        padding: 10px 0 12px 100px;\n        margin: 0px;\n        align-items: center;\n        justify-content: center;\n        background-color: #3A3E48;\n        overflow-x: auto;\n        overflow-y: hidden;\n        white-space: nowrap;\n        scroll-snap-align: start;\n        scroll-snap-stop: always;\n        scrollbar-width: none;\n        -ms-overflow-style: none;\n    }\n\n    .description-wrapper-header::-webkit-scrollbar {\n        display: none;\n    }\n\n    .description-header-button {\n        color: white;\n        text-align: center;\n        font-size: 20px;\n        font-weight: 700;\n        margin-right: 80px;\n        padding: 5px 0 5px 0;\n        background-color: transparent;\n    }\n\n    .description-header-button.active {\n        border-bottom: 3px solid #fff;\n    }\n\n    .description-specification-item {\n        display: flex;\n        display: -ms-flex;\n        flex-wrap: wrap;\n        width: 100%;\n    }\n\n    .description-column {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        width: 30%;\n    }\n\n    .description-column-specifications {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        width: 40%;\n    }\n\n    .description-column-mb {\n        position: relative;\n        width: 100%;\n    }\n\n    .description-column img {\n        width: 100%;\n    }\n\n    .description-column-title {\n        position: absolute;\n        top: 5%;\n        left: 30%;\n        margin: 0px;\n        padding: 0px;\n        font-size: 20px;\n        font-weight: 700;\n        color: #232323;\n        margin-bottom: 15px;\n    }\n\n\n    .description-title {\n        width: 100%;\n        font-size: 22px;\n        font-weight: 700;\n        color: #232323;\n        text-align: center;\n        margin-top: 20px;\n        margin-bottom: 20px;\n    }\n\n    .description-specifications {\n        position: relative;\n        width: 100%;\n    }\n\n    .description-specifications-title {\n        width: 100%;\n        font-size: 20px;\n        font-weight: 700;\n        color: #232323;\n        text-align: center;\n    }\n\n    .description-specifications-border {\n        border: 1px solid #000;\n        display: flex;\n        display: -ms-flex;\n        flex-wrap: wrap;\n        margin: 0px 3px 0px 3px;\n        padding-top: 15px;\n        padding-bottom: 15px;\n    }\n\n    .description-specifications-column {\n        position: relative;\n        width: 33.333%;\n    }\n\n    .description-specifications-column p {\n        width: 100%;\n        text-align: center;\n        font-size: 12px;\n        color: #232323;\n        margin-bottom: 35px;\n    }\n\n    .description-specifications-item {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        width: 88%;\n        margin-left: 6%;\n        margin-right: 6%;\n        border-bottom: 1px solid #232323;\n    }\n\n    .description-specifications-item-text {\n        text-align: center;\n        font-size: 14px;\n        color: #232323;\n        margin-top: 3px;\n        margin-bottom: 3px;\n    }\n\n    .description-specifications-a {\n        text-decoration: none;\n    }\n\n    .description-specifications-button {\n        width: 80%;\n        margin-top: 15px;\n        margin-left: 10%;\n        margin-bottom: 45px;\n        padding-top: 10px;\n        padding-bottom: 10px;\n        background-color: #232323;\n        color: #fff;\n        border: none;\n        border-radius: 20px;\n        font-size: 16px;\n        text-align: center;\n    }\n\n    .description-faqs-item {\n        background-color: #fafafa;\n        padding: 0px 30px 0px 30px;\n        margin: 15px 0px 15px 0px;\n    }\n\n    .description-faqs-header {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        width: 100%;\n    }\n\n    .description-faqs-header.active {\n        border-bottom: 1px solid #232323;\n    }\n\n    .description-faqs-title {\n        font-size: 18px;\n        color: #232323;\n        background-color: #fafafa;\n        text-align: left;\n        padding: 10px 0 10px 0;\n    }\n\n    .description-faqs-arrow {\n        --rotation: -180deg;\n        width: 14px;\n        height: 14px;\n        transform: rotate(var(--rotation));\n        transition: all .3s ease;\n    }\n\n    .description-faqs-header:not(.description-faqs-collapsed) .description-faqs-arrow {\n        --rotation: 0deg;\n    }\n\n    .description-faqs-collapse {\n        display: none;\n        padding-bottom: 10px;\n        transition: all .5s ease-out;\n    }\n\n    .description-faqs-collapse-text {\n        font-size: 14px;\n        margin-top: 10px;\n    }\n\n    .description-contact-us-title {\n        width: 100%;\n        font-size: 22px;\n        font-weight: 700;\n        color: #232323;\n        text-align: center;\n        margin-top: 20px;\n        margin-bottom: 20px;\n    }\n\n    .description-contact-us-text {\n        text-align: center;\n        font-size: 14px;\n        color: #232323;\n        padding: 0px 30px 0px 30px;\n        margin: 15px 0px 15px 0px;\n    }\n\n\n    @media screen and (max-width: 767px) {\n        .description-wrapper {\n            display: block;\n        }\n\n        .description-wrapper img {\n            width: 100%;\n        }\n\n        .description-wrapper-text {\n            margin-top: 30px;\n        }\n\n        .description-wrapper-header {\n            justify-content: start;\n            padding-left: 30px;\n            padding-right: 30px;\n        }\n\n        .description-column {\n            width: 50%;\n        }\n\n        .description-specification-item {\n            position: relative;\n            display: block;\n        }\n\n        .description-column-title {\n            position: relative;\n            width: 100%;\n            text-align: center;\n            top: 0px;\n            left: 0px;\n            margin-bottom: 0px;\n        }\n\n        .description-faqs-title {\n            font-size: 16px;\n        }\n    }\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"description-content\"\u003e\n\n\n\u003cdiv class=\"description-item\" id=\"description-item-1\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-item\" id=\"description-item-2\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-scroll\" id=\"description-item-3\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-scroll\" id=\"description-item-4\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-scroll\" id=\"description-item-5\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-scroll\" id=\"description-item-6\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-specification-item\" id=\"description-specification\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"description-item\" id=\"description-faqs\"\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv\u003e\n\n\u003cbr\u003e\n\u003cdiv class=\"description-contact-us-title\"\u003e KONTAKTIEREN SIE UNS\u003c\/div\u003e\n\n         \u003cdiv class=\"description-contact-us-text\"\u003eHaben Sie eine Frage oder einen Kommentar? Senden Sie uns eine E-Mail an \u003ca style=\"color: #000;\" href=\"mailto:support@miofive.com?subject=Assistance%20Required%20-%20Order%20Number:\u0026amp;body=Hi%20Miofive%20%20%0A%0A%20My%20Order%20Number%20is:%20%20%20%0A%0A%0APlease%20type%20your%20question%20below,%20and%20tell%20us%20how%20can%20we%20help%20you?\"\u003esupport@miofive.com\u003c\/a\u003e . Unser engagiertes Kundensupport-Team hilft Ihnen gerne weiter und antwortet Ihnen werktags innerhalb von 24 Stunden.\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003cscript\u003e\n    function initData() {\n        const data = {\n            item1: {\n                img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_1.jpg?v=1741747257',\n                img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_1_mb.jpg?v=1741747255'\n            },\n            item2: {\n                img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_2.jpg?v=1741747258',\n                img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_2_mb.jpg?v=1741747256'\n            },\n            item3: [\n                {\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_3.jpg?v=1741747258',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_3_mb.jpg?v=1741747256'\n                },\n                {\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_4.jpg?v=1741747257',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_4_mb.jpg?v=1741747256'\n                }\n            ],\n            item4: [\n                {\n                    title: 'Wi-Fi 6 \u0026 App Control',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_5.jpg?v=1741747257',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_5_mb.jpg?v=1741747256'\n                },\n                {\n                    title: 'GPS Tracking',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_6.jpg?v=1741747257',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_6_mb.jpg?v=1741747256'\n                },\n                {\n                    title: 'Super Night Vision',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_7.jpg?v=1741747258',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_7_mb.jpg?v=1741747256'\n                }\n            ],\n            item5: [\n                {\n                    title: 'Loop Recording',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_8.jpg?v=1742442703',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_8_mb.jpg?v=1742442703'\n                },\n                {\n                    title: 'Collision Sensing',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_9.jpg?v=1741747258',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_9_mb.jpg?v=1741747256'\n                },\n                {\n                    title: '24H Parking Monitor',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_10.jpg?v=1741747257',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_10_mb.jpg?v=1741747256'\n                }\n            ],\n            item6: [\n                {\n                    title: 'Package Contents',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_11.jpg?v=1742442840',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_11_mb.jpg?v=1742442839'\n                },\n                {\n                    title: 'Easy to Install',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_12.jpg?v=1741747257',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_12_mb.jpg?v=1741747255'\n                },\n                {\n                    title: 'Specifications',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_13.jpg?v=1741747256',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_Description_13_mb.jpg?v=1741747255'\n                }\n            ],\n            item7: [\n                {\n                    title: 'Mini 2',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_Mini2.jpg?v=1741747255',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_Mini2_mb.jpg?v=1741747255',\n                    link: '',\n                    specifications: [\n                        '2K(2560x1440) @30fps',\n                        '1920x1080P @25fps',\n                        'X',\n                        '2.4G',\n                        'Bluetooth 4.2',\n                        'NOT Included'\n                    ]\n                },\n                {\n                    title: 'Mini S',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_MiniS.jpg?v=1741747255',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_MiniS_mb.jpg?v=1741747255',\n                    link: '\/en-gb\/products\/mini-s-uk',\n                    specifications: [\n                        '4K(3840x2160) @25fps',\n                        'X',\n                        'X',\n                        '2.4G',\n                        'Bluetooth 4.2',\n                        'NOT Included'\n                    ]\n                },\n                {\n                    title: 'S1',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_S_Description_S1.jpg?v=1739441641',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_S_Description_S1_mb.jpg?v=1739441641',\n                    link: '\/en-gb\/products\/s1-uk',\n                    specifications: [\n                        '4K(3840x2160) @30fps',\n                        'X',\n                        '3\" IPS',\n                        '2.4G \u0026 5G',\n                        'Bluetooth 4.2',\n                        'NOT Included'\n                    ]\n                }\n            ],\n            item8: [\n                {\n                    title: \"How does the dash cam start working?\",\n                    content: [\n                        \"When using it for the first time, simply power on the dash cam and follow the instructions in the manual to connect the app and activate the device. After the initial setup, the dash cam will automatically start recording whenever it is powered on.\"\n                    ]\n                },\n                {\n                    title: \"Why is the video quality of my dash cam unclear?\",\n                    content: [\n                        \"To ensure smoother video playback, the videos viewed on the app or the dash cam screen are compressed and may not represent the original video quality. Please download the video to your phone's gallery or computer for better clarity.\"\n                    ]\n                },\n                {\n                    title: \"I want to use the parking monitoring function. Do I have to buy a separate hard wire kit?\",\n                    content: [\n                        \"Yes, the hardwire kit (ASIN: B0DSDW283Y) enables the Mini S Dash Cam's parking monitoring mode. The hard-wire kit is not included; you need to purchase it separately.\"\n                    ]\n                },\n                {\n                    title: \"Do I need to buy an SD card to use this dash cam? Which memory card is recommended?\",\n                    content: [\n                        \"This dash cam supports memory cards from 32 GB to 512 GB. The SD card is NOT INCLUDED. If you need to purchase a new one, we recommend a U3 Class 10 microSD card from Miofive.\"\n                    ]\n                },\n                {\n                    title: \"How does the dash cam format the memory card?\",\n                    content: [\n                        \"Open the Miofive app, go to My Device → Quick Settings → More → Format Memory Card.\",\n                        \"Please be aware that formatting the memory card will erase all existing data. Ensure that you have backed up important files before proceeding with the forma process.\"\n                    ]\n                }\n            ]\n        };\n        return data;\n    }\n\n    const descriptionData = initData();\n    \/\/规格数据\n    const specificationData = descriptionData.item7;\n    const specificationTitle = \"Miofive Dashcam\";\n    const specificationList = [\n        'Front Resolution',\n        'Rear Resolution',\n        'Display',\n        'Wi-Fi',\n        'Bluetooth',\n        'SD Card（Included）',\n        'Super Capacitor'\n    ];\n\n    addItem1();\n    addItem2();\n    addItem3();\n    addItem4();\n    addItem5();\n    addItem6();\n    addSpecification();\n    addFAQs();\n\n    function addItem1() {\n        const descriptionItem1 = document.getElementById('description-item-1');\n        descriptionItem1.innerHTML = addPicture(descriptionData.item1);\n    }\n\n    function addItem2() {\n        const descriptionItem2 = document.getElementById('description-item-2');\n        descriptionItem2.innerHTML = addPicture(descriptionData.item2);\n    }\n\n    function addItem3() {\n        const dots = [];\n        let list = descriptionData.item3;\n        let dotCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 3;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n        list.forEach((item, index) =\u003e {\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e'\n                + addPicture(item)\n                + '\u003c\/div\u003e';\n        });\n\n        scrollOption += '\u003c\/div\u003e';\n\n        option += scrollOption + addDotButton(dotCount, \"scroll-\" + descriptionId + \"-\");\n        descriptionItem.innerHTML = option;\n\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(dots, selectIndex);\n            }\n        });\n\n        for (let i = 0; i \u003c dotCount; i++) {\n            let dotBtn = document.getElementById(\"scroll-\" + descriptionId + \"-\" + (i + 1));\n            if (dotBtn) {\n                dotBtn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                dots.push(dotBtn);\n            }\n        }\n        showSelectDot(dots, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = dotCount - 1;\n                }\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e dotCount - 1) {\n                    index = 0;\n                }\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    function addItem4() {\n        const headers = [];\n        let list = descriptionData.item4;\n        let headerCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 4;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let headerOption = '\u003cdiv class=\"description-wrapper-header\" id=\"description-scroll-header-' + descriptionId + '\"\u003e';\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n\n        list.forEach((item, index) =\u003e {\n            let id = index + 1;\n            headerOption += '\u003cspan class=\"description-header-button\" id=\"description-header-button-' + descriptionId + \"-\" + id + '\"\u003e' + item.title + '\u003c\/span\u003e';\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e' + addPicture(item) + '\u003c\/div\u003e';\n        });\n\n        headerOption += '\u003c\/div\u003e';\n        scrollOption += '\u003c\/div\u003e';\n\n        option += headerOption + scrollOption;\n\n        descriptionItem.innerHTML = option;\n\n        const scrollHeader = document.getElementById('description-scroll-header-' + descriptionId);\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(headers, selectIndex);\n\n                let left = getHeaderBtnOffsetLetf(headers, selectIndex);\n                scrollHeader.scrollLeft = left - 20;\n            }\n        });\n\n        for (let i = 0; i \u003c headerCount; i++) {\n            let btn = document.getElementById(\"description-header-button-\" + descriptionId + \"-\" + (i + 1));\n            if (btn) {\n                btn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                headers.push(btn);\n            }\n        }\n        showSelectDot(headers, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = headerCount - 1;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e headerCount - 1) {\n                    index = 0;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    function addItem5() {\n        const headers = [];\n        let list = descriptionData.item5;\n        let headerCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 5;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let headerOption = '\u003cdiv class=\"description-wrapper-header\" id=\"description-scroll-header-' + descriptionId + '\"\u003e';\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n\n        list.forEach((item, index) =\u003e {\n            let id = index + 1;\n            headerOption += '\u003cspan class=\"description-header-button\" id=\"description-header-button-' + descriptionId + \"-\" + id + '\"\u003e' + item.title + '\u003c\/span\u003e';\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e' + addPicture(item) + '\u003c\/div\u003e';\n        });\n\n        headerOption += '\u003c\/div\u003e';\n        scrollOption += '\u003c\/div\u003e';\n\n        option += headerOption + scrollOption;\n\n        descriptionItem.innerHTML = option;\n\n        const scrollHeader = document.getElementById('description-scroll-header-' + descriptionId);\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(headers, selectIndex);\n\n                let left = getHeaderBtnOffsetLetf(headers, selectIndex);\n                scrollHeader.scrollLeft = left - 20;\n            }\n        });\n\n        for (let i = 0; i \u003c headerCount; i++) {\n            let btn = document.getElementById(\"description-header-button-\" + descriptionId + \"-\" + (i + 1));\n            if (btn) {\n                btn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                headers.push(btn);\n            }\n        }\n        showSelectDot(headers, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = headerCount - 1;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e headerCount - 1) {\n                    index = 0;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    function addItem6() {\n        const headers = [];\n        let list = descriptionData.item6;\n        let headerCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 6;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let headerOption = '\u003cdiv class=\"description-wrapper-header\" id=\"description-scroll-header-' + descriptionId + '\"\u003e';\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n\n        list.forEach((item, index) =\u003e {\n            let id = index + 1;\n            headerOption += '\u003cspan class=\"description-header-button\" id=\"description-header-button-' + descriptionId + \"-\" + id + '\"\u003e' + item.title + '\u003c\/span\u003e';\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e' + addPicture(item) + '\u003c\/div\u003e';\n        });\n\n        headerOption += '\u003c\/div\u003e';\n        scrollOption += '\u003c\/div\u003e';\n\n        option += headerOption + scrollOption;\n\n        descriptionItem.innerHTML = option;\n\n        const scrollHeader = document.getElementById('description-scroll-header-' + descriptionId);\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(headers, selectIndex);\n\n                let left = getHeaderBtnOffsetLetf(headers, selectIndex);\n                scrollHeader.scrollLeft = left - 20;\n            }\n        });\n\n        for (let i = 0; i \u003c headerCount; i++) {\n            let btn = document.getElementById(\"description-header-button-\" + descriptionId + \"-\" + (i + 1));\n            if (btn) {\n                btn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                headers.push(btn);\n            }\n        }\n        showSelectDot(headers, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = headerCount - 1;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e headerCount - 1) {\n                    index = 0;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    \/\/规格\n    function addSpecification() {\n        const specification = document.getElementById('description-specification');\n\n        const specificationDots = [];\n        let dotCount = 0;\n        let specificationSelectIndex = 0;\n        if (window.matchMedia(\"(max-width: 767px)\").matches) {\n            specification.innerHTML = addSpecificationMobile();\n            dotCount = 3;\n        } else {\n            specification.innerHTML = addSpecificationDesktop();\n            dotCount = 2;\n        }\n\n        const scrollSpecification = document.getElementById(\"description-scroll-specification\");\n        scrollSpecification.addEventListener('scroll', () =\u003e {\n            let index = scrollSpecification.scrollLeft \/ scrollSpecification.offsetWidth;\n            index = Math.round(index);\n\n            if (specificationSelectIndex != index) {\n                specificationSelectIndex = index;\n                showSelectDot(specificationDots, specificationSelectIndex);\n                updateSpecificationsContent(specificationSelectIndex);\n            }\n        });\n\n        for (let i = 0; i \u003c dotCount; i++) {\n            let dotBtn = document.getElementById(\"specification-\" + (i + 1));\n            if (dotBtn) {\n                dotBtn.addEventListener('click', () =\u003e {\n                    scrollSpecification.scrollLeft = i * scrollSpecification.offsetWidth;\n                });\n\n                specificationDots.push(dotBtn);\n            }\n        }\n\n        showSelectDot(specificationDots, specificationSelectIndex);\n        updateSpecificationsContent(specificationSelectIndex);\n\n        const previous = document.getElementById(\"specification-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = specificationSelectIndex - 1;\n                if (index \u003c 0) {\n                    index = dotCount - 1;\n                }\n\n                scrollSpecification.scrollLeft = index * scrollSpecification.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"specification-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = specificationSelectIndex + 1;\n                if (index \u003e dotCount - 1) {\n                    index = 0;\n                }\n\n                scrollSpecification.scrollLeft = index * scrollSpecification.offsetWidth;\n            });\n        }\n    }\n\n    function addSpecificationDesktop() {\n        let specificationOption = '\u003cdiv class=\"description-column\"\u003e'\n            + '\u003ch3 class=\"description-column-title\"\u003e' + specificationData[0].title + '\u003c\/h3\u003e'\n            + addPicture(specificationData[0])\n            + '\u003c\/div\u003e';\n\n        specificationOption += '\u003cdiv class=\"description-column-specifications\"\u003e'\n            + '\u003cdiv class=\"description-specifications\"\u003e'\n            + '\u003ch3 class=\"description-specifications-title\"\u003e' + specificationTitle + '\u003c\/h3\u003e'\n            + '\u003cdiv class=\"description-specifications-border\"\u003e'\n            + '\u003cdiv class=\"description-specifications-column\"\u003e'\n            + addSpecificationList(specificationData[0].specifications, true)\n            + '\u003c\/div\u003e'\n            + '\u003cdiv class=\"description-specifications-column\"\u003e'\n            + addSpecificationList(specificationList, false)\n            + '\u003c\/div\u003e'\n            + '\u003cdiv class=\"description-specifications-column\" id=\"description-specification-content\"\u003e\u003c\/div\u003e'\n            + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e';\n\n        specificationOption += '\u003cdiv class=\"description-column\"\u003e'\n            + previousButton(\"specification-previous\")\n            + nextButton(\"specification-next\")\n            + '\u003cdiv class=\"description-container\" id=\"description-scroll-specification\"\u003e'\n            + addSpecificationsProduct(specificationData[1])\n            + addSpecificationsProduct(specificationData[2])\n            + '\u003c\/div\u003e'\n            + addDotButton(2, \"specification-\")\n            + '\u003c\/div\u003e';\n\n        return specificationOption;\n    }\n\n    function addSpecificationMobile() {\n        let specificationOption = '\u003ch3 class=\"description-specifications-title\"\u003e' + specificationTitle + '\u003c\/h3\u003e'\n\n        specificationOption += '\u003cdiv class=\"description-container\" id=\"description-scroll-specification\"\u003e'\n        specificationData.forEach(item =\u003e {\n            specificationOption += '\u003cdiv class=\"description-wrapper\"\u003e';\n            specificationOption += addPicture(item);\n            specificationOption += '\u003ch3 class=\"description-column-title\"\u003e' + item.title + '\u003c\/h3\u003e';\n            specificationOption += addSpecificationListMobile(item.specifications);\n            if (item.link) {\n                specificationOption += '\u003ca class=\"description-specifications-a\" href=\"' + item.link + '\"\u003e \u003cdiv class=\"description-specifications-button\"\u003e' + \"Learn More\" + '\u003c\/div\u003e \u003c\/a\u003e';\n            }\n            specificationOption += '\u003c\/div\u003e'\n        });\n        specificationOption += addDotButton(3, \"specification-\");\n        specificationOption += '\u003c\/div\u003e'\n\n        return specificationOption;\n    }\n\n    function addSpecificationList(list, addIcon) {\n        let option = '';\n        list.forEach(item =\u003e {\n            option += '\u003cp\u003e' + item + '\u003c\/p\u003e';\n        });\n        if (addIcon) {\n            option += '\u003cp\u003e' + getSupportIcon() + '\u003c\/p\u003e';\n        }\n\n        return option;\n    }\n\n    function addSpecificationListMobile(list) {\n        let option = '';\n        list.forEach((item, index) =\u003e {\n            option += '\u003cdiv class=\"description-specifications-item\"\u003e'\n                + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + specificationList[index] + '\u003c\/div\u003e'\n                + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + item + '\u003c\/div\u003e'\n                + '\u003c\/div\u003e';\n        });\n\n        option += '\u003cdiv class=\"description-specifications-item\"\u003e'\n            + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + specificationList[specificationList.length - 1] + '\u003c\/div\u003e'\n            + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + getSupportIcon() + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e';\n        return option;\n    }\n\n    function getSupportIcon() {\n        let icon = '\u003csvg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\"\u003e \u003cpath d=\"M16,0C7.13333,0,0,7.13333,0,16C0,24.8667,7.13333,32,16,32C24.8667,32,32,24.8667,32,16C32,7.13333,24.8667,0,16,0ZM26,12L15.4,22.6C14.6667,23.3333,13.3333,23.3333,12.6,22.6L6,16Q5,15,6,14Q7,13,8,14L14,20L24,10Q25,9,26,10Q27,11,26,12Z\" fill=\"#000000\" fill-opacity=\"1\" \/\u003e \u003c\/svg\u003e';\n        return icon;\n    }\n\n    function addSpecificationsProduct(item) {\n        let option = '\u003cdiv class=\"description-wrapper\"\u003e'\n            + '\u003ch3 class=\"description-column-title\"\u003e' + item.title + '\u003c\/h3\u003e'\n            + '\u003ca href=\"' + item.link + '\"\u003e' + addPicture(item) + ' \u003c\/a\u003e'\n            + '\u003c\/div\u003e';\n\n        return option;\n    }\n\n    function updateSpecificationsContent(index) {\n        if (window.matchMedia(\"(max-width: 767px)\").matches) {\n            return;\n        }\n        let option = addSpecificationList(specificationData[index + 1].specifications, true);\n        const specificationContent = document.getElementById('description-specification-content');\n        specificationContent.innerHTML = option;\n    }\n\n    function addFAQs() {\n        let list = descriptionData.item8;\n        const faqs = document.getElementById('description-faqs');\n        let faqsOption = '';\n        list.forEach((item, index) =\u003e {\n            const id = \"description-faqs-collapse-\" + (index + 1);\n            faqsOption += '\u003cdiv class=\"description-faqs-item\"\u003e';\n\n            faqsOption += '\u003cdiv class=\"description-faqs-header\" data-target=\"' + id + '\" aria-controls=\"' + id + '\"\u003e'\n                + '\u003cdiv class=\"description-faqs-title\"\u003e' + item.title + '\u003c\/div\u003e \u003cdiv class=\"description-faqs-arrow\"\u003e' + faqIcon() + '\u003c\/div\u003e'\n                + '\u003c\/div\u003e';\n\n            faqsOption += '\u003cdiv id=\"' + id + '\" class=\"description-faqs-collapse\"\u003e';\n            item.content.forEach(content =\u003e {\n                faqsOption += '\u003cdiv class=\"description-faqs-collapse-text\"\u003e' + content + '\u003c\/div\u003e';\n            });\n            faqsOption += '\u003c\/div\u003e';\n\n            faqsOption += '\u003c\/div\u003e';\n        });\n        faqs.innerHTML = faqsOption;\n\n        \/\/问答点击事件\n        document.querySelectorAll('.description-faqs-header').forEach(item =\u003e {\n            item.addEventListener('click', (event) =\u003e {\n                const targetId = item.getAttribute('data-target');\n                const controlsId = item.getAttribute('aria-controls');\n                if (targetId === controlsId) {\n                    item.classList.toggle('description-faqs-collapsed');\n                    const collapse = document.getElementById(targetId);\n                    if (collapse.style.display === 'block') {\n                        item.classList.remove('active');\n                        collapse.style.display = 'none';\n                    } else {\n                        item.classList.add('active');\n                        collapse.style.display = 'block';\n                    }\n                }\n            });\n        });\n    }\n\n    \/\/图片\n    function addPicture(item) {\n        let option;\n        if (item.img_mb) {\n            option = '\u003cpicture\u003e\u003csource media=\"(max-width: 767px)\" srcset=\"' + item.img_mb + '\"\u003e\u003cimg src=\"' + item.img + '\"\u003e\u003c\/picture\u003e';\n        } else {\n            option = '\u003cimg src=\"' + item.img + '\"\u003e';\n        }\n        return option;\n    }\n\n    function addItem2Content(item) {\n        let connectOption = '';\n        item.content.forEach(content =\u003e {\n            connectOption += '\u003cp\u003e' + content + '\u003c\/p\u003e';\n        });\n\n        let option = '\u003cdiv class=\"description-wrapper-item description-wrapper-text\"\u003e'\n            + '\u003cdiv\u003e'\n            + '\u003ch3\u003e' + item.title + '\u003c\/h3\u003e'\n            + connectOption\n            + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e';\n\n        return option;\n    }\n\n    \/\/上一个按钮\n    function previousButton(id) {\n        let buttonOption = '\u003cbutton type=\"button\" class=\"description-scroll-btn description-scroll-btn-left\" name=\"previous\" id=\"' + id + '\"\u003e'\n            + '\u003csvg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewBox=\"0 0 10 6\"\u003e \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z\"\u003e\u003c\/svg\u003e'\n            + '\u003c\/button\u003e'\n        return buttonOption;\n    }\n\n    \/\/下一个按钮\n    function nextButton(id) {\n        let buttonOption = '\u003cbutton type=\"button\" class=\"description-scroll-btn description-scroll-btn-right\" name=\"next\" id=\"' + id + '\"\u003e'\n            + '\u003csvg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewBox=\"0 0 10 6\"\u003e \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z\"\u003e\u003c\/svg\u003e'\n            + '\u003c\/button\u003e'\n        return buttonOption;\n    }\n\n    \/\/圆点按钮\n    function addDotButton(count, id) {\n        let option = '\u003cdiv class=\"description-dot-container\"\u003e';\n        for (let i = 0; i \u003c count; i++) {\n            option += '\u003cbutton class=\"description-dot\" id=\"' + id + (i + 1) + '\"\u003e' + \" \" + '\u003c\/button\u003e';\n        }\n        option += '\u003c\/div\u003e';\n        return option;\n    }\n\n    function showSelectDot(list, selectIndex) {\n        removeSelectDot(list);\n        if (selectIndex \u003c list.length) {\n            list[selectIndex].classList.add('active');\n        }\n    }\n\n    function removeSelectDot(list) {\n        list.forEach(btn =\u003e btn.classList.remove('active'));\n    }\n\n    function faqIcon() {\n        let icon = '\u003csvg viewBox=\"0 0 24 24\"\u003e \u003cpath d=\"M23.7473,6.245925C23.5906,6.0872122,23.3685,6.000865772,23.1247,6.000865772C22.8461,6.000865772,22.5753,6.113077,22.3794,6.308586L11.9994,16.8194L1.61957,6.309961C1.42452,6.113077,1.15371,6,0.875967,6C0.630434,6,0.408393,6.0872416,0.249915,6.246851C-0.106638,6.609795,-0.0783419,7.23016,0.313478,7.62776L11.2341,18.6844C11.43,18.8825,11.6939,18.9973,11.9603,19L12.0596,19C12.3199,18.9912,12.5759,18.877200000000002,12.7675,18.6844L23.6872,7.62686C24.079,7.22834,24.1069,6.6075859999999995,23.7473,6.245925Z\" fill=\"#000000\" fill-opacity=\"1\" \/\u003e\u003c\/svg\u003e';\n        return icon;\n    }\n\n    function getHeaderBtnOffsetLetf(list, selectIndex) {\n        if (selectIndex \u003c list.length) {\n            return list[selectIndex].offsetLeft;\n        }\n\n        return 0;\n    }\n\u003c\/script\u003e","brand":"Miofive","offers":[{"title":"Default Title","offer_id":49545912025392,"sku":"Mini 2-UK","price":106.8,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Mini2_1.webp?v=1782108388"},{"product_id":"miofive-mini2-front-and-rear-dash-cam","title":"MIOFIVE Dashcam Mini 2 – 2K + 1080P FHD Dual Dashcam (ohne SD-Karte)","description":"\u003cstyle type=\"text\/css\"\u003e\n    .description-content {\n        margin: 0px auto;\n        padding: 0px;\n    }\n\n    .description-item {\n        width: 100%;\n        margin: 0px auto;\n        padding: 0px;\n    }\n\n    .description-item img {\n        width: 100%;\n    }\n\n    .description-scroll {\n        position: relative;\n        margin: 0px auto;\n        padding: 0px;\n    }\n\n    .description-scroll-btn {\n        top: 50%;\n        position: absolute;\n        padding: 10px;\n        cursor: pointer;\n        width: 42px;\n        height: 42px;\n        border-radius: 50%;\n        background-color: rgb(247, 247, 247);\n        border: 1px solid var(--icon);\n        transform: translateY(-50%);\n        border-color: transparent;\n        z-index: 1;\n    }\n\n    .description-scroll-btn-left {\n        left: 0;\n        margin-left: -0.2rem;\n        transform: rotate(90deg) translateX(-0.15rem);\n    }\n\n    .description-scroll-btn-left:hover {\n        transform: rotate(90deg) translateX(-0.15rem) scale(0.98);\n    }\n\n    .description-scroll-btn-right {\n        right: 0;\n        margin-right: -0.2rem;\n        transform: rotate(-90deg) translateX(0.15rem);\n    }\n\n    .description-scroll-btn-right:hover {\n        transform: rotate(-90deg) translateX(0.15rem) scale(0.98);\n    }\n\n    .description-dot-container {\n        position: absolute;\n        bottom: 20px;\n        width: 100%;\n        display: flex;\n        justify-content: center;\n    }\n\n    .description-dot {\n        background-color: #fff;\n        \/* 圆点颜色 *\/\n        border: 1px solid #000;\n        \/* 边框 *\/\n        padding: 6px;\n        \/* 圆点大小 *\/\n        border-radius: 50%;\n        \/* 设置为圆形 *\/\n        margin: 0 5px;\n        \/* 圆点之间的间距 *\/\n        cursor: pointer;\n        \/* 鼠标悬停时显示手形图标 *\/\n        outline: none;\n        \/* 点击时不显示轮廓 *\/\n    }\n\n    .description-dot.active {\n        background-color: #DE7921;\n    }\n\n    .description-container {\n        padding: 0px;\n        margin: 0px;\n        display: flex;\n        overflow-x: auto;\n        scroll-snap-type: x mandatory;\n        scroll-behavior: smooth;\n        scrollbar-width: none;\n        -ms-overflow-style: none;\n    }\n\n    .description-container::-webkit-scrollbar {\n        display: none;\n    }\n\n    .description-wrapper {\n        position: relative;\n        flex: 0 0 100%;\n        width: 100%;\n        display: flex;\n        scroll-snap-align: start;\n        scroll-snap-stop: always;\n    }\n\n    .description-wrapper img {\n        width: 100%;\n    }\n\n    .description-wrapper h3 {\n        margin: 0px;\n        padding: 0px;\n        font-size: 20px;\n        font-weight: 700;\n        color: #232323;\n        margin-bottom: 15px;\n    }\n\n    .description-wrapper p {\n        margin: 0px;\n        padding: 0px;\n        font-size: 14px;\n        margin-bottom: 8px;\n    }\n\n    .description-wrapper-item {\n        flex: 1;\n    }\n\n    .description-wrapper-text {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        padding-left: 5%;\n        padding-right: 5%;\n    }\n\n    .description-wrapper-header {\n        display: flex;\n        padding: 10px 0 12px 100px;\n        margin: 0px;\n        align-items: center;\n        justify-content: center;\n        background-color: #3A3E48;\n        overflow-x: auto;\n        overflow-y: hidden;\n        white-space: nowrap;\n        scroll-snap-align: start;\n        scroll-snap-stop: always;\n        scrollbar-width: none;\n        -ms-overflow-style: none;\n    }\n\n    .description-wrapper-header::-webkit-scrollbar {\n        display: none;\n    }\n\n    .description-header-button {\n        color: white;\n        text-align: center;\n        font-size: 20px;\n        font-weight: 700;\n        margin-right: 80px;\n        padding: 5px 0 5px 0;\n        background-color: transparent;\n    }\n\n    .description-header-button.active {\n        border-bottom: 3px solid #fff;\n    }\n\n    .description-specification-item {\n        display: flex;\n        display: -ms-flex;\n        flex-wrap: wrap;\n        width: 100%;\n    }\n\n    .description-column {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        width: 30%;\n    }\n\n    .description-column-specifications {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        width: 40%;\n    }\n\n    .description-column-mb {\n        position: relative;\n        width: 100%;\n    }\n\n    .description-column img {\n        width: 100%;\n    }\n\n    .description-column-title {\n        position: absolute;\n        top: 5%;\n        left: 30%;\n        margin: 0px;\n        padding: 0px;\n        font-size: 20px;\n        font-weight: 700;\n        color: #232323;\n        margin-bottom: 15px;\n    }\n\n\n    .description-title {\n        width: 100%;\n        font-size: 22px;\n        font-weight: 700;\n        color: #232323;\n        text-align: center;\n        margin-top: 20px;\n        margin-bottom: 20px;\n    }\n\n    .description-specifications {\n        position: relative;\n        width: 100%;\n    }\n\n    .description-specifications-title {\n        width: 100%;\n        font-size: 20px;\n        font-weight: 700;\n        color: #232323;\n        text-align: center;\n    }\n\n    .description-specifications-border {\n        border: 1px solid #000;\n        display: flex;\n        display: -ms-flex;\n        flex-wrap: wrap;\n        margin: 0px 3px 0px 3px;\n        padding-top: 15px;\n        padding-bottom: 15px;\n    }\n\n    .description-specifications-column {\n        position: relative;\n        width: 33.333%;\n    }\n\n    .description-specifications-column p {\n        width: 100%;\n        text-align: center;\n        font-size: 12px;\n        color: #232323;\n        margin-bottom: 35px;\n    }\n\n    .description-specifications-item {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        width: 88%;\n        margin-left: 6%;\n        margin-right: 6%;\n        border-bottom: 1px solid #232323;\n    }\n\n    .description-specifications-item-text {\n        text-align: center;\n        font-size: 14px;\n        color: #232323;\n        margin-top: 3px;\n        margin-bottom: 3px;\n    }\n\n    .description-specifications-a {\n        text-decoration: none;\n    }\n\n    .description-specifications-button {\n        width: 80%;\n        margin-top: 15px;\n        margin-left: 10%;\n        margin-bottom: 45px;\n        padding-top: 10px;\n        padding-bottom: 10px;\n        background-color: #232323;\n        color: #fff;\n        border: none;\n        border-radius: 20px;\n        font-size: 16px;\n        text-align: center;\n    }\n\n    .description-faqs-item {\n        background-color: #fafafa;\n        padding: 0px 30px 0px 30px;\n        margin: 15px 0px 15px 0px;\n    }\n\n    .description-faqs-header {\n        position: relative;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        width: 100%;\n    }\n\n    .description-faqs-header.active {\n        border-bottom: 1px solid #232323;\n    }\n\n    .description-faqs-title {\n        font-size: 18px;\n        color: #232323;\n        background-color: #fafafa;\n        text-align: left;\n        padding: 10px 0 10px 0;\n    }\n\n    .description-faqs-arrow {\n        --rotation: -180deg;\n        width: 14px;\n        height: 14px;\n        transform: rotate(var(--rotation));\n        transition: all .3s ease;\n    }\n\n    .description-faqs-header:not(.description-faqs-collapsed) .description-faqs-arrow {\n        --rotation: 0deg;\n    }\n\n    .description-faqs-collapse {\n        display: none;\n        padding-bottom: 10px;\n        transition: all .5s ease-out;\n    }\n\n    .description-faqs-collapse-text {\n        font-size: 14px;\n        margin-top: 10px;\n    }\n\n    .description-contact-us-title {\n        width: 100%;\n        font-size: 22px;\n        font-weight: 700;\n        color: #232323;\n        text-align: center;\n        margin-top: 20px;\n        margin-bottom: 20px;\n    }\n\n    .description-contact-us-text {\n        text-align: center;\n        font-size: 14px;\n        color: #232323;\n        padding: 0px 30px 0px 30px;\n        margin: 15px 0px 15px 0px;\n    }\n\t\n\t.description-invisible {\n        visibility: hidden;\n\t\tdisplay: none;\n    }\n\n\t.description-bold-link {\n\t\tfont-weight: bold; \/* 或者使用 font-weight: 700; *\/\n\t\ttext-decoration: none; \/* 可选：去除下划线 *\/\n\t\tcolor: #000000;      \/* 可选：设置链接颜色 *\/\n\t\t \n\t}\n\n\t\/* 鼠标悬停时保持加粗并改变颜色 *\/\n\t.description-bold-link:hover {\n\t\tcolor: #004499;\n\t\ttext-decoration: underline;\n\t}\n\t\n    @media screen and (max-width: 767px) {\n        .description-wrapper {\n            display: block;\n        }\n\n        .description-wrapper img {\n            width: 100%;\n        }\n\n        .description-wrapper-text {\n            margin-top: 30px;\n        }\n\n        .description-wrapper-header {\n            justify-content: start;\n            padding-left: 30px;\n            padding-right: 30px;\n        }\n\n        .description-column {\n            width: 50%;\n        }\n\n        .description-specification-item {\n            position: relative;\n            display: block;\n        }\n\n        .description-column-title {\n            position: relative;\n            width: 100%;\n            text-align: center;\n            top: 0px;\n            left: 0px;\n            margin-bottom: 0px;\n        }\n\n        .description-faqs-title {\n            font-size: 16px;\n        }\n\t\t\n\t\t.description-invisible {\n\t\t\tvisibility: visible;\n            display: block;\n\t\t}\n    }\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"description-content\"\u003e\n\n    \u003cdiv class=\"description-item\" id=\"description-item-1\"\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"description-scroll\" id=\"description-item-2\"\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"description-scroll\" id=\"description-item-3\"\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"description-scroll\" id=\"description-item-4\"\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"description-scroll\" id=\"description-item-5\"\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"description-specification-item\" id=\"description-specification\"\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"description-item\" id=\"description-faqs\"\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv\u003e\n        \u003cbr\u003e\n\t\t\u003cdiv class=\"description-contact-us-title\"\u003e KONTAKTIEREN SIE UNS\u003c\/div\u003e\n        \u003cdiv class=\"description-contact-us-text\"\u003eHaben Sie eine Frage oder einen Kommentar? Schreiben Sie uns eine E-Mail an \u003ca style=\"color: #000;\" href=\"mailto:support@miofive.com?subject=Assistance%20Required%20-%20Order%20Number:\u0026amp;body=Hi%20Miofive%20%20%0A%0A%20My%20Order%20Number%20is:%20%20%20%0A%0A%0APlease%20type%20your%20question%20below,%20and%20tell%20us%20how%20can%20we%20help%20you?\"\u003esupport@miofive.com\u003c\/a\u003e . Unser engagiertes Kundensupport-Team hilft Ihnen gerne weiter und antwortet Ihnen werktags innerhalb von 24 Stunden.\u003c\/div\n\t\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    function initData() {\n        const data = {\n            item1: {\n                img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_1.webp?v=1763004101',\n                img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_1_mb.webp?v=1763004111'\n            },\n            item2: [\n                {\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_2.webp?v=1763004101',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_2_mb.webp?v=1763004112'\n                },\n                {\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_3.webp?v=1763004101',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_3_mb.webp?v=1763004112'\n                }\n            ],\n            item3: [\n                {\n                    title: 'Wi-Fi 6 \u0026 App Control',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_4.webp?v=1763004101',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_4_mb.webp?v=1763004112'\n                },\n                {\n                    title: 'GPS Tracking',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_5.webp?v=1763004101',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_5_mb.webp?v=1763004112'\n                },\n                {\n                    title: 'Super Night Vision',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_6.webp?v=1763004101',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_6_mb.webp?v=1763004112'\n                }\n            ],\n            item4: [\n                {\n                    title: 'Loop Recording',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_7.webp?v=1763004101',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_7_mb.webp?v=1763004112'\n                },\n                {\n                    title: 'Collision Sensing',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_8.webp?v=1763004101',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_8_mb.webp?v=1763004112'\n                },\n                {\n                    title: '24H Parking Monitor',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_9.webp?v=1763004101',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_9_mb.webp?v=1763004112'\n                }\n            ],\n            item5: [\n                {\n                    title: 'Package Contents',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_10.webp?v=1763004100',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_10_mb.webp?v=1763004112'\n                },\n                {\n                    title: 'Easy to Install',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_11.webp?v=1763004100',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_11_mb.webp?v=1763004112'\n                },\n                {\n                    title: 'Specifications',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_12.webp?v=1763004100',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_Mini2_Description_12_mb.webp?v=1763004112'\n                }\n            ],\n            item6: [\n                {\n                    title: 'Mini 2',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_Mini2.jpg?v=1741747255',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_Mini2_mb.jpg?v=1741747255',\n                    link: '',\n                    specifications: [\n                        '2K(2560x1440) @30fps',\n                        '1920x1080P @25fps',\n                        '-',\n                        '2.4G',\n                        'Bluetooth 4.2',\n                        'NOT Included'\n                    ]\n                },\n                {\n                    title: 'Mini S',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_MiniS.jpg?v=1741747255',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/UK_Description_MiniS_mb.jpg?v=1741747255',\n                    link: '\/de\/products\/mini-s',\n                    specifications: [\n                        '4K(3840x2160) @25fps',\n                        '-',\n                        '-',\n                        '2.4G',\n                        'Bluetooth 4.2',\n                        'NOT Included'\n                    ]\n                },\n                {\n                    title: 'S1+32G',\n                    img: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_S_Description_S1.jpg?v=1739441641',\n                    img_mb: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/US_S_Description_S1_mb.jpg?v=1739441641',\n                    link: '\/de\/products\/s1-32g',\n                    specifications: [\n                        '4K(3840x2160) @30fps',\n                        '-',\n                        '3\" IPS',\n                        '2.4G \u0026 5G',\n                        'Bluetooth 4.2',\n                        '32GB'\n                    ]\n                }\n            ],\n            item7: [\n                {\n                    title: '① Does the Mini 2 support front and rear recording at the same time?',\n                    content: [\n                        {\n\t\t\t\t\t\t\tdescription: 'Yes. The Mini 2 supports simultaneous dual-channel recording with 2K front recording and 1080P rear recording for more complete road coverage.',\n\t\t\t\t\t\t\tkeywords: []\n\t\t\t\t\t\t}\n                    ]\n                },\n                {\n                    title: '② Can this dash cam handle extreme summer heat?',\n                    content: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: 'Yes. The Mini 2 uses a supercapacitor instead of a traditional lithium battery, providing reliable performance in extreme temperatures ranging from -4℉ to 158℉ (-20℃ to 70℃).',\n\t\t\t\t\t\t\tkeywords: []\n\t\t\t\t\t\t}\n                    ]\n                },\n                {\n                    title: '③ Does it record while my car is parked?',\n                    content: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: 'Yes. Parking monitor helps detect impacts and suspicious activity while your vehicle is parked.',\n\t\t\t\t\t\t\tkeywords: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: 'To enable parking mode, the dash cam requires either a hardwire kit or an OBD II power cable (sold separately). Only one power option is needed.',\n\t\t\t\t\t\t\tkeywords: [\n\t\t\t\t\t\t\t\t{ text: 'hardwire kit', link: 'https:\/\/www.miofive.com\/collections\/all-accessories\/products\/type-c-hardwire-kit' },\n\t\t\t\t\t\t\t\t{ text: 'OBD II power cable', link: 'https:\/\/www.miofive.com\/collections\/all-accessories\/products\/miofive-obd-ii-power-cable ' }\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n                    ]\n                },\n                {\n                    title: '④ Does it come with an SD card?',\n                    content: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: 'No. A microSD card is required and sold separately. High-endurance microSD cards are recommended for continuous recording and long-term reliability.',\n\t\t\t\t\t\t\tkeywords: []\n\t\t\t\t\t\t}\n                    ]\n                },\n                {\n                    title: '⑤ How can I view and manage my footage?',\n                    content: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: 'You can access and manage your recordings in two convenient ways: \u003cbr\u003e• MIOFIVE App: Connect via built-in Wi-Fi to preview, playback, download, and share videos directly from your smartphone. The app is completely free with no subscription fees.',\n\t\t\t\t\t\t\tkeywords: [\n\t\t\t\t\t\t\t\t{ text: 'MIOFIVE App', link: 'https:\/\/www.miofive.com\/pages\/support' }\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: '• On Your Computer: Connect the Mini 2 to your computer using a data cable, or insert the microSD card into your computer to view and back up recordings. \u003cbr\u003eCompatible with both iPhone and Android devices.',\n\t\t\t\t\t\t\tkeywords: []\n\t\t\t\t\t\t}\n                    ]\n                }\n            ]\n        };\n        return data;\n    }\n\n    const descriptionData = initData();\n    \/\/规格数据\n    const specificationData = descriptionData.item6;\n    const specificationTitle = \"Miofive Dashcam\";\n    const specificationList = [\n        'Front Resolution',\n        'Rear Resolution',\n        'Display',\n        'Wi-Fi',\n        'Bluetooth',\n        'SD Card（Included）',\n        'Super Capacitor'\n    ];\n\n    addItem1();\n    addItem2();\n    addItem3();\n    addItem4();\n    addItem5();\n    addSpecification();\n    addFAQs();\n\n    function addItem1() {\n        const descriptionItem1 = document.getElementById('description-item-1');\n        descriptionItem1.innerHTML = addPicture(descriptionData.item1);\n    }\n\n    function addItem2() {\n        const dots = [];\n        let list = descriptionData.item2;\n        let dotCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 2;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n        list.forEach((item, index) =\u003e {\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e'\n                + addPicture(item)\n                + '\u003c\/div\u003e';\n        });\n\n        scrollOption += '\u003c\/div\u003e';\n\n        option += scrollOption + addDotButton(dotCount, \"scroll-\" + descriptionId + \"-\");\n        descriptionItem.innerHTML = option;\n\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(dots, selectIndex);\n            }\n        });\n\n        for (let i = 0; i \u003c dotCount; i++) {\n            let dotBtn = document.getElementById(\"scroll-\" + descriptionId + \"-\" + (i + 1));\n            if (dotBtn) {\n                dotBtn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                dots.push(dotBtn);\n            }\n        }\n        showSelectDot(dots, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = dotCount - 1;\n                }\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e dotCount - 1) {\n                    index = 0;\n                }\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    function addItem3() {\n        const headers = [];\n        let list = descriptionData.item3;\n        let headerCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 3;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let headerOption = '\u003cdiv class=\"description-wrapper-header\" id=\"description-scroll-header-' + descriptionId + '\"\u003e';\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n\n        list.forEach((item, index) =\u003e {\n            let id = index + 1;\n            headerOption += '\u003cspan class=\"description-header-button\" id=\"description-header-button-' + descriptionId + \"-\" + id + '\"\u003e' + item.title + '\u003c\/span\u003e';\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e' + addPicture(item) + '\u003c\/div\u003e';\n        });\n\n        headerOption += '\u003c\/div\u003e';\n        scrollOption += '\u003c\/div\u003e';\n\n        option += headerOption + scrollOption;\n\n        descriptionItem.innerHTML = option;\n\n        const scrollHeader = document.getElementById('description-scroll-header-' + descriptionId);\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(headers, selectIndex);\n\n                let left = getHeaderBtnOffsetLetf(headers, selectIndex);\n                scrollHeader.scrollLeft = left - 20;\n            }\n        });\n\n        for (let i = 0; i \u003c headerCount; i++) {\n            let btn = document.getElementById(\"description-header-button-\" + descriptionId + \"-\" + (i + 1));\n            if (btn) {\n                btn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                headers.push(btn);\n            }\n        }\n        showSelectDot(headers, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = headerCount - 1;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e headerCount - 1) {\n                    index = 0;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    function addItem4() {\n        const headers = [];\n        let list = descriptionData.item4;\n        let headerCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 4;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let headerOption = '\u003cdiv class=\"description-wrapper-header\" id=\"description-scroll-header-' + descriptionId + '\"\u003e';\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n\n        list.forEach((item, index) =\u003e {\n            let id = index + 1;\n            headerOption += '\u003cspan class=\"description-header-button\" id=\"description-header-button-' + descriptionId + \"-\" + id + '\"\u003e' + item.title + '\u003c\/span\u003e';\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e' + addPicture(item) + '\u003c\/div\u003e';\n        });\n\n        headerOption += '\u003c\/div\u003e';\n        scrollOption += '\u003c\/div\u003e';\n\n        option += headerOption + scrollOption;\n\n        descriptionItem.innerHTML = option;\n\n        const scrollHeader = document.getElementById('description-scroll-header-' + descriptionId);\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(headers, selectIndex);\n\n                let left = getHeaderBtnOffsetLetf(headers, selectIndex);\n                scrollHeader.scrollLeft = left - 20;\n            }\n        });\n\n        for (let i = 0; i \u003c headerCount; i++) {\n            let btn = document.getElementById(\"description-header-button-\" + descriptionId + \"-\" + (i + 1));\n            if (btn) {\n                btn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                headers.push(btn);\n            }\n        }\n        showSelectDot(headers, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = headerCount - 1;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e headerCount - 1) {\n                    index = 0;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    function addItem5() {\n        const headers = [];\n        let list = descriptionData.item5;\n        let headerCount = list.length;\n        let selectIndex = 0;\n        const descriptionId = 5;\n\n        const descriptionItem = document.getElementById('description-item-' + descriptionId);\n        let option = previousButton('scroll-' + descriptionId + '-previous')\n            + nextButton('scroll-' + descriptionId + '-next');\n\n        let headerOption = '\u003cdiv class=\"description-wrapper-header\" id=\"description-scroll-header-' + descriptionId + '\"\u003e';\n        let scrollOption = '\u003cdiv class=\"description-container\" id=\"description-scroll-' + descriptionId + '\"\u003e';\n\n        list.forEach((item, index) =\u003e {\n            let id = index + 1;\n            headerOption += '\u003cspan class=\"description-header-button\" id=\"description-header-button-' + descriptionId + \"-\" + id + '\"\u003e' + item.title + '\u003c\/span\u003e';\n            scrollOption += '\u003cdiv class=\"description-wrapper\"\u003e' + addPicture(item) + '\u003c\/div\u003e';\n        });\n\n        headerOption += '\u003c\/div\u003e';\n        scrollOption += '\u003c\/div\u003e';\n\n        option += headerOption + scrollOption;\n\n        descriptionItem.innerHTML = option;\n\n        const scrollHeader = document.getElementById('description-scroll-header-' + descriptionId);\n\n        const scroll = document.getElementById('description-scroll-' + descriptionId);\n        scroll.addEventListener('scroll', () =\u003e {\n            let index = scroll.scrollLeft \/ scroll.offsetWidth;\n            index = Math.round(index);\n\n            if (selectIndex != index) {\n                selectIndex = index;\n                showSelectDot(headers, selectIndex);\n\n                let left = getHeaderBtnOffsetLetf(headers, selectIndex);\n                scrollHeader.scrollLeft = left - 20;\n            }\n        });\n\n        for (let i = 0; i \u003c headerCount; i++) {\n            let btn = document.getElementById(\"description-header-button-\" + descriptionId + \"-\" + (i + 1));\n            if (btn) {\n                btn.addEventListener('click', () =\u003e {\n                    scroll.scrollLeft = i * scroll.offsetWidth;\n                });\n\n                headers.push(btn);\n            }\n        }\n        showSelectDot(headers, selectIndex);\n\n        const previous = document.getElementById(\"scroll-\" + descriptionId + \"-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = selectIndex - 1;\n                if (index \u003c 0) {\n                    index = headerCount - 1;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"scroll-\" + descriptionId + \"-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = selectIndex + 1;\n                if (index \u003e headerCount - 1) {\n                    index = 0;\n                }\n\n                scroll.scrollLeft = index * scroll.offsetWidth;\n            });\n        }\n    }\n\n    \/\/规格\n    function addSpecification() {\n        const specification = document.getElementById('description-specification');\n\n        const specificationDots = [];\n        let dotCount = 0;\n        let specificationSelectIndex = 0;\n        if (window.matchMedia(\"(max-width: 767px)\").matches) {\n            specification.innerHTML = addSpecificationMobile();\n            dotCount = 3;\n        } else {\n            specification.innerHTML = addSpecificationDesktop();\n            dotCount = 2;\n        }\n\n        const scrollSpecification = document.getElementById(\"description-scroll-specification\");\n        scrollSpecification.addEventListener('scroll', () =\u003e {\n            let index = scrollSpecification.scrollLeft \/ scrollSpecification.offsetWidth;\n            index = Math.round(index);\n\n            if (specificationSelectIndex != index) {\n                specificationSelectIndex = index;\n                showSelectDot(specificationDots, specificationSelectIndex);\n                updateSpecificationsContent(specificationSelectIndex);\n            }\n        });\n\n        for (let i = 0; i \u003c dotCount; i++) {\n            let dotBtn = document.getElementById(\"specification-\" + (i + 1));\n            if (dotBtn) {\n                dotBtn.addEventListener('click', () =\u003e {\n                    scrollSpecification.scrollLeft = i * scrollSpecification.offsetWidth;\n                });\n\n                specificationDots.push(dotBtn);\n            }\n        }\n\n        showSelectDot(specificationDots, specificationSelectIndex);\n        updateSpecificationsContent(specificationSelectIndex);\n\n        const previous = document.getElementById(\"specification-previous\");\n        if (previous) {\n            previous.addEventListener('click', () =\u003e {\n                let index = specificationSelectIndex - 1;\n                if (index \u003c 0) {\n                    index = dotCount - 1;\n                }\n\n                scrollSpecification.scrollLeft = index * scrollSpecification.offsetWidth;\n            });\n        }\n\n        const next = document.getElementById(\"specification-next\");\n        if (next) {\n            next.addEventListener('click', () =\u003e {\n                let index = specificationSelectIndex + 1;\n                if (index \u003e dotCount - 1) {\n                    index = 0;\n                }\n\n                scrollSpecification.scrollLeft = index * scrollSpecification.offsetWidth;\n            });\n        }\n    }\n\n    function addSpecificationDesktop() {\n        let specificationOption = '\u003cdiv class=\"description-column\"\u003e'\n            + '\u003ch3 class=\"description-column-title\"\u003e' + specificationData[0].title + '\u003c\/h3\u003e'\n            + addPicture(specificationData[0])\n            + '\u003c\/div\u003e';\n\n        specificationOption += '\u003cdiv class=\"description-column-specifications\"\u003e'\n            + '\u003cdiv class=\"description-specifications\"\u003e'\n            + '\u003ch3 class=\"description-specifications-title\"\u003e' + specificationTitle + '\u003c\/h3\u003e'\n            + '\u003cdiv class=\"description-specifications-border\"\u003e'\n            + '\u003cdiv class=\"description-specifications-column\"\u003e'\n            + addSpecificationList(specificationData[0].specifications, true)\n            + '\u003c\/div\u003e'\n            + '\u003cdiv class=\"description-specifications-column\"\u003e'\n            + addSpecificationList(specificationList, false)\n            + '\u003c\/div\u003e'\n            + '\u003cdiv class=\"description-specifications-column\" id=\"description-specification-content\"\u003e\u003c\/div\u003e'\n            + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e';\n\n        specificationOption += '\u003cdiv class=\"description-column\"\u003e'\n            + previousButton(\"specification-previous\")\n            + nextButton(\"specification-next\")\n            + '\u003cdiv class=\"description-container\" id=\"description-scroll-specification\"\u003e'\n            + addSpecificationsProduct(specificationData[1])\n            + addSpecificationsProduct(specificationData[2])\n            + '\u003c\/div\u003e'\n            + addDotButton(2, \"specification-\")\n            + '\u003c\/div\u003e';\n\n        return specificationOption;\n    }\n\n    function addSpecificationMobile() {\n        let specificationOption = '\u003ch3 class=\"description-specifications-title\"\u003e' + specificationTitle + '\u003c\/h3\u003e'\n\n        specificationOption += '\u003cdiv class=\"description-container\" id=\"description-scroll-specification\"\u003e'\n        specificationData.forEach(item =\u003e {\n            specificationOption += '\u003cdiv class=\"description-wrapper\"\u003e';\n            specificationOption += addPicture(item);\n            specificationOption += '\u003ch3 class=\"description-column-title\"\u003e' + item.title + '\u003c\/h3\u003e';\n            specificationOption += addSpecificationListMobile(item.specifications);\n            if (item.link) {\n                specificationOption += '\u003ca class=\"description-specifications-a\" href=\"' + item.link + '\"\u003e \u003cdiv class=\"description-specifications-button\"\u003e' + \"Learn More\" + '\u003c\/div\u003e \u003c\/a\u003e';\n            }\n            specificationOption += '\u003c\/div\u003e'\n        });\n        specificationOption += addDotButton(3, \"specification-\");\n        specificationOption += '\u003c\/div\u003e'\n\n        return specificationOption;\n    }\n\n    function addSpecificationList(list, addIcon) {\n        let option = '';\n        list.forEach(item =\u003e {\n            option += '\u003cp\u003e' + item + '\u003c\/p\u003e';\n        });\n        if (addIcon) {\n            option += '\u003cp\u003e' + getSupportIcon() + '\u003c\/p\u003e';\n        }\n\n        return option;\n    }\n\n    function addSpecificationListMobile(list) {\n        let option = '';\n        list.forEach((item, index) =\u003e {\n            option += '\u003cdiv class=\"description-specifications-item\"\u003e'\n                + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + specificationList[index] + '\u003c\/div\u003e'\n                + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + item + '\u003c\/div\u003e'\n                + '\u003c\/div\u003e';\n        });\n\n        option += '\u003cdiv class=\"description-specifications-item\"\u003e'\n            + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + specificationList[specificationList.length - 1] + '\u003c\/div\u003e'\n            + '\u003cdiv class=\"description-specifications-item-text\"\u003e' + getSupportIcon() + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e';\n        return option;\n    }\n\n    function getSupportIcon() {\n        let icon = '\u003csvg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\"\u003e \u003cpath d=\"M16,0C7.13333,0,0,7.13333,0,16C0,24.8667,7.13333,32,16,32C24.8667,32,32,24.8667,32,16C32,7.13333,24.8667,0,16,0ZM26,12L15.4,22.6C14.6667,23.3333,13.3333,23.3333,12.6,22.6L6,16Q5,15,6,14Q7,13,8,14L14,20L24,10Q25,9,26,10Q27,11,26,12Z\" fill=\"#000000\" fill-opacity=\"1\" \/\u003e \u003c\/svg\u003e';\n        return icon;\n    }\n\n    function addSpecificationsProduct(item) {\n        let option = '\u003cdiv class=\"description-wrapper\"\u003e'\n            + '\u003ch3 class=\"description-column-title\"\u003e' + item.title + '\u003c\/h3\u003e'\n            + '\u003ca href=\"' + item.link + '\"\u003e' + addPicture(item) + ' \u003c\/a\u003e'\n            + '\u003c\/div\u003e';\n\n        return option;\n    }\n\n    function updateSpecificationsContent(index) {\n        if (window.matchMedia(\"(max-width: 767px)\").matches) {\n            return;\n        }\n        let option = addSpecificationList(specificationData[index + 1].specifications, true);\n        const specificationContent = document.getElementById('description-specification-content');\n        specificationContent.innerHTML = option;\n    }\n\n    function addFAQs() {\n        let list = descriptionData.item7;\n        const faqs = document.getElementById('description-faqs');\n        let faqsOption = '';\n        list.forEach((item, index) =\u003e {\n            const id = \"description-faqs-collapse-\" + (index + 1);\n            faqsOption += '\u003cdiv class=\"description-faqs-item\"\u003e';\n\n            faqsOption += '\u003cdiv class=\"description-faqs-header\" data-target=\"' + id + '\" aria-controls=\"' + id + '\"\u003e'\n                + '\u003cdiv class=\"description-faqs-title\"\u003e' + item.title + '\u003c\/div\u003e \u003cdiv class=\"description-faqs-arrow\"\u003e' + faqIcon() + '\u003c\/div\u003e'\n                + '\u003c\/div\u003e';\n\n            faqsOption += '\u003cdiv id=\"' + id + '\" class=\"description-faqs-collapse\"\u003e';\n            item.content.forEach(content =\u003e {\n\n                faqsOption += '\u003cdiv class=\"description-faqs-collapse-text\"\u003e' \n\t\t\t\t\n\t\t\t\t\t+ renderDescription(content.description, content.keywords) + '\u003c\/div\u003e';\t\n            });\n            faqsOption += '\u003c\/div\u003e';\n\n            faqsOption += '\u003c\/div\u003e';\n        });\n        faqs.innerHTML = faqsOption;\n\n        \/\/问答点击事件\n        document.querySelectorAll('.description-faqs-header').forEach(item =\u003e {\n            item.addEventListener('click', (event) =\u003e {\n                const targetId = item.getAttribute('data-target');\n                const controlsId = item.getAttribute('aria-controls');\n                if (targetId === controlsId) {\n                    item.classList.toggle('description-faqs-collapsed');\n                    const collapse = document.getElementById(targetId);\n                    if (collapse.style.display === 'block') {\n                        item.classList.remove('active');\n                        collapse.style.display = 'none';\n                    } else {\n                        item.classList.add('active');\n                        collapse.style.display = 'block';\n                    }\n                }\n            });\n        });\n    }\n\t\t\n\tfunction renderDescription(desc, keywords) {\n        let faqsDesc = desc;\n        keywords.forEach(keyword =\u003e {\n            const linkHtml = '\u003ca href=\"' + keyword.link + '\" class=\"description-bold-link\" target=\"_blank\"\u003e' + keyword.text + '\u003c\/a\u003e';\n            faqsDesc = faqsDesc.replace(new RegExp(keyword.text, 'g'), linkHtml);\n        });\n        return faqsDesc;\n    }\n\t\n    \/\/图片\n    function addPicture(item) {\n        let option;\n        if (item.img_mb) {\n            option = '\u003cpicture\u003e\u003csource media=\"(max-width: 767px)\" srcset=\"' + item.img_mb + '\"\u003e\u003cimg src=\"' + item.img + '\"\u003e\u003c\/picture\u003e';\n        } else {\n            option = '\u003cimg src=\"' + item.img + '\"\u003e';\n        }\n        return option;\n    }\n\n    function addItem2Content(item) {\n        let connectOption = '';\n        item.content.forEach(content =\u003e {\n            connectOption += '\u003cp\u003e' + content + '\u003c\/p\u003e';\n        });\n\n        let option = '\u003cdiv class=\"description-wrapper-item description-wrapper-text\"\u003e'\n            + '\u003cdiv\u003e'\n            + '\u003ch3\u003e' + item.title + '\u003c\/h3\u003e'\n            + connectOption\n            + '\u003c\/div\u003e'\n            + '\u003c\/div\u003e';\n\n        return option;\n    }\n\n    \/\/上一个按钮\n    function previousButton(id) {\n        let buttonOption = '\u003cbutton type=\"button\" class=\"description-scroll-btn description-scroll-btn-left\" name=\"previous\" id=\"' + id + '\"\u003e'\n            + '\u003csvg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewBox=\"0 0 10 6\"\u003e \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z\"\u003e\u003c\/svg\u003e'\n            + '\u003c\/button\u003e'\n        return buttonOption;\n    }\n\n    \/\/下一个按钮\n    function nextButton(id) {\n        let buttonOption = '\u003cbutton type=\"button\" class=\"description-scroll-btn description-scroll-btn-right\" name=\"next\" id=\"' + id + '\"\u003e'\n            + '\u003csvg aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewBox=\"0 0 10 6\"\u003e \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z\"\u003e\u003c\/svg\u003e'\n            + '\u003c\/button\u003e'\n        return buttonOption;\n    }\n\n    \/\/圆点按钮\n    function addDotButton(count, id) {\n        let option = '\u003cdiv class=\"description-dot-container\"\u003e';\n        for (let i = 0; i \u003c count; i++) {\n            option += '\u003cbutton class=\"description-dot\" id=\"' + id + (i + 1) + '\"\u003e' + \" \" + '\u003c\/button\u003e';\n        }\n        option += '\u003c\/div\u003e';\n        return option;\n    }\n\n    function showSelectDot(list, selectIndex) {\n        removeSelectDot(list);\n        if (selectIndex \u003c list.length) {\n            list[selectIndex].classList.add('active');\n        }\n    }\n\n    function removeSelectDot(list) {\n        list.forEach(btn =\u003e btn.classList.remove('active'));\n    }\n\n    function faqIcon() {\n        let icon = '\u003csvg viewBox=\"0 0 24 24\"\u003e \u003cpath d=\"M23.7473,6.245925C23.5906,6.0872122,23.3685,6.000865772,23.1247,6.000865772C22.8461,6.000865772,22.5753,6.113077,22.3794,6.308586L11.9994,16.8194L1.61957,6.309961C1.42452,6.113077,1.15371,6,0.875967,6C0.630434,6,0.408393,6.0872416,0.249915,6.246851C-0.106638,6.609795,-0.0783419,7.23016,0.313478,7.62776L11.2341,18.6844C11.43,18.8825,11.6939,18.9973,11.9603,19L12.0596,19C12.3199,18.9912,12.5759,18.877200000000002,12.7675,18.6844L23.6872,7.62686C24.079,7.22834,24.1069,6.6075859999999995,23.7473,6.245925Z\" fill=\"#000000\" fill-opacity=\"1\" \/\u003e\u003c\/svg\u003e';\n        return icon;\n    }\n\n    function getHeaderBtnOffsetLetf(list, selectIndex) {\n        if (selectIndex \u003c list.length) {\n            return list[selectIndex].offsetLeft;\n        }\n\n        return 0;\n    }\n\u003c\/script\u003e","brand":"Miofive","offers":[{"title":"Default Title","offer_id":49545986408752,"sku":"Mini 2-US","price":52.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0842\/2329\/5792\/files\/mini_2_1.jpg?v=1782108393"}],"url":"https:\/\/www.miofive.com\/de\/collections\/shop-the-feed-mini-2.oembed","provider":"Miofive","version":"1.0","type":"link"}