{"product_id":"cloud-essentials-sweats-mocha","title":"Cloud Essentials Sweats — Mocha ","description":"\u003cstyle\u003e\n  .collapsible-container {\n    margin-top: 20px;\n    border-top: 1px solid #ddd;\n  }\n\n  .collapsible-header {\n    cursor: pointer;\n    font-weight: bold;\n    padding: 15px 0;\n    font-size: 16px;\n    border-bottom: 1px solid #eee;\n    text-transform: uppercase;\n  }\n\n  .collapsible-content {\n    display: none;\n    padding: 10px 0;\n    font-size: 13px;\n    color: #555;\n    word-spacing: normal;\n    letter-spacing: normal;\n    text-align: left;\n  }\n\n  .collapsible-content p,\n  .collapsible-content li {\n    margin: 0 0 6px 0;\n    text-align: left;\n    word-spacing: normal;\n    letter-spacing: normal;\n  }\n\n  .collapsible-content p strong {\n    display: inline-block;\n    margin-bottom: 0;\n  }\n\n  .collapsible-content p:has(strong) {\n    margin-bottom: 0;\n  }\n\n  .collapsible-content ul {\n    list-style: disc;\n    margin: 8px 0 8px 20px;\n    padding: 0;\n  }\n\n  .collapsible-content li {\n    margin-bottom: 4px;\n  }\n\n  .collapsible-content a {\n    color: #000;\n    text-decoration: underline;\n  }\n\n  \/* ===== Størrelsestabel (scopet så intet andet bryder) ===== *\/\n  .size-chart { text-align: center; font-size: 13px; color: inherit; }\n  .size-chart h4 { \n    font-weight: 600; \n    margin: 4px 0 14px 0; \n    font-size: 15px; \n    text-transform: none; \n    letter-spacing: normal;\n  }\n  .size-chart__tabs {\n    display: inline-flex; \n    gap: 22px; \n    margin-bottom: 14px; \n    border-bottom: 1px solid transparent;\n  }\n  .size-chart__tab {\n    cursor: pointer;\n    padding-bottom: 6px;\n    display: inline-block;\n    font-weight: 600;\n    letter-spacing: normal;\n  }\n  .size-chart__tab[aria-selected=\"true\"] {\n    border-bottom: 2px solid #000;\n  }\n  .size-chart__grid {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(60px, 1fr));\n    gap: 10px;\n    justify-items: center;\n  }\n  .size-chart__cell-label {\n    font-weight: 600;\n    margin-bottom: 2px;\n  }\n  .size-chart__cell-value { color: inherit; }\n\u003c\/style\u003e\n\n\u003cdiv class=\"collapsible-container\"\u003e\n  \u003cdiv class=\"collapsible-header\" onclick=\"toggleContent(this)\"\u003e\n    DETALJER\n  \u003c\/div\u003e\n  \u003cdiv class=\"collapsible-content\"\u003e\n    \u003cp\u003eDisse helårs-sweats markerer den første udgivelse af vores Cloud Essentials Kollektion, skabt til at opløfte din hverdagsgarderobe med vores behagelige silhuetter.\u003c\/p\u003e\n    \u003cul\u003e\n      \u003cli\u003eEn smule oversized\u003c\/li\u003e\n      \u003cli\u003eForede lommer\u003c\/li\u003e\n      \u003cli\u003eRummelig baglomme\u003c\/li\u003e\n      \u003cli\u003e6cm høj linning\u003c\/li\u003e\n      \u003cli\u003eDesignet i Danmark\u003c\/li\u003e\n    \u003c\/ul\u003e\n    \u003cp\u003e\u003cstrong\u003eMateriale:\u003c\/strong\u003e 85% bomuld, 15% polyester\u003c\/p\u003e\n    \u003cp\u003eFremstillet af vores 500 GSM premium bomuld–poly fleece, er dette stof varmere, blødere og mere behageligt, end vi nogensinde havde forestillet os.\u003c\/p\u003e \n  \u003c\/div\u003e\n\n  \u003cdiv class=\"collapsible-header\" onclick=\"toggleContent(this)\"\u003e\n    PRODUKTPLEJE\n  \u003c\/div\u003e\n  \u003cdiv class=\"collapsible-content\"\u003e\n    \u003cul\u003e\n      \u003cli\u003eHåndvask eller maskinvask ved koldt vand\u003c\/li\u003e\n      \u003cli\u003eHæng til tørre eller læg over et håndklæde\u003c\/li\u003e\n      \u003cli\u003eBrug ikke tørretumbler eller nogen form for varme\/soltørring\u003c\/li\u003e\n      \u003cli\u003eMå ikke bleges\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"collapsible-header\" onclick=\"toggleContent(this)\"\u003e\n    STØRRELSESGUIDE\n  \u003c\/div\u003e\n  \u003cdiv class=\"collapsible-content\"\u003e\n\n    \u003c!-- ===== Størrelsestabel ===== --\u003e\n    \u003cdiv class=\"size-chart\" id=\"sizeChart\" role=\"group\" aria-label=\"Vælg en størrelse\"\u003e\n      \u003ch4\u003eVælg en størrelse\u003c\/h4\u003e\n\n      \u003cdiv class=\"size-chart__tabs\" role=\"tablist\" aria-label=\"Størrelser\"\u003e\n        \u003cspan class=\"size-chart__tab\" role=\"tab\" tabindex=\"0\" data-size=\"S\" aria-selected=\"true\"\u003eS\u003c\/span\u003e\n        \u003cspan class=\"size-chart__tab\" role=\"tab\" tabindex=\"-1\" data-size=\"M\" aria-selected=\"false\"\u003eM\u003c\/span\u003e\n        \u003cspan class=\"size-chart__tab\" role=\"tab\" tabindex=\"-1\" data-size=\"L\" aria-selected=\"false\"\u003eL\u003c\/span\u003e\n        \u003cspan class=\"size-chart__tab\" role=\"tab\" tabindex=\"-1\" data-size=\"XL\" aria-selected=\"false\"\u003eXL\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"size-chart__grid\" aria-live=\"polite\"\u003e\n        \u003cdiv\u003e\n          \u003cdiv class=\"size-chart__cell-label\"\u003eLængde\u003c\/div\u003e\n          \u003cdiv class=\"size-chart__cell-value\" data-field=\"length\"\u003e13 cm\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cdiv class=\"size-chart__cell-label\"\u003eIndersøm\u003c\/div\u003e\n          \u003cdiv class=\"size-chart__cell-value\" data-field=\"inseam\"\u003e28 cm\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cdiv class=\"size-chart__cell-label\"\u003eTalje\u003c\/div\u003e\n          \u003cdiv class=\"size-chart__cell-value\" data-field=\"waist\"\u003e29 cm\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cdiv class=\"size-chart__cell-label\"\u003eLår\u003c\/div\u003e\n          \u003cdiv class=\"size-chart__cell-value\" data-field=\"thigh\"\u003e6 cm\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- ===== modelinfo + ny linje under størrelsestabel ===== --\u003e\n    \u003cul\u003e\n      \u003cli\u003eModellen er 187cm høj, 80kg og iført størrelse L\u003c\/li\u003e\n      \u003cli\u003eAlle mål er af tøjet og vises i centimeter (CM)\u003c\/li\u003e\n    \u003c\/ul\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  function toggleContent(header) {\n    const content = header.nextElementSibling;\n    content.style.display = content.style.display === \"block\" ? \"none\" : \"block\";\n  }\n\u003c\/script\u003e\n\n\u003c!-- Erstatter KUN den tidligere size-chart logikblok --\u003e\n\u003cscript\u003e\n  \/* ===== Størrelsestabel-logik (mobilvenlig via delegation) ===== *\/\n  (function () {\n    const sizeChartData = {\n      \"S\":  { length: \"102 cm\", inseam: \"70 cm\", waist: \"36 cm\", thigh: \"35 cm\" },\n      \"M\":  { length: \"104 cm\", inseam: \"71 cm\", waist: \"38.5 cm\", thigh: \"36.25 cm\" },\n      \"L\":  { length: \"106 cm\", inseam: \"72 cm\", waist: \"41 cm\", thigh: \"37.5 cm\" },\n      \"XL\": { length: \"108 cm\", inseam: \"73 cm\", waist: \"43.5 cm\", thigh: \"38.75 cm\" }\n    };\n\n    function setActive(root, size) {\n      if (!root) return;\n\n      const tabs = root.querySelectorAll('.size-chart__tab');\n      tabs.forEach(t =\u003e {\n        const isActive = t.getAttribute('data-size') === size;\n        t.setAttribute('aria-selected', isActive ? 'true' : 'false');\n        t.setAttribute('tabindex', isActive ? '0' : '-1');\n      });\n\n      const fields = {\n        length: root.querySelector('[data-field=\"length\"]'),\n        inseam: root.querySelector('[data-field=\"inseam\"]'),\n        waist:  root.querySelector('[data-field=\"waist\"]'),\n        thigh:  root.querySelector('[data-field=\"thigh\"]')\n      };\n\n      const data = sizeChartData[size];\n      if (!data || !fields.length) return;\n\n      fields.length.textContent = data.length;\n      fields.inseam.textContent = data.inseam;\n      fields.waist.textContent  = data.waist;\n      fields.thigh.textContent  = data.thigh;\n    }\n\n    document.addEventListener('click', function (e) {\n      const tab = e.target.closest('.size-chart__tab');\n      if (!tab) return;\n      const root = tab.closest('.size-chart');\n      if (!root) return;\n      setActive(root, tab.getAttribute('data-size'));\n    }, { passive: true });\n\n    document.addEventListener('keydown', function (e) {\n      const focused = document.activeElement;\n      if (!focused || !focused.classList?.contains('size-chart__tab')) return;\n\n      const root = focused.closest('.size-chart');\n      const tabs = Array.from(root.querySelectorAll('.size-chart__tab'));\n      const i = tabs.indexOf(focused);\n\n      if (e.key === 'Enter' || e.key === ' ') {\n        e.preventDefault();\n        setActive(root, focused.getAttribute('data-size'));\n      } else if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {\n        e.preventDefault();\n        const dir = e.key === 'ArrowRight' ? 1 : -1;\n        const next = tabs[(i + dir + tabs.length) % tabs.length];\n        next.focus();\n      }\n    });\n\n    function initAll() {\n      document.querySelectorAll('.size-chart').forEach(root =\u003e setActive(root, 'S'));\n    }\n    document.addEventListener('DOMContentLoaded', initAll);\n    document.addEventListener('shopify:section:load', initAll);\n    document.addEventListener('shopify:section:reorder', initAll);\n  })();\n\u003c\/script\u003e","brand":"CloudClo","offers":[{"title":"S","offer_id":56576751731075,"sku":"CL-SP-MOC-S-FW25","price":565.5,"currency_code":"DKK","in_stock":true},{"title":"M","offer_id":56576751763843,"sku":"CL-SP-MOC-M-FW25","price":565.5,"currency_code":"DKK","in_stock":true},{"title":"L","offer_id":56576751796611,"sku":"CL-SP-MOC-L-FW25","price":565.5,"currency_code":"DKK","in_stock":true},{"title":"XL","offer_id":56576751829379,"sku":"CL-HD-SP-XL-FW25","price":565.5,"currency_code":"DKK","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0914\/5217\/8819\/files\/Cloud-Essentials-Sweats-Mocha-JPG.jpg?v=1762435681","url":"https:\/\/www.cloudclo.dk\/da\/products\/cloud-essentials-sweats-mocha","provider":"CloudClo","version":"1.0","type":"link"}