{"title":"Heizkreisverteiler Zubehör","description":"","products":[{"product_id":"klemmringverschraubung","title":"Klemmringverschraubung 16x2,00 mm oder 20x2,00 mm","description":"\u003cstyle\u003e\n  .grid-two-cols {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 16px;\n  }\n\n  @media (max-width: 768px) {\n    .grid-two-cols {\n      grid-template-columns: 1fr;\n    }\n  }\n\n  .content-wrapper {\n    max-width: 600px;\n    padding: 5px 24px 5px 0;\n    background: #fff;\n  }\n\n  @media (max-width: 768px) {\n    .content-wrapper {\n      padding: 5px 0;\n    }\n  }\n\n  .content-wrapper h3 {\n    font-weight: 600;\n    font-size: 20px;\n    margin-bottom: 20px;\n    border-bottom: 2px solid #e6e6e6;\n    padding-bottom: 8px;\n    margin-top: 0;\n  }\n\n  .info-block {\n    position: relative;\n  }\n\n  .info-label {\n    position: absolute;\n    top: -10px;\n    left: 0;\n    right: 0;\n    max-width: 100%;\n    font-size: 12px;\n    color: #888;\n    line-height: 1.35;\n    z-index: 2;\n  }\n\n  .info-value {\n    padding-top: var(--info-value-padding-top, 10px);\n    line-height: 1.45;\n  }\n\n  .tooltip-label {\n    display: inline;\n    max-width: 100%;\n  }\n\n  .tooltip-container {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n    cursor: pointer;\n    margin-left: 6px;\n    vertical-align: middle;\n    flex: 0 0 auto;\n    outline: none;\n    -webkit-tap-highlight-color: transparent;\n    touch-action: manipulation;\n    white-space: nowrap;\n    z-index: 3;\n    line-height: 1;\n  }\n\n  .tooltip-icon {\n    position: relative;\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    box-sizing: border-box;\n    width: 14px !important;\n    min-width: 14px !important;\n    max-width: 14px !important;\n    height: 14px !important;\n    min-height: 14px !important;\n    max-height: 14px !important;\n    flex: 0 0 14px !important;\n    aspect-ratio: 1 \/ 1;\n    border-radius: 999px;\n    background-color: #0071E3;\n    color: #fff;\n    user-select: none;\n    overflow: hidden;\n    vertical-align: middle;\n    line-height: 1;\n    padding: 0 !important;\n    margin: 0;\n  }\n\n  .tooltip-icon .material-symbols-outlined {\n    position: absolute;\n    inset: 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    width: 100%;\n    height: 100%;\n    margin: 0;\n    padding: 0;\n    font-family: \"Material Symbols Outlined\";\n    font-weight: 400;\n    font-style: normal;\n    font-size: 11px !important;\n    line-height: 1 !important;\n    letter-spacing: 0;\n    text-transform: none;\n    white-space: nowrap;\n    direction: ltr;\n    font-variation-settings:\n      \"FILL\" 1,\n      \"wght\" 400,\n      \"GRAD\" 0,\n      \"opsz\" 20;\n    -webkit-font-smoothing: antialiased;\n    text-rendering: geometricPrecision;\n    pointer-events: none;\n  }\n\n  .tooltip-box {\n    display: none;\n  }\n\n  .info-note {\n    margin-top: 24px;\n    display: flex;\n    align-items: center;\n    font-size: 12px;\n  }\n\n  .info-note-icon {\n    position: relative;\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    box-sizing: border-box;\n    width: 17px !important;\n    min-width: 17px !important;\n    max-width: 17px !important;\n    height: 17px !important;\n    min-height: 17px !important;\n    max-height: 17px !important;\n    flex: 0 0 17px !important;\n    aspect-ratio: 1 \/ 1;\n    border-radius: 999px;\n    background-color: #0071E3;\n    color: #fff;\n    user-select: none;\n    overflow: hidden;\n    vertical-align: middle;\n    line-height: 1;\n    padding: 0 !important;\n    margin-right: 6px;\n  }\n\n  .info-note-icon .material-symbols-outlined {\n    position: absolute;\n    inset: 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    width: 100%;\n    height: 100%;\n    margin: 0;\n    padding: 0;\n    font-family: \"Material Symbols Outlined\";\n    font-weight: 400;\n    font-style: normal;\n    font-size: 13px !important;\n    line-height: 1 !important;\n    letter-spacing: 0;\n    text-transform: none;\n    white-space: nowrap;\n    direction: ltr;\n    font-variation-settings:\n      \"FILL\" 1,\n      \"wght\" 400,\n      \"GRAD\" 0,\n      \"opsz\" 20;\n    -webkit-font-smoothing: antialiased;\n    text-rendering: geometricPrecision;\n    pointer-events: none;\n  }\n\n  .floating-tooltip {\n    --arrow-left: 50%;\n    position: fixed;\n    left: 0;\n    top: 0;\n    background-color: #333;\n    color: #fff;\n    padding: 8px 12px;\n    border-radius: 10px;\n    font-size: 12px;\n    line-height: 1.5;\n    opacity: 0;\n    visibility: hidden;\n    transition: opacity 0.2s ease, transform 0.2s ease;\n    transform: translateY(4px);\n    z-index: 999999;\n    pointer-events: none;\n    white-space: normal;\n    overflow-wrap: break-word;\n    word-break: break-word;\n    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2);\n    max-width: min(420px, calc(100vw - 24px));\n  }\n\n  .floating-tooltip.active {\n    opacity: 1;\n    visibility: visible;\n    transform: translateY(0);\n  }\n\n  .floating-tooltip::after {\n    content: \"\";\n    position: absolute;\n    left: var(--arrow-left);\n    transform: translateX(-50%);\n    border-width: 6px;\n    border-style: solid;\n  }\n\n  .floating-tooltip[data-placement=\"top\"]::after {\n    top: 100%;\n    border-color: #333 transparent transparent transparent;\n  }\n\n  .floating-tooltip[data-placement=\"bottom\"]::after {\n    bottom: 100%;\n    border-color: transparent transparent #333 transparent;\n  }\n\n  @media (max-width: 768px) {\n    .floating-tooltip {\n      padding: 12px 14px;\n      font-size: 13px;\n      line-height: 1.55;\n      border-radius: 14px;\n      width: min(340px, calc(100vw - 24px));\n      max-width: calc(100vw - 24px);\n      max-height: calc(100vh - 24px);\n      overflow-y: auto;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"content-wrapper\"\u003e\n\n\u003ch3\u003eArtikeldetails (Klemmringverschraubung)\u003c\/h3\u003e\n\u003cdiv class=\"grid-two-cols\"\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eMaterial\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003eVernickeltes Messing, gebürstet\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003emax. Betriebstemperatur\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003e120 °C\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label tooltip-label\"\u003eGeeignete Rohrdurchmesser\u003cspan class=\"tooltip-container\"\u003e \u003cspan class=\"tooltip-icon\"\u003ei\u003c\/span\u003e \u003cspan class=\"tooltip-box\"\u003eWählen Sie die Klemmringverschraubung passend zum Rohr:\u003cbr\u003e \nFür 16 mm-Rohre die 16 mm Variante, für 20 mm-Rohre die 20 mm-Variante.\u003cbr\u003e\nAchten Sie auf die Wandstärke von 2,00 mm, damit die Verbindung dicht sitzt.\u003c\/span\u003e \u003c\/span\u003e \u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003e16 mm oder 20 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eGeeignete Wandstärke Verbundrohr\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003e2,00 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eEmpfohlene Kunststoffrohre\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003ePE-RT oder PEX (-a,-b)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eEmpfohlene Verbundrohr\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003ePE-RT\/AL\/PE-RT, PEX\/AL\/PEX\u003c\/div\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener(\"DOMContentLoaded\", () =\u003e {\n    const tooltipContainers = document.querySelectorAll(\".tooltip-container\");\n    const infoBlocks = document.querySelectorAll(\".info-block\");\n\n    const floatingTooltip = document.createElement(\"div\");\n    floatingTooltip.className = \"floating-tooltip\";\n    document.body.appendChild(floatingTooltip);\n\n    let activeContainer = null;\n    let suppressClickUntil = 0;\n\n    function isMobileView() {\n      return window.innerWidth \u003c= 768;\n    }\n\n    function isTouchLikeDevice() {\n      return window.matchMedia(\"(hover: none), (pointer: coarse)\").matches;\n    }\n\n    function updateExpandedState(container, isExpanded) {\n      if (container) {\n        container.setAttribute(\"aria-expanded\", isExpanded ? \"true\" : \"false\");\n      }\n    }\n\n    function syncInfoLabelSpacing() {\n      infoBlocks.forEach((block) =\u003e {\n        const label = block.querySelector(\".info-label\");\n        const value = block.querySelector(\".info-value\");\n        if (!label || !value) return;\n\n        const labelHeight = Math.ceil(label.getBoundingClientRect().height);\n        const paddingTop = Math.max(8, labelHeight - 8);\n\n        value.style.setProperty(\"--info-value-padding-top\", paddingTop + \"px\");\n      });\n    }\n\n    function showTooltip(container) {\n      const source = container.querySelector(\".tooltip-box\");\n      if (!source) return;\n\n      if (activeContainer \u0026\u0026 activeContainer !== container) {\n        updateExpandedState(activeContainer, false);\n      }\n\n      activeContainer = container;\n      floatingTooltip.innerHTML = source.innerHTML;\n      floatingTooltip.classList.add(\"active\");\n      updateExpandedState(container, true);\n\n      requestAnimationFrame(() =\u003e {\n        positionTooltip(container);\n      });\n    }\n\n    function hideTooltip() {\n      floatingTooltip.classList.remove(\"active\");\n      updateExpandedState(activeContainer, false);\n      activeContainer = null;\n    }\n\n    function toggleTooltip(container) {\n      if (activeContainer === container) {\n        hideTooltip();\n      } else {\n        showTooltip(container);\n      }\n    }\n\n    function positionTooltip(container) {\n      const icon = container.querySelector(\".tooltip-icon\");\n      if (!icon) return;\n\n      const mobile = isMobileView();\n      const viewportPadding = mobile ? 12 : 10;\n      const tooltipGap = mobile ? 12 : 10;\n      const arrowSafePadding = 16;\n\n      floatingTooltip.style.left = \"0px\";\n      floatingTooltip.style.top = \"0px\";\n      floatingTooltip.style.width = mobile\n        ? \"min(340px, calc(100vw - 24px))\"\n        : \"auto\";\n      floatingTooltip.style.maxWidth = mobile\n        ? \"calc(100vw - 24px)\"\n        : \"min(420px, calc(100vw - 24px))\";\n\n      const iconRect = icon.getBoundingClientRect();\n      const tooltipRect = floatingTooltip.getBoundingClientRect();\n\n      let left = iconRect.left + iconRect.width \/ 2 - tooltipRect.width \/ 2;\n\n      left = Math.max(\n        viewportPadding,\n        Math.min(left, window.innerWidth - tooltipRect.width - viewportPadding)\n      );\n\n      let placement = mobile ? \"bottom\" : \"top\";\n      let top =\n        placement === \"top\"\n          ? iconRect.top - tooltipRect.height - tooltipGap\n          : iconRect.bottom + tooltipGap;\n\n      if (!mobile \u0026\u0026 top \u003c viewportPadding) {\n        placement = \"bottom\";\n        top = iconRect.bottom + tooltipGap;\n      }\n\n      if (\n        placement === \"bottom\" \u0026\u0026\n        top + tooltipRect.height \u003e window.innerHeight - viewportPadding\n      ) {\n        const topCandidate = iconRect.top - tooltipRect.height - tooltipGap;\n\n        if (topCandidate \u003e= viewportPadding) {\n          placement = \"top\";\n          top = topCandidate;\n        } else {\n          top = Math.max(\n            viewportPadding,\n            window.innerHeight - tooltipRect.height - viewportPadding\n          );\n        }\n      }\n\n      if (placement === \"top\" \u0026\u0026 top \u003c viewportPadding) {\n        top = viewportPadding;\n      }\n\n      floatingTooltip.style.left = left + \"px\";\n      floatingTooltip.style.top = top + \"px\";\n      floatingTooltip.setAttribute(\"data-placement\", placement);\n\n      const finalTooltipRect = floatingTooltip.getBoundingClientRect();\n      const tooltipWidth = finalTooltipRect.width;\n      const iconCenter = iconRect.left + iconRect.width \/ 2;\n      const arrowLeft = iconCenter - left;\n      const clampedArrowLeft = Math.max(\n        arrowSafePadding,\n        Math.min(arrowLeft, tooltipWidth - arrowSafePadding)\n      );\n\n      floatingTooltip.style.setProperty(\"--arrow-left\", clampedArrowLeft + \"px\");\n    }\n\n    tooltipContainers.forEach((container) =\u003e {\n      container.addEventListener(\"mouseenter\", () =\u003e {\n        if (!isTouchLikeDevice()) {\n          showTooltip(container);\n        }\n      });\n\n      container.addEventListener(\"mouseleave\", () =\u003e {\n        if (!isTouchLikeDevice()) {\n          hideTooltip();\n        }\n      });\n\n      container.addEventListener(\"focusin\", () =\u003e {\n        if (!isTouchLikeDevice()) {\n          showTooltip(container);\n        }\n      });\n\n      container.addEventListener(\"click\", (e) =\u003e {\n        if (Date.now() \u003c suppressClickUntil) {\n          e.preventDefault();\n          e.stopPropagation();\n          return;\n        }\n\n        e.preventDefault();\n        e.stopPropagation();\n        toggleTooltip(container);\n      });\n\n      container.addEventListener(\n        \"touchstart\",\n        (e) =\u003e {\n          suppressClickUntil = Date.now() + 500;\n          e.preventDefault();\n          e.stopPropagation();\n          toggleTooltip(container);\n        },\n        { passive: false }\n      );\n\n      container.addEventListener(\"keydown\", (e) =\u003e {\n        if (e.key === \"Enter\" || e.key === \" \") {\n          e.preventDefault();\n          toggleTooltip(container);\n        }\n\n        if (e.key === \"Escape\") {\n          hideTooltip();\n        }\n      });\n    });\n\n    document.addEventListener(\"click\", (e) =\u003e {\n      if (!e.target.closest(\".tooltip-container\")) {\n        hideTooltip();\n      }\n    });\n\n    document.addEventListener(\n      \"touchstart\",\n      (e) =\u003e {\n        if (!e.target.closest(\".tooltip-container\")) {\n          hideTooltip();\n        }\n      },\n      { passive: true }\n    );\n\n    window.addEventListener(\"resize\", () =\u003e {\n      syncInfoLabelSpacing();\n\n      if (activeContainer) {\n        positionTooltip(activeContainer);\n      }\n    });\n\n    window.addEventListener(\n      \"scroll\",\n      () =\u003e {\n        if (activeContainer) {\n          positionTooltip(activeContainer);\n        }\n      },\n      true\n    );\n\n    syncInfoLabelSpacing();\n\n    if (document.fonts \u0026\u0026 document.fonts.ready) {\n      document.fonts.ready.then(() =\u003e {\n        syncInfoLabelSpacing();\n\n        if (activeContainer) {\n          positionTooltip(activeContainer);\n        }\n      });\n    }\n  });\n\u003c\/script\u003e","brand":"alex-depot","offers":[{"title":"16 x 2.0 mm","offer_id":49362928730459,"sku":"","price":3.5,"currency_code":"EUR","in_stock":true},{"title":"20 x 2.0 mm","offer_id":49362928763227,"sku":"","price":3.75,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0625\/7023\/4043\/files\/heizkreisverteiler-klemmringverschraubung-16x2-20x2.jpg?v=1760316314"},{"product_id":"stellantrieb","title":"Stellantrieb NC 230V - VA10","description":"\u003cstyle\u003e\n  .grid-two-cols {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 16px;\n  }\n\n  @media (max-width: 768px) {\n    .grid-two-cols {\n      grid-template-columns: 1fr;\n    }\n  }\n\n  .content-wrapper {\n    max-width: 600px;\n    padding: 5px 24px 5px 0;\n    background: #fff;\n  }\n\n  @media (max-width: 768px) {\n    .content-wrapper {\n      padding: 5px 0;\n    }\n  }\n\n  .content-wrapper h3 {\n    font-weight: 600;\n    font-size: 20px;\n    margin-bottom: 20px;\n    border-bottom: 2px solid #e6e6e6;\n    padding-bottom: 8px;\n    margin-top: 0;\n  }\n\n  .info-block {\n    position: relative;\n  }\n\n  .info-label {\n    position: absolute;\n    top: -10px;\n    left: 0;\n    right: 0;\n    max-width: 100%;\n    font-size: 12px;\n    color: #888;\n    line-height: 1.35;\n    z-index: 2;\n  }\n\n  .info-value {\n    padding-top: var(--info-value-padding-top, 10px);\n    line-height: 1.45;\n  }\n\n  .tooltip-label {\n    display: inline;\n    max-width: 100%;\n  }\n\n  .tooltip-container {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n    cursor: pointer;\n    margin-left: 6px;\n    vertical-align: middle;\n    flex: 0 0 auto;\n    outline: none;\n    -webkit-tap-highlight-color: transparent;\n    touch-action: manipulation;\n    white-space: nowrap;\n    z-index: 3;\n    line-height: 1;\n  }\n\n  .tooltip-icon {\n    position: relative;\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    box-sizing: border-box;\n    width: 14px !important;\n    min-width: 14px !important;\n    max-width: 14px !important;\n    height: 14px !important;\n    min-height: 14px !important;\n    max-height: 14px !important;\n    flex: 0 0 14px !important;\n    aspect-ratio: 1 \/ 1;\n    border-radius: 999px;\n    background-color: #0071E3;\n    color: #fff;\n    user-select: none;\n    overflow: hidden;\n    vertical-align: middle;\n    line-height: 1;\n    padding: 0 !important;\n    margin: 0;\n  }\n\n  .tooltip-icon .material-symbols-outlined {\n    position: absolute;\n    inset: 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    width: 100%;\n    height: 100%;\n    margin: 0;\n    padding: 0;\n    font-family: \"Material Symbols Outlined\";\n    font-weight: 400;\n    font-style: normal;\n    font-size: 11px !important;\n    line-height: 1 !important;\n    letter-spacing: 0;\n    text-transform: none;\n    white-space: nowrap;\n    direction: ltr;\n    font-variation-settings:\n      \"FILL\" 1,\n      \"wght\" 400,\n      \"GRAD\" 0,\n      \"opsz\" 20;\n    -webkit-font-smoothing: antialiased;\n    text-rendering: geometricPrecision;\n    pointer-events: none;\n  }\n\n  .tooltip-box {\n    display: none;\n  }\n\n  .info-note {\n    margin-top: 24px;\n    display: flex;\n    align-items: center;\n    font-size: 12px;\n  }\n\n  .info-note-icon {\n    position: relative;\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    box-sizing: border-box;\n    width: 17px !important;\n    min-width: 17px !important;\n    max-width: 17px !important;\n    height: 17px !important;\n    min-height: 17px !important;\n    max-height: 17px !important;\n    flex: 0 0 17px !important;\n    aspect-ratio: 1 \/ 1;\n    border-radius: 999px;\n    background-color: #0071E3;\n    color: #fff;\n    user-select: none;\n    overflow: hidden;\n    vertical-align: middle;\n    line-height: 1;\n    padding: 0 !important;\n    margin-right: 6px;\n  }\n\n  .info-note-icon .material-symbols-outlined {\n    position: absolute;\n    inset: 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    width: 100%;\n    height: 100%;\n    margin: 0;\n    padding: 0;\n    font-family: \"Material Symbols Outlined\";\n    font-weight: 400;\n    font-style: normal;\n    font-size: 13px !important;\n    line-height: 1 !important;\n    letter-spacing: 0;\n    text-transform: none;\n    white-space: nowrap;\n    direction: ltr;\n    font-variation-settings:\n      \"FILL\" 1,\n      \"wght\" 400,\n      \"GRAD\" 0,\n      \"opsz\" 20;\n    -webkit-font-smoothing: antialiased;\n    text-rendering: geometricPrecision;\n    pointer-events: none;\n  }\n\n  .floating-tooltip {\n    --arrow-left: 50%;\n    position: fixed;\n    left: 0;\n    top: 0;\n    background-color: #333;\n    color: #fff;\n    padding: 8px 12px;\n    border-radius: 10px;\n    font-size: 12px;\n    line-height: 1.5;\n    opacity: 0;\n    visibility: hidden;\n    transition: opacity 0.2s ease, transform 0.2s ease;\n    transform: translateY(4px);\n    z-index: 999999;\n    pointer-events: none;\n    white-space: normal;\n    overflow-wrap: break-word;\n    word-break: break-word;\n    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2);\n    max-width: min(420px, calc(100vw - 24px));\n  }\n\n  .floating-tooltip.active {\n    opacity: 1;\n    visibility: visible;\n    transform: translateY(0);\n  }\n\n  .floating-tooltip::after {\n    content: \"\";\n    position: absolute;\n    left: var(--arrow-left);\n    transform: translateX(-50%);\n    border-width: 6px;\n    border-style: solid;\n  }\n\n  .floating-tooltip[data-placement=\"top\"]::after {\n    top: 100%;\n    border-color: #333 transparent transparent transparent;\n  }\n\n  .floating-tooltip[data-placement=\"bottom\"]::after {\n    bottom: 100%;\n    border-color: transparent transparent #333 transparent;\n  }\n\n  @media (max-width: 768px) {\n    .floating-tooltip {\n      padding: 12px 14px;\n      font-size: 13px;\n      line-height: 1.55;\n      border-radius: 14px;\n      width: min(340px, calc(100vw - 24px));\n      max-width: calc(100vw - 24px);\n      max-height: calc(100vh - 24px);\n      overflow-y: auto;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"content-wrapper\"\u003e\n\n\u003ch3\u003eArtikeldetails (Stellantrieb)\u003c\/h3\u003e\n\u003cdiv class=\"grid-two-cols\"\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eAusführung\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003eStromlos geschlossen, NC\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eBetriebsspannung\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003e230V AC 50\/60 Hz\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eBetriebsleistung\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003e2 W\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eEinschaltstrom\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003emax. 300 mA\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eSchutzklasse\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003eClass II\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eSchutzgrad\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003eIP54\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eAnschlussgewinde\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003eM30 x 1,5\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eAnschlussadapter\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003eVA 10\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-block\"\u003e\n\u003clabel class=\"info-label\"\u003eHersteller\u003c\/label\u003e\n\u003cdiv class=\"info-value\"\u003eMöhlenhoff\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener(\"DOMContentLoaded\", () =\u003e {\n    const tooltipContainers = document.querySelectorAll(\".tooltip-container\");\n    const infoBlocks = document.querySelectorAll(\".info-block\");\n\n    const floatingTooltip = document.createElement(\"div\");\n    floatingTooltip.className = \"floating-tooltip\";\n    document.body.appendChild(floatingTooltip);\n\n    let activeContainer = null;\n    let suppressClickUntil = 0;\n\n    function isMobileView() {\n      return window.innerWidth \u003c= 768;\n    }\n\n    function isTouchLikeDevice() {\n      return window.matchMedia(\"(hover: none), (pointer: coarse)\").matches;\n    }\n\n    function updateExpandedState(container, isExpanded) {\n      if (container) {\n        container.setAttribute(\"aria-expanded\", isExpanded ? \"true\" : \"false\");\n      }\n    }\n\n    function syncInfoLabelSpacing() {\n      infoBlocks.forEach((block) =\u003e {\n        const label = block.querySelector(\".info-label\");\n        const value = block.querySelector(\".info-value\");\n        if (!label || !value) return;\n\n        const labelHeight = Math.ceil(label.getBoundingClientRect().height);\n        const paddingTop = Math.max(8, labelHeight - 8);\n\n        value.style.setProperty(\"--info-value-padding-top\", paddingTop + \"px\");\n      });\n    }\n\n    function showTooltip(container) {\n      const source = container.querySelector(\".tooltip-box\");\n      if (!source) return;\n\n      if (activeContainer \u0026\u0026 activeContainer !== container) {\n        updateExpandedState(activeContainer, false);\n      }\n\n      activeContainer = container;\n      floatingTooltip.innerHTML = source.innerHTML;\n      floatingTooltip.classList.add(\"active\");\n      updateExpandedState(container, true);\n\n      requestAnimationFrame(() =\u003e {\n        positionTooltip(container);\n      });\n    }\n\n    function hideTooltip() {\n      floatingTooltip.classList.remove(\"active\");\n      updateExpandedState(activeContainer, false);\n      activeContainer = null;\n    }\n\n    function toggleTooltip(container) {\n      if (activeContainer === container) {\n        hideTooltip();\n      } else {\n        showTooltip(container);\n      }\n    }\n\n    function positionTooltip(container) {\n      const icon = container.querySelector(\".tooltip-icon\");\n      if (!icon) return;\n\n      const mobile = isMobileView();\n      const viewportPadding = mobile ? 12 : 10;\n      const tooltipGap = mobile ? 12 : 10;\n      const arrowSafePadding = 16;\n\n      floatingTooltip.style.left = \"0px\";\n      floatingTooltip.style.top = \"0px\";\n      floatingTooltip.style.width = mobile\n        ? \"min(340px, calc(100vw - 24px))\"\n        : \"auto\";\n      floatingTooltip.style.maxWidth = mobile\n        ? \"calc(100vw - 24px)\"\n        : \"min(420px, calc(100vw - 24px))\";\n\n      const iconRect = icon.getBoundingClientRect();\n      const tooltipRect = floatingTooltip.getBoundingClientRect();\n\n      let left = iconRect.left + iconRect.width \/ 2 - tooltipRect.width \/ 2;\n\n      left = Math.max(\n        viewportPadding,\n        Math.min(left, window.innerWidth - tooltipRect.width - viewportPadding)\n      );\n\n      let placement = mobile ? \"bottom\" : \"top\";\n      let top =\n        placement === \"top\"\n          ? iconRect.top - tooltipRect.height - tooltipGap\n          : iconRect.bottom + tooltipGap;\n\n      if (!mobile \u0026\u0026 top \u003c viewportPadding) {\n        placement = \"bottom\";\n        top = iconRect.bottom + tooltipGap;\n      }\n\n      if (\n        placement === \"bottom\" \u0026\u0026\n        top + tooltipRect.height \u003e window.innerHeight - viewportPadding\n      ) {\n        const topCandidate = iconRect.top - tooltipRect.height - tooltipGap;\n\n        if (topCandidate \u003e= viewportPadding) {\n          placement = \"top\";\n          top = topCandidate;\n        } else {\n          top = Math.max(\n            viewportPadding,\n            window.innerHeight - tooltipRect.height - viewportPadding\n          );\n        }\n      }\n\n      if (placement === \"top\" \u0026\u0026 top \u003c viewportPadding) {\n        top = viewportPadding;\n      }\n\n      floatingTooltip.style.left = left + \"px\";\n      floatingTooltip.style.top = top + \"px\";\n      floatingTooltip.setAttribute(\"data-placement\", placement);\n\n      const finalTooltipRect = floatingTooltip.getBoundingClientRect();\n      const tooltipWidth = finalTooltipRect.width;\n      const iconCenter = iconRect.left + iconRect.width \/ 2;\n      const arrowLeft = iconCenter - left;\n      const clampedArrowLeft = Math.max(\n        arrowSafePadding,\n        Math.min(arrowLeft, tooltipWidth - arrowSafePadding)\n      );\n\n      floatingTooltip.style.setProperty(\"--arrow-left\", clampedArrowLeft + \"px\");\n    }\n\n    tooltipContainers.forEach((container) =\u003e {\n      container.addEventListener(\"mouseenter\", () =\u003e {\n        if (!isTouchLikeDevice()) {\n          showTooltip(container);\n        }\n      });\n\n      container.addEventListener(\"mouseleave\", () =\u003e {\n        if (!isTouchLikeDevice()) {\n          hideTooltip();\n        }\n      });\n\n      container.addEventListener(\"focusin\", () =\u003e {\n        if (!isTouchLikeDevice()) {\n          showTooltip(container);\n        }\n      });\n\n      container.addEventListener(\"click\", (e) =\u003e {\n        if (Date.now() \u003c suppressClickUntil) {\n          e.preventDefault();\n          e.stopPropagation();\n          return;\n        }\n\n        e.preventDefault();\n        e.stopPropagation();\n        toggleTooltip(container);\n      });\n\n      container.addEventListener(\n        \"touchstart\",\n        (e) =\u003e {\n          suppressClickUntil = Date.now() + 500;\n          e.preventDefault();\n          e.stopPropagation();\n          toggleTooltip(container);\n        },\n        { passive: false }\n      );\n\n      container.addEventListener(\"keydown\", (e) =\u003e {\n        if (e.key === \"Enter\" || e.key === \" \") {\n          e.preventDefault();\n          toggleTooltip(container);\n        }\n\n        if (e.key === \"Escape\") {\n          hideTooltip();\n        }\n      });\n    });\n\n    document.addEventListener(\"click\", (e) =\u003e {\n      if (!e.target.closest(\".tooltip-container\")) {\n        hideTooltip();\n      }\n    });\n\n    document.addEventListener(\n      \"touchstart\",\n      (e) =\u003e {\n        if (!e.target.closest(\".tooltip-container\")) {\n          hideTooltip();\n        }\n      },\n      { passive: true }\n    );\n\n    window.addEventListener(\"resize\", () =\u003e {\n      syncInfoLabelSpacing();\n\n      if (activeContainer) {\n        positionTooltip(activeContainer);\n      }\n    });\n\n    window.addEventListener(\n      \"scroll\",\n      () =\u003e {\n        if (activeContainer) {\n          positionTooltip(activeContainer);\n        }\n      },\n      true\n    );\n\n    syncInfoLabelSpacing();\n\n    if (document.fonts \u0026\u0026 document.fonts.ready) {\n      document.fonts.ready.then(() =\u003e {\n        syncInfoLabelSpacing();\n\n        if (activeContainer) {\n          positionTooltip(activeContainer);\n        }\n      });\n    }\n  });\n\u003c\/script\u003e","brand":"alex-depot","offers":[{"title":"Default Title","offer_id":49363049939291,"sku":null,"price":14.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0625\/7023\/4043\/files\/Stellantrieb-230V-VA10.png?v=1730329094"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0625\/7023\/4043\/collections\/heizkreisverteiler-zubehoer-icon.png?v=1781465894","url":"https:\/\/alex-depot.com\/collections\/heizkreisverteiler-zubehor.oembed","provider":"alex-depot.com","version":"1.0","type":"link"}