{"title":"Jackets","description":null,"products":[{"product_id":"womens-quilted-jacket-with-corduroy-collar-zofia","title":"Gewatteerde jas met kraag van ribfluweel voor dames | Zofia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eZofia\u003c\/strong\u003e, een gewatteerde jas met kraag van ribfluweel van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKraag van ribfluweel\u003c\/li\u003e\n\u003cli\u003eDrukknoopsluiting\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-quilted-jacket-with-corduroy-collar-zofia\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\"],\"colors\":[\"White\",\"Brown\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Wit \/ XS","offer_id":55371613012305,"sku":"MS-5650-WOM-WHI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371613045073,"sku":"MS-9864-WOM-WHI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371613077841,"sku":"MS-5998-WOM-WHI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371613110609,"sku":"MS-2193-WOM-WHI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XS","offer_id":55371613143377,"sku":"MS-8374-WOM-BRO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371613176145,"sku":"MS-2586-WOM-BRO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371613208913,"sku":"MS-9386-WOM-BRO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371613241681,"sku":"MS-8988-WOM-BRO","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Women_sPufferJacketQuiltedB._3.png?v=1792459640"},{"product_id":"womens-lightweight-polka-dot-jacket-with-adjustable-fit-viviana","title":"Licht jasje met stippen en verstelbare pasvorm voor dames | Viviana","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eViviana\u003c\/strong\u003e, een licht jasje met stippen en verstelbare pasvorm van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eStippenpatroon\u003c\/li\u003e\n\u003cli\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een effen coltrui en een broek met rechte pijpen. Kies voor een geklede look een midi-jurk, enkellaarsjes en een eenvoudige tas.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-lightweight-polka-dot-jacket-with-adjustable-fit-viviana\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\"],\"colors\":[\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Wit \/ XS","offer_id":55371613307217,"sku":"MS-9682-WOM-WHI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371613339985,"sku":"MS-4663-WOM-WHI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371613372753,"sku":"MS-8055-WOM-WHI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371613405521,"sku":"MS-3393-WOM-WHI","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/white-front_1482acbf-fad9-469c-91a2-58a29c3fca84.png?v=1792459641"},{"product_id":"womens-knit-zip-up-jacket-with-classic-collar-viola","title":"Gebreid jasje met rits en klassieke kraag voor dames | Viola","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eViola\u003c\/strong\u003e, een gebreid jasje met rits en klassieke kraag van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGebreide uitvoering\u003c\/li\u003e\n\u003cli\u003eKlassieke omgeslagen kraag\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eElastische manchetten\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-knit-zip-up-jacket-with-classic-collar-viola\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Beige\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Beige \/ S","offer_id":55371613438289,"sku":"MS-6744-WOM-BEI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371613471057,"sku":"MS-2078-WOM-BEI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371613503825,"sku":"MS-1305-WOM-BEI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371613536593,"sku":"MS-1240-WOM-BEI","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/original-front_1.png?v=1792459642"},{"product_id":"womens-lightweight-button-front-jacket-noemi","title":"Licht jasje met knopen voor dames | Noemi","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eNoemi\u003c\/strong\u003e, een licht jasje met knopen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKlassieke omgeslagen kraag\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eLange mouwen\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-lightweight-button-front-jacket-noemi\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Beige\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Beige \/ S","offer_id":55371614454097,"sku":"MS-9949-WOM-BEI","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371614486865,"sku":"MS-1171-WOM-BEI","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371614519633,"sku":"MS-7388-WOM-BEI","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371614552401,"sku":"MS-5021-WOM-BEI","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371614585169,"sku":"MS-1266-WOM-BEI","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/original-front_287b919e-e06b-46d4-805a-57082007fcc2.png?v=1792459649"},{"product_id":"womens-cropped-button-front-jacket-matilde","title":"Kort jasje met knopen voor dames | Matilde","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMatilde\u003c\/strong\u003e, een kort jasje met knopen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eLange mouwen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een effen coltrui en een broek met rechte pijpen. Kies voor een geklede look een midi-jurk, enkellaarsjes en een eenvoudige tas.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-cropped-button-front-jacket-matilde\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Apricot\",\"Burgundy\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Abrikoos \/ S","offer_id":55371614650705,"sku":"MS-3456-WOM-APR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ M","offer_id":55371614683473,"sku":"MS-5451-WOM-APR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ L","offer_id":55371614716241,"sku":"MS-1338-WOM-APR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ XL","offer_id":55371614749009,"sku":"MS-7025-WOM-APR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ S","offer_id":55371614781777,"sku":"MS-0238-WOM-BUR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371614814545,"sku":"MS-8063-WOM-BUR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371614847313,"sku":"MS-9866-WOM-BUR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371614880081,"sku":"MS-3078-WOM-BUR","price":94.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/apricot-front_bd1dacb8-69e6-40f1-8e1d-9a380d304b64.png?v=1792459651"},{"product_id":"womens-lightweight-hooded-windbreaker-carlotta","title":"Lichte windbreaker met capuchon voor dames | Carlotta","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eCarlotta\u003c\/strong\u003e, een lichte windbreaker met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-lightweight-hooded-windbreaker-carlotta\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Black\",\"Olive\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Zwart \/ S","offer_id":55371617108305,"sku":"MS-0285-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371617141073,"sku":"MS-1495-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371617173841,"sku":"MS-8450-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371617206609,"sku":"MS-9385-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371617239377,"sku":"MS-9184-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371617272145,"sku":"MS-3017-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ S","offer_id":55371617304913,"sku":"MS-0192-WOM-OLI","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ M","offer_id":55371617337681,"sku":"MS-2856-WOM-OLI","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ L","offer_id":55371617370449,"sku":"MS-5070-WOM-OLI","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ XL","offer_id":55371617403217,"sku":"MS-2265-WOM-OLI","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ 2XL","offer_id":55371617435985,"sku":"MS-7299-WOM-OLI","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ 3XL","offer_id":55371617468753,"sku":"MS-5382-WOM-OLI","price":114.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/black-front_4e7d78a4-3f8a-46ba-b95e-80322f41fec0.png?v=1792459663"},{"product_id":"womens-long-hooded-quilted-winter-jacket-vittoria","title":"Lange gewatteerde winterjas met capuchon voor dames | Vittoria","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eVittoria\u003c\/strong\u003e, een lange gewatteerde winterjas met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een gebreide set met enkellaarsjes. Kies voor een formelere outfit een effen overhemd en een broek met rechte pijpen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-long-hooded-quilted-winter-jacket-vittoria\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Chocolate Brown\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Chocoladebruin \/ S","offer_id":55371618156881,"sku":"MS-9087-WOM-CHO","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ M","offer_id":55371618189649,"sku":"MS-4550-WOM-CHO","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ L","offer_id":55371618222417,"sku":"MS-2632-WOM-CHO","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ XL","offer_id":55371618255185,"sku":"MS-7851-WOM-CHO","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ 2XL","offer_id":55371618287953,"sku":"MS-8462-WOM-CHO","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ 3XL","offer_id":55371618320721,"sku":"MS-8576-WOM-CHO","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371618353489,"sku":"MS-5073-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371618386257,"sku":"MS-7410-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371618419025,"sku":"MS-7711-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371618451793,"sku":"MS-2893-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371618484561,"sku":"MS-9025-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371618517329,"sku":"MS-4971-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/chocolate-brown-front_415efb95-6d9e-40c3-a164-642ae5fe916f.png?v=1792459666"},{"product_id":"womens-oversized-quilted-winter-jacket-silvia","title":"Oversized gewatteerde winterjas voor dames | Silvia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eSilvia\u003c\/strong\u003e, een oversized gewatteerde winterjas van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eOntworpen om in laagjes te dragen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een effen coltrui en een broek met rechte pijpen. Kies voor een geklede look een midi-jurk, enkellaarsjes en een eenvoudige tas.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-oversized-quilted-winter-jacket-silvia\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Black\",\"Green\",\"Wine Red\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Zwart \/ S","offer_id":55371618943313,"sku":"MS-6806-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371618976081,"sku":"MS-0460-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371619008849,"sku":"MS-7458-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371619041617,"sku":"MS-1046-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371619074385,"sku":"MS-0848-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371619107153,"sku":"MS-2353-WOM-BLA","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ S","offer_id":55371619139921,"sku":"MS-2154-WOM-GRE","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371619172689,"sku":"MS-1125-WOM-GRE","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371619205457,"sku":"MS-2917-WOM-GRE","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371619238225,"sku":"MS-1880-WOM-GRE","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371619270993,"sku":"MS-3932-WOM-GRE","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371619303761,"sku":"MS-1349-WOM-GRE","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ S","offer_id":55371619336529,"sku":"MS-0445-WOM-WIN","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ M","offer_id":55371619369297,"sku":"MS-1661-WOM-WIN","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ L","offer_id":55371619402065,"sku":"MS-3073-WOM-WIN","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ XL","offer_id":55371619434833,"sku":"MS-4818-WOM-WIN","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ 2XL","offer_id":55371619467601,"sku":"MS-2612-WOM-WIN","price":114.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ 3XL","offer_id":55371619500369,"sku":"MS-2196-WOM-WIN","price":114.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/black-front_bc8304bf-7580-44b9-9516-fb4ddefee8c9.png?v=1792459671"},{"product_id":"womens-belted-quilted-winter-jacket-serena","title":"Gewatteerde winterjas met ceintuur voor dames | Serena","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eSerena\u003c\/strong\u003e, een gewatteerde winterjas met ceintuur van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCeintuur die de taille accentueert\u003c\/li\u003e\n\u003cli\u003eOntworpen om in laagjes te dragen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een gebreide set met enkellaarsjes. Kies voor een formelere outfit een effen overhemd en een broek met rechte pijpen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-belted-quilted-winter-jacket-serena\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Chocolate Brown\",\"Black\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Chocoladebruin \/ M","offer_id":55371619533137,"sku":"MS-1275-WOM-CHO","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ L","offer_id":55371619565905,"sku":"MS-1617-WOM-CHO","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ XL","offer_id":55371619598673,"sku":"MS-4267-WOM-CHO","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ 2XL","offer_id":55371619631441,"sku":"MS-5233-WOM-CHO","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371619664209,"sku":"MS-3752-WOM-BLA","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371619696977,"sku":"MS-8543-WOM-BLA","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371619729745,"sku":"MS-3103-WOM-BLA","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371619762513,"sku":"MS-0905-WOM-BLA","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371619795281,"sku":"MS-9793-WOM-WHI","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371619828049,"sku":"MS-0022-WOM-WHI","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371619860817,"sku":"MS-1845-WOM-WHI","price":119.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371619893585,"sku":"MS-9490-WOM-WHI","price":119.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/chocolate-brown-front_429fd594-1912-49ec-a56c-c2b87e5d6cf6.png?v=1792459674"},{"product_id":"womens-quilted-winter-jacket-rosalia","title":"Gewatteerde winterjas voor dames | Rosalia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eRosalia\u003c\/strong\u003e, een gewatteerde winterjas van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eOntworpen om in laagjes te dragen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met je favoriete breiwerk en jeans, of met een overhemd en een geklede broek. Houd accessoires subtiel om het silhouet te laten opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-quilted-winter-jacket-rosalia\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\"],\"colors\":[\"Chocolate Brown\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Chocoladebruin \/ S","offer_id":55371619926353,"sku":"MS-7084-WOM-CHO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ M","offer_id":55371619959121,"sku":"MS-1772-WOM-CHO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ L","offer_id":55371619991889,"sku":"MS-7181-WOM-CHO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371620024657,"sku":"MS-3023-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371620057425,"sku":"MS-1956-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371620090193,"sku":"MS-2470-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/chocolate-brown-front_74e31560-4d73-4751-a72f-0420a638d62e.png?v=1792459674"},{"product_id":"womens-metallic-hooded-quilted-jacket-olivia","title":"Metallic gewatteerde jas met capuchon voor dames | Olivia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eOlivia\u003c\/strong\u003e, een metallic gewatteerde jas met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eLange mouwen\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met je favoriete breiwerk en jeans, of met een overhemd en een geklede broek. Houd accessoires subtiel om het silhouet te laten opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-metallic-hooded-quilted-jacket-olivia\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Silver\",\"Wine Red\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Zilver \/ S","offer_id":55371620974929,"sku":"MS-3190-WOM-SIL","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zilver \/ M","offer_id":55371621007697,"sku":"MS-5981-WOM-SIL","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zilver \/ L","offer_id":55371621040465,"sku":"MS-1727-WOM-SIL","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zilver \/ XL","offer_id":55371621073233,"sku":"MS-2696-WOM-SIL","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ S","offer_id":55371621106001,"sku":"MS-6287-WOM-WIN","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ M","offer_id":55371621138769,"sku":"MS-6354-WOM-WIN","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ L","offer_id":55371621171537,"sku":"MS-7533-WOM-WIN","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ XL","offer_id":55371621204305,"sku":"MS-5992-WOM-WIN","price":94.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/silver-front.png?v=1792459679"},{"product_id":"womens-sherpa-zip-up-jacket-natalia","title":"Sherpajas met rits voor dames | Natalia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eNatalia\u003c\/strong\u003e, een sherpajas met rits van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte sherpatextuur\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-sherpa-zip-up-jacket-natalia\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Gray\",\"Pink\",\"Black\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Grijs \/ S","offer_id":55371621237073,"sku":"MS-7292-WOM-GRE","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371621269841,"sku":"MS-1552-WOM-GRE","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371621302609,"sku":"MS-1612-WOM-GRE","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371621335377,"sku":"MS-3630-WOM-GRE","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371621368145,"sku":"MS-8405-WOM-GRE","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371621400913,"sku":"MS-3054-WOM-PIN","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371621433681,"sku":"MS-1408-WOM-PIN","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371621466449,"sku":"MS-8793-WOM-PIN","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371621499217,"sku":"MS-8741-WOM-PIN","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371621531985,"sku":"MS-0021-WOM-PIN","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371621564753,"sku":"MS-0350-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371621597521,"sku":"MS-7132-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371621630289,"sku":"MS-2396-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371621663057,"sku":"MS-3012-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371621695825,"sku":"MS-5600-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371621728593,"sku":"MS-8617-WOM-WHI","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371621761361,"sku":"MS-1204-WOM-WHI","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371621794129,"sku":"MS-0345-WOM-WHI","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371621826897,"sku":"MS-4669-WOM-WHI","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371621859665,"sku":"MS-0778-WOM-WHI","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/grey-front_d5e6c256-8329-4d9a-9f34-5ff20ed42d66.png?v=1792459681"},{"product_id":"womens-long-hooded-fleece-winter-jacket-martina","title":"Lange winterjas van fleece met capuchon voor dames | Martina","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMartina\u003c\/strong\u003e, een lange winterjas van fleece met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte fleece\u003c\/li\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eLange mouwen\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-long-hooded-fleece-winter-jacket-martina\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Black\",\"Olive\",\"Sky Blue\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Zwart \/ S","offer_id":55371622416721,"sku":"MS-5299-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371622449489,"sku":"MS-5815-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371622482257,"sku":"MS-5232-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371622515025,"sku":"MS-0285-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371622547793,"sku":"MS-9606-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ S","offer_id":55371622580561,"sku":"MS-7463-WOM-OLI","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ M","offer_id":55371622613329,"sku":"MS-2910-WOM-OLI","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ L","offer_id":55371622646097,"sku":"MS-0773-WOM-OLI","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ XL","offer_id":55371622678865,"sku":"MS-8491-WOM-OLI","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ 2XL","offer_id":55371622711633,"sku":"MS-2982-WOM-OLI","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ S","offer_id":55371622744401,"sku":"MS-6843-WOM-SKY","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ M","offer_id":55371622777169,"sku":"MS-0319-WOM-SKY","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ L","offer_id":55371622809937,"sku":"MS-4595-WOM-SKY","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ XL","offer_id":55371622842705,"sku":"MS-8600-WOM-SKY","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ 2XL","offer_id":55371622875473,"sku":"MS-5458-WOM-SKY","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/black-front_101fb4db-eac1-4d20-b145-c9979a9808c1.png?v=1792459685"},{"product_id":"womens-sherpa-fleece-zip-up-winter-jacket-marina","title":"Winterjas van sherpa-fleece met rits voor dames | Marina","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarina\u003c\/strong\u003e, een winterjas van sherpa-fleece met rits van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte sherpatextuur\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eLange mouwen\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-sherpa-fleece-zip-up-winter-jacket-marina\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Black\",\"Navy\",\"Khaki\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Zwart \/ S","offer_id":55371622941009,"sku":"MS-8884-WOM-BLA","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371622973777,"sku":"MS-6906-WOM-BLA","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371623006545,"sku":"MS-9849-WOM-BLA","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371623039313,"sku":"MS-8073-WOM-BLA","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371623072081,"sku":"MS-5012-WOM-NAV","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371623104849,"sku":"MS-9491-WOM-NAV","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371623137617,"sku":"MS-1216-WOM-NAV","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371623170385,"sku":"MS-6668-WOM-NAV","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371623203153,"sku":"MS-5711-WOM-KHA","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371623235921,"sku":"MS-1939-WOM-KHA","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371623268689,"sku":"MS-0646-WOM-KHA","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371623301457,"sku":"MS-7283-WOM-KHA","price":109.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/black-front_a7fee62f-3c28-4c0f-b6a2-c99f2121d89d.png?v=1792459687"},{"product_id":"womens-sherpa-fleece-zip-up-jacket-isabella","title":"Jas van sherpa-fleece met rits voor dames | Isabella","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eIsabella\u003c\/strong\u003e, een jas van sherpa-fleece met rits van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte sherpatextuur\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eElastische manchetten\u003c\/li\u003e\n\u003cli\u003eOpgestikte zakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een effen coltrui en een broek met rechte pijpen. Kies voor een geklede look een midi-jurk, enkellaarsjes en een eenvoudige tas.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-sherpa-fleece-zip-up-jacket-isabella\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Black\",\"Brown\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Zwart \/ S","offer_id":55371625070929,"sku":"MS-3032-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371625103697,"sku":"MS-5753-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371625136465,"sku":"MS-4639-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371625169233,"sku":"MS-9310-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371625202001,"sku":"MS-7781-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371625234769,"sku":"MS-5577-WOM-BRO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371625267537,"sku":"MS-4389-WOM-BRO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371625300305,"sku":"MS-8221-WOM-BRO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371625333073,"sku":"MS-5223-WOM-BRO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371625365841,"sku":"MS-4490-WOM-BRO","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371625398609,"sku":"MS-1438-WOM-WHI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371625431377,"sku":"MS-5801-WOM-WHI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371625464145,"sku":"MS-6693-WOM-WHI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371625496913,"sku":"MS-3331-WOM-WHI","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371625529681,"sku":"MS-7011-WOM-WHI","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/black-front_9872dc46-f5bb-43cf-9800-9f672755bea1.png?v=1792459692"},{"product_id":"womens-oversized-suede-look-jacket-flora","title":"Oversized jas in suèdelook voor dames | Flora","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eFlora\u003c\/strong\u003e, een oversized jas in suèdelook van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAfwerking in suèdelook\u003c\/li\u003e\n\u003cli\u003eKlassieke omgeslagen kraag\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eLange mouwen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-oversized-suede-look-jacket-flora\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Olive\",\"Brown\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Olijf \/ XS","offer_id":55371626250577,"sku":"MS-3037-WOM-OLI","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ S","offer_id":55371626283345,"sku":"MS-1676-WOM-OLI","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ M","offer_id":55371626316113,"sku":"MS-9053-WOM-OLI","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ L","offer_id":55371626348881,"sku":"MS-9742-WOM-OLI","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Olijf \/ XL","offer_id":55371626381649,"sku":"MS-9491-WOM-OLI","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XS","offer_id":55371626414417,"sku":"MS-0804-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371626447185,"sku":"MS-2759-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371626479953,"sku":"MS-6105-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371626512721,"sku":"MS-8258-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371626545489,"sku":"MS-0541-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371626578257,"sku":"MS-8262-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371626611025,"sku":"MS-9465-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371626643793,"sku":"MS-5211-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371626676561,"sku":"MS-3753-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371626709329,"sku":"MS-2170-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/olive-front_1103469a-1c6f-4961-a11c-e3fecdf16a0c.png?v=1792459695"},{"product_id":"womens-cropped-high-collar-jacket-chiara","title":"Kort jasje met hoge kraag voor dames | Chiara","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eChiara\u003c\/strong\u003e, een kort jasje met hoge kraag van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eRuitpatroon\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-cropped-high-collar-jacket-chiara\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Brown\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Bruin \/ S","offer_id":55371627594065,"sku":"MS-1087-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371627626833,"sku":"MS-6042-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371627659601,"sku":"MS-1608-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371627692369,"sku":"MS-0439-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371627725137,"sku":"MS-9435-WOM-BRO","price":104.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/brown-front_1ff4321b-03cf-4c9c-8276-7f0e48b12253.png?v=1792459700"},{"product_id":"womens-relaxed-workwear-style-zip-up-jacket-celina","title":"Losvallende jas in werkkledingstijl met rits voor dames | Celina","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eCelina\u003c\/strong\u003e, een losvallende jas in werkkledingstijl met rits van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eBorstzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-relaxed-workwear-style-zip-up-jacket-celina\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\"],\"colors\":[\"Beige\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Beige \/ XS","offer_id":55371627987281,"sku":"MS-6511-WOM-BEI","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371628020049,"sku":"MS-9706-WOM-BEI","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371628052817,"sku":"MS-2720-WOM-BEI","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371628085585,"sku":"MS-6367-WOM-BEI","price":94.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/beige-front_f5ba2ed9-2782-4b54-bb2c-6911285fef87.png?v=1792459700"},{"product_id":"womens-plaid-collared-jacket-bianca","title":"Geruite jas met kraag voor dames | Bianca","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eBianca\u003c\/strong\u003e, een geruite jas met kraag van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eRuitpatroon\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een gebreide set met enkellaarsjes. Kies voor een formelere outfit een effen overhemd en een broek met rechte pijpen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-plaid-collared-jacket-bianca\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Blue\",\"White\",\"Black\",\"Dark Green\",\"Navy\",\"Pink\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Blauw \/ XS","offer_id":55371628282193,"sku":"MS-8467-WOM-BLU","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371628314961,"sku":"MS-8301-WOM-BLU","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371628347729,"sku":"MS-0341-WOM-BLU","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371628380497,"sku":"MS-4570-WOM-BLU","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371628413265,"sku":"MS-3374-WOM-BLU","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XS","offer_id":55371628446033,"sku":"MS-3396-WOM-WHI","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371628478801,"sku":"MS-0647-WOM-WHI","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371628511569,"sku":"MS-7451-WOM-WHI","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371628544337,"sku":"MS-5095-WOM-WHI","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371628577105,"sku":"MS-0869-WOM-WHI","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371628609873,"sku":"MS-8765-WOM-BLA","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371628642641,"sku":"MS-2511-WOM-BLA","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371628675409,"sku":"MS-3070-WOM-BLA","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371628708177,"sku":"MS-1956-WOM-BLA","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371628740945,"sku":"MS-6654-WOM-BLA","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ XS","offer_id":55371628773713,"sku":"MS-0150-WOM-DAR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ S","offer_id":55371628806481,"sku":"MS-8792-WOM-DAR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ M","offer_id":55371628839249,"sku":"MS-7888-WOM-DAR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ L","offer_id":55371628872017,"sku":"MS-8665-WOM-DAR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ XL","offer_id":55371628904785,"sku":"MS-5929-WOM-DAR","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XS","offer_id":55371628937553,"sku":"MS-7574-WOM-NAV","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371628970321,"sku":"MS-8517-WOM-NAV","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371629003089,"sku":"MS-0642-WOM-NAV","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371629035857,"sku":"MS-6287-WOM-NAV","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371629068625,"sku":"MS-4701-WOM-NAV","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XS","offer_id":55371629101393,"sku":"MS-4419-WOM-PIN","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371629134161,"sku":"MS-3793-WOM-PIN","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371629166929,"sku":"MS-7120-WOM-PIN","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371629199697,"sku":"MS-1384-WOM-PIN","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371629232465,"sku":"MS-0532-WOM-PIN","price":94.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/blue-front_69faac17-ef1c-4de6-881c-0234278a594f.png?v=1792459702"},{"product_id":"womens-high-collar-jacket-alessia","title":"Jas met hoge kraag voor dames | Alessia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAlessia\u003c\/strong\u003e, een jas met hoge kraag van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHoge kraag\u003c\/li\u003e\n\u003cli\u003eGetailleerde taille\u003c\/li\u003e\n\u003cli\u003eMinimalistische afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-high-collar-jacket-alessia\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\"],\"colors\":[\"Gray\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Grijs \/ XS","offer_id":55371629429073,"sku":"MS-3919-WOM-GRE","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371629461841,"sku":"MS-1344-WOM-GRE","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371629494609,"sku":"MS-2093-WOM-GRE","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371629527377,"sku":"MS-7321-WOM-GRE","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371629560145,"sku":"MS-0189-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371629592913,"sku":"MS-9239-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371629625681,"sku":"MS-5999-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371629658449,"sku":"MS-9453-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/grey-front_44726761-edca-425c-bf88-112077cf5b58.png?v=1792459704"},{"product_id":"womens-relaxed-high-collar-jacket-adela","title":"Losvallende jas met hoge kraag voor dames | Adela","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAdela\u003c\/strong\u003e, een losvallende jas met hoge kraag van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHoge kraag\u003c\/li\u003e\n\u003cli\u003eLange mouwen\u003c\/li\u003e\n\u003cli\u003eNormale pasvorm\u003c\/li\u003e\n\u003cli\u003eStrak silhouet\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-relaxed-high-collar-jacket-adela\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\"],\"colors\":[\"Black\",\"Burgundy\",\"Chocolate Brown\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Zwart \/ XS","offer_id":55371629822289,"sku":"MS-3091-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371629855057,"sku":"MS-8296-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371629887825,"sku":"MS-3161-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371629920593,"sku":"MS-3989-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XS","offer_id":55371629953361,"sku":"MS-9020-WOM-BUR","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ S","offer_id":55371629986129,"sku":"MS-9525-WOM-BUR","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371630018897,"sku":"MS-9221-WOM-BUR","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371630051665,"sku":"MS-2743-WOM-BUR","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ XS","offer_id":55371630084433,"sku":"MS-1393-WOM-CHO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ S","offer_id":55371630117201,"sku":"MS-2250-WOM-CHO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ M","offer_id":55371630149969,"sku":"MS-4660-WOM-CHO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ L","offer_id":55371630182737,"sku":"MS-7485-WOM-CHO","price":104.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/black-front_2efaae92-9b3e-4607-9663-8f785e43168a.png?v=1792459707"},{"product_id":"womens-green-faux-suede-shirt-jacket-hadley","title":"Groene overhemdjas van imitatiesuède voor dames | Hadley","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHadley\u003c\/strong\u003e, een groene overhemdjas van imitatiesuède van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZacht imitatiesuède\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XS.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cp\u003eOverweeg een maat kleiner voor een aansluitendere pasvorm.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-green-faux-suede-shirt-jacket-hadley\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XS\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XS. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371630543185,"sku":"AR-HADLEY-OLV-S","price":84.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371630575953,"sku":"AR-HADLEY-OLV-M","price":84.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371630608721,"sku":"AR-HADLEY-OLV-L","price":84.99,"currency_code":"USD","in_stock":true},{"title":"XS","offer_id":55371630641489,"sku":"AR-HADLEY-OLV-XS","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-hadley-green-1.webp?v=1792459706"},{"product_id":"womens-beige-faux-suede-shirt-jacket-hadley","title":"Beige overhemdjas van imitatiesuède voor dames | Hadley","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHadley\u003c\/strong\u003e, een beige overhemdjas van imitatiesuède van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZacht imitatiesuède\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XS.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cp\u003eOverweeg een maat kleiner voor een aansluitendere pasvorm.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-beige-faux-suede-shirt-jacket-hadley\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XS\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XS. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371630739793,"sku":"AR-HADLEY-CAM-S","price":84.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371630772561,"sku":"AR-HADLEY-CAM-M","price":84.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371630805329,"sku":"AR-HADLEY-CAM-L","price":84.99,"currency_code":"USD","in_stock":true},{"title":"XS","offer_id":55371630838097,"sku":"AR-HADLEY-CAM-XS","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-hadley-beige-1_ce582e6f-d1e6-4b30-a3c6-3e2200342d9d.webp?v=1792459707"},{"product_id":"womens-chocolate-brown-faux-suede-shirt-jacket-hadley","title":"Chocoladebruine overhemdjas van imitatiesuède voor dames | Hadley","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHadley\u003c\/strong\u003e, een chocoladebruine overhemdjas van imitatiesuède van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZacht imitatiesuède\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XS.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cp\u003eOverweeg een maat kleiner voor een aansluitendere pasvorm.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-chocolate-brown-faux-suede-shirt-jacket-hadley\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XS\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XS. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371630903633,"sku":"AR-HADLEY-CHB-S","price":84.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371630936401,"sku":"AR-HADLEY-CHB-M","price":84.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371630969169,"sku":"AR-HADLEY-CHB-L","price":84.99,"currency_code":"USD","in_stock":true},{"title":"XS","offer_id":55371631001937,"sku":"AR-HADLEY-CHB-XS","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-hadley-chocolate-brown-1_be211140-a92c-484a-b418-2c80407f13f2.webp?v=1792459708"},{"product_id":"womens-black-oversized-faux-suede-shirt-jacket-hadley","title":"Zwarte oversized overhemdjas van imitatiesuède voor dames | Hadley","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHadley\u003c\/strong\u003e, een zwarte oversized overhemdjas van imitatiesuède van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZacht imitatiesuède\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XS.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cp\u003eOverweeg een maat kleiner voor een aansluitendere pasvorm.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-black-oversized-faux-suede-shirt-jacket-hadley\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XS\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XS. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371632476497,"sku":"AR-HADLEY-BLK-S","price":84.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371632509265,"sku":"AR-HADLEY-BLK-M","price":84.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371632542033,"sku":"AR-HADLEY-BLK-L","price":84.99,"currency_code":"USD","in_stock":true},{"title":"XS","offer_id":55371632574801,"sku":"AR-HADLEY-BLK-XS","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-hadley-black-1_05d73ec7-e801-4ba7-9139-a044f408ad0f.webp?v=1792459714"},{"product_id":"womens-black-quilted-bomber-jacket-etta","title":"Zwarte gewatteerde bomberjas voor dames | Etta","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eEtta\u003c\/strong\u003e, een zwarte gewatteerde bomberjas van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud wassen in de machine op een fijnwasprogramma. Niet bleken. Niet in de droogtrommel drogen. In vorm brengen en liggend laten drogen. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-black-quilted-bomber-jacket-etta\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371633787217,"sku":"AR-ETTA-BLK-S","price":49.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371633819985,"sku":"AR-ETTA-BLK-M","price":49.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371633852753,"sku":"AR-ETTA-BLK-L","price":49.99,"currency_code":"USD","in_stock":true},{"title":"XL","offer_id":55371633885521,"sku":"AR-ETTA-BLK-XL","price":49.99,"currency_code":"USD","in_stock":true},{"title":"2XL","offer_id":55371633918289,"sku":"AR-ETTA-BLK-2XL","price":49.99,"currency_code":"USD","in_stock":true},{"title":"3XL","offer_id":55371633951057,"sku":"AR-ETTA-BLK-3XL","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-quilted-bomber-jacket-for-women-black-1.webp?v=1792459718"},{"product_id":"womens-off-white-cropped-fluffy-jacket-faye","title":"Gebroken wit kort pluizig jasje voor dames | Faye","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eFaye\u003c\/strong\u003e, een gebroken wit kort pluizig jasje van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReverskraag\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eZachte, pluizige textuur\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eNiet in de wasmachine wassen. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-off-white-cropped-fluffy-jacket-faye\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"M","offer_id":55371634114897,"sku":"AR-FAYE-OWH-M","price":109.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371634147665,"sku":"AR-FAYE-OWH-L","price":109.99,"currency_code":"USD","in_stock":true},{"title":"XL","offer_id":55371634180433,"sku":"AR-FAYE-OWH-XL","price":109.99,"currency_code":"USD","in_stock":true},{"title":"2XL","offer_id":55371634213201,"sku":"AR-FAYE-OWH-2XL","price":109.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-faux-fur-parka-winter-coat-off-white-1.webp?v=1792459720"},{"product_id":"womens-muted-blue-oversized-hooded-bomber-jacket-poppy","title":"Gedempt blauwe oversized bomberjas met capuchon voor dames | Poppy","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003ePoppy\u003c\/strong\u003e, een gedempt blauwe oversized bomberjas met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eElastische manchetten\u003c\/li\u003e\n\u003cli\u003eVerlaagde schouders\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cp\u003eOverweeg een maat kleiner voor een aansluitendere pasvorm.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud wassen in de machine op een fijnwasprogramma. Niet bleken. Op lage temperatuur in de droogtrommel drogen. Hangend laten drogen. Niet strijken. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-muted-blue-oversized-hooded-bomber-jacket-poppy\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"2XL\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371634245969,"sku":"AR-POPPY-DBL-S","price":104.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371634278737,"sku":"AR-POPPY-DBL-M","price":104.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371634311505,"sku":"AR-POPPY-DBL-L","price":104.99,"currency_code":"USD","in_stock":true},{"title":"2XL","offer_id":55371634344273,"sku":"AR-POPPY-DBL-2XL","price":104.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-oversized-bomber-jacket-with-faux-shearling-lining-dusty-blue-1.webp?v=1792459721"},{"product_id":"womens-taupe-quilted-jacket-freya","title":"Taupekleurige gewatteerde jas voor dames | Freya","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eFreya\u003c\/strong\u003e, een taupekleurige gewatteerde jas van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003cli\u003eElastische manchetten\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud wassen in de machine op een fijnwasprogramma. Niet bleken. Op lage temperatuur in de droogtrommel drogen. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-taupe-quilted-jacket-freya\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371634573649,"sku":"AR-FREYA-TPE-S","price":109.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371634606417,"sku":"AR-FREYA-TPE-M","price":109.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371634639185,"sku":"AR-FREYA-TPE-L","price":109.99,"currency_code":"USD","in_stock":true},{"title":"XL","offer_id":55371634671953,"sku":"AR-FREYA-TPE-XL","price":109.99,"currency_code":"USD","in_stock":true},{"title":"2XL","offer_id":55371634704721,"sku":"AR-FREYA-TPE-2XL","price":109.99,"currency_code":"USD","in_stock":true},{"title":"3XL","offer_id":55371634737489,"sku":"AR-FREYA-TPE-3XL","price":109.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-taupe-quilted-puffer-jacket-fleece-lined-taupe-1.webp?v=1792459721"},{"product_id":"womens-gray-fluffy-jacket-with-lapels-beatrix","title":"Grijze pluizige jas met revers voor dames | Beatrix","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eBeatrix\u003c\/strong\u003e, een grijze pluizige jas met revers van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSjaalkraag\u003c\/li\u003e\n\u003cli\u003eOpen voorkant\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eZachte, pluizige textuur\u003c\/li\u003e\n\u003cli\u003eVerlaagde schouders\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S\/M, M\/L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cp\u003eOverweeg een maat kleiner voor een aansluitendere pasvorm.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eUitsluitend chemisch reinigen. Volg het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-gray-fluffy-jacket-with-lapels-beatrix\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\/M\",\"M\/L\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S\/M, M\/L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"XS","offer_id":55371634770257,"sku":"AR-BEATRIX-GRY-XS","price":49.99,"currency_code":"USD","in_stock":true},{"title":"S\/M","offer_id":55371634803025,"sku":"AR-BEATRIX-GRY-SM","price":49.99,"currency_code":"USD","in_stock":true},{"title":"M\/L","offer_id":55371634835793,"sku":"AR-BEATRIX-GRY-ML","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-faux-fur-fluffy-jacket-for-women-grey-1.webp?v=1792459722"},{"product_id":"womens-taupe-teddy-jacket-willa","title":"Taupekleurige teddyjas voor dames | Willa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eWilla\u003c\/strong\u003e, een taupekleurige teddyjas van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte sherpatextuur\u003c\/li\u003e\n\u003cli\u003eOntwerp zonder kraag\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud wassen in de machine op een fijnwasprogramma. Niet bleken. Op lage temperatuur in de droogtrommel drogen. In vorm brengen en liggend laten drogen. Niet strijken. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-taupe-teddy-jacket-willa\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371634868561,"sku":"AR-WILLA-LTP-S","price":89.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371634901329,"sku":"AR-WILLA-LTP-M","price":89.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371634934097,"sku":"AR-WILLA-LTP-L","price":89.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-teddy-fleece-jacket-for-women-light-taupe-1.webp?v=1792459723"},{"product_id":"womens-light-gray-lightweight-quilted-jacket-marlowe","title":"Lichtgrijze lichte gewatteerde jas voor dames | Marlowe","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarlowe\u003c\/strong\u003e, een lichtgrijze lichte gewatteerde jas van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003cli\u003eElastische manchetten\u003c\/li\u003e\n\u003cli\u003eVerlaagde schouders\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cp\u003eOverweeg een maat kleiner voor een aansluitendere pasvorm.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud wassen in de machine op een fijnwasprogramma. Niet bleken. Op lage temperatuur in de droogtrommel drogen. Hangend laten drogen. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-light-gray-lightweight-quilted-jacket-marlowe\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371634966865,"sku":"AR-MARLOWE-LGR-S","price":109.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371634999633,"sku":"AR-MARLOWE-LGR-M","price":109.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371635032401,"sku":"AR-MARLOWE-LGR-L","price":109.99,"currency_code":"USD","in_stock":true},{"title":"XL","offer_id":55371635065169,"sku":"AR-MARLOWE-LGR-XL","price":109.99,"currency_code":"USD","in_stock":true},{"title":"2XL","offer_id":55371635097937,"sku":"AR-MARLOWE-LGR-2XL","price":109.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-lightweight-insulated-quilted-jacket-light-grey-1_528c116a-0f86-4fae-8a6a-429d9ca441c5.webp?v=1792459724"},{"product_id":"womens-khaki-cropped-jacket-with-plush-collar-sage","title":"Kakikleurig kort jasje met pluchen kraag voor dames | Sage","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eSage\u003c\/strong\u003e, een kakikleurig kort jasje met pluchen kraag van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud wassen in de machine op een fijnwasprogramma. Niet bleken. Op lage temperatuur in de droogtrommel drogen. Niet strijken. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-khaki-cropped-jacket-with-plush-collar-sage\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371636015441,"sku":"AR-SAGE-AGR-S","price":64.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371636048209,"sku":"AR-SAGE-AGR-M","price":64.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371636080977,"sku":"AR-SAGE-AGR-L","price":64.99,"currency_code":"USD","in_stock":true},{"title":"XL","offer_id":55371636113745,"sku":"AR-SAGE-AGR-XL","price":64.99,"currency_code":"USD","in_stock":true},{"title":"2XL","offer_id":55371636146513,"sku":"AR-SAGE-AGR-2XL","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-insulated-corduroy-jacket-with-sherpa-lining-army-green-1.webp?v=1792459733"},{"product_id":"womens-hooded-quilted-jacket-with-ribbed-cuffs-greta","title":"Gewatteerde jas met capuchon en ribboorden voor dames | Greta","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eGreta\u003c\/strong\u003e, een gewatteerde jas met capuchon en ribboorden van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003cli\u003eElastische manchetten\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-hooded-quilted-jacket-with-ribbed-cuffs-greta\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\"],\"colors\":[\"White\",\"Black\",\"Pink\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Wit \/ S","offer_id":55371636179281,"sku":"AR-GRETA-WHI-S","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371636212049,"sku":"AR-GRETA-WHI-M","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371636244817,"sku":"AR-GRETA-WHI-L","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371636277585,"sku":"AR-GRETA-BLK-S","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371636310353,"sku":"AR-GRETA-BLK-M","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371636343121,"sku":"AR-GRETA-BLK-L","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371636375889,"sku":"AR-GRETA-PIN-S","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371636408657,"sku":"AR-GRETA-PIN-M","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371636441425,"sku":"AR-GRETA-PIN-L","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0709-greta-white-1.webp?v=1792459734"},{"product_id":"womens-fitted-glossy-hooded-quilted-jacket-hazel","title":"Getailleerde glanzende gewatteerde jas met capuchon voor dames | Hazel","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHazel\u003c\/strong\u003e, een getailleerde glanzende gewatteerde jas met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAfneembare capuchon\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-fitted-glossy-hooded-quilted-jacket-hazel\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Black\",\"Blue\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Zwart \/ XS","offer_id":55371636474193,"sku":"AR-HAZEL-BLK-XS","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371636506961,"sku":"AR-HAZEL-BLK-S","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371636539729,"sku":"AR-HAZEL-BLK-M","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371636572497,"sku":"AR-HAZEL-BLK-L","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371636605265,"sku":"AR-HAZEL-BLK-XL","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371636638033,"sku":"AR-HAZEL-BLK-2XL","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XS","offer_id":55371636670801,"sku":"AR-HAZEL-BLU-XS","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371636703569,"sku":"AR-HAZEL-BLU-S","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371636736337,"sku":"AR-HAZEL-BLU-M","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371636769105,"sku":"AR-HAZEL-BLU-L","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371636801873,"sku":"AR-HAZEL-BLU-XL","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371636834641,"sku":"AR-HAZEL-BLU-2XL","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0709-hazel-black-1.webp?v=1792459735"},{"product_id":"womens-cropped-hooded-quilted-jacket-blythe","title":"Korte gewatteerde jas met capuchon voor dames | Blythe","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eBlythe\u003c\/strong\u003e, een korte gewatteerde jas met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAfneembare capuchon\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003cli\u003eElastische manchetten\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-cropped-hooded-quilted-jacket-blythe\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\"],\"colors\":[\"White\",\"Black\",\"Pink\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Wit \/ S","offer_id":55371638047057,"sku":"AR-BLYTHE-WHI-S","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371638079825,"sku":"AR-BLYTHE-WHI-M","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371638112593,"sku":"AR-BLYTHE-WHI-L","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371638145361,"sku":"AR-BLYTHE-BLK-S","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371638178129,"sku":"AR-BLYTHE-BLK-M","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371638210897,"sku":"AR-BLYTHE-BLK-L","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371638243665,"sku":"AR-BLYTHE-PIN-S","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371638276433,"sku":"AR-BLYTHE-PIN-M","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371638309201,"sku":"AR-BLYTHE-PIN-L","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0709-blythe-white-1.webp?v=1792459741"},{"product_id":"womens-hooded-quilted-zip-up-winter-jacket-iris","title":"Gewatteerde winterjas met capuchon en rits voor dames | Iris","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eIris\u003c\/strong\u003e, een gewatteerde winterjas met capuchon en rits van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eZachte voering\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003cli\u003eRitszakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL, 3XL, 4XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-hooded-quilted-zip-up-winter-jacket-iris\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\"],\"colors\":[\"Black\",\"Beige\",\"Blue\",\"Green\",\"Pink\",\"Red\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: M, L, XL, 2XL, 3XL, 4XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Zwart \/ M","offer_id":55371640242513,"sku":"AR-IRIS-BLK-M","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371640275281,"sku":"AR-IRIS-BLK-L","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371640308049,"sku":"AR-IRIS-BLK-XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371640340817,"sku":"AR-IRIS-BLK-2XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371640373585,"sku":"AR-IRIS-BLK-3XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371640406353,"sku":"AR-IRIS-BLK-4XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371640439121,"sku":"AR-IRIS-BEI-M","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371640471889,"sku":"AR-IRIS-BEI-L","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371640504657,"sku":"AR-IRIS-BEI-XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371640537425,"sku":"AR-IRIS-BEI-2XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371640570193,"sku":"AR-IRIS-BEI-3XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 4XL","offer_id":55371640602961,"sku":"AR-IRIS-BEI-4XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371640635729,"sku":"AR-IRIS-BLU-M","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371640668497,"sku":"AR-IRIS-BLU-L","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371640701265,"sku":"AR-IRIS-BLU-XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371640734033,"sku":"AR-IRIS-BLU-2XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371640766801,"sku":"AR-IRIS-BLU-3XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 4XL","offer_id":55371640799569,"sku":"AR-IRIS-BLU-4XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371640832337,"sku":"AR-IRIS-GRN-M","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371640865105,"sku":"AR-IRIS-GRN-L","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371640897873,"sku":"AR-IRIS-GRN-XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371640930641,"sku":"AR-IRIS-GRN-2XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371640963409,"sku":"AR-IRIS-GRN-3XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 4XL","offer_id":55371640996177,"sku":"AR-IRIS-GRN-4XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371641028945,"sku":"AR-IRIS-PIN-M","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371641061713,"sku":"AR-IRIS-PIN-L","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371641094481,"sku":"AR-IRIS-PIN-XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371641127249,"sku":"AR-IRIS-PIN-2XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371641160017,"sku":"AR-IRIS-PIN-3XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 4XL","offer_id":55371641192785,"sku":"AR-IRIS-PIN-4XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371641225553,"sku":"AR-IRIS-RED-M","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371641258321,"sku":"AR-IRIS-RED-L","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371641291089,"sku":"AR-IRIS-RED-XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371641323857,"sku":"AR-IRIS-RED-2XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371641356625,"sku":"AR-IRIS-RED-3XL","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 4XL","offer_id":55371641389393,"sku":"AR-IRIS-RED-4XL","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0709-iris-black-1.webp?v=1792459747"},{"product_id":"womens-lightweight-button-front-jacket-hanna","title":"Licht jasje met knopen voor dames | Hanna","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHanna\u003c\/strong\u003e, een licht jasje met knopen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-lightweight-button-front-jacket-hanna\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Light Blue\",\"Pink\",\"Khaki\",\"Blue\",\"Gray\",\"Black\",\"Light Gray\",\"Olive Green\",\"Yellow\",\"Crimson\",\"Green\",\"Navy\",\"Dark Gray\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Lichtblauw \/ S","offer_id":55371651023185,"sku":"SM-65871267496285","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371651055953,"sku":"SM-65871267529053","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371651088721,"sku":"SM-65871267561821","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371651121489,"sku":"SM-65871267594589","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 2XL","offer_id":55371651154257,"sku":"SM-65871267627357","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 3XL","offer_id":55371651187025,"sku":"SM-65871267660125","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371651219793,"sku":"SM-65871267692893","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371651252561,"sku":"SM-65871267725661","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371651285329,"sku":"SM-65871267758429","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371651318097,"sku":"SM-65871267791197","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371651350865,"sku":"SM-65871267823965","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371651383633,"sku":"SM-65871267856733","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371651416401,"sku":"SM-65871267889501","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371651449169,"sku":"SM-65871267922269","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371651481937,"sku":"SM-65871267955037","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371651514705,"sku":"SM-65871267987805","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371651547473,"sku":"SM-65871268020573","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371651580241,"sku":"SM-65871268053341","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371651613009,"sku":"SM-65871268086109","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371651645777,"sku":"SM-65871268118877","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371651678545,"sku":"SM-65871268151645","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371651711313,"sku":"SM-65871268184413","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371651744081,"sku":"SM-65871268217181","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371651776849,"sku":"SM-65871268249949","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371651809617,"sku":"SM-65871268282717","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371651842385,"sku":"SM-65871268315485","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371651875153,"sku":"SM-65871268348253","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371651907921,"sku":"SM-65871268381021","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371651940689,"sku":"SM-65871268413789","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 3XL","offer_id":55371651973457,"sku":"SM-65871268446557","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371652006225,"sku":"SM-65871268479325","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371652038993,"sku":"SM-65871268512093","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371652071761,"sku":"SM-65871268544861","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371652104529,"sku":"SM-65871268577629","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371652137297,"sku":"SM-65871268610397","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371652170065,"sku":"SM-65871268643165","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtgrijs \/ S","offer_id":55371652202833,"sku":"SM-65871268675933","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtgrijs \/ M","offer_id":55371652235601,"sku":"SM-65871268708701","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtgrijs \/ L","offer_id":55371652268369,"sku":"SM-65871268741469","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtgrijs \/ XL","offer_id":55371652301137,"sku":"SM-65871268774237","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtgrijs \/ 2XL","offer_id":55371652333905,"sku":"SM-65871268807005","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtgrijs \/ 3XL","offer_id":55371652366673,"sku":"SM-65871268839773","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ S","offer_id":55371652399441,"sku":"SM-65871268872541","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ M","offer_id":55371652432209,"sku":"SM-65871268905309","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ L","offer_id":55371652464977,"sku":"SM-65871268938077","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ XL","offer_id":55371652497745,"sku":"SM-65871268970845","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 2XL","offer_id":55371652530513,"sku":"SM-65871269003613","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 3XL","offer_id":55371652563281,"sku":"SM-65871269036381","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ S","offer_id":55371652596049,"sku":"SM-65871269069149","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ M","offer_id":55371652628817,"sku":"SM-65871269101917","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ L","offer_id":55371652661585,"sku":"SM-65871269134685","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ XL","offer_id":55371652694353,"sku":"SM-65871269167453","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 2XL","offer_id":55371652727121,"sku":"SM-65871269200221","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 3XL","offer_id":55371652759889,"sku":"SM-65871269232989","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Karmozijnrood \/ S","offer_id":55371652792657,"sku":"SM-65871269265757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Karmozijnrood \/ M","offer_id":55371652825425,"sku":"SM-65871269298525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Karmozijnrood \/ L","offer_id":55371652858193,"sku":"SM-65871269331293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Karmozijnrood \/ XL","offer_id":55371652890961,"sku":"SM-65871269364061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Karmozijnrood \/ 2XL","offer_id":55371652923729,"sku":"SM-65871269396829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Karmozijnrood \/ 3XL","offer_id":55371652956497,"sku":"SM-65871269429597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ S","offer_id":55371652989265,"sku":"SM-65871269462365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371653022033,"sku":"SM-65871269495133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371653054801,"sku":"SM-65871269527901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371653087569,"sku":"SM-65871269560669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371653120337,"sku":"SM-65871269593437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371653153105,"sku":"SM-65871269626205","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371653185873,"sku":"SM-65871269658973","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371653218641,"sku":"SM-65871269691741","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371653251409,"sku":"SM-65871269724509","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371653284177,"sku":"SM-65871269757277","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371653316945,"sku":"SM-65871269790045","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 3XL","offer_id":55371653349713,"sku":"SM-65871269822813","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkergrijs \/ S","offer_id":55371653382481,"sku":"SM-65871269855581","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkergrijs \/ M","offer_id":55371653415249,"sku":"SM-65871269888349","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkergrijs \/ L","offer_id":55371653448017,"sku":"SM-65871269921117","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkergrijs \/ XL","offer_id":55371653480785,"sku":"SM-65871269953885","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkergrijs \/ 2XL","offer_id":55371653513553,"sku":"SM-65871269986653","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkergrijs \/ 3XL","offer_id":55371653546321,"sku":"SM-65871270019421","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/c84a7b37-5724-4207-954e-2cc1db82c35e_56701187-3a41-4dd5-8ada-3aed7a585f72_1.webp?v=1792459773"},{"product_id":"womens-cropped-suede-look-biker-jacket-leonie","title":"Korte bikerjas in suèdelook voor dames | Leonie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLeonie\u003c\/strong\u003e, een korte bikerjas in suèdelook van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAfwerking in suèdelook\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eAsymmetrisch detail\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eUit de buurt van directe hitte en fel zonlicht houden. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-cropped-suede-look-biker-jacket-leonie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Green\",\"Light Blue\",\"Beige\",\"Blue\",\"Orange\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Groen \/ S","offer_id":55371654922577,"sku":"SM-65871186919773","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371654955345,"sku":"SM-65871186952541","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371654988113,"sku":"SM-65871186985309","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371655020881,"sku":"SM-65871187018077","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371655053649,"sku":"SM-65871187050845","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ S","offer_id":55371655086417,"sku":"SM-65871187083613","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371655119185,"sku":"SM-65871187116381","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371655151953,"sku":"SM-65871187149149","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371655184721,"sku":"SM-65871187181917","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 2XL","offer_id":55371655217489,"sku":"SM-65871187214685","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371655250257,"sku":"SM-65871187247453","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371655283025,"sku":"SM-65871187280221","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371655315793,"sku":"SM-65871187312989","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371655348561,"sku":"SM-65871187345757","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371655381329,"sku":"SM-65871187378525","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371655414097,"sku":"SM-65871187411293","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371655446865,"sku":"SM-65871187444061","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371655479633,"sku":"SM-65871187476829","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371655512401,"sku":"SM-65871187509597","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371655545169,"sku":"SM-65871187542365","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ S","offer_id":55371655577937,"sku":"SM-65871187575133","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ M","offer_id":55371655610705,"sku":"SM-65871187607901","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ L","offer_id":55371655643473,"sku":"SM-65871187640669","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ XL","offer_id":55371655676241,"sku":"SM-65871187673437","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ 2XL","offer_id":55371655709009,"sku":"SM-65871187706205","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371655741777,"sku":"SM-65871187738973","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371655774545,"sku":"SM-65871187771741","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371655807313,"sku":"SM-65871187804509","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371655840081,"sku":"SM-65871187837277","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371655872849,"sku":"SM-65871187870045","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-cropped-wildleder-biker-jacke-asymmetrischer-reiversch-1.jpg?v=1792459777"},{"product_id":"womens-oversized-faux-shearling-jacket-luisa","title":"Oversized jas in imitatie-lamsvacht voor dames | Luisa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLuisa\u003c\/strong\u003e, een oversized jas in imitatie-lamsvacht van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte sherpatextuur\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eUitsluitend chemisch reinigen. Volg het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-oversized-faux-shearling-jacket-luisa\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Brown\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Bruin \/ S","offer_id":55371662098769,"sku":"SM-65870924415325","price":124.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371662131537,"sku":"SM-65870924448093","price":124.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371662164305,"sku":"SM-65870924480861","price":124.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371662197073,"sku":"SM-65870924513629","price":124.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371662229841,"sku":"SM-65870924546397","price":124.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 3XL","offer_id":55371662262609,"sku":"SM-65870924579165","price":124.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-oversized-kunstschaffell-jacke-mit-knopfleiste-sherpa--6.jpg?v=1792459790"},{"product_id":"womens-tailored-genuine-leather-biker-jacket-katharina","title":"Getailleerde bikerjas van echt leer voor dames | Katharina","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eKatharina\u003c\/strong\u003e, een getailleerde bikerjas van echt leer van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEcht leer\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003cli\u003eRitszakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eUitsluitend chemisch reinigen. Volg het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-tailored-genuine-leather-biker-jacket-katharina\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"S","offer_id":55371662623057,"sku":"SM-65870922219869","price":69.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371662655825,"sku":"SM-65870922252637","price":69.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371662688593,"sku":"SM-65870922285405","price":69.99,"currency_code":"USD","in_stock":true},{"title":"XL","offer_id":55371662721361,"sku":"SM-65870922318173","price":69.99,"currency_code":"USD","in_stock":true},{"title":"2XL","offer_id":55371662754129,"sku":"SM-65870922350941","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-bikerjacke-taillierter-schnitt-reiverschluss-echtleder-2.jpg?v=1792459791"},{"product_id":"womens-reversible-shearling-look-bomber-jacket-elfriede","title":"Omkeerbare bomberjas in lamsvachtlook voor dames | Elfriede","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eElfriede\u003c\/strong\u003e, een omkeerbare bomberjas in lamsvachtlook van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSherpa-afwerking\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eOmkeerbare uitvoering\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eChemisch reinigen. Niet bleken. Uit de buurt van directe hitte en fel zonlicht houden. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-reversible-shearling-look-bomber-jacket-elfriede\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Brown\",\"Khaki\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Bruin \/ XS","offer_id":55371663901009,"sku":"SM-65870899609949","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371663933777,"sku":"SM-65870899642717","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371663966545,"sku":"SM-65870899675485","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371663999313,"sku":"SM-65870899708253","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371664032081,"sku":"SM-65870899741021","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XS","offer_id":55371664064849,"sku":"SM-65870899773789","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371664097617,"sku":"SM-65870899806557","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371664130385,"sku":"SM-65870899839325","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371664163153,"sku":"SM-65870899872093","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371664195921,"sku":"SM-65870899904861","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371664228689,"sku":"SM-65870899937629","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371664261457,"sku":"SM-65870899970397","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371664294225,"sku":"SM-65870900003165","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371664326993,"sku":"SM-65870900035933","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371664359761,"sku":"SM-65870900068701","price":99.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-luxus-doppelseitige-lammfell-bomber-jacke-1.jpg?v=1792459795"},{"product_id":"womens-cropped-faux-fur-cardigan-jacket-lena","title":"Kort vestjasje van imitatiebont voor dames | Lena","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLena\u003c\/strong\u003e, een kort vestjasje van imitatiebont van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZacht imitatiebont\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een lichte top, een broek met wijde pijpen en een eenvoudige tas. Stem de kleuren op elkaar af.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud wassen in de machine op een fijnwasprogramma. Niet bleken. In vorm brengen en liggend laten drogen. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-cropped-faux-fur-cardigan-jacket-lena\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Gray\",\"White\",\"Black\",\"Dark Mustard\",\"Apricot\",\"Light Mustard\",\"Pink\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Grijs \/ S","offer_id":55371664425297,"sku":"SM-65870896988509","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371664458065,"sku":"SM-65870897021277","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371664490833,"sku":"SM-65870897054045","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371664523601,"sku":"SM-65870897086813","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371664556369,"sku":"SM-65870897119581","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371664589137,"sku":"SM-65870897152349","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371664621905,"sku":"SM-65870897185117","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371664654673,"sku":"SM-65870897217885","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371664687441,"sku":"SM-65870897250653","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371664720209,"sku":"SM-65870897283421","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371664752977,"sku":"SM-65870897316189","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371664785745,"sku":"SM-65870897348957","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371664818513,"sku":"SM-65870897381725","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371664851281,"sku":"SM-65870897414493","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371664884049,"sku":"SM-65870897447261","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Donkermosterdgeel \/ S","offer_id":55371664916817,"sku":"SM-65870897480029","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Donkermosterdgeel \/ M","offer_id":55371664949585,"sku":"SM-65870897512797","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Donkermosterdgeel \/ L","offer_id":55371664982353,"sku":"SM-65870897545565","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Donkermosterdgeel \/ XL","offer_id":55371665015121,"sku":"SM-65870897578333","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Donkermosterdgeel \/ 2XL","offer_id":55371665047889,"sku":"SM-65870897611101","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ S","offer_id":55371665080657,"sku":"SM-65870897643869","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ M","offer_id":55371665113425,"sku":"SM-65870897676637","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ L","offer_id":55371665146193,"sku":"SM-65870897709405","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ XL","offer_id":55371665178961,"sku":"SM-65870897742173","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 2XL","offer_id":55371665211729,"sku":"SM-65870897774941","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtmosterdgeel \/ S","offer_id":55371665244497,"sku":"SM-65870897807709","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtmosterdgeel \/ M","offer_id":55371665277265,"sku":"SM-65870897840477","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtmosterdgeel \/ L","offer_id":55371665310033,"sku":"SM-65870897873245","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtmosterdgeel \/ XL","offer_id":55371665342801,"sku":"SM-65870897906013","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtmosterdgeel \/ 2XL","offer_id":55371665375569,"sku":"SM-65870897938781","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371665408337,"sku":"SM-65870897971549","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371665441105,"sku":"SM-65870898004317","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371665473873,"sku":"SM-65870898037085","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371665506641,"sku":"SM-65870898069853","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371665539409,"sku":"SM-65870898102621","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kurz-kunstpelz-cardigan-jacke-1.jpg?v=1792459797"},{"product_id":"womens-lightweight-breathable-cropped-jacket-luisa","title":"Licht ademend kort jasje voor dames | Luisa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLuisa\u003c\/strong\u003e, een licht ademend kort jasje van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-lightweight-breathable-cropped-jacket-luisa\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Khaki\",\"Black\",\"Beige\",\"Yellow\",\"Pink\",\"Blue\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Kaki \/ M","offer_id":55371669176657,"sku":"SM-65870729019741","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371669209425,"sku":"SM-65870729052509","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371669242193,"sku":"SM-65870729085277","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371669274961,"sku":"SM-65870729118045","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371669307729,"sku":"SM-65870729150813","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371669340497,"sku":"SM-65870729183581","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371669373265,"sku":"SM-65870729216349","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371669406033,"sku":"SM-65870729249117","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371669438801,"sku":"SM-65870729281885","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371669471569,"sku":"SM-65870729314653","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371669504337,"sku":"SM-65870729347421","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371669537105,"sku":"SM-65870729380189","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371669569873,"sku":"SM-65870729412957","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371669602641,"sku":"SM-65870729445725","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371669635409,"sku":"SM-65870729478493","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ M","offer_id":55371669668177,"sku":"SM-65870729511261","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ L","offer_id":55371669700945,"sku":"SM-65870729544029","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ XL","offer_id":55371669733713,"sku":"SM-65870729576797","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 2XL","offer_id":55371669766481,"sku":"SM-65870729609565","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 3XL","offer_id":55371669799249,"sku":"SM-65870729642333","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371669832017,"sku":"SM-65870729675101","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371669864785,"sku":"SM-65870729707869","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371669897553,"sku":"SM-65870729740637","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371669930321,"sku":"SM-65870729773405","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371669963089,"sku":"SM-65870729806173","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371669995857,"sku":"SM-65870729838941","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371670028625,"sku":"SM-65870729871709","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371670061393,"sku":"SM-65870729904477","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371670094161,"sku":"SM-65870729937245","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371670126929,"sku":"SM-65870729970013","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kurzjacke-leichte-atmungsaktive-bergangsjacke-mit-reiv-1.jpg?v=1792459805"},{"product_id":"womens-cropped-oversized-faux-suede-bomber-jacket-emilia","title":"Korte oversized bomberjas van imitatiesuède voor dames | Emilia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eEmilia\u003c\/strong\u003e, een korte oversized bomberjas van imitatiesuède van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZacht imitatiesuède\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-cropped-oversized-faux-suede-bomber-jacket-emilia\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Brown\",\"Burgundy\",\"Black\",\"Beige\",\"Olive Green\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Bruin \/ XS","offer_id":55371671044433,"sku":"SM-65870728036701","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371671077201,"sku":"SM-65870728069469","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371671109969,"sku":"SM-65870728102237","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371671142737,"sku":"SM-65870728135005","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371671175505,"sku":"SM-65870728167773","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371671208273,"sku":"SM-65870728200541","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XS","offer_id":55371671241041,"sku":"SM-65870728233309","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ S","offer_id":55371671273809,"sku":"SM-65870728266077","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371671306577,"sku":"SM-65870728298845","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371671339345,"sku":"SM-65870728331613","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371671372113,"sku":"SM-65870728364381","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 2XL","offer_id":55371671404881,"sku":"SM-65870728397149","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371671437649,"sku":"SM-65870728429917","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371671470417,"sku":"SM-65870728462685","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371671503185,"sku":"SM-65870728495453","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371671535953,"sku":"SM-65870728528221","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371671568721,"sku":"SM-65870728560989","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371671601489,"sku":"SM-65870728593757","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XS","offer_id":55371671634257,"sku":"SM-65870728626525","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371671667025,"sku":"SM-65870728659293","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371671699793,"sku":"SM-65870728692061","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371671732561,"sku":"SM-65870728724829","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371671765329,"sku":"SM-65870728757597","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371671798097,"sku":"SM-65870728790365","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ XS","offer_id":55371671830865,"sku":"SM-65870728823133","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ S","offer_id":55371671863633,"sku":"SM-65870728855901","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ M","offer_id":55371671896401,"sku":"SM-65870728888669","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ L","offer_id":55371671929169,"sku":"SM-65870728921437","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ XL","offer_id":55371671961937,"sku":"SM-65870728954205","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 2XL","offer_id":55371671994705,"sku":"SM-65870728986973","price":74.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-oversized-kurzgeschnittene-kunstwildleder-bomberjacke-2.jpg?v=1792459810"},{"product_id":"womens-rain-jacket-with-zippered-pockets-emilia","title":"Regenjas met ritszakken voor dames | Emilia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eEmilia\u003c\/strong\u003e, een regenjas met ritszakken van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eRitszakken\u003c\/li\u003e\n\u003cli\u003eWaterdichte buitenlaag\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-rain-jacket-with-zippered-pockets-emilia\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Apricot\",\"Blue\",\"Coffee\",\"Gray\",\"White\",\"Wine Red\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Abrikoos \/ XS","offer_id":55371672027473,"sku":"SM-65870724497757","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ S","offer_id":55371672060241,"sku":"SM-65870724530525","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ M","offer_id":55371672093009,"sku":"SM-65870724563293","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ L","offer_id":55371672125777,"sku":"SM-65870724596061","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ XL","offer_id":55371672158545,"sku":"SM-65870724628829","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 2XL","offer_id":55371672191313,"sku":"SM-65870724661597","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 3XL","offer_id":55371672224081,"sku":"SM-65870724694365","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XS","offer_id":55371672256849,"sku":"SM-65870724727133","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371672289617,"sku":"SM-65870724759901","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371672322385,"sku":"SM-65870724792669","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371672355153,"sku":"SM-65870724825437","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371672387921,"sku":"SM-65870724858205","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371672420689,"sku":"SM-65870724890973","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371672453457,"sku":"SM-65870724923741","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ XS","offer_id":55371672486225,"sku":"SM-65870724956509","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ S","offer_id":55371672518993,"sku":"SM-65870724989277","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ M","offer_id":55371672551761,"sku":"SM-65870725022045","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ L","offer_id":55371672584529,"sku":"SM-65870725054813","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ XL","offer_id":55371672617297,"sku":"SM-65870725087581","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ 2XL","offer_id":55371672650065,"sku":"SM-65870725120349","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ 3XL","offer_id":55371672682833,"sku":"SM-65870725153117","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XS","offer_id":55371672715601,"sku":"SM-65870725185885","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371672748369,"sku":"SM-65870725218653","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371672781137,"sku":"SM-65870725251421","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371672813905,"sku":"SM-65870725284189","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371672846673,"sku":"SM-65870725316957","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371672879441,"sku":"SM-65870725349725","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 3XL","offer_id":55371672912209,"sku":"SM-65870725382493","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XS","offer_id":55371672944977,"sku":"SM-65870725415261","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371672977745,"sku":"SM-65870725448029","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371673010513,"sku":"SM-65870725480797","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371673043281,"sku":"SM-65870725513565","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371673076049,"sku":"SM-65870725546333","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371673108817,"sku":"SM-65870725579101","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 3XL","offer_id":55371673141585,"sku":"SM-65870725611869","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ XS","offer_id":55371673174353,"sku":"SM-65870725644637","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ S","offer_id":55371673207121,"sku":"SM-65870725677405","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ M","offer_id":55371673239889,"sku":"SM-65870725710173","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ L","offer_id":55371673272657,"sku":"SM-65870725742941","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ XL","offer_id":55371673305425,"sku":"SM-65870725775709","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ 2XL","offer_id":55371673338193,"sku":"SM-65870725808477","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wijnrood \/ 3XL","offer_id":55371673370961,"sku":"SM-65870725841245","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-wasserdichte-kapuzen-regenjacke-mit-reiverschluss-tasc-18.jpg?v=1792459812"},{"product_id":"womens-waterproof-jacket-with-detachable-hood-hannah","title":"Waterdichte jas met afneembare capuchon voor dames | Hannah","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHannah\u003c\/strong\u003e, een waterdichte jas met afneembare capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAfneembare capuchon\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eWaterdichte buitenlaag\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-waterproof-jacket-with-detachable-hood-hannah\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Mint\",\"Red\",\"Purple\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Mint \/ S","offer_id":55371673502033,"sku":"SM-65870723973469","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Mint \/ M","offer_id":55371673534801,"sku":"SM-65870724006237","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Mint \/ L","offer_id":55371673567569,"sku":"SM-65870724039005","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Mint \/ XL","offer_id":55371673600337,"sku":"SM-65870724071773","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371673633105,"sku":"SM-65870724104541","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371673665873,"sku":"SM-65870724137309","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371673698641,"sku":"SM-65870724170077","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371673731409,"sku":"SM-65870724202845","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ S","offer_id":55371673764177,"sku":"SM-65870724235613","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371673796945,"sku":"SM-65870724268381","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371673829713,"sku":"SM-65870724301149","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371673862481,"sku":"SM-65870724333917","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371673895249,"sku":"SM-65870724366685","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371673928017,"sku":"SM-65870724399453","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371673960785,"sku":"SM-65870724432221","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371673993553,"sku":"SM-65870724464989","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-wasserdichte-regenjacke-mit-abnehmbarer-kapuze-verstel-1.jpg?v=1792459814"},{"product_id":"womens-oversized-faux-leather-bomber-jacket-lena","title":"Oversized bomberjas van kunstleer voor dames | Lena","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLena\u003c\/strong\u003e, een oversized bomberjas van kunstleer van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKunstleer\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met effen breiwerk en je favoriete jeans. Kies voor de avond een eenvoudige jurk en opvallende schoenen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cp\u003eOverweeg een maat kleiner voor een aansluitendere pasvorm.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-oversized-faux-leather-bomber-jacket-lena\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Dark Brown\",\"Olive Green\",\"Mauve\",\"Dark Red\",\"Brown - Style 2\",\"Hot Pink\",\"Black\",\"Apricot\",\"Dark Green\",\"Camel\",\"Bright Pink\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Donkerbruin \/ S","offer_id":55371674255697,"sku":"SM-65870698217821","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ S","offer_id":55371674288465,"sku":"SM-65870698250589","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Mauve \/ S","offer_id":55371674321233,"sku":"SM-65870698283357","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ S","offer_id":55371674354001,"sku":"SM-65870698316125","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin - model 2 \/ S","offer_id":55371674386769,"sku":"SM-65870698348893","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Felroze \/ S","offer_id":55371674419537,"sku":"SM-65870698381661","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371674452305,"sku":"SM-65870698414429","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ S","offer_id":55371674485073,"sku":"SM-65870698447197","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ S","offer_id":55371674517841,"sku":"SM-65870698479965","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ S","offer_id":55371674550609,"sku":"SM-65870698512733","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin - model 2 \/ M","offer_id":55371674583377,"sku":"SM-65870698545501","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ M","offer_id":55371674616145,"sku":"SM-65870698578269","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Mauve \/ M","offer_id":55371674648913,"sku":"SM-65870698611037","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ M","offer_id":55371674681681,"sku":"SM-65870698643805","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371674714449,"sku":"SM-65870698676573","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Felroze \/ M","offer_id":55371674747217,"sku":"SM-65870698709341","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ M","offer_id":55371674779985,"sku":"SM-65870698742109","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ M","offer_id":55371674812753,"sku":"SM-65870698774877","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ M","offer_id":55371674845521,"sku":"SM-65870698807645","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ M","offer_id":55371674878289,"sku":"SM-65870698840413","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin - model 2 \/ L","offer_id":55371674911057,"sku":"SM-65870698873181","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ L","offer_id":55371674943825,"sku":"SM-65870698905949","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ L","offer_id":55371674976593,"sku":"SM-65870698938717","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ L","offer_id":55371675009361,"sku":"SM-65870698971485","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371675042129,"sku":"SM-65870699004253","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Felroze \/ L","offer_id":55371675074897,"sku":"SM-65870699037021","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Mauve \/ L","offer_id":55371675107665,"sku":"SM-65870699069789","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ L","offer_id":55371675140433,"sku":"SM-65870699102557","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ L","offer_id":55371675173201,"sku":"SM-65870699135325","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ L","offer_id":55371675205969,"sku":"SM-65870699168093","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ XL","offer_id":55371675238737,"sku":"SM-65870699200861","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin - model 2 \/ XL","offer_id":55371675271505,"sku":"SM-65870699233629","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ XL","offer_id":55371675304273,"sku":"SM-65870699266397","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371675337041,"sku":"SM-65870699299165","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ XL","offer_id":55371675369809,"sku":"SM-65870699331933","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Felroze \/ XL","offer_id":55371675402577,"sku":"SM-65870699364701","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Mauve \/ XL","offer_id":55371675435345,"sku":"SM-65870699397469","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ XL","offer_id":55371675468113,"sku":"SM-65870699430237","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ XL","offer_id":55371675500881,"sku":"SM-65870699463005","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ XL","offer_id":55371675533649,"sku":"SM-65870699495773","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 2XL","offer_id":55371675566417,"sku":"SM-65870699528541","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkergroen \/ 2XL","offer_id":55371675599185,"sku":"SM-65870699561309","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371675631953,"sku":"SM-65870699594077","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Mauve \/ 2XL","offer_id":55371675664721,"sku":"SM-65870699626845","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 2XL","offer_id":55371675697489,"sku":"SM-65870699659613","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Helderroze \/ 2XL","offer_id":55371675730257,"sku":"SM-65870699692381","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin - model 2 \/ 2XL","offer_id":55371675763025,"sku":"SM-65870699725149","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ 2XL","offer_id":55371675795793,"sku":"SM-65870699757917","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ 2XL","offer_id":55371675828561,"sku":"SM-65870699790685","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 2XL","offer_id":55371675861329,"sku":"SM-65870699823453","price":99.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-oversized-kunstleder-bomber-lederjacke-mit-reiverschlu-6.jpg?v=1792459817"},{"product_id":"womens-faux-leather-biker-jacket-with-detachable-hood-katharina","title":"Bikerjas van kunstleer met afneembare capuchon voor dames | Katharina","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eKatharina\u003c\/strong\u003e, een bikerjas van kunstleer met afneembare capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKunstleer\u003c\/li\u003e\n\u003cli\u003eAfneembare capuchon\u003c\/li\u003e\n\u003cli\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003cli\u003eRitszakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een lichte coltrui en een broek met wijde pijpen. Werk af met een eenvoudige tas en subtiele juwelen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-faux-leather-biker-jacket-with-detachable-hood-katharina\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Brown\",\"Black\",\"Dark Brown\",\"Beige\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Bruin \/ S","offer_id":55371676156241,"sku":"SM-65870696186205","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371676189009,"sku":"SM-65870696218973","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371676221777,"sku":"SM-65870696251741","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371676254545,"sku":"SM-65870696284509","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371676287313,"sku":"SM-65870696317277","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371676320081,"sku":"SM-65870696350045","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371676352849,"sku":"SM-65870696382813","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371676385617,"sku":"SM-65870696415581","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371676418385,"sku":"SM-65870696448349","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371676451153,"sku":"SM-65870696481117","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ S","offer_id":55371676483921,"sku":"SM-65870696513885","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ M","offer_id":55371676516689,"sku":"SM-65870696546653","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ L","offer_id":55371676549457,"sku":"SM-65870696579421","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ XL","offer_id":55371676582225,"sku":"SM-65870696612189","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 2XL","offer_id":55371676614993,"sku":"SM-65870696644957","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371676647761,"sku":"SM-65870696677725","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371676680529,"sku":"SM-65870696710493","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371676713297,"sku":"SM-65870696743261","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371676746065,"sku":"SM-65870696776029","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371676778833,"sku":"SM-65870696808797","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371676811601,"sku":"SM-65870696841565","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371676844369,"sku":"SM-65870696874333","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371676877137,"sku":"SM-65870696907101","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371676909905,"sku":"SM-65870696939869","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371676942673,"sku":"SM-65870696972637","price":99.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kunstleder-bikerjacke-mit-abnehmbarer-kapuze-reiversch-1.jpg?v=1792459820"},{"product_id":"womens-cropped-tailored-faux-leather-biker-jacket-katharina","title":"Korte getailleerde bikerjas van kunstleer voor dames | Katharina","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eKatharina\u003c\/strong\u003e, een korte getailleerde bikerjas van kunstleer van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKunstleer\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag met een eenvoudige jeans en een effen top. Kies voor een geklede outfit een broek met hoge taille en enkellaarsjes.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-cropped-tailored-faux-leather-biker-jacket-katharina\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Beige\",\"Brown\",\"Black\",\"Blue\",\"Rust\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, L, XL, 2XL, 3XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Beige \/ XS","offer_id":55371677270353,"sku":"SM-65870701035869","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371677303121,"sku":"SM-65870701068637","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371677335889,"sku":"SM-65870701101405","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371677368657,"sku":"SM-65870701134173","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371677401425,"sku":"SM-65870701166941","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371677434193,"sku":"SM-65870701199709","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XS","offer_id":55371677466961,"sku":"SM-65870701232477","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371677499729,"sku":"SM-65870701265245","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371677532497,"sku":"SM-65870701298013","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371677565265,"sku":"SM-65870701330781","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371677598033,"sku":"SM-65870701363549","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371677630801,"sku":"SM-65870701396317","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371677663569,"sku":"SM-65870701429085","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371677696337,"sku":"SM-65870701461853","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371677729105,"sku":"SM-65870701494621","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371677761873,"sku":"SM-65870701527389","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371677794641,"sku":"SM-65870701560157","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371677827409,"sku":"SM-65870701592925","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XS","offer_id":55371677860177,"sku":"SM-65870701625693","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371677892945,"sku":"SM-65870701658461","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371677925713,"sku":"SM-65870701691229","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371677958481,"sku":"SM-65870701723997","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371677991249,"sku":"SM-65870701756765","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371678024017,"sku":"SM-65870701789533","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Roest \/ XS","offer_id":55371678056785,"sku":"SM-65870701822301","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Roest \/ S","offer_id":55371678089553,"sku":"SM-65870701855069","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Roest \/ M","offer_id":55371678122321,"sku":"SM-65870701887837","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Roest \/ L","offer_id":55371678155089,"sku":"SM-65870701920605","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Roest \/ XL","offer_id":55371678187857,"sku":"SM-65870701953373","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Roest \/ 2XL","offer_id":55371678220625,"sku":"SM-65870701986141","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371678253393,"sku":"SM-65870702018909","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 3XL","offer_id":55371678286161,"sku":"SM-65870702051677","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371678318929,"sku":"SM-65870702084445","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371678351697,"sku":"SM-65870702117213","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Roest \/ 3XL","offer_id":55371678384465,"sku":"SM-65870702149981","price":89.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kurze-taillierte-kunstleder-bikerjacke-mit-reiverschlu-1.jpg?v=1792459822"}],"url":"https:\/\/juanafashion.com\/nl\/collections\/jackets.oembed?page=4","provider":"Juana Fashion","version":"1.0","type":"link"}