{"id":4832,"date":"2025-12-25T15:02:43","date_gmt":"2025-12-25T15:02:43","guid":{"rendered":"https:\/\/joinwincenter.com\/home-deutsch\/"},"modified":"2026-09-03T07:21:56","modified_gmt":"2026-09-03T07:21:56","slug":"startseite","status":"publish","type":"page","link":"https:\/\/joinwincenter.com\/de\/","title":{"rendered":"Startseite"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4832\" class=\"elementor elementor-4832 elementor-928\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e9d4ec e-flex e-con-boxed e-con e-parent\" data-id=\"7e9d4ec\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-4e73c2d e-con-full e-flex e-con e-child\" data-id=\"4e73c2d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e6251cf animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"e6251cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Ihr vertrauensw\u00fcrdiger Partner f\u00fcr die Beschaffung von Haushaltsger\u00e4ten.<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85f12a7 animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"85f12a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:300}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Bei Joinwincenter sind wir auf den weltweiten Export umfassender Haushaltsger\u00e4te spezialisiert und bieten B2B-Partnern zuverl\u00e4ssige Supply-Chain-L\u00f6sungen, qualit\u00e4tszertifizierte Produkte und ma\u00dfgeschneiderte Services. Als Ihr strategischer Handelspartner gew\u00e4hrleisten wir Effizienz, Skalierbarkeit und Wettbewerbsvorteile, um gemeinsames Wachstum auf den internationalen M\u00e4rkten voranzutreiben.<\/p>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1f00ee9 elementor-widget elementor-widget-search\" data-id=\"1f00ee9\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;submit_trigger&quot;:&quot;click_submit&quot;,&quot;pagination_type_options&quot;:&quot;none&quot;}\" data-widget_type=\"search.default\">\n\t\t\t\t\t\t\t<search class=\"e-search hidden\" role=\"search\">\n\t\t\t<form class=\"e-search-form\" action=\"https:\/\/joinwincenter.com\/de\/\" method=\"get\">\n\n\t\t\t\t\n\t\t\t\t<label class=\"e-search-label\" for=\"search-1f00ee9\">\n\t\t\t\t\t<span class=\"elementor-screen-only\">\n\t\t\t\t\t\tSuche\t\t\t\t\t<\/span>\n\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-search\"><\/i>\t\t\t\t<\/label>\n\n\t\t\t\t<div class=\"e-search-input-wrapper\">\n\t\t\t\t\t<input id=\"search-1f00ee9\" placeholder=\"Geben Sie Ihren Suchbegriff ein...\" class=\"e-search-input\" type=\"search\" name=\"s\" value=\"\" autocomplete=\"off\" role=\"combobox\" aria-autocomplete=\"list\" aria-expanded=\"false\" aria-controls=\"results-1f00ee9\" aria-haspopup=\"listbox\">\n\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-times\"><\/i>\t\t\t\t\t\t\t\t\t\t<output id=\"results-1f00ee9\" class=\"e-search-results-container hide-loader\" aria-live=\"polite\" aria-atomic=\"true\" aria-label=\"Ergebnisse f\u00fcr Suche\" tabindex=\"0\">\n\t\t\t\t\t\t<div class=\"e-search-results\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/output>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<button class=\"e-search-submit  \" type=\"submit\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t<span class=\"\">\n\t\t\t\t\t\tSuchen\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t<input type=\"hidden\" name=\"e_search_props\" value=\"1f00ee9-4832\">\n\t\t\t<\/form>\n\t\t<\/search>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5815124 e-con-full e-flex e-con e-child\" data-id=\"5815124\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a6f3d63 e-flex e-con-boxed e-con e-parent\" data-id=\"a6f3d63\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-260c322 e-con-full e-flex e-con e-child\" data-id=\"260c322\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9d14700 animated-slow elementor-invisible elementor-widget elementor-widget-image\" data-id=\"9d14700\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"154\" height=\"94\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/66a8c8a4-reatailhut-client-logo-1.png\" class=\"attachment-full size-full wp-image-281\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9f53795 e-con-full e-flex e-con e-child\" data-id=\"9f53795\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fd0eb9c animated-slow elementor-invisible elementor-widget elementor-widget-image\" data-id=\"fd0eb9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:200}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"154\" height=\"94\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/477723aa-reatailhut-client-logo-2.png\" class=\"attachment-full size-full wp-image-282\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a8886c7 e-con-full e-flex e-con e-child\" data-id=\"a8886c7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-586d8db animated-slow elementor-invisible elementor-widget elementor-widget-image\" data-id=\"586d8db\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:400}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"154\" height=\"94\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/bf601f1e-reatailhut-client-logo-3.png\" class=\"attachment-full size-full wp-image-283\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-762bd42 e-con-full e-flex e-con e-child\" data-id=\"762bd42\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fd576a1 animated-slow elementor-invisible elementor-widget elementor-widget-image\" data-id=\"fd576a1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:600}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"154\" height=\"94\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/e940c080-reatailhut-client-logo-4.png\" class=\"attachment-full size-full wp-image-284\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9d770a5 e-con-full e-flex e-con e-child\" data-id=\"9d770a5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ad7dbb5 animated-slow elementor-invisible elementor-widget elementor-widget-image\" data-id=\"ad7dbb5\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:800}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"154\" height=\"94\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/53eee645-reatailhut-client-logo-5.png\" class=\"attachment-full size-full wp-image-285\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b9c6eaf e-con-full e-flex e-con e-child\" data-id=\"b9c6eaf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ff4aa9c animated-slow elementor-invisible elementor-widget elementor-widget-image\" data-id=\"ff4aa9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:1000}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"154\" height=\"94\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/2e177ab9-reatailhut-client-logo-6.png\" class=\"attachment-full size-full wp-image-286\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d2bcfa7 e-con-full e-flex e-con e-child\" data-id=\"d2bcfa7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-71ca9f4 animated-slow elementor-invisible elementor-widget elementor-widget-image\" data-id=\"71ca9f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:1200}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"154\" height=\"94\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/18c4d267-reatailhut-client-logo-7.png\" class=\"attachment-full size-full wp-image-287\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-57319db e-flex e-con-boxed e-con e-parent\" data-id=\"57319db\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a18dbbc e-con-full e-flex e-con e-child\" data-id=\"a18dbbc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-48981c9 elementor-widget elementor-widget-heading\" data-id=\"48981c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Bestseller<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c27e102 elementor-widget elementor-widget-text-editor\" data-id=\"c27e102\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Unsere aktuellen Bestseller-Linien \u00fcberzeugen durch nachgewiesene Marktakzeptanz und garantierte Verf\u00fcgbarkeit in gro\u00dfen Mengen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b272595 e-con-full e-flex e-con e-child\" data-id=\"b272595\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"woocommerce elementor-element elementor-element-d9016fb elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid\" data-id=\"d9016fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_skin&quot;:&quot;product&quot;,&quot;template_id&quot;:6166,&quot;columns&quot;:&quot;3&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.product\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\" role=\"list\">\n\t\t<style id=\"loop-6166\">.elementor-6166 .elementor-element.elementor-element-36f568e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:10px 10px 10px 10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6166 .elementor-element.elementor-element-36f568e:hover{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-6166 .elementor-element.elementor-element-384063a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:10px 10px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6166 .elementor-element.elementor-element-51815dd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--overlay-opacity:0.04;--border-radius:0px 0px 10px 10px;--margin-top:12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:28px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-6166 .elementor-element.elementor-element-51815dd::before, .elementor-6166 .elementor-element.elementor-element-51815dd > .elementor-background-video-container::before, .elementor-6166 .elementor-element.elementor-element-51815dd > .e-con-inner > .elementor-background-video-container::before, .elementor-6166 .elementor-element.elementor-element-51815dd > .elementor-background-slideshow::before, .elementor-6166 .elementor-element.elementor-element-51815dd > .e-con-inner > .elementor-background-slideshow::before, .elementor-6166 .elementor-element.elementor-element-51815dd > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';background-color:var( --e-global-color-619e94b );}.elementor-6166 .elementor-element.elementor-element-51815dd.e-con{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;color:var( --e-global-color-primary );}.elementor-6166 .elementor-element.elementor-element-4b68f86{text-align:start;width:100%;max-width:100%;}.elementor-6166 .elementor-element.elementor-element-4b68f86 .elementor-heading-title{font-size:22px;font-weight:400;text-decoration:none;color:var( --e-global-color-619e94b );}.elementor-6166 .elementor-element.elementor-element-4b68f86.elementor-element{--flex-grow:0;--flex-shrink:1;}.woocommerce .elementor-6166 .elementor-element.elementor-element-d771fbc .woocommerce-product-details__short-description{color:var( --e-global-color-text );font-size:16px;font-weight:400;}.elementor-6166 .elementor-element.elementor-element-d771fbc{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;}.elementor-6166 .elementor-element.elementor-element-d771fbc.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-6166 .elementor-element.elementor-element-f85ed06 .elementor-button{font-size:16px;font-weight:500;text-decoration:none;background-color:var( --e-global-color-primary );border-radius:20px 20px 20px 20px;padding:8px 16px 8px 16px;}.elementor-6166 .elementor-element.elementor-element-f85ed06{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 12px) 0px;padding:8px 0px 8px 0px;}.elementor-6166 .elementor-element.elementor-element-f85ed06.elementor-element{--align-self:flex-end;}@media(min-width:768px){.elementor-6166 .elementor-element.elementor-element-36f568e{--width:100%;}}@media(max-width:1024px){.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:767px){.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}\/* Start custom CSS for container, class: .elementor-element-36f568e *\/\/* ===== \u4ea7\u54c1\u56fe\u5e93\u6837\u5f0f ===== *\/\r\n.custom-product-gallery {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    align-items: center;\r\n    width: 100%;\r\n    gap: 8px;\r\n    position: relative;\r\n    margin: 10px 0;\r\n}\r\n\r\n\/* \u5de6\u6309\u94ae *\/\r\n.custom-product-gallery .gallery-nav.prev {\r\n    flex: 0 0 40px;\r\n    width: 40px;\r\n    height: 40px;\r\n    border: none;\r\n    border-radius: 50%;\r\n    background: white;\r\n    color: #333;\r\n    font-size: 24px;\r\n    cursor: pointer;\r\n    box-shadow: 0 2px 8px rgba(0,0,0,0.1);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    transition: all 0.3s;\r\n    padding: 0;\r\n    z-index: 10;\r\n}\r\n\r\n\/* \u56fe\u7247\u533a\u57df *\/\r\n.custom-product-gallery .gallery-images-wrapper {\r\n    flex: 1;\r\n    min-width: 0;\r\n    aspect-ratio: 1\/1;\r\n    overflow: hidden;\r\n    border-radius: 8px;\r\n    background: #f5f5f5;\r\n    position: relative;\r\n}\r\n\r\n.custom-product-gallery .gallery-images-container {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: flex;\r\n    transition: transform 0.3s ease;\r\n}\r\n\r\n\/* \u53f3\u6309\u94ae *\/\r\n.custom-product-gallery .gallery-nav.next {\r\n    flex: 0 0 40px;\r\n    width: 40px;\r\n    height: 40px;\r\n    border: none;\r\n    border-radius: 50%;\r\n    background: white;\r\n    color: #333;\r\n    font-size: 24px;\r\n    cursor: pointer;\r\n    box-shadow: 0 2px 8px rgba(0,0,0,0.1);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    transition: all 0.3s;\r\n    padding: 0;\r\n    z-index: 10;\r\n}\r\n\r\n\/* \u56fe\u7247\u9879 *\/\r\n.custom-product-gallery .gallery-slide {\r\n    flex: 0 0 100%;\r\n    width: 100%;\r\n    height: 100%;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n}\r\n\r\n.custom-product-gallery .gallery-slide img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: contain;\r\n    display: block;\r\n}\r\n\r\n\/* \u5206\u9875 *\/\r\n.custom-product-gallery .gallery-pagination {\r\n    flex: 0 0 100%;\r\n    text-align: center;\r\n    margin-top: 10px;\r\n    font-size: 24px;\r\n    letter-spacing: 8px;\r\n    color: #ccc;\r\n}\r\n\r\n.custom-product-gallery .gallery-pagination .active {\r\n    color: #000;\r\n}\r\n\r\n\/* \u6309\u94ae\u60ac\u505c *\/\r\n.custom-product-gallery .gallery-nav.prev:hover,\r\n.custom-product-gallery .gallery-nav.next:hover {\r\n    background: #f8f8f8;\r\n    box-shadow: 0 4px 12px rgba(0,0,0,0.15);\r\n    transform: scale(1.05);\r\n}\r\n\r\n\/* \u6309\u94ae\u7981\u7528 *\/\r\n.custom-product-gallery .gallery-nav.prev:disabled,\r\n.custom-product-gallery .gallery-nav.next:disabled {\r\n    opacity: 0.3;\r\n    cursor: not-allowed;\r\n    pointer-events: none;\r\n}\r\n\r\n\/* \u54cd\u5e94\u5f0f *\/\r\n@media (max-width: 768px) {\r\n    .custom-product-gallery {\r\n        gap: 5px;\r\n    }\r\n    \r\n    .custom-product-gallery .gallery-nav.prev,\r\n    .custom-product-gallery .gallery-nav.next {\r\n        flex: 0 0 32px;\r\n        width: 32px;\r\n        height: 32px;\r\n        font-size: 20px;\r\n    }\r\n    \r\n    .custom-product-gallery .gallery-pagination {\r\n        font-size: 20px;\r\n        letter-spacing: 6px;\r\n    }\r\n}\/* End custom CSS *\/<\/style>\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-4863 post-4863 product type-product status-publish has-post-thumbnail product_cat-luftzirkulator product_tag-bestseller first instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06c428eb\" \n         data-gallery-id=\"gallery-6aedc06c428eb\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c428eb\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06c428eb\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_MI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_MI_04.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_MI_05.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_MI_06.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_CI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_CI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_CI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_DI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_BC1_DI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c428eb\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06c428eb\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 9.0909090909091%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">11<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/luftzirkulator\/16-zoll-umluftventilator-ft35dc-bc1\/\">16-Zoll Umluftventilator &#8211; FT35DC-BC1<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>16-Zoll DC-Zirkulationsventilator, 12 Stufen, 3D-Auto-Schwenkung (links-rechts + auf-ab) mit einstellbaren Winkeln; Tisch\/Boden mit H\u00f6henverstellung. Echtzeit-Temperaturanzeige, 9h Timer, Nachtlicht, automatischer Reset nach Stromausfall. LED-Display + Fernbedienung, gro\u00dfer Griff f\u00fcr einfachen Transport, optionale Wi-Fi-Steuerung.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/luftzirkulator\/16-zoll-umluftventilator-ft35dc-bc1\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-4885 post-4885 product type-product status-publish has-post-thumbnail product_cat-luftzirkulator product_tag-bestseller  instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06c4f3b2\" \n         data-gallery-id=\"gallery-6aedc06c4f3b2\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c4f3b2\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06c4f3b2\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_MI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_MI_04.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_MI_05.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_MI_06.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_MI_07.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_CI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_CI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_DI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT30DC_B1_SI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c4f3b2\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06c4f3b2\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 9.0909090909091%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">11<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/luftzirkulator\/14-zoll-ventilator-ft30dc-b1\/\">14-Zoll Umluftventilator &#8211; FT30DC-B1<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>14-Zoll DC-Zirkulationsventilator, 12 Stufen, 3D-Auto-Schwenkung (links-rechts + auf-ab) mit einstellbaren Winkeln; Tisch\/Boden mit H\u00f6henverstellung. Echtzeit-Temperaturanzeige, 9h Timer, Nachtlicht, automatischer Reset nach Stromausfall. LED-Display + Fernbedienung, gro\u00dfer Griff f\u00fcr einfachen Transport, optionale Wi-Fi-Steuerung.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/luftzirkulator\/14-zoll-ventilator-ft30dc-b1\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-4951 post-4951 product type-product status-publish has-post-thumbnail product_cat-luftkuehler product_tag-bestseller product_tag-neuheiten  instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06c5b2d2\" \n         data-gallery-id=\"gallery-6aedc06c5b2d2\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c5b2d2\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06c5b2d2\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_R10FKY_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_MI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_MI_04.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_MI_05.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_DI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_DI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_DI_04.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_SI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c5b2d2\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06c5b2d2\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 11.111111111111%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">9<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/luftkuehler\/luftkuehler-mit-halbleiter-sw-42-s8fky\/\">Luftk\u00fchler mit Halbleiter &#8211; SW-42-S8FKY<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>Halbleiter- + Verdunstungsk\u00fchlung, Negativ-Ionen-Reinigung. 10L Tank, 1200-1300ml\/hr Verdunstung f\u00fcr langanhaltende K\u00fchlung. 4 Geschwindigkeiten + 3 Windmodi, automatische Links-Rechts + manuelle Auf-Ab-Schwenkung. Patentierte Schiebet\u00fcr, Touch-Digitaldisplay, 9-Stunden-Timer, Wasserstandswarnung. 10L abnehmbarer Tank + doppelte Eisboxen f\u00fcr verst\u00e4rkte K\u00fchlung, Fernbedienung + Touch, \u00dcberhitzungsschutz, farbiger K\u00f6rper.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/luftkuehler\/luftkuehler-mit-halbleiter-sw-42-s8fky\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-4939 post-4939 product type-product status-publish has-post-thumbnail product_cat-luftkuehler product_tag-bestseller last instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06c67e71\" \n         data-gallery-id=\"gallery-6aedc06c67e71\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c67e71\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06c67e71\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_40_R8FKY_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_40_R8FKY_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_40_R8FKY_DI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_40_R8FKY_DI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_40_R8FKY_DI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_40_R8FKY_DI_04.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c67e71\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06c67e71\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 16.666666666667%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">6<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/luftkuehler\/multifunktionaler-luftkuehler-sw-40-r8fky\/\">Multifunktionaler Luftk\u00fchler &#8211; SW-40-R8FKY<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>3-in-1 K\u00fchlung, Befeuchtung und Reinigung. 14L gro\u00dfer Wassertank mit 1200-1300ml\/hr Verdunstung f\u00fcr langanhaltende K\u00fchlung. 4 Geschwindigkeiten + 3 Windmodi, automatische Links-Rechts- und Auf-Ab-Schwenkung f\u00fcr volle Abdeckung. Negativ-Ionen-Reinigung, separater Duftbeh\u00e4lter f\u00fcr frischen und angenehmen Duft. 7,5-Stunden-Timer, Touch + Fernbedienung, Wasserstandswarnung und \u00dcberhitzungsschutz f\u00fcr Sicherheit. Obere Eisbox f\u00fcr verst\u00e4rkte K\u00fchlung, farbiger K\u00f6rper f\u00fcr ein stilvolles und langlebiges Design.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/luftkuehler\/multifunktionaler-luftkuehler-sw-40-r8fky\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-5026 post-5026 product type-product status-publish has-post-thumbnail product_cat-eiswuerfelbereiter product_tag-bestseller first instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06c72ded\" \n         data-gallery-id=\"gallery-6aedc06c72ded\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c72ded\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06c72ded\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/BZ_ZBJ01_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/BZ_ZBJ01_OI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/BZ_ZBJ01_RI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/BZ_ZBJ01_SI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/BZ_ZBJ01_SI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c72ded\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06c72ded\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 20%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">5<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/eiswuerfelbereiter\/haushalts-mini-eiswuerfelbereiter-bz-zbj01\/\">Haushalts-Mini-Eisw\u00fcrfelbereiter &#8211; BZ-ZBJ01<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>Kompakte Haushalts-Eisw\u00fcrfelmaschine, produziert kugelf\u00f6rmige Eisw\u00fcrfel in den Gr\u00f6\u00dfen 5g\/6g. T\u00e4gliche Produktion 12kg, Eisvorrat 0.5kg, deckt den t\u00e4glichen Kaltgetr\u00e4nkebedarf. 165W leistungsschwacher Betrieb mit ger\u00e4uscharmem Design f\u00fcr eine ruhige Umgebung. Abnehmbarer, waschbarer Eiskorb f\u00fcr einfache Reinigung; Sichtfenster f\u00fcr klare Einsicht in den Eisbereitungsfortschritt. Hergestellt aus ABS\/PP-Materialien, sicher und langlebig, wei\u00dfes Geh\u00e4use f\u00fcr ein schlichtes und vielseitiges Design.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/eiswuerfelbereiter\/haushalts-mini-eiswuerfelbereiter-bz-zbj01\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-5076 post-5076 product type-product status-publish has-post-thumbnail product_cat-toaster product_tag-bestseller  instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06c7d86a\" \n         data-gallery-id=\"gallery-6aedc06c7d86a\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c7d86a\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06c7d86a\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/CT808_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/CT808_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/CT808_DI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/CT808_SI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/CT808_SI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c7d86a\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06c7d86a\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 20%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">5<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/toaster\/toaster-mit-stoppschalter-ct-808\/\">Toaster &#8211; CT-808<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>7-stufige Heizeinstellung f\u00fcr perfekte Br\u00e4unungskontrolle. 600-700W Leistung f\u00fcr schnellen goldenen Toast. 28*132mm breite Schlitze nehmen problemlos dick geschnittenes Brot auf. Mit Stoppschalter zum jederzeitigen Unterbrechen des Heizvorgangs f\u00fcr flexiblere Nutzung. Mechanische Steuerung, einfach zu bedienen, erh\u00e4ltlich in Schwarz und Wei\u00df.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/toaster\/toaster-mit-stoppschalter-ct-808\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4391b6b e-flex e-con-boxed e-con e-parent\" data-id=\"4391b6b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-676dcb6 e-con-full e-flex e-con e-child\" data-id=\"676dcb6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-05881de elementor-widget elementor-widget-heading\" data-id=\"05881de\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Premium-L\u00f6sungen f\u00fcr jedes Unternehmen.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1ff9e9 elementor-widget elementor-widget-text-editor\" data-id=\"e1ff9e9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Finden Sie exakt passende Ger\u00e4te, um Ihr kommerzielles und Einzelhandelsangebot zu optimieren.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ea61788 e-con-full e-flex e-con e-child\" data-id=\"ea61788\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3e953d1 eael-fg-hoverer-content-align-center elementor-widget elementor-widget-eael-filterable-gallery\" data-id=\"3e953d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;pagination&quot;:&quot;false&quot;}\" data-widget_type=\"eael-filterable-gallery.default\">\n\t\t\t\t\t<style id=\"eael-fg-inline-css-3e953d1\">@media only screen and (max-width: 2399px) {\n\t\t\t\t\t.elementor-element.elementor-element-3e953d1 .eael-filterable-gallery-item-wrap {\n\t\t\t\t\t        width: 33.333333333333%;\n\t\t\t\t\t    }\n\t\t\t\t\t}@media only screen and (max-width: 1024px) {\n\t\t\t\t\t.elementor-element.elementor-element-3e953d1  .eael-filterable-gallery-item-wrap {\n\t\t\t\t\t        width: 50%;\n\t\t\t\t\t    }\n\t\t\t\t\t}@media only screen and (max-width: 767px) {\n\t\t\t\t\t.elementor-element.elementor-element-3e953d1  .eael-filterable-gallery-item-wrap {\n\t\t\t\t\t        width: 100%;\n\t\t\t\t\t    }\n\t\t\t\t\t}<\/style>        <div id=\"eael-filter-gallery-wrapper-3e953d1\" class=\"eael-filter-gallery-wrapper\" data-layout-mode=\"hoverer\" data-breakpoints=\"{&quot;mobile&quot;:{&quot;label&quot;:&quot;Mobil Hochformat&quot;,&quot;value&quot;:767,&quot;default_value&quot;:767,&quot;direction&quot;:&quot;max&quot;,&quot;is_enabled&quot;:true},&quot;mobile_extra&quot;:{&quot;label&quot;:&quot;Mobil Querformat&quot;,&quot;value&quot;:880,&quot;default_value&quot;:880,&quot;direction&quot;:&quot;max&quot;,&quot;is_enabled&quot;:false},&quot;tablet&quot;:{&quot;label&quot;:&quot;Tablet Hochformat&quot;,&quot;value&quot;:1024,&quot;default_value&quot;:1024,&quot;direction&quot;:&quot;max&quot;,&quot;is_enabled&quot;:true},&quot;tablet_extra&quot;:{&quot;label&quot;:&quot;Tablet Querformat&quot;,&quot;value&quot;:1200,&quot;default_value&quot;:1200,&quot;direction&quot;:&quot;max&quot;,&quot;is_enabled&quot;:false},&quot;laptop&quot;:{&quot;label&quot;:&quot;Laptop&quot;,&quot;value&quot;:1366,&quot;default_value&quot;:1366,&quot;direction&quot;:&quot;max&quot;,&quot;is_enabled&quot;:false},&quot;widescreen&quot;:{&quot;label&quot;:&quot;Breitbild&quot;,&quot;value&quot;:2400,&quot;default_value&quot;:2400,&quot;direction&quot;:&quot;min&quot;,&quot;is_enabled&quot;:false}}\" data-default_control_key=\"0\" data-custom_default_control=\"1\">\n                    <div class=\"eael-filter-gallery-container eael-filter-gallery-grid\" data-images-per-page=\"\" data-total-gallery-items=\"6\" data-nomore-item-text=\"\" data-is-randomize=\"no\" data-settings=\"{&quot;grid_style&quot;:&quot;grid&quot;,&quot;popup&quot;:&quot;none&quot;,&quot;duration&quot;:500,&quot;gallery_enabled&quot;:&quot;&quot;,&quot;video_gallery_yt_privacy&quot;:&quot;&quot;,&quot;control_all_text&quot;:null,&quot;mobile_scroll_to_top&quot;:&quot;&quot;,&quot;mobile_scroll_offset&quot;:0,&quot;post_id&quot;:4832,&quot;widget_id&quot;:&quot;3e953d1&quot;}\" data-search-all=\"\" data-gallery-items=\"WyI8ZGl2IGNsYXNzPVwiZWFlbC1maWx0ZXJhYmxlLWdhbGxlcnktaXRlbS13cmFwXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJlYWVsLWdhbGxlcnktZ3JpZC1pdGVtXCI+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS10aHVtYm5haWwtd3JhcFwiPjxpbWcgd2lkdGg9XCIzMDBcIiBoZWlnaHQ9XCIyMDBcIiBzcmM9XCJodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9wcm9mZXNzaW9uYWwtcmVjZXB0aW9uaXN0LWFzc2lzdGluZy1hLXlvdW5nLW1hbGUtdC0yMDI2LTA1LTA4LTE2LTM4LTUxLXV0Yy0zMDB4MjAwLmpwZ1wiIGNsYXNzPVwiYXR0YWNobWVudC1tZWRpdW0gc2l6ZS1tZWRpdW0gd3AtaW1hZ2UtNjQxOVwiIGFsdD1cIlwiIHNyY3NldD1cImh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL3Byb2Zlc3Npb25hbC1yZWNlcHRpb25pc3QtYXNzaXN0aW5nLWEteW91bmctbWFsZS10LTIwMjYtMDUtMDgtMTYtMzgtNTEtdXRjLTMwMHgyMDAuanBnIDMwMHcsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL3Byb2Zlc3Npb25hbC1yZWNlcHRpb25pc3QtYXNzaXN0aW5nLWEteW91bmctbWFsZS10LTIwMjYtMDUtMDgtMTYtMzgtNTEtdXRjLTEwMjR4NjgzLmpwZyAxMDI0dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvcHJvZmVzc2lvbmFsLXJlY2VwdGlvbmlzdC1hc3Npc3RpbmctYS15b3VuZy1tYWxlLXQtMjAyNi0wNS0wOC0xNi0zOC01MS11dGMtNzY4eDUxMi5qcGcgNzY4dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvcHJvZmVzc2lvbmFsLXJlY2VwdGlvbmlzdC1hc3Npc3RpbmctYS15b3VuZy1tYWxlLXQtMjAyNi0wNS0wOC0xNi0zOC01MS11dGMtMTUzNngxMDI0LmpwZyAxNTM2dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvcHJvZmVzc2lvbmFsLXJlY2VwdGlvbmlzdC1hc3Npc3RpbmctYS15b3VuZy1tYWxlLXQtMjAyNi0wNS0wOC0xNi0zOC01MS11dGMtMjA0OHgxMzY2LmpwZyAyMDQ4dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvcHJvZmVzc2lvbmFsLXJlY2VwdGlvbmlzdC1hc3Npc3RpbmctYS15b3VuZy1tYWxlLXQtMjAyNi0wNS0wOC0xNi0zOC01MS11dGMtNjAweDQwMC5qcGcgNjAwd1wiIHNpemVzPVwiKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweFwiIFwvPjxcL2Rpdj48ZGl2IGNsYXNzPVwiZ2FsbGVyeS1pdGVtLWNhcHRpb24td3JhcCBjYXB0aW9uLXN0eWxlLWhvdmVyZXIgZWFlbC1mYWRlLWluXCI+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS1ob3ZlcmVyLWJnXCI+PFwvZGl2PjxkaXYgY2xhc3M9XCJnYWxsZXJ5LWl0ZW0tY2FwdGlvbi1vdmVyXCI+PGg0IGNsYXNzPVwiZmctaXRlbS10aXRsZVwiPkhvdGVsPFwvaDQ+PGRpdiBjbGFzcz1cImZnLWl0ZW0tY29udGVudFwiPjxwPkdhc3RnZXdlcmJlPFwvcD5cbjxcL2Rpdj48XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9kaXY+IiwiPGRpdiBjbGFzcz1cImVhZWwtZmlsdGVyYWJsZS1nYWxsZXJ5LWl0ZW0td3JhcFwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZWFlbC1nYWxsZXJ5LWdyaWQtaXRlbVwiPjxkaXYgY2xhc3M9XCJnYWxsZXJ5LWl0ZW0tdGh1bWJuYWlsLXdyYXBcIj48aW1nIHdpZHRoPVwiMzAwXCIgaGVpZ2h0PVwiMjAwXCIgc3JjPVwiaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvY29uZmVjdGlvbmVycy11c2UtZ2FzLWJ1cm5lci10by1kZWNvcmF0ZS1jcm9pc3NhbnQtMjAyNi0wMS0wOS0wNy0wNC01MS11dGMtMzAweDIwMC5qcGdcIiBjbGFzcz1cImF0dGFjaG1lbnQtbWVkaXVtIHNpemUtbWVkaXVtIHdwLWltYWdlLTY0MjRcIiBhbHQ9XCJcIiBzcmNzZXQ9XCJodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9jb25mZWN0aW9uZXJzLXVzZS1nYXMtYnVybmVyLXRvLWRlY29yYXRlLWNyb2lzc2FudC0yMDI2LTAxLTA5LTA3LTA0LTUxLXV0Yy0zMDB4MjAwLmpwZyAzMDB3LCBodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9jb25mZWN0aW9uZXJzLXVzZS1nYXMtYnVybmVyLXRvLWRlY29yYXRlLWNyb2lzc2FudC0yMDI2LTAxLTA5LTA3LTA0LTUxLXV0Yy0xMDI0eDY4My5qcGcgMTAyNHcsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2NvbmZlY3Rpb25lcnMtdXNlLWdhcy1idXJuZXItdG8tZGVjb3JhdGUtY3JvaXNzYW50LTIwMjYtMDEtMDktMDctMDQtNTEtdXRjLTc2OHg1MTIuanBnIDc2OHcsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2NvbmZlY3Rpb25lcnMtdXNlLWdhcy1idXJuZXItdG8tZGVjb3JhdGUtY3JvaXNzYW50LTIwMjYtMDEtMDktMDctMDQtNTEtdXRjLTE1MzZ4MTAyNC5qcGcgMTUzNncsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2NvbmZlY3Rpb25lcnMtdXNlLWdhcy1idXJuZXItdG8tZGVjb3JhdGUtY3JvaXNzYW50LTIwMjYtMDEtMDktMDctMDQtNTEtdXRjLTIwNDh4MTM2NS5qcGcgMjA0OHcsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2NvbmZlY3Rpb25lcnMtdXNlLWdhcy1idXJuZXItdG8tZGVjb3JhdGUtY3JvaXNzYW50LTIwMjYtMDEtMDktMDctMDQtNTEtdXRjLTYwMHg0MDAuanBnIDYwMHdcIiBzaXplcz1cIihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHhcIiBcLz48XC9kaXY+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS1jYXB0aW9uLXdyYXAgY2FwdGlvbi1zdHlsZS1ob3ZlcmVyIGVhZWwtZmFkZS1pblwiPjxkaXYgY2xhc3M9XCJnYWxsZXJ5LWl0ZW0taG92ZXJlci1iZ1wiPjxcL2Rpdj48ZGl2IGNsYXNzPVwiZ2FsbGVyeS1pdGVtLWNhcHRpb24tb3ZlclwiPjxoNCBjbGFzcz1cImZnLWl0ZW0tdGl0bGVcIj5Gb29kIFNlcnZpY2U8XC9oND48ZGl2IGNsYXNzPVwiZmctaXRlbS1jb250ZW50XCI+PHA+RmxleGliaWxpdFx1MDBlNHQ8XC9wPlxuPFwvZGl2PjxcL2Rpdj48XC9kaXY+PFwvZGl2PjxcL2Rpdj4iLCI8ZGl2IGNsYXNzPVwiZWFlbC1maWx0ZXJhYmxlLWdhbGxlcnktaXRlbS13cmFwXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJlYWVsLWdhbGxlcnktZ3JpZC1pdGVtXCI+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS10aHVtYm5haWwtd3JhcFwiPjxpbWcgd2lkdGg9XCIzMDBcIiBoZWlnaHQ9XCIyMDBcIiBzcmM9XCJodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9jb3VwbGUtY2hvb3NpbmctaG9tZS1hcHBsaWFuY2VzLWluLWVsZWN0cm9uaWNzLXN0by0yMDI2LTA3LTEwLTE1LTAxLTA4LXV0Yy0zMDB4MjAwLmpwZ1wiIGNsYXNzPVwiYXR0YWNobWVudC1tZWRpdW0gc2l6ZS1tZWRpdW0gd3AtaW1hZ2UtNjQyMFwiIGFsdD1cIlwiIHNyY3NldD1cImh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2NvdXBsZS1jaG9vc2luZy1ob21lLWFwcGxpYW5jZXMtaW4tZWxlY3Ryb25pY3Mtc3RvLTIwMjYtMDctMTAtMTUtMDEtMDgtdXRjLTMwMHgyMDAuanBnIDMwMHcsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2NvdXBsZS1jaG9vc2luZy1ob21lLWFwcGxpYW5jZXMtaW4tZWxlY3Ryb25pY3Mtc3RvLTIwMjYtMDctMTAtMTUtMDEtMDgtdXRjLTEwMjR4NjgxLmpwZyAxMDI0dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvY291cGxlLWNob29zaW5nLWhvbWUtYXBwbGlhbmNlcy1pbi1lbGVjdHJvbmljcy1zdG8tMjAyNi0wNy0xMC0xNS0wMS0wOC11dGMtNzY4eDUxMS5qcGcgNzY4dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvY291cGxlLWNob29zaW5nLWhvbWUtYXBwbGlhbmNlcy1pbi1lbGVjdHJvbmljcy1zdG8tMjAyNi0wNy0xMC0xNS0wMS0wOC11dGMtMTUzNngxMDIyLmpwZyAxNTM2dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvY291cGxlLWNob29zaW5nLWhvbWUtYXBwbGlhbmNlcy1pbi1lbGVjdHJvbmljcy1zdG8tMjAyNi0wNy0xMC0xNS0wMS0wOC11dGMtMjA0OHgxMzYzLmpwZyAyMDQ4dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvY291cGxlLWNob29zaW5nLWhvbWUtYXBwbGlhbmNlcy1pbi1lbGVjdHJvbmljcy1zdG8tMjAyNi0wNy0xMC0xNS0wMS0wOC11dGMtNjAweDM5OS5qcGcgNjAwd1wiIHNpemVzPVwiKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweFwiIFwvPjxcL2Rpdj48ZGl2IGNsYXNzPVwiZ2FsbGVyeS1pdGVtLWNhcHRpb24td3JhcCBjYXB0aW9uLXN0eWxlLWhvdmVyZXIgZWFlbC1mYWRlLWluXCI+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS1ob3ZlcmVyLWJnXCI+PFwvZGl2PjxkaXYgY2xhc3M9XCJnYWxsZXJ5LWl0ZW0tY2FwdGlvbi1vdmVyXCI+PGg0IGNsYXNzPVwiZmctaXRlbS10aXRsZVwiPkVpbnplbGhhbmRlbDxcL2g0PjxkaXYgY2xhc3M9XCJmZy1pdGVtLWNvbnRlbnRcIj48cD5Qclx1MDBlNHNlbnRhdGlvbjxcL3A+XG48XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9kaXY+PFwvZGl2PiIsIjxkaXYgY2xhc3M9XCJlYWVsLWZpbHRlcmFibGUtZ2FsbGVyeS1pdGVtLXdyYXBcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImVhZWwtZ2FsbGVyeS1ncmlkLWl0ZW1cIj48ZGl2IGNsYXNzPVwiZ2FsbGVyeS1pdGVtLXRodW1ibmFpbC13cmFwXCI+PGltZyB3aWR0aD1cIjMwMFwiIGhlaWdodD1cIjIwMFwiIHNyYz1cImh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2ZhbWlseS1zaGFyaW5nLW1lYWwtdG9nZXRoZXItYXQtaG9tZS1kaW5pbmctdGFibGUtMjAyNi0wMy0xNi0wMy0yOS0yNC11dGMtMzAweDIwMC5qcGdcIiBjbGFzcz1cImF0dGFjaG1lbnQtbWVkaXVtIHNpemUtbWVkaXVtIHdwLWltYWdlLTY0MjFcIiBhbHQ9XCJcIiBzcmNzZXQ9XCJodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9mYW1pbHktc2hhcmluZy1tZWFsLXRvZ2V0aGVyLWF0LWhvbWUtZGluaW5nLXRhYmxlLTIwMjYtMDMtMTYtMDMtMjktMjQtdXRjLTMwMHgyMDAuanBnIDMwMHcsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2ZhbWlseS1zaGFyaW5nLW1lYWwtdG9nZXRoZXItYXQtaG9tZS1kaW5pbmctdGFibGUtMjAyNi0wMy0xNi0wMy0yOS0yNC11dGMtMTAyNHg2ODMuanBnIDEwMjR3LCBodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9mYW1pbHktc2hhcmluZy1tZWFsLXRvZ2V0aGVyLWF0LWhvbWUtZGluaW5nLXRhYmxlLTIwMjYtMDMtMTYtMDMtMjktMjQtdXRjLTc2OHg1MTIuanBnIDc2OHcsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2ZhbWlseS1zaGFyaW5nLW1lYWwtdG9nZXRoZXItYXQtaG9tZS1kaW5pbmctdGFibGUtMjAyNi0wMy0xNi0wMy0yOS0yNC11dGMtMTUzNngxMDI0LmpwZyAxNTM2dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvZmFtaWx5LXNoYXJpbmctbWVhbC10b2dldGhlci1hdC1ob21lLWRpbmluZy10YWJsZS0yMDI2LTAzLTE2LTAzLTI5LTI0LXV0Yy0yMDQ4eDEzNjUuanBnIDIwNDh3LCBodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9mYW1pbHktc2hhcmluZy1tZWFsLXRvZ2V0aGVyLWF0LWhvbWUtZGluaW5nLXRhYmxlLTIwMjYtMDMtMTYtMDMtMjktMjQtdXRjLTYwMHg0MDAuanBnIDYwMHdcIiBzaXplcz1cIihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHhcIiBcLz48XC9kaXY+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS1jYXB0aW9uLXdyYXAgY2FwdGlvbi1zdHlsZS1ob3ZlcmVyIGVhZWwtZmFkZS1pblwiPjxkaXYgY2xhc3M9XCJnYWxsZXJ5LWl0ZW0taG92ZXJlci1iZ1wiPjxcL2Rpdj48ZGl2IGNsYXNzPVwiZ2FsbGVyeS1pdGVtLWNhcHRpb24tb3ZlclwiPjxoNCBjbGFzcz1cImZnLWl0ZW0tdGl0bGVcIj5adWhhdXNlPFwvaDQ+PGRpdiBjbGFzcz1cImZnLWl0ZW0tY29udGVudFwiPjxwPkxlYmVuc3N0aWw8XC9wPlxuPFwvZGl2PjxcL2Rpdj48XC9kaXY+PFwvZGl2PjxcL2Rpdj4iLCI8ZGl2IGNsYXNzPVwiZWFlbC1maWx0ZXJhYmxlLWdhbGxlcnktaXRlbS13cmFwXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJlYWVsLWdhbGxlcnktZ3JpZC1pdGVtXCI+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS10aHVtYm5haWwtd3JhcFwiPjxpbWcgd2lkdGg9XCIzMDBcIiBoZWlnaHQ9XCIxOTZcIiBzcmM9XCJodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9jb2xsZWFndWVzLWVuam95aW5nLWEtY2FzdWFsLWJyZWFrLWluLW1vZGVybi1vZmZpYy0yMDI2LTAxLTA5LTA3LTMyLTI4LXV0Yy0zMDB4MTk2LmpwZ1wiIGNsYXNzPVwiYXR0YWNobWVudC1tZWRpdW0gc2l6ZS1tZWRpdW0gd3AtaW1hZ2UtNjQyMlwiIGFsdD1cIlwiIHNyY3NldD1cImh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2NvbGxlYWd1ZXMtZW5qb3lpbmctYS1jYXN1YWwtYnJlYWstaW4tbW9kZXJuLW9mZmljLTIwMjYtMDEtMDktMDctMzItMjgtdXRjLTMwMHgxOTYuanBnIDMwMHcsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL2NvbGxlYWd1ZXMtZW5qb3lpbmctYS1jYXN1YWwtYnJlYWstaW4tbW9kZXJuLW9mZmljLTIwMjYtMDEtMDktMDctMzItMjgtdXRjLTEwMjR4NjY5LmpwZyAxMDI0dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvY29sbGVhZ3Vlcy1lbmpveWluZy1hLWNhc3VhbC1icmVhay1pbi1tb2Rlcm4tb2ZmaWMtMjAyNi0wMS0wOS0wNy0zMi0yOC11dGMtNzY4eDUwMi5qcGcgNzY4dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvY29sbGVhZ3Vlcy1lbmpveWluZy1hLWNhc3VhbC1icmVhay1pbi1tb2Rlcm4tb2ZmaWMtMjAyNi0wMS0wOS0wNy0zMi0yOC11dGMtMTUzNngxMDAzLmpwZyAxNTM2dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvY29sbGVhZ3Vlcy1lbmpveWluZy1hLWNhc3VhbC1icmVhay1pbi1tb2Rlcm4tb2ZmaWMtMjAyNi0wMS0wOS0wNy0zMi0yOC11dGMtMjA0OHgxMzM3LmpwZyAyMDQ4dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvY29sbGVhZ3Vlcy1lbmpveWluZy1hLWNhc3VhbC1icmVhay1pbi1tb2Rlcm4tb2ZmaWMtMjAyNi0wMS0wOS0wNy0zMi0yOC11dGMtNjAweDM5Mi5qcGcgNjAwd1wiIHNpemVzPVwiKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweFwiIFwvPjxcL2Rpdj48ZGl2IGNsYXNzPVwiZ2FsbGVyeS1pdGVtLWNhcHRpb24td3JhcCBjYXB0aW9uLXN0eWxlLWhvdmVyZXIgZWFlbC1mYWRlLWluXCI+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS1ob3ZlcmVyLWJnXCI+PFwvZGl2PjxkaXYgY2xhc3M9XCJnYWxsZXJ5LWl0ZW0tY2FwdGlvbi1vdmVyXCI+PGg0IGNsYXNzPVwiZmctaXRlbS10aXRsZVwiPkJcdTAwZmNybzxcL2g0PjxkaXYgY2xhc3M9XCJmZy1pdGVtLWNvbnRlbnRcIj48cD5Xb2hsYmVmaW5kZW48XC9wPlxuPFwvZGl2PjxcL2Rpdj48XC9kaXY+PFwvZGl2PjxcL2Rpdj4iLCI8ZGl2IGNsYXNzPVwiZWFlbC1maWx0ZXJhYmxlLWdhbGxlcnktaXRlbS13cmFwXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJlYWVsLWdhbGxlcnktZ3JpZC1pdGVtXCI+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS10aHVtYm5haWwtd3JhcFwiPjxpbWcgd2lkdGg9XCIzMDBcIiBoZWlnaHQ9XCIyMDBcIiBzcmM9XCJodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9tYW4tcGxheXMtZ3VpdGFyLWdyb3VwLW9mLXlvdW5nLXBlb3BsZS1pcy10cmF2ZWxpLTIwMjYtMDMtMjQtMDUtMTMtMzQtdXRjLTMwMHgyMDAuanBnXCIgY2xhc3M9XCJhdHRhY2htZW50LW1lZGl1bSBzaXplLW1lZGl1bSB3cC1pbWFnZS02NDIzXCIgYWx0PVwiXCIgc3Jjc2V0PVwiaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvbWFuLXBsYXlzLWd1aXRhci1ncm91cC1vZi15b3VuZy1wZW9wbGUtaXMtdHJhdmVsaS0yMDI2LTAzLTI0LTA1LTEzLTM0LXV0Yy0zMDB4MjAwLmpwZyAzMDB3LCBodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9tYW4tcGxheXMtZ3VpdGFyLWdyb3VwLW9mLXlvdW5nLXBlb3BsZS1pcy10cmF2ZWxpLTIwMjYtMDMtMjQtMDUtMTMtMzQtdXRjLTEwMjR4NjgzLmpwZyAxMDI0dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvbWFuLXBsYXlzLWd1aXRhci1ncm91cC1vZi15b3VuZy1wZW9wbGUtaXMtdHJhdmVsaS0yMDI2LTAzLTI0LTA1LTEzLTM0LXV0Yy03Njh4NTEyLmpwZyA3Njh3LCBodHRwczpcL1wvam9pbndpbmNlbnRlci5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzA3XC9tYW4tcGxheXMtZ3VpdGFyLWdyb3VwLW9mLXlvdW5nLXBlb3BsZS1pcy10cmF2ZWxpLTIwMjYtMDMtMjQtMDUtMTMtMzQtdXRjLTE1MzZ4MTAyNC5qcGcgMTUzNncsIGh0dHBzOlwvXC9qb2lud2luY2VudGVyLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNlwvMDdcL21hbi1wbGF5cy1ndWl0YXItZ3JvdXAtb2YteW91bmctcGVvcGxlLWlzLXRyYXZlbGktMjAyNi0wMy0yNC0wNS0xMy0zNC11dGMtMjA0OHgxMzY1LmpwZyAyMDQ4dywgaHR0cHM6XC9cL2pvaW53aW5jZW50ZXIuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wN1wvbWFuLXBsYXlzLWd1aXRhci1ncm91cC1vZi15b3VuZy1wZW9wbGUtaXMtdHJhdmVsaS0yMDI2LTAzLTI0LTA1LTEzLTM0LXV0Yy02MDB4NDAwLmpwZyA2MDB3XCIgc2l6ZXM9XCIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4XCIgXC8+PFwvZGl2PjxkaXYgY2xhc3M9XCJnYWxsZXJ5LWl0ZW0tY2FwdGlvbi13cmFwIGNhcHRpb24tc3R5bGUtaG92ZXJlciBlYWVsLWZhZGUtaW5cIj48ZGl2IGNsYXNzPVwiZ2FsbGVyeS1pdGVtLWhvdmVyZXItYmdcIj48XC9kaXY+PGRpdiBjbGFzcz1cImdhbGxlcnktaXRlbS1jYXB0aW9uLW92ZXJcIj48aDQgY2xhc3M9XCJmZy1pdGVtLXRpdGxlXCI+T3V0ZG9vcjxcL2g0PjxkaXYgY2xhc3M9XCJmZy1pdGVtLWNvbnRlbnRcIj48cD5GcmVpaGVpdDxcL3A+XG48XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9kaXY+PFwvZGl2PiJd\" data-init-show=\"6\">\n            <div class=\"eael-filterable-gallery-item-wrap\">\n\t\t\t\t<div class=\"eael-gallery-grid-item\"><div class=\"gallery-item-thumbnail-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/professional-receptionist-assisting-a-young-male-t-2026-05-08-16-38-51-utc-300x200.jpg\" class=\"attachment-medium size-medium wp-image-6419\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/professional-receptionist-assisting-a-young-male-t-2026-05-08-16-38-51-utc-300x200.jpg 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/professional-receptionist-assisting-a-young-male-t-2026-05-08-16-38-51-utc-1024x683.jpg 1024w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/professional-receptionist-assisting-a-young-male-t-2026-05-08-16-38-51-utc-768x512.jpg 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/professional-receptionist-assisting-a-young-male-t-2026-05-08-16-38-51-utc-1536x1024.jpg 1536w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/professional-receptionist-assisting-a-young-male-t-2026-05-08-16-38-51-utc-2048x1366.jpg 2048w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/professional-receptionist-assisting-a-young-male-t-2026-05-08-16-38-51-utc-600x400.jpg 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><div class=\"gallery-item-caption-wrap caption-style-hoverer eael-fade-in\"><div class=\"gallery-item-hoverer-bg\"><\/div><div class=\"gallery-item-caption-over\"><h4 class=\"fg-item-title\">Hotel<\/h4><div class=\"fg-item-content\"><p>Gastgewerbe<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"eael-filterable-gallery-item-wrap\">\n\t\t\t\t<div class=\"eael-gallery-grid-item\"><div class=\"gallery-item-thumbnail-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/confectioners-use-gas-burner-to-decorate-croissant-2026-01-09-07-04-51-utc-300x200.jpg\" class=\"attachment-medium size-medium wp-image-6424\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/confectioners-use-gas-burner-to-decorate-croissant-2026-01-09-07-04-51-utc-300x200.jpg 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/confectioners-use-gas-burner-to-decorate-croissant-2026-01-09-07-04-51-utc-1024x683.jpg 1024w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/confectioners-use-gas-burner-to-decorate-croissant-2026-01-09-07-04-51-utc-768x512.jpg 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/confectioners-use-gas-burner-to-decorate-croissant-2026-01-09-07-04-51-utc-1536x1024.jpg 1536w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/confectioners-use-gas-burner-to-decorate-croissant-2026-01-09-07-04-51-utc-2048x1365.jpg 2048w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/confectioners-use-gas-burner-to-decorate-croissant-2026-01-09-07-04-51-utc-600x400.jpg 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><div class=\"gallery-item-caption-wrap caption-style-hoverer eael-fade-in\"><div class=\"gallery-item-hoverer-bg\"><\/div><div class=\"gallery-item-caption-over\"><h4 class=\"fg-item-title\">Food Service<\/h4><div class=\"fg-item-content\"><p>Flexibilit\u00e4t<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"eael-filterable-gallery-item-wrap\">\n\t\t\t\t<div class=\"eael-gallery-grid-item\"><div class=\"gallery-item-thumbnail-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/couple-choosing-home-appliances-in-electronics-sto-2026-07-10-15-01-08-utc-300x200.jpg\" class=\"attachment-medium size-medium wp-image-6420\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/couple-choosing-home-appliances-in-electronics-sto-2026-07-10-15-01-08-utc-300x200.jpg 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/couple-choosing-home-appliances-in-electronics-sto-2026-07-10-15-01-08-utc-1024x681.jpg 1024w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/couple-choosing-home-appliances-in-electronics-sto-2026-07-10-15-01-08-utc-768x511.jpg 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/couple-choosing-home-appliances-in-electronics-sto-2026-07-10-15-01-08-utc-1536x1022.jpg 1536w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/couple-choosing-home-appliances-in-electronics-sto-2026-07-10-15-01-08-utc-2048x1363.jpg 2048w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/couple-choosing-home-appliances-in-electronics-sto-2026-07-10-15-01-08-utc-600x399.jpg 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><div class=\"gallery-item-caption-wrap caption-style-hoverer eael-fade-in\"><div class=\"gallery-item-hoverer-bg\"><\/div><div class=\"gallery-item-caption-over\"><h4 class=\"fg-item-title\">Einzelhandel<\/h4><div class=\"fg-item-content\"><p>Pr\u00e4sentation<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"eael-filterable-gallery-item-wrap\">\n\t\t\t\t<div class=\"eael-gallery-grid-item\"><div class=\"gallery-item-thumbnail-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/family-sharing-meal-together-at-home-dining-table-2026-03-16-03-29-24-utc-300x200.jpg\" class=\"attachment-medium size-medium wp-image-6421\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/family-sharing-meal-together-at-home-dining-table-2026-03-16-03-29-24-utc-300x200.jpg 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/family-sharing-meal-together-at-home-dining-table-2026-03-16-03-29-24-utc-1024x683.jpg 1024w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/family-sharing-meal-together-at-home-dining-table-2026-03-16-03-29-24-utc-768x512.jpg 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/family-sharing-meal-together-at-home-dining-table-2026-03-16-03-29-24-utc-1536x1024.jpg 1536w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/family-sharing-meal-together-at-home-dining-table-2026-03-16-03-29-24-utc-2048x1365.jpg 2048w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/family-sharing-meal-together-at-home-dining-table-2026-03-16-03-29-24-utc-600x400.jpg 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><div class=\"gallery-item-caption-wrap caption-style-hoverer eael-fade-in\"><div class=\"gallery-item-hoverer-bg\"><\/div><div class=\"gallery-item-caption-over\"><h4 class=\"fg-item-title\">Zuhause<\/h4><div class=\"fg-item-content\"><p>Lebensstil<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"eael-filterable-gallery-item-wrap\">\n\t\t\t\t<div class=\"eael-gallery-grid-item\"><div class=\"gallery-item-thumbnail-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"196\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/colleagues-enjoying-a-casual-break-in-modern-offic-2026-01-09-07-32-28-utc-300x196.jpg\" class=\"attachment-medium size-medium wp-image-6422\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/colleagues-enjoying-a-casual-break-in-modern-offic-2026-01-09-07-32-28-utc-300x196.jpg 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/colleagues-enjoying-a-casual-break-in-modern-offic-2026-01-09-07-32-28-utc-1024x669.jpg 1024w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/colleagues-enjoying-a-casual-break-in-modern-offic-2026-01-09-07-32-28-utc-768x502.jpg 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/colleagues-enjoying-a-casual-break-in-modern-offic-2026-01-09-07-32-28-utc-1536x1003.jpg 1536w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/colleagues-enjoying-a-casual-break-in-modern-offic-2026-01-09-07-32-28-utc-2048x1337.jpg 2048w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/colleagues-enjoying-a-casual-break-in-modern-offic-2026-01-09-07-32-28-utc-600x392.jpg 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><div class=\"gallery-item-caption-wrap caption-style-hoverer eael-fade-in\"><div class=\"gallery-item-hoverer-bg\"><\/div><div class=\"gallery-item-caption-over\"><h4 class=\"fg-item-title\">B\u00fcro<\/h4><div class=\"fg-item-content\"><p>Wohlbefinden<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"eael-filterable-gallery-item-wrap\">\n\t\t\t\t<div class=\"eael-gallery-grid-item\"><div class=\"gallery-item-thumbnail-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/man-plays-guitar-group-of-young-people-is-traveli-2026-03-24-05-13-34-utc-300x200.jpg\" class=\"attachment-medium size-medium wp-image-6423\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/man-plays-guitar-group-of-young-people-is-traveli-2026-03-24-05-13-34-utc-300x200.jpg 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/man-plays-guitar-group-of-young-people-is-traveli-2026-03-24-05-13-34-utc-1024x683.jpg 1024w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/man-plays-guitar-group-of-young-people-is-traveli-2026-03-24-05-13-34-utc-768x512.jpg 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/man-plays-guitar-group-of-young-people-is-traveli-2026-03-24-05-13-34-utc-1536x1024.jpg 1536w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/man-plays-guitar-group-of-young-people-is-traveli-2026-03-24-05-13-34-utc-2048x1365.jpg 2048w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/man-plays-guitar-group-of-young-people-is-traveli-2026-03-24-05-13-34-utc-600x400.jpg 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><div class=\"gallery-item-caption-wrap caption-style-hoverer eael-fade-in\"><div class=\"gallery-item-hoverer-bg\"><\/div><div class=\"gallery-item-caption-over\"><h4 class=\"fg-item-title\">Outdoor<\/h4><div class=\"fg-item-content\"><p>Freiheit<\/p>\n<\/div><\/div><\/div><\/div><\/div>        <\/div>\n                <\/div>\n        \n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f95f839 e-flex e-con-boxed e-con e-parent\" data-id=\"f95f839\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-6d1f03d e-con-full e-flex e-con e-child\" data-id=\"6d1f03d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3b5e300 elementor-widget elementor-widget-heading\" data-id=\"3b5e300\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Neu eingef\u00fchrte Ger\u00e4te<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d43888c elementor-widget elementor-widget-text-editor\" data-id=\"d43888c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Entdecken Sie unsere neuesten Erg\u00e4nzungen im kommerziellen Bereich, die Ihr Produktsortiment bereichern.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9b023a4 e-con-full e-flex e-con e-child\" data-id=\"9b023a4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"woocommerce elementor-element elementor-element-287c95a elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid\" data-id=\"287c95a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_skin&quot;:&quot;product&quot;,&quot;template_id&quot;:6166,&quot;columns&quot;:&quot;3&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.product\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\" role=\"list\">\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-4927 post-4927 product type-product status-publish has-post-thumbnail product_cat-luftzirkulator product_tag-neuheiten  instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06c8ba4a\" \n         data-gallery-id=\"gallery-6aedc06c8ba4a\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c8ba4a\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06c8ba4a\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_C3_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_C3_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_C3_MI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_C3_MI_04.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_C3_MI_05.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_C3_MI_06.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/FT35DC_C3_CI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c8ba4a\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06c8ba4a\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 14.285714285714%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">7<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/luftzirkulator\/16-zoll-ventilator-ft35dc-c3\/\">16-Zoll Umluftventilator &#8211; FT35DC-C3<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>16-Zoll DC-Ventilator, 12 Stufen, 4 Modi (Normal\/Natur\/Schlaf\/ECO). Auto-Schwenkung links-rechts mit einstellbarem Winkel; Tisch\/Boden mit H\u00f6henverstellung. Echtzeit-Temperaturanzeige, 9h Timer, Nachtlicht. LED-Display + Fernbedienung. Integriertes Wi-Fi (optional), Griff f\u00fcr einfachen Transport.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/luftzirkulator\/16-zoll-ventilator-ft35dc-c3\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-4951 post-4951 product type-product status-publish has-post-thumbnail product_cat-luftkuehler product_tag-bestseller product_tag-neuheiten last instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06c9376a\" \n         data-gallery-id=\"gallery-6aedc06c9376a\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c9376a\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06c9376a\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_R10FKY_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_MI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_MI_04.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_MI_05.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_DI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_DI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_DI_04.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/SW_42_S8FKY_SI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c9376a\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06c9376a\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 11.111111111111%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">9<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/luftkuehler\/luftkuehler-mit-halbleiter-sw-42-s8fky\/\">Luftk\u00fchler mit Halbleiter &#8211; SW-42-S8FKY<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>Halbleiter- + Verdunstungsk\u00fchlung, Negativ-Ionen-Reinigung. 10L Tank, 1200-1300ml\/hr Verdunstung f\u00fcr langanhaltende K\u00fchlung. 4 Geschwindigkeiten + 3 Windmodi, automatische Links-Rechts + manuelle Auf-Ab-Schwenkung. Patentierte Schiebet\u00fcr, Touch-Digitaldisplay, 9-Stunden-Timer, Wasserstandswarnung. 10L abnehmbarer Tank + doppelte Eisboxen f\u00fcr verst\u00e4rkte K\u00fchlung, Fernbedienung + Touch, \u00dcberhitzungsschutz, farbiger K\u00f6rper.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/luftkuehler\/luftkuehler-mit-halbleiter-sw-42-s8fky\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-5013 post-5013 product type-product status-publish has-post-thumbnail product_cat-eiswuerfelbereiter product_tag-neuheiten first instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06c9b12c\" \n         data-gallery-id=\"gallery-6aedc06c9b12c\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c9b12c\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06c9b12c\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/YH16M_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/YH16M_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/YH16M_DI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/YH16M_DI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/YH16M_DI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/YH16M_SI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06c9b12c\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06c9b12c\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 16.666666666667%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">6<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/eiswuerfelbereiter\/mini-haushalts-eiswuerfelbereiter-yh16m\/\">Mini-Haushalts-Eisw\u00fcrfelbereiter &#8211; YH16M<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>Edelstahlgeh\u00e4use, robust und leicht zu reinigen, silberne Oberfl\u00e4che f\u00fcr ein elegantes und stilvolles Aussehen. Intelligente Touch-Bedienung f\u00fcr reaktionsschnelle und bequeme Nutzung; ger\u00e4uscharmer Betrieb f\u00fcr eine ruhige Umgebung. 6-13 Minuten schnelle Eisbereitung, 9 Eisw\u00fcrfel pro Zyklus, Tagesleistung 12kg f\u00fcr kalte Getr\u00e4nke jederzeit. 1,5L gro\u00dfer Wassertank mit 0,8kg Eisvorratskapazit\u00e4t, deckt den t\u00e4glichen Bedarf der ganzen Familie.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/eiswuerfelbereiter\/mini-haushalts-eiswuerfelbereiter-yh16m\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-5057 post-5057 product type-product status-publish has-post-thumbnail product_cat-toaster product_tag-neuheiten  instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06ca36b3\" \n         data-gallery-id=\"gallery-6aedc06ca36b3\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06ca36b3\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06ca36b3\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/TXT047_MI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/TXT047_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/TXT047_MI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/TXT047_DI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/TXT047_DI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/TXT047_DI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/TXT047_SI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/TXT047_SI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06ca36b3\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06ca36b3\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 12.5%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">8<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/toaster\/hotdog-toaster-txt-047\/\">Hotdog-Toaster &#8211; TXT-047<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>Toastet Brot und erhitzt gleichzeitig Hot Dogs f\u00fcr schnelle und leckere Hot-Dog-Mahlzeiten. 7-stufige Heizeinstellung f\u00fcr perfekte Br\u00e4unungskontrolle. Ein-Tasten-Pause-Funktion zum jederzeitigen Unterbrechen des Heizvorgangs f\u00fcr flexible Nutzung. Mechanische Tastensteuerung, einfach zu bedienen. Erh\u00e4ltlich in Wei\u00df, Schwarz und Rot.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/toaster\/hotdog-toaster-txt-047\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-5038 post-5038 product type-product status-publish has-post-thumbnail product_cat-wasserkocher product_tag-neuheiten  instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06cab2a9\" \n         data-gallery-id=\"gallery-6aedc06cab2a9\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06cab2a9\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06cab2a9\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/057_DI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/057_DI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/057_DI_03.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/057_SI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06cab2a9\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06cab2a9\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 25%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">4<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/wasserkocher\/tragbarer-reisekocher-elektrischer-wasserbecher-057\/\">Tragbarer Reisekocher Elektrischer Wasserbecher &#8211; 057<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>Ein Becher mit zwei Deckeln, Kochen und Trinken in einem, macht Reisen bequemer. 1200ml gro\u00dfe Kapazit\u00e4t, einmal kochen reicht f\u00fcr den ganzen Tag. Doppelwandiger Vakuum-Edelstahl, 6 Temperaturstufen, langanhaltende W\u00e4rmeisolierung. Touch-Bedienung, 800W schnelles Aufheizen, geeignet f\u00fcr Mehrspannungsbetrieb. Erh\u00e4ltlich mit oberem Tragegriff oder seitlichem Griff, leicht zu transportieren.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/wasserkocher\/tragbarer-reisekocher-elektrischer-wasserbecher-057\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6166\" class=\"elementor elementor-6166 elementor-2365 elementor-2365 e-loop-item e-loop-item-5007 post-5007 product type-product status-publish has-post-thumbnail product_cat-eismaschine product_tag-neuheiten last instock shipping-taxable product-type-simple\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-36f568e e-con-full e-flex e-con e-parent\" data-id=\"36f568e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-384063a e-con-full e-flex e-con e-child\" data-id=\"384063a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72e0b8d elementor-widget elementor-widget-shortcode\" data-id=\"72e0b8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <!-- ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668 ===== -->\n    <div class=\"custom-product-gallery \" \n         id=\"gallery-6aedc06cb4fbb\" \n         data-gallery-id=\"gallery-6aedc06cb4fbb\">\n        \n        <!-- ===== \u5de6\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav prev \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06cb4fbb\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"15 18 9 12 15 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u56fe\u7247\u533a\u57df ===== -->\n        <div class=\"gallery-images-wrapper\" data-gallery=\"gallery-6aedc06cb4fbb\">\n            <div class=\"gallery-images-container\">\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/sku-3-\u5929\u84dd\u8272\u6b27\u6807.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/BL520_MI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/BL520_CI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/BL520_RI_01.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                                                        <div class=\"gallery-slide\">\n                        <img decoding=\"async\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/07\/BL520_RI_02.jpg\" alt=\"\u4ea7\u54c1\u56fe\u7247\" loading=\"lazy\" draggable=\"false\">\n                    <\/div>\n                            <\/div>\n        <\/div>\n        \n        <!-- ===== \u53f3\u5207\u6362\u6309\u94ae ===== -->\n        <button class=\"gallery-nav next \" \n                type=\"button\" \n                data-gallery=\"gallery-6aedc06cb4fbb\" \n                >\n            <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#eb0028\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"9 18 15 12 9 6\"\/>\n            <\/svg>\n        <\/button>\n        \n        <!-- ===== \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668 ===== -->\n        <div class=\"gallery-progress-wrapper\" \n             data-gallery=\"gallery-6aedc06cb4fbb\" \n             >\n            <!-- \u8fdb\u5ea6\u6761 -->\n            <div class=\"gallery-progress-track\">\n                <div class=\"gallery-progress-bar\" style=\"width: 20%;\"><\/div>\n            <\/div>\n            <!-- \u8ba1\u6570\u5668 -->\n            <div class=\"gallery-counter\">\n                <span class=\"counter-current\">1<\/span>\n                <span class=\"counter-separator\">\/<\/span>\n                <span class=\"counter-total\">5<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== CSS\u6837\u5f0f ===== -->\n    <style>\n    \/* ===== \u4ea7\u54c1\u56fe\u5e93\u4e3b\u5bb9\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        width: 100%;\n        gap: 8px;\n        position: relative;\n        margin: 0px;\n        touch-action: pan-y;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u7684\u7279\u6b8a\u6837\u5f0f ===== *\/\n    .custom-product-gallery.single-image .gallery-nav {\n        opacity: 0;\n        visibility: hidden;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u53f3\u5207\u6362\u6309\u94ae\u901a\u7528\u6837\u5f0f - \u65e0\u9634\u5f71 ===== *\/\n    .custom-product-gallery .gallery-nav.prev,\n    .custom-product-gallery .gallery-nav.next {\n        flex: 0 0 40px;\n        width: 40px;\n        height: 40px;\n        border: 1.5px solid #eb0028;\n        border-radius: 50%;\n        background: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        margin: 0;\n        box-sizing: border-box;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        outline: none;\n        box-shadow: none !important;\n        z-index: 5;\n        touch-action: manipulation;\n        -webkit-tap-highlight-color: transparent;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) {\n        background: #eb0028;\n    }\n    \n    .custom-product-gallery .gallery-nav:hover:not(:disabled) svg {\n        stroke: #ffffff !important;\n    }\n    \n    .custom-product-gallery .gallery-nav:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n    \n    .custom-product-gallery .gallery-nav svg {\n        display: block;\n        transition: stroke 0.3s ease;\n        pointer-events: none;\n    }\n    \n    \/* ===== \u5de6\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.prev {\n        order: 1;\n    }\n    \n    \/* ===== \u56fe\u7247\u533a\u57df\u5bb9\u5668\uff08\u5916\u5c42\uff1a\u8d1f\u8d23\u88c1\u526a\u548c\u80cc\u666f\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-wrapper {\n        flex: 1;\n        min-width: 0;\n        aspect-ratio: 1\/1;\n        overflow: hidden;\n        border-radius: 6px;\n        background: #ffffff;\n        order: 2;\n        position: relative;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        touch-action: pan-y !important;\n        box-sizing: border-box;\n    }\n    \n    \/* ===== \u56fe\u7247\u5bb9\u5668\uff08\u5185\u5c42\uff1a\u6ed1\u52a8\uff09 ===== *\/\n    .custom-product-gallery .gallery-images-container {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n        user-select: none;\n        -webkit-user-select: none;\n        will-change: transform;\n        touch-action: pan-y !important;\n    }\n    \n    \/* ===== \u53f3\u6309\u94ae\u4f4d\u7f6e ===== *\/\n    .custom-product-gallery .gallery-nav.next {\n        order: 3;\n    }\n    \n    \/* ===== \u5355\u4e2a\u56fe\u7247\u9879 ===== *\/\n    .custom-product-gallery .gallery-slide {\n        flex: 0 0 100%;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        pointer-events: none;\n        flex-shrink: 0;\n    }\n    \n    \/* ===== \u56fe\u7247\u672c\u8eab - \u94fa\u6ee1\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        pointer-events: none;\n        user-select: none;\n        -webkit-user-select: none;\n        -webkit-touch-callout: none;\n        draggable: false;\n    }\n    \n    \/* ============================================================\n       \u8fdb\u5ea6\u6761 + \u8ba1\u6570\u5668\n       ============================================================ *\/\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u5bb9\u5668 ===== *\/\n    .custom-product-gallery .gallery-progress-wrapper {\n        flex: 0 0 100%;\n        order: 4;\n        margin-top: 12px;\n        padding: 0 10px;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u8f68\u9053 ===== *\/\n    .custom-product-gallery .gallery-progress-track {\n        width: 100%;\n        max-width: 400px;\n        height: 4px;\n        background: #e5e7eb;\n        border-radius: 2px;\n        overflow: hidden;\n        position: relative;\n    }\n    \n    \/* ===== \u8fdb\u5ea6\u6761\u586b\u5145 ===== *\/\n    .custom-product-gallery .gallery-progress-bar {\n        height: 100%;\n        background: #eb0028;\n        border-radius: 2px;\n        transition: width 0.3s ease;\n        width: 0%;\n    }\n    \n    \/* ===== \u8ba1\u6570\u5668\u6837\u5f0f ===== *\/\n    .custom-product-gallery .gallery-counter {\n        font-size: 13px;\n        color: #9ca3af;\n        letter-spacing: 1px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n        user-select: none;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-current {\n        color: #1B1E20;\n        font-weight: 600;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-separator {\n        margin: 0 4px;\n        color: #d1d5db;\n    }\n    \n    .custom-product-gallery .gallery-counter .counter-total {\n        color: #9ca3af;\n    }\n    \n    \/* ===== \u53ea\u6709\u4e00\u5f20\u56fe\u7247\u65f6\u9690\u85cf\u8fdb\u5ea6\u6761 ===== *\/\n    .custom-product-gallery.single-image .gallery-progress-wrapper {\n        display: none !important;\n    }\n    \n    \/* ===== \u79fb\u52a8\u7aef\u6309\u94ae\u89e6\u6478\u4f18\u5316 ===== *\/\n    @media (max-width: 768px) {\n        .custom-product-gallery .gallery-nav.prev,\n        .custom-product-gallery .gallery-nav.next {\n            flex: 0 0 36px;\n            width: 36px;\n            height: 36px;\n        }\n        .custom-product-gallery .gallery-nav svg {\n            width: 16px;\n            height: 16px;\n        }\n    }\n    <\/style>\n\n    <!-- ===== JavaScript\u4ea4\u4e92\u4ee3\u7801 ===== -->\n    <script>\n    (function() {\n        'use strict';\n        \n        function initGallery(gallery) {\n            var galleryId = gallery.id || 'gallery-' + Date.now();\n            if (!gallery.id) {\n                gallery.id = galleryId;\n            }\n            \n            if (gallery._initialized) {\n                return;\n            }\n            \n            var container = gallery.querySelector('.gallery-images-container');\n            var wrapper = gallery.querySelector('.gallery-images-wrapper');\n            var slides = gallery.querySelectorAll('.gallery-slide');\n            var totalSlides = slides.length;\n            \n            if (totalSlides <= 1) {\n                return;\n            }\n            \n            gallery._initialized = true;\n            gallery._currentIndex = 0;\n            gallery._totalSlides = totalSlides;\n            gallery._isAnimating = false;\n            \n            function moveToIndex(index, animate) {\n                var translateX = -(index * 100);\n                if (animate !== false) {\n                    container.style.transition = 'transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)';\n                } else {\n                    container.style.transition = 'none';\n                }\n                container.style.transform = 'translateX(' + translateX + '%)';\n                gallery._currentIndex = index;\n                updateUI();\n            }\n            \n            function updateUI() {\n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                \n                var prevBtn = gallery.querySelector('.gallery-nav.prev');\n                var nextBtn = gallery.querySelector('.gallery-nav.next');\n                var progressBar = gallery.querySelector('.gallery-progress-bar');\n                var counterCurrent = gallery.querySelector('.counter-current');\n                \n                if (prevBtn) {\n                    prevBtn.disabled = (currentIndex === 0);\n                }\n                if (nextBtn) {\n                    nextBtn.disabled = (currentIndex === totalSlides - 1);\n                }\n                \n                if (progressBar) {\n                    var progressPercent = ((currentIndex + 1) \/ totalSlides) * 100;\n                    progressBar.style.width = progressPercent + '%';\n                }\n                \n                if (counterCurrent) {\n                    counterCurrent.textContent = currentIndex + 1;\n                }\n            }\n            \n            function goTo(index) {\n                if (gallery._isAnimating) return;\n                if (index < 0) index = 0;\n                if (index >= totalSlides) index = totalSlides - 1;\n                if (index === gallery._currentIndex) return;\n                \n                gallery._isAnimating = true;\n                moveToIndex(index, true);\n                \n                setTimeout(function() {\n                    gallery._isAnimating = false;\n                }, 350);\n            }\n            \n            function goToPrev() {\n                if (gallery._currentIndex > 0) {\n                    goTo(gallery._currentIndex - 1);\n                }\n            }\n            \n            function goToNext() {\n                if (gallery._currentIndex < totalSlides - 1) {\n                    goTo(gallery._currentIndex + 1);\n                }\n            }\n            \n            moveToIndex(0, false);\n            \n            var prevBtn = gallery.querySelector('.gallery-nav.prev');\n            var nextBtn = gallery.querySelector('.gallery-nav.next');\n            \n            if (prevBtn) {\n                prevBtn.replaceWith(prevBtn.cloneNode(true));\n                var newPrevBtn = gallery.querySelector('.gallery-nav.prev');\n                newPrevBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToPrev();\n                });\n            }\n            \n            if (nextBtn) {\n                nextBtn.replaceWith(nextBtn.cloneNode(true));\n                var newNextBtn = gallery.querySelector('.gallery-nav.next');\n                newNextBtn.addEventListener('click', function(e) {\n                    e.preventDefault();\n                    goToNext();\n                });\n            }\n            \n            \/\/ ===== \u89e6\u6478\u6ed1\u52a8 =====\n            var touchStartX = 0;\n            var touchStartY = 0;\n            var touchCurrentX = 0;\n            var isSwiping = false;\n            var swipeDirection = null;\n            \n            wrapper.addEventListener('touchstart', function(e) {\n                if (gallery._isAnimating) return;\n                \n                var touch = e.touches[0];\n                touchStartX = touch.clientX;\n                touchStartY = touch.clientY;\n                touchCurrentX = touchStartX;\n                isSwiping = false;\n                swipeDirection = null;\n                \n                container.style.transition = 'none';\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchmove', function(e) {\n                var touch = e.touches[0];\n                var deltaX = touch.clientX - touchStartX;\n                var deltaY = touch.clientY - touchStartY;\n                var absDeltaX = Math.abs(deltaX);\n                var absDeltaY = Math.abs(deltaY);\n                \n                if (swipeDirection === null) {\n                    if (absDeltaX > 8 || absDeltaY > 8) {\n                        if (absDeltaX > absDeltaY) {\n                            swipeDirection = 'horizontal';\n                        } else {\n                            swipeDirection = 'vertical';\n                            return;\n                        }\n                    } else {\n                        return;\n                    }\n                }\n                \n                if (swipeDirection === 'vertical') {\n                    return;\n                }\n                \n                if (swipeDirection === 'horizontal') {\n                    e.preventDefault();\n                    isSwiping = true;\n                    touchCurrentX = touch.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            }, { passive: false });\n            \n            wrapper.addEventListener('touchend', function(e) {\n                if (swipeDirection === 'vertical') {\n                    swipeDirection = null;\n                    return;\n                }\n                \n                if (!isSwiping || gallery._isAnimating) {\n                    isSwiping = false;\n                    swipeDirection = null;\n                    return;\n                }\n                \n                var deltaX = touchCurrentX - touchStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isSwiping = false;\n                swipeDirection = null;\n            }, { passive: true });\n            \n            wrapper.addEventListener('touchcancel', function() {\n                isSwiping = false;\n                swipeDirection = null;\n                moveToIndex(gallery._currentIndex || 0, true);\n            }, { passive: true });\n            \n            \/\/ ===== \u9f20\u6807\u62d6\u62fd =====\n            var isMouseDown = false;\n            var mouseStartX = 0;\n            var mouseCurrentX = 0;\n            var isMouseDragging = false;\n            \n            wrapper.addEventListener('mousedown', function(e) {\n                if (e.button !== 0) return;\n                if (gallery._isAnimating) return;\n                \n                isMouseDown = true;\n                isMouseDragging = false;\n                mouseStartX = e.clientX;\n                mouseCurrentX = mouseStartX;\n                \n                container.style.transition = 'none';\n                e.preventDefault();\n            });\n            \n            document.addEventListener('mousemove', function(e) {\n                if (!isMouseDown) return;\n                \n                var deltaX = e.clientX - mouseStartX;\n                \n                if (!isMouseDragging && Math.abs(deltaX) > 5) {\n                    isMouseDragging = true;\n                }\n                \n                if (isMouseDragging) {\n                    mouseCurrentX = e.clientX;\n                    \n                    var wrapperWidth = wrapper.offsetWidth;\n                    var deltaPercent = (deltaX \/ wrapperWidth) * 100;\n                    \n                    var currentIndex = gallery._currentIndex || 0;\n                    var totalSlides = gallery._totalSlides || 0;\n                    var baseTranslate = -(currentIndex * 100);\n                    var targetTranslate = baseTranslate + deltaPercent;\n                    \n                    var minTranslate = -(totalSlides - 1) * 100;\n                    var maxTranslate = 0;\n                    var boundaryResistance = 0.3;\n                    \n                    if (targetTranslate > maxTranslate) {\n                        var overflow = targetTranslate - maxTranslate;\n                        targetTranslate = maxTranslate + (overflow * boundaryResistance);\n                    } else if (targetTranslate < minTranslate) {\n                        var overflow = minTranslate - targetTranslate;\n                        targetTranslate = minTranslate - (overflow * boundaryResistance);\n                    }\n                    \n                    container.style.transform = 'translateX(' + targetTranslate + '%)';\n                }\n            });\n            \n            document.addEventListener('mouseup', function(e) {\n                if (!isMouseDown) return;\n                isMouseDown = false;\n                \n                if (!isMouseDragging || gallery._isAnimating) {\n                    isMouseDragging = false;\n                    return;\n                }\n                \n                var deltaX = mouseCurrentX - mouseStartX;\n                var wrapperWidth = wrapper.offsetWidth;\n                \n                var currentIndex = gallery._currentIndex || 0;\n                var totalSlides = gallery._totalSlides || 0;\n                var newIndex = currentIndex;\n                \n                var dragPercent = Math.abs(deltaX) \/ wrapperWidth;\n                var switchThreshold = 0.2;\n                \n                if (dragPercent > switchThreshold) {\n                    if (deltaX > 0) {\n                        if (currentIndex > 0) {\n                            newIndex = currentIndex - 1;\n                        }\n                    } else {\n                        if (currentIndex < totalSlides - 1) {\n                            newIndex = currentIndex + 1;\n                        }\n                    }\n                }\n                \n                if (newIndex === currentIndex) {\n                    moveToIndex(currentIndex, true);\n                } else {\n                    gallery._isAnimating = true;\n                    moveToIndex(newIndex, true);\n                    setTimeout(function() {\n                        gallery._isAnimating = false;\n                    }, 350);\n                }\n                \n                isMouseDragging = false;\n            });\n        }\n        \n        function initAllGalleries() {\n            var galleries = document.querySelectorAll('.custom-product-gallery');\n            \n            galleries.forEach(function(gallery) {\n                initGallery(gallery);\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initAllGalleries);\n        } else {\n            initAllGalleries();\n        }\n        \n        var observer = new MutationObserver(function(mutations) {\n            var needInit = false;\n            for (var i = 0; i < mutations.length; i++) {\n                if (mutations[i].addedNodes.length > 0) {\n                    for (var j = 0; j < mutations[i].addedNodes.length; j++) {\n                        var node = mutations[i].addedNodes[j];\n                        if (node.nodeType === 1) {\n                            if (node.classList && node.classList.contains('custom-product-gallery') && !node._initialized) {\n                                needInit = true;\n                                break;\n                            }\n                            if (node.querySelector && node.querySelector('.custom-product-gallery:not([_initialized])')) {\n                                needInit = true;\n                                break;\n                            }\n                        }\n                    }\n                }\n                if (needInit) break;\n            }\n            if (needInit) {\n                setTimeout(initAllGalleries, 100);\n            }\n        });\n        observer.observe(document.body, { childList: true, subtree: true });\n        \n        window.refreshGalleries = initAllGalleries;\n        \n    })();\n    <\/script>\n    \n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51815dd e-con-full e-flex e-con e-child\" data-id=\"51815dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b68f86 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"4b68f86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/joinwincenter.com\/de\/product\/eismaschine\/haushalts-eismaschine-bl520\/\">Haushalts-Eismaschine &#8211; BL520<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d771fbc elementor-widget elementor-widget-woocommerce-product-short-description\" data-id=\"d771fbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-product-short-description.default\">\n\t\t\t\t\t<div class=\"woocommerce-product-details__short-description\">\n\t<p>BL520 Haushalts-Eisbereiter, fertig in 15-25 Minuten, 500ml Fassungsverm\u00f6gen f\u00fcr 3-4 Personen. Leicht zu reinigen, Gefrierbeh\u00e4lter kann Smoothies, Milchshakes und Eiscreme zubereiten. Erh\u00e4ltlich in Sakura-Pink und Eisblau, kompakt und platzsparend.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85ed06 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"f85ed06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/product\/eismaschine\/haushalts-eismaschine-bl520\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mehr erfahren<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-350a4f6 e-flex e-con-boxed e-con e-parent\" data-id=\"350a4f6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-cd8fe5a e-con-full e-flex e-con e-child\" data-id=\"cd8fe5a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3bb8b79 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-absolute elementor-widget elementor-widget-image\" data-id=\"3bb8b79\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"814\" height=\"814\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028.png\" class=\"attachment-full size-full wp-image-1395\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028.png 814w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-300x300.png 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-150x150.png 150w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-768x768.png 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-100x100.png 100w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-200x200.png 200w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-400x400.png 400w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-500x500.png 500w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-600x600.png 600w\" sizes=\"(max-width: 814px) 100vw, 814px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-193a239 e-con-full e-flex e-con e-child\" data-id=\"193a239\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1f7a667 elementor-widget elementor-widget-heading\" data-id=\"1f7a667\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Vertrauenspartner globaler Distributoren<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75c9a79 elementor-widget elementor-widget-text-editor\" data-id=\"75c9a79\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Wir werden von Partnern weltweit als zuverl\u00e4ssiger Ger\u00e4telieferant anerkannt.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8fb89fe elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-absolute elementor-widget elementor-widget-image\" data-id=\"8fb89fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"814\" height=\"814\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028.png\" class=\"attachment-full size-full wp-image-1395\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028.png 814w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-300x300.png 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-150x150.png 150w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-768x768.png 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-100x100.png 100w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-200x200.png 200w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-400x400.png 400w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-500x500.png 500w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/01\/circle_eb0028-600x600.png 600w\" sizes=\"(max-width: 814px) 100vw, 814px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2a5a433 e-flex e-con-boxed e-con e-parent\" data-id=\"2a5a433\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-e72b571 e-con-full e-flex e-con e-child\" data-id=\"e72b571\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5c0131c elementor-widget elementor-widget-heading\" data-id=\"5c0131c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Neueste Produkt-Updates<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fcce9b7 elementor-widget elementor-widget-text-editor\" data-id=\"fcce9b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Erkunden Sie unsere neuesten Ger\u00e4te-Neuvorstellungen, die entwickelt wurden, um sich wandelnde kommerzielle Anforderungen zu erf\u00fcllen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c71d521 e-con-full e-flex e-con e-child\" data-id=\"c71d521\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dc53886 elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid\" data-id=\"dc53886\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;template_id&quot;:6142,&quot;_skin&quot;:&quot;post&quot;,&quot;columns&quot;:&quot;3&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.post\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\" role=\"list\">\n\t\t<style id=\"loop-6142\">.elementor-6142 .elementor-element.elementor-element-e75d804{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:10px 10px 10px 10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6142 .elementor-element.elementor-element-e75d804:hover{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-6142 .elementor-element.elementor-element-6dfd871 img{width:100%;border-radius:10px 10px 0px 0px;}.elementor-6142 .elementor-element.elementor-element-6dfd871:hover img{filter:brightness( 40% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-6142 .elementor-element.elementor-element-3f49280{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.05;--border-radius:0px 0px 10px 10px;}.elementor-6142 .elementor-element.elementor-element-3f49280::before, .elementor-6142 .elementor-element.elementor-element-3f49280 > .elementor-background-video-container::before, .elementor-6142 .elementor-element.elementor-element-3f49280 > .e-con-inner > .elementor-background-video-container::before, .elementor-6142 .elementor-element.elementor-element-3f49280 > .elementor-background-slideshow::before, .elementor-6142 .elementor-element.elementor-element-3f49280 > .e-con-inner > .elementor-background-slideshow::before, .elementor-6142 .elementor-element.elementor-element-3f49280 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';background-color:var( --e-global-color-619e94b );}.elementor-6142 .elementor-element.elementor-element-3f49280.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;color:var( --e-global-color-primary );}.elementor-6142 .elementor-element.elementor-element-4a27cb9{text-align:center;margin:20px 10px calc(var(--kit-widget-spacing, 0px) + 30px) 10px;}.elementor-6142 .elementor-element.elementor-element-4a27cb9 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-619e94b );}.elementor-6142 .elementor-element.elementor-element-4a27cb9.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-6142 .elementor-element.elementor-element-089e9cf .elementor-button{font-size:16px;font-weight:500;text-decoration:none;fill:var( --e-global-color-4f78961 );color:var( --e-global-color-4f78961 );background-color:var( --e-global-color-primary );border-radius:40px 40px 40px 40px;padding:10px 80px 10px 80px;}.elementor-6142 .elementor-element.elementor-element-089e9cf{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;padding:0px 0px 0px 0px;}.elementor-6142 .elementor-element.elementor-element-089e9cf.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}\/* Start custom CSS for image, class: .elementor-element-6dfd871 *\/.elementor-6142 .elementor-element.elementor-element-6dfd871 img {\n    width: 100%;\n    height: auto;\n    aspect-ratio: 3 \/ 2;\n    object-fit: cover; \/* Ensures the image does not stretch *\/\n    \/*object-fit: contain; \/* \u5173\u952e\uff1a\u56fe\u7247\u5b8c\u6574\u663e\u793a\uff0c\u4e0d\u88c1\u526a\uff0c\u7559\u767d *\/\n}\/* End custom CSS *\/<\/style>\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6142\" class=\"elementor elementor-6142 elementor-4573 elementor-4573 e-loop-item e-loop-item-5181 post-5181 post type-post status-publish format-standard has-post-thumbnail hentry category-kaffeemaschine-blog\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-e75d804 e-flex e-con-boxed e-con e-parent\" data-id=\"e75d804\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6dfd871 elementor-widget elementor-widget-image\" data-id=\"6dfd871\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/joinwincenter.com\/de\/blog\/kaffeemaschine-blog\/dampf-espressomaschinen-b2b-leitfaden\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"359\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/top-view-of-friends-toasting-cappuccino-at-coffee-2026-01-05-00-24-03-utc-1-scaled-e1785909603460-1024x459.jpg\" class=\"attachment-large size-large wp-image-4449\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/top-view-of-friends-toasting-cappuccino-at-coffee-2026-01-05-00-24-03-utc-1-scaled-e1785909603460-1024x459.jpg 1024w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/top-view-of-friends-toasting-cappuccino-at-coffee-2026-01-05-00-24-03-utc-1-scaled-e1785909603460-300x135.jpg 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/top-view-of-friends-toasting-cappuccino-at-coffee-2026-01-05-00-24-03-utc-1-scaled-e1785909603460-768x344.jpg 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/top-view-of-friends-toasting-cappuccino-at-coffee-2026-01-05-00-24-03-utc-1-scaled-e1785909603460-1536x689.jpg 1536w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/top-view-of-friends-toasting-cappuccino-at-coffee-2026-01-05-00-24-03-utc-1-scaled-e1785909603460-2048x918.jpg 2048w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/top-view-of-friends-toasting-cappuccino-at-coffee-2026-01-05-00-24-03-utc-1-scaled-e1785909603460-600x269.jpg 600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3f49280 e-con-full e-flex e-con e-child\" data-id=\"3f49280\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4a27cb9 elementor-widget elementor-widget-heading\" data-id=\"4a27cb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Dampfbetriebene, halbautomatische Espressomaschinen: Ein \u00dcberblick \u00fcber die B2B-Beschaffung<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-089e9cf elementor-align-center elementor-widget elementor-widget-button\" data-id=\"089e9cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/blog\/kaffeemaschine-blog\/dampf-espressomaschinen-b2b-leitfaden\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Weiterlesen<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6142\" class=\"elementor elementor-6142 elementor-4573 elementor-4573 e-loop-item e-loop-item-5272 post-5272 post type-post status-publish format-standard has-post-thumbnail hentry category-luftkuehler-blog category-luftzirkulator-blog\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-e75d804 e-flex e-con-boxed e-con e-parent\" data-id=\"e75d804\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6dfd871 elementor-widget elementor-widget-image\" data-id=\"6dfd871\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/joinwincenter.com\/de\/blog\/luftkuehler-blog\/luftzirkulator-vs-verdunstungskuehler-b2b\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"534\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/white-sheer-curtains-blowing-in-the-wind-in-a-mini-2026-05-25-15-04-01-utc-1024x683.jpg\" class=\"attachment-large size-large wp-image-4460\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/white-sheer-curtains-blowing-in-the-wind-in-a-mini-2026-05-25-15-04-01-utc-1024x683.jpg 1024w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/white-sheer-curtains-blowing-in-the-wind-in-a-mini-2026-05-25-15-04-01-utc-300x200.jpg 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/white-sheer-curtains-blowing-in-the-wind-in-a-mini-2026-05-25-15-04-01-utc-768x512.jpg 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/white-sheer-curtains-blowing-in-the-wind-in-a-mini-2026-05-25-15-04-01-utc-1536x1025.jpg 1536w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/white-sheer-curtains-blowing-in-the-wind-in-a-mini-2026-05-25-15-04-01-utc-2048x1366.jpg 2048w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/white-sheer-curtains-blowing-in-the-wind-in-a-mini-2026-05-25-15-04-01-utc-600x400.jpg 600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3f49280 e-con-full e-flex e-con e-child\" data-id=\"3f49280\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4a27cb9 elementor-widget elementor-widget-heading\" data-id=\"4a27cb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Luftzirkulator oder Verdunstungsk\u00fchler? B2B-Einkaufsguide f\u00fcr Klimatisierung<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-089e9cf elementor-align-center elementor-widget elementor-widget-button\" data-id=\"089e9cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/blog\/luftkuehler-blog\/luftzirkulator-vs-verdunstungskuehler-b2b\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Weiterlesen<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"6142\" class=\"elementor elementor-6142 elementor-4573 elementor-4573 e-loop-item e-loop-item-5244 post-5244 post type-post status-publish format-standard has-post-thumbnail hentry category-eiswuerfelbereiter-blog\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-e75d804 e-flex e-con-boxed e-con e-parent\" data-id=\"e75d804\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6dfd871 elementor-widget elementor-widget-image\" data-id=\"6dfd871\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/joinwincenter.com\/de\/blog\/eiswuerfelbereiter-blog\/kaufberatung-tragbare-eiswuerfelbereiter\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"533\" src=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/thirst-and-the-desire-for-freshness-at-aperitif-ti-2025-02-03-08-56-07-utc-1024x682.jpg\" class=\"attachment-large size-large wp-image-4455\" alt=\"\" srcset=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/thirst-and-the-desire-for-freshness-at-aperitif-ti-2025-02-03-08-56-07-utc-1024x682.jpg 1024w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/thirst-and-the-desire-for-freshness-at-aperitif-ti-2025-02-03-08-56-07-utc-300x200.jpg 300w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/thirst-and-the-desire-for-freshness-at-aperitif-ti-2025-02-03-08-56-07-utc-768x512.jpg 768w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/thirst-and-the-desire-for-freshness-at-aperitif-ti-2025-02-03-08-56-07-utc-1536x1023.jpg 1536w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/thirst-and-the-desire-for-freshness-at-aperitif-ti-2025-02-03-08-56-07-utc-2048x1364.jpg 2048w, https:\/\/joinwincenter.com\/wp-content\/uploads\/2025\/12\/thirst-and-the-desire-for-freshness-at-aperitif-ti-2025-02-03-08-56-07-utc-600x400.jpg 600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3f49280 e-con-full e-flex e-con e-child\" data-id=\"3f49280\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4a27cb9 elementor-widget elementor-widget-heading\" data-id=\"4a27cb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Kaufberatung f\u00fcr tragbare Eisw\u00fcrfelbereiter: So w\u00e4hlen Sie das beste kompakte Modell<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-089e9cf elementor-align-center elementor-widget elementor-widget-button\" data-id=\"089e9cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/joinwincenter.com\/de\/blog\/eiswuerfelbereiter-blog\/kaufberatung-tragbare-eiswuerfelbereiter\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Weiterlesen<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-caa6b0a e-flex e-con-boxed e-con e-parent\" data-id=\"caa6b0a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-733b61f e-con-full e-flex e-con e-child\" data-id=\"733b61f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-5f7a77c e-con-full e-flex e-con e-child\" data-id=\"5f7a77c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2e3f6c8 elementor-widget elementor-widget-heading\" data-id=\"2e3f6c8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Kontaktieren Sie uns noch heute f\u00fcr priorit\u00e4re Logistik und Mengenpreise!<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-705c8b8 e-con-full e-flex e-con e-child\" data-id=\"705c8b8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dc6353a elementor-align-right elementor-mobile-align-center elementor-widget elementor-widget-button\" data-id=\"dc6353a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-md\" href=\"https:\/\/joinwincenter.com\/de\/kontakt\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Kontakt !<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8dcc7b6 e-flex e-con-boxed e-con e-parent\" data-id=\"8dcc7b6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-1c6e8bf e-con-full e-flex e-con e-child\" data-id=\"1c6e8bf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-42f0ef9 elementor-widget elementor-widget-heading\" data-id=\"42f0ef9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Melden Sie sich f\u00fcr unseren Newsletter an<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2de1b93 elementor-widget elementor-widget-text-editor\" data-id=\"2de1b93\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Abonnieren Sie exklusive B2B-Benachrichtigungen \u00fcber Neuheiten, Mengenangebote und Brancheneinblicke \u2013 und erfahren Sie als Erster von allen exklusiven Angeboten.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4edc13 fluentform-widget-submit-button-full-width elementor-widget elementor-widget-fluent-form-widget\" data-id=\"c4edc13\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"fluent-form-widget.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n            <div class=\"fluentform-widget-wrapper fluentform-widget-align-center\">\n\n            \n            <div class='fluentform ff-default fluentform_wrapper_17 ffs_default_wrap'><form data-form_id=\"17\" id=\"fluentform_17\" class=\"frm-fluent-form fluent_form_17 ff-el-form-top ff_form_instance_17_1 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_17_1\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">subscribe_form_de<\/legend><input type='hidden' name='__fluent_form_embded_post_id' value='5244' \/><input type=\"hidden\" id=\"_fluentform_17_fluentformnonce\" name=\"_fluentform_17_fluentformnonce\" value=\"b491acca4d\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/de\/wp-json\/wp\/v2\/pages\/4832\" \/><div class='ff-el-group ff-el-form-hide_label'><div class=\"ff-el-input--label ff-el-is-required asterisk-right\"><label for='ff_17_email' id='label_ff_17_email' aria-label=\"Email\">Email<\/label><\/div><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_17_email\" class=\"ff-el-form-control\" placeholder=\"E-Mail-Adresse\" data-name=\"email\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><div class='ff-el-group ff-text-center ff_submit_btn_wrapper'><button type=\"submit\" class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style\"  aria-label=\"Absenden\">Absenden<\/button><\/div><\/fieldset><\/form><div id='fluentform_17_errors' class='ff-errors-in-stack ff_form_instance_17_1 ff-form-loading_errors ff_form_instance_17_1_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_17_1 = {\"id\":\"17\",\"ajaxUrl\":\"https:\\\/\\\/joinwincenter.com\\\/wp-admin\\\/admin-ajax.php\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"asteriskPlacement\":\"asterisk-right\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"cssClassName\":\"\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_17_1\",\"form_id_selector\":\"fluentform_17\",\"rules\":{\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true},\"email\":{\"value\":true,\"message\":\"This field must contain a valid email\",\"global_message\":\"This field must contain a valid email\",\"global\":true}}},\"debounce_time\":300,\"file_upload_settings\":[]};\n                            <\/script>\n                        <\/div>\n\n            \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Joinwincenter ist ein professioneller Haushaltsger\u00e4te Hersteller und B2B-Partner. Wir produzieren hochwertige Luftzirkulatoren, Luftk\u00fchler, Kaffeemaschinen und Eismaschinen mit CE-Zertifizierung. Als direkter Haushaltsger\u00e4te Hersteller bieten wir flexible OEM\/ODM-Anpassungen und wettbewerbsf\u00e4hige Gro\u00dfhandelspreise.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_eb_attr":"","footnotes":""},"class_list":["post-4832","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Haushaltsger\u00e4te Hersteller f\u00fcr B2B &amp; OEM - Joinwincenter<\/title>\n<meta name=\"description\" content=\"Joinwincenter ist ein zuverl\u00e4ssiger Haushaltsger\u00e4te Hersteller f\u00fcr B2B und OEM. Wir liefern Ventilatoren, Kaffeemaschinen und Eismaschinen mit CE-Zertifizierung.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/joinwincenter.com\/de\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Haushaltsger\u00e4te Hersteller f\u00fcr B2B &amp; OEM - Joinwincenter\" \/>\n<meta property=\"og:description\" content=\"Joinwincenter ist ein zuverl\u00e4ssiger Haushaltsger\u00e4te Hersteller f\u00fcr B2B und OEM. Wir liefern Ventilatoren, Kaffeemaschinen und Eismaschinen mit CE-Zertifizierung.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/joinwincenter.com\/de\/\" \/>\n<meta property=\"og:site_name\" content=\"Joinwincenter\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-03T07:21:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/66a8c8a4-reatailhut-client-logo-1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/\",\"url\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/\",\"name\":\"Haushaltsger\u00e4te Hersteller f\u00fcr B2B & OEM - Joinwincenter\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/joinwincenter.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/66a8c8a4-reatailhut-client-logo-1.png\",\"datePublished\":\"2025-12-25T15:02:43+00:00\",\"dateModified\":\"2026-09-03T07:21:56+00:00\",\"description\":\"Joinwincenter ist ein zuverl\u00e4ssiger Haushaltsger\u00e4te Hersteller f\u00fcr B2B und OEM. Wir liefern Ventilatoren, Kaffeemaschinen und Eismaschinen mit CE-Zertifizierung.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/joinwincenter.com\\\/de\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#primaryimage\",\"url\":\"https:\\\/\\\/joinwincenter.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/66a8c8a4-reatailhut-client-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/joinwincenter.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/66a8c8a4-reatailhut-client-logo-1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Startseite\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/\",\"name\":\"joinwincenter\",\"description\":\"A B2B home appliance shopping mall\",\"publisher\":{\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#organization\",\"name\":\"joinwincenter\",\"url\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/joinwincenter.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/JoinwinWebLogo.png\",\"contentUrl\":\"https:\\\/\\\/joinwincenter.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/JoinwinWebLogo.png\",\"width\":1983,\"height\":793,\"caption\":\"joinwincenter\"},\"image\":{\"@id\":\"https:\\\/\\\/joinwincenter.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Haushaltsger\u00e4te Hersteller f\u00fcr B2B & OEM - Joinwincenter","description":"Joinwincenter ist ein zuverl\u00e4ssiger Haushaltsger\u00e4te Hersteller f\u00fcr B2B und OEM. Wir liefern Ventilatoren, Kaffeemaschinen und Eismaschinen mit CE-Zertifizierung.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/joinwincenter.com\/de\/","og_locale":"de_DE","og_type":"article","og_title":"Haushaltsger\u00e4te Hersteller f\u00fcr B2B & OEM - Joinwincenter","og_description":"Joinwincenter ist ein zuverl\u00e4ssiger Haushaltsger\u00e4te Hersteller f\u00fcr B2B und OEM. Wir liefern Ventilatoren, Kaffeemaschinen und Eismaschinen mit CE-Zertifizierung.","og_url":"https:\/\/joinwincenter.com\/de\/","og_site_name":"Joinwincenter","article_modified_time":"2026-09-03T07:21:56+00:00","og_image":[{"url":"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/66a8c8a4-reatailhut-client-logo-1.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/joinwincenter.com\/de\/","url":"https:\/\/joinwincenter.com\/de\/","name":"Haushaltsger\u00e4te Hersteller f\u00fcr B2B & OEM - Joinwincenter","isPartOf":{"@id":"https:\/\/joinwincenter.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/joinwincenter.com\/de\/#primaryimage"},"image":{"@id":"https:\/\/joinwincenter.com\/de\/#primaryimage"},"thumbnailUrl":"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/66a8c8a4-reatailhut-client-logo-1.png","datePublished":"2025-12-25T15:02:43+00:00","dateModified":"2026-09-03T07:21:56+00:00","description":"Joinwincenter ist ein zuverl\u00e4ssiger Haushaltsger\u00e4te Hersteller f\u00fcr B2B und OEM. Wir liefern Ventilatoren, Kaffeemaschinen und Eismaschinen mit CE-Zertifizierung.","breadcrumb":{"@id":"https:\/\/joinwincenter.com\/de\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/joinwincenter.com\/de\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/joinwincenter.com\/de\/#primaryimage","url":"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/66a8c8a4-reatailhut-client-logo-1.png","contentUrl":"https:\/\/joinwincenter.com\/wp-content\/uploads\/2024\/03\/66a8c8a4-reatailhut-client-logo-1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/joinwincenter.com\/de\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/joinwincenter.com\/de\/"},{"@type":"ListItem","position":2,"name":"Startseite"}]},{"@type":"WebSite","@id":"https:\/\/joinwincenter.com\/de\/#website","url":"https:\/\/joinwincenter.com\/de\/","name":"joinwincenter","description":"A B2B home appliance shopping mall","publisher":{"@id":"https:\/\/joinwincenter.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/joinwincenter.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/joinwincenter.com\/de\/#organization","name":"joinwincenter","url":"https:\/\/joinwincenter.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/joinwincenter.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/09\/JoinwinWebLogo.png","contentUrl":"https:\/\/joinwincenter.com\/wp-content\/uploads\/2026\/09\/JoinwinWebLogo.png","width":1983,"height":793,"caption":"joinwincenter"},"image":{"@id":"https:\/\/joinwincenter.com\/de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/joinwincenter.com\/de\/wp-json\/wp\/v2\/pages\/4832","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joinwincenter.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/joinwincenter.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/joinwincenter.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joinwincenter.com\/de\/wp-json\/wp\/v2\/comments?post=4832"}],"version-history":[{"count":41,"href":"https:\/\/joinwincenter.com\/de\/wp-json\/wp\/v2\/pages\/4832\/revisions"}],"predecessor-version":[{"id":7107,"href":"https:\/\/joinwincenter.com\/de\/wp-json\/wp\/v2\/pages\/4832\/revisions\/7107"}],"wp:attachment":[{"href":"https:\/\/joinwincenter.com\/de\/wp-json\/wp\/v2\/media?parent=4832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}