{"title":"Lightweight 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-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-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-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-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-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"},{"product_id":"womens-fitted-faux-leather-moto-jacket-nora","title":"Getailleerde motorstijl-jas van kunstleer voor dames | Nora","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eNora\u003c\/strong\u003e, een getailleerde motorstijl-jas 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\u003eReverskraag\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003cli\u003eAsymmetrisch detail\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: 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-fitted-faux-leather-moto-jacket-nora\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Black\",\"Pink\",\"Red\",\"Blue\",\"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, 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 \/ XS","offer_id":55371678417233,"sku":"SM-65870697005405","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371678450001,"sku":"SM-65870697038173","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371678482769,"sku":"SM-65870697070941","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371678515537,"sku":"SM-65870697103709","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371678548305,"sku":"SM-65870697136477","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371678581073,"sku":"SM-65870697169245","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371678613841,"sku":"SM-65870697202013","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XS","offer_id":55371678646609,"sku":"SM-65870697234781","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371678679377,"sku":"SM-65870697267549","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371678712145,"sku":"SM-65870697300317","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371678744913,"sku":"SM-65870697333085","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371678777681,"sku":"SM-65870697365853","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371678810449,"sku":"SM-65870697398621","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371678843217,"sku":"SM-65870697431389","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XS","offer_id":55371678875985,"sku":"SM-65870697464157","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371678908753,"sku":"SM-65870697496925","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371678941521,"sku":"SM-65870697529693","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371678974289,"sku":"SM-65870697562461","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371679007057,"sku":"SM-65870697595229","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371679039825,"sku":"SM-65870697627997","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371679072593,"sku":"SM-65870697660765","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XS","offer_id":55371679105361,"sku":"SM-65870697693533","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371679138129,"sku":"SM-65870697726301","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371679170897,"sku":"SM-65870697759069","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371679203665,"sku":"SM-65870697791837","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371679236433,"sku":"SM-65870697824605","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371679269201,"sku":"SM-65870697857373","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371679301969,"sku":"SM-65870697890141","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XS","offer_id":55371679334737,"sku":"SM-65870697922909","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ S","offer_id":55371679367505,"sku":"SM-65870697955677","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371679400273,"sku":"SM-65870697988445","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371679433041,"sku":"SM-65870698021213","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371679465809,"sku":"SM-65870698053981","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371679498577,"sku":"SM-65870698086749","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371679531345,"sku":"SM-65870698119517","price":57.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-schmal-geschnittene-bikerjacke-aus-kunstleder-mit-reiv-1.jpg?v=1792459824"},{"product_id":"womens-faux-leather-biker-jacket-with-lapels-charlotte","title":"Bikerjas van kunstleer met revers voor dames | Charlotte","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eCharlotte\u003c\/strong\u003e, een bikerjas van kunstleer met revers van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKunstleer\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\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-lapels-charlotte\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Green\",\"Light Blue\",\"Light Brown\",\"Blue\",\"Pink\",\"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":55371679564113,"sku":"SM-65870699888989","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371679596881,"sku":"SM-65870699921757","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371679629649,"sku":"SM-65870699954525","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371679662417,"sku":"SM-65870699987293","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371679695185,"sku":"SM-65870700020061","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ S","offer_id":55371679727953,"sku":"SM-65870700052829","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371679760721,"sku":"SM-65870700085597","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371679793489,"sku":"SM-65870700118365","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371679826257,"sku":"SM-65870700151133","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 2XL","offer_id":55371679859025,"sku":"SM-65870700183901","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ S","offer_id":55371679891793,"sku":"SM-65870700216669","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ M","offer_id":55371679924561,"sku":"SM-65870700249437","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ L","offer_id":55371679957329,"sku":"SM-65870700282205","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ XL","offer_id":55371679990097,"sku":"SM-65870700314973","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ 2XL","offer_id":55371680022865,"sku":"SM-65870700347741","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371680055633,"sku":"SM-65870700380509","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371680088401,"sku":"SM-65870700413277","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371680121169,"sku":"SM-65870700446045","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371680153937,"sku":"SM-65870700478813","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371680186705,"sku":"SM-65870700511581","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371680219473,"sku":"SM-65870700544349","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371680252241,"sku":"SM-65870700577117","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371680285009,"sku":"SM-65870700609885","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371680317777,"sku":"SM-65870700642653","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371680350545,"sku":"SM-65870700675421","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ S","offer_id":55371680383313,"sku":"SM-65870700708189","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ M","offer_id":55371680416081,"sku":"SM-65870700740957","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ L","offer_id":55371680448849,"sku":"SM-65870700773725","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ XL","offer_id":55371680481617,"sku":"SM-65870700806493","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ 2XL","offer_id":55371680514385,"sku":"SM-65870700839261","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371680547153,"sku":"SM-65870700872029","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371680579921,"sku":"SM-65870700904797","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371680612689,"sku":"SM-65870700937565","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371680645457,"sku":"SM-65870700970333","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371680678225,"sku":"SM-65870701003101","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kunstleder-bikerjacke-mit-umlegekragen-und-reiverschlu-1.jpg?v=1792459826"},{"product_id":"womens-fitted-faux-leather-biker-jacket-marlene","title":"Getailleerde bikerjas van kunstleer voor dames | Marlene","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarlene\u003c\/strong\u003e, een 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\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 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\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-fitted-faux-leather-biker-jacket-marlene\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Black\",\"Dark Brown\",\"Brown\",\"Beige\",\"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":55371681464657,"sku":"SM-65870690648413","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ S","offer_id":55371681497425,"sku":"SM-65870690681181","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371681530193,"sku":"SM-65870690713949","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371681562961,"sku":"SM-65870690746717","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371681595729,"sku":"SM-65870690779485","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371681628497,"sku":"SM-65870690812253","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371681661265,"sku":"SM-65870690845021","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371681694033,"sku":"SM-65870690877789","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371681726801,"sku":"SM-65870690910557","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371681759569,"sku":"SM-65870690943325","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ M","offer_id":55371681792337,"sku":"SM-65870690976093","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ L","offer_id":55371681825105,"sku":"SM-65870691008861","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ XL","offer_id":55371681857873,"sku":"SM-65870691041629","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 2XL","offer_id":55371681890641,"sku":"SM-65870691074397","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 3XL","offer_id":55371681923409,"sku":"SM-65870691107165","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371681956177,"sku":"SM-65870691139933","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371681988945,"sku":"SM-65870691172701","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371682021713,"sku":"SM-65870691205469","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371682054481,"sku":"SM-65870691238237","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 3XL","offer_id":55371682087249,"sku":"SM-65870691271005","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371682120017,"sku":"SM-65870691303773","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371682152785,"sku":"SM-65870691336541","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371682185553,"sku":"SM-65870691369309","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371682218321,"sku":"SM-65870691402077","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371682251089,"sku":"SM-65870691434845","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371682283857,"sku":"SM-65870691467613","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371682316625,"sku":"SM-65870691500381","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371682349393,"sku":"SM-65870691533149","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371682382161,"sku":"SM-65870691565917","price":209.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371682414929,"sku":"SM-65870691598685","price":209.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-slim-fit-bikerjacke-kunstleder-reiverschluss-stehkrage-1.jpg?v=1792459828"},{"product_id":"womens-tailored-faux-leather-biker-jacket-annika","title":"Getailleerde bikerjas van kunstleer voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een 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\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, 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-tailored-faux-leather-biker-jacket-annika\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\"],\"colors\":[\"Black\",\"Brown\",\"Purple\",\"Red\",\"Beige\",\"Dark 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, 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 \/ S","offer_id":55371682873681,"sku":"SM-65870693531997","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371682906449,"sku":"SM-65870693564765","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371682939217,"sku":"SM-65870693597533","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371682971985,"sku":"SM-65870693630301","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371683004753,"sku":"SM-65870693663069","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371683037521,"sku":"SM-65870693695837","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371683070289,"sku":"SM-65870693728605","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371683103057,"sku":"SM-65870693761373","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371683135825,"sku":"SM-65870693794141","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371683168593,"sku":"SM-65870693826909","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371683201361,"sku":"SM-65870693859677","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371683234129,"sku":"SM-65870693892445","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 3XL","offer_id":55371683266897,"sku":"SM-65870693925213","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 4XL","offer_id":55371683299665,"sku":"SM-65870693957981","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ S","offer_id":55371683332433,"sku":"SM-65870693990749","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371683365201,"sku":"SM-65870694023517","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371683397969,"sku":"SM-65870694056285","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371683430737,"sku":"SM-65870694089053","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 2XL","offer_id":55371683463505,"sku":"SM-65870694121821","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 3XL","offer_id":55371683496273,"sku":"SM-65870694154589","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 4XL","offer_id":55371683529041,"sku":"SM-65870694187357","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371683561809,"sku":"SM-65870694220125","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371683594577,"sku":"SM-65870694252893","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371683627345,"sku":"SM-65870694285661","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371683660113,"sku":"SM-65870694318429","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371683692881,"sku":"SM-65870694351197","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371683725649,"sku":"SM-65870694383965","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 4XL","offer_id":55371683758417,"sku":"SM-65870694416733","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371683791185,"sku":"SM-65870694449501","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371683823953,"sku":"SM-65870694482269","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371683856721,"sku":"SM-65870694515037","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371683889489,"sku":"SM-65870694547805","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371683922257,"sku":"SM-65870694580573","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371683955025,"sku":"SM-65870694613341","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 4XL","offer_id":55371683987793,"sku":"SM-65870694646109","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ S","offer_id":55371684020561,"sku":"SM-65870694678877","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ M","offer_id":55371684053329,"sku":"SM-65870694711645","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ L","offer_id":55371684086097,"sku":"SM-65870694744413","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ XL","offer_id":55371684118865,"sku":"SM-65870694777181","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 2XL","offer_id":55371684151633,"sku":"SM-65870694809949","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 3XL","offer_id":55371684184401,"sku":"SM-65870694842717","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 4XL","offer_id":55371684217169,"sku":"SM-65870694875485","price":89.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-taillierte-kunstleder-biker-jacke-reiverschluss-1.jpg?v=1792459831"},{"product_id":"womens-cropped-faux-leather-biker-jacket-hannah","title":"Korte bikerjas van kunstleer voor dames | Hannah","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHannah\u003c\/strong\u003e, een korte 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\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\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\u003eNiet in de wasmachine wassen. Afnemen met een licht vochtige doek. Niet in de droogtrommel drogen. 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-cropped-faux-leather-biker-jacket-hannah\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Black\",\"Light Brown\",\"Brown\",\"Lilac\",\"Red\",\"Dark Purple\"],\"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":55371684446545,"sku":"SM-65870689468765","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371684479313,"sku":"SM-65870689501533","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371684512081,"sku":"SM-65870689534301","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371684544849,"sku":"SM-65870689567069","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371684577617,"sku":"SM-65870689599837","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371684610385,"sku":"SM-65870689632605","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ S","offer_id":55371684643153,"sku":"SM-65870689665373","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ M","offer_id":55371684675921,"sku":"SM-65870689698141","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ L","offer_id":55371684708689,"sku":"SM-65870689730909","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ XL","offer_id":55371684741457,"sku":"SM-65870689763677","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ 2XL","offer_id":55371684774225,"sku":"SM-65870689796445","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lichtbruin \/ 3XL","offer_id":55371684806993,"sku":"SM-65870689829213","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371684839761,"sku":"SM-65870689861981","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371684872529,"sku":"SM-65870689894749","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371684905297,"sku":"SM-65870689927517","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371684938065,"sku":"SM-65870689960285","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371684970833,"sku":"SM-65870689993053","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 3XL","offer_id":55371685003601,"sku":"SM-65870690025821","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ S","offer_id":55371685036369,"sku":"SM-65870690058589","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ M","offer_id":55371685069137,"sku":"SM-65870690091357","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ L","offer_id":55371685101905,"sku":"SM-65870690124125","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ XL","offer_id":55371685134673,"sku":"SM-65870690156893","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ 2XL","offer_id":55371685167441,"sku":"SM-65870690189661","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ 3XL","offer_id":55371685200209,"sku":"SM-65870690222429","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371685232977,"sku":"SM-65870690255197","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371685265745,"sku":"SM-65870690287965","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371685298513,"sku":"SM-65870690320733","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371685331281,"sku":"SM-65870690353501","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371685364049,"sku":"SM-65870690386269","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371685396817,"sku":"SM-65870690419037","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Donkerpaars \/ S","offer_id":55371685429585,"sku":"SM-65870690451805","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Donkerpaars \/ M","offer_id":55371685462353,"sku":"SM-65870690484573","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Donkerpaars \/ L","offer_id":55371685495121,"sku":"SM-65870690517341","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Donkerpaars \/ XL","offer_id":55371685527889,"sku":"SM-65870690550109","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Donkerpaars \/ 2XL","offer_id":55371685560657,"sku":"SM-65870690582877","price":109.99,"currency_code":"USD","in_stock":true},{"title":"Donkerpaars \/ 3XL","offer_id":55371685593425,"sku":"SM-65870690615645","price":109.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kurzgeschnittene-biker-kunstleder-jacke-mit-reiverschl-1.jpg?v=1792459832"},{"product_id":"womens-faux-leather-bomber-jacket-amelie","title":"Bomberjas van kunstleer voor dames | Amelie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAmelie\u003c\/strong\u003e, een 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\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\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 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\u003eNiet in de wasmachine wassen. Afnemen met een licht vochtige doek. Niet in de droogtrommel drogen. 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-faux-leather-bomber-jacket-amelie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Dark 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":"Donkerbruin \/ S","offer_id":55371685790033,"sku":"SM-65870689272157","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ M","offer_id":55371685822801,"sku":"SM-65870689304925","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ L","offer_id":55371685855569,"sku":"SM-65870689337693","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ XL","offer_id":55371685888337,"sku":"SM-65870689370461","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 2XL","offer_id":55371685921105,"sku":"SM-65870689403229","price":94.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kunstleder-bomberjacke-mit-elastischem-bund-und-reiver-2.jpg?v=1792459833"},{"product_id":"womens-fitted-faux-leather-biker-jacket-sophie","title":"Getailleerde bikerjas van kunstleer voor dames | Sophie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eSophie\u003c\/strong\u003e, een 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\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\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, 4XL, 5XL.\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\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Afnemen met een licht vochtige doek. Niet bleken. Niet 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-fitted-faux-leather-biker-jacket-sophie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Black\",\"Navy\",\"Yellow\",\"Khaki\",\"Light Pink\",\"Purple\",\"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, 3XL, 4XL, 5XL. 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":55371686084945,"sku":"SM-65870691664221","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371686117713,"sku":"SM-65870691696989","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371686150481,"sku":"SM-65870691729757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371686183249,"sku":"SM-65870691762525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371686216017,"sku":"SM-65870691795293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371686248785,"sku":"SM-65870691828061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371686281553,"sku":"SM-65870691860829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 5XL","offer_id":55371686314321,"sku":"SM-65870691893597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371686347089,"sku":"SM-65870691926365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371686379857,"sku":"SM-65870691959133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371686412625,"sku":"SM-65870691991901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371686445393,"sku":"SM-65870692024669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371686478161,"sku":"SM-65870692057437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 3XL","offer_id":55371686510929,"sku":"SM-65870692090205","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 4XL","offer_id":55371686543697,"sku":"SM-65870692122973","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 5XL","offer_id":55371686576465,"sku":"SM-65870692155741","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ S","offer_id":55371686609233,"sku":"SM-65870692188509","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ M","offer_id":55371686642001,"sku":"SM-65870692221277","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ L","offer_id":55371686674769,"sku":"SM-65870692254045","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ XL","offer_id":55371686707537,"sku":"SM-65870692286813","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 2XL","offer_id":55371686740305,"sku":"SM-65870692319581","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 3XL","offer_id":55371686773073,"sku":"SM-65870692352349","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 4XL","offer_id":55371686805841,"sku":"SM-65870692385117","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 5XL","offer_id":55371686838609,"sku":"SM-65870692417885","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371686871377,"sku":"SM-65870692450653","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371686904145,"sku":"SM-65870692483421","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371686936913,"sku":"SM-65870692516189","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371686969681,"sku":"SM-65870692548957","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371687002449,"sku":"SM-65870692581725","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371687035217,"sku":"SM-65870692614493","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 4XL","offer_id":55371687067985,"sku":"SM-65870692647261","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 5XL","offer_id":55371687100753,"sku":"SM-65870692680029","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ S","offer_id":55371687133521,"sku":"SM-65870692712797","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ M","offer_id":55371687166289,"sku":"SM-65870692745565","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ L","offer_id":55371687199057,"sku":"SM-65870692778333","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ XL","offer_id":55371687231825,"sku":"SM-65870692811101","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ 2XL","offer_id":55371687264593,"sku":"SM-65870692843869","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ 3XL","offer_id":55371687297361,"sku":"SM-65870692876637","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ 4XL","offer_id":55371687330129,"sku":"SM-65870692909405","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ 5XL","offer_id":55371687362897,"sku":"SM-65870692942173","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ S","offer_id":55371687395665,"sku":"SM-65870692974941","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371687428433,"sku":"SM-65870693007709","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371687461201,"sku":"SM-65870693040477","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371687493969,"sku":"SM-65870693073245","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 2XL","offer_id":55371687526737,"sku":"SM-65870693106013","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 3XL","offer_id":55371687559505,"sku":"SM-65870693138781","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 4XL","offer_id":55371687592273,"sku":"SM-65870693171549","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 5XL","offer_id":55371687625041,"sku":"SM-65870693204317","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371687657809,"sku":"SM-65870693237085","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371687690577,"sku":"SM-65870693269853","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371687723345,"sku":"SM-65870693302621","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371687756113,"sku":"SM-65870693335389","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371687788881,"sku":"SM-65870693368157","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371687821649,"sku":"SM-65870693400925","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 4XL","offer_id":55371687854417,"sku":"SM-65870693433693","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 5XL","offer_id":55371687887185,"sku":"SM-65870693466461","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-slim-fit-kunstleder-bikerjacke-mit-reiverschluss-1.jpg?v=1792459835"},{"product_id":"womens-faux-leather-biker-jacket-with-shoulder-details-elisabeth","title":"Bikerjas van kunstleer met schouderdetails voor dames | Elisabeth","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eElisabeth\u003c\/strong\u003e, een bikerjas van kunstleer met schouderdetails van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKunstleer\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\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\u003eNiet in de wasmachine wassen. Afnemen met een licht vochtige doek. 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-faux-leather-biker-jacket-with-shoulder-details-elisabeth\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Black\",\"Dark Brown\",\"Orange\",\"Dark Red\",\"Khaki\",\"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, 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":55371688149329,"sku":"SM-65870686847325","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371688182097,"sku":"SM-65870686880093","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371688214865,"sku":"SM-65870686912861","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371688247633,"sku":"SM-65870686945629","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371688280401,"sku":"SM-65870686978397","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371688313169,"sku":"SM-65870687011165","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ S","offer_id":55371688345937,"sku":"SM-65870687043933","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ M","offer_id":55371688378705,"sku":"SM-65870687076701","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ L","offer_id":55371688411473,"sku":"SM-65870687109469","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ XL","offer_id":55371688444241,"sku":"SM-65870687142237","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 2XL","offer_id":55371688477009,"sku":"SM-65870687175005","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 3XL","offer_id":55371688509777,"sku":"SM-65870687207773","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ S","offer_id":55371688542545,"sku":"SM-65870687240541","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ M","offer_id":55371688575313,"sku":"SM-65870687273309","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ L","offer_id":55371688608081,"sku":"SM-65870687306077","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ XL","offer_id":55371688640849,"sku":"SM-65870687338845","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ 2XL","offer_id":55371688673617,"sku":"SM-65870687371613","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ 3XL","offer_id":55371688706385,"sku":"SM-65870687404381","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ S","offer_id":55371688739153,"sku":"SM-65870687437149","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ M","offer_id":55371688771921,"sku":"SM-65870687469917","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ L","offer_id":55371688804689,"sku":"SM-65870687502685","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ XL","offer_id":55371688837457,"sku":"SM-65870687535453","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ 2XL","offer_id":55371688870225,"sku":"SM-65870687568221","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ 3XL","offer_id":55371688902993,"sku":"SM-65870687600989","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371688935761,"sku":"SM-65870687633757","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371688968529,"sku":"SM-65870687666525","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371689001297,"sku":"SM-65870687699293","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371689034065,"sku":"SM-65870687732061","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371689066833,"sku":"SM-65870687764829","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371689099601,"sku":"SM-65870687797597","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371689132369,"sku":"SM-65870687830365","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371689165137,"sku":"SM-65870687863133","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371689197905,"sku":"SM-65870687895901","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371689230673,"sku":"SM-65870687928669","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371689263441,"sku":"SM-65870687961437","price":99.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371689296209,"sku":"SM-65870687994205","price":99.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-bikerjacke-kunstleder-reiverschluss-schulterdetail-2.jpg?v=1792459838"},{"product_id":"womens-cropped-faux-leather-biker-jacket-annika","title":"Korte bikerjas van kunstleer voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een korte 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\u003eCeintuur die de taille accentueert\u003c\/li\u003e\n\u003cli\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\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: 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\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eNiet in de wasmachine wassen. Afnemen met een licht vochtige doek. 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-cropped-faux-leather-biker-jacket-annika\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"White\",\"Red\",\"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, 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":"Wit \/ XS","offer_id":55371689328977,"sku":"SM-65870686028125","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371689361745,"sku":"SM-65870686060893","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371689394513,"sku":"SM-65870686093661","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371689427281,"sku":"SM-65870686126429","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371689460049,"sku":"SM-65870686159197","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371689492817,"sku":"SM-65870686191965","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 3XL","offer_id":55371689525585,"sku":"SM-65870686224733","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XS","offer_id":55371689558353,"sku":"SM-65870686257501","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371689591121,"sku":"SM-65870686290269","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371689623889,"sku":"SM-65870686323037","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371689656657,"sku":"SM-65870686355805","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371689689425,"sku":"SM-65870686388573","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371689722193,"sku":"SM-65870686421341","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371689754961,"sku":"SM-65870686454109","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371689787729,"sku":"SM-65870686486877","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371689820497,"sku":"SM-65870686519645","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371689853265,"sku":"SM-65870686552413","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371689886033,"sku":"SM-65870686585181","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371689918801,"sku":"SM-65870686617949","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371689951569,"sku":"SM-65870686650717","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371689984337,"sku":"SM-65870686683485","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kunstleder-bikerjacke-kurzjacke-mit-reiverschluss-9.jpg?v=1792459839"},{"product_id":"womens-faux-suede-biker-jacket-nora","title":"Bikerjas van imitatiesuède voor dames | Nora","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eNora\u003c\/strong\u003e, een bikerjas 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\u003eReverskraag\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003cli\u003eAsymmetrisch detail\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\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-faux-suede-biker-jacket-nora\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Apricot\",\"Black\",\"Camel\"],\"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":"Abrikoos \/ S","offer_id":55371690017105,"sku":"SM-65870685536605","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371690049873,"sku":"SM-65870685569373","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ S","offer_id":55371690082641,"sku":"SM-65870685602141","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371690115409,"sku":"SM-65870685634909","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ M","offer_id":55371690148177,"sku":"SM-65870685667677","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ M","offer_id":55371690180945,"sku":"SM-65870685700445","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ L","offer_id":55371690213713,"sku":"SM-65870685733213","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ L","offer_id":55371690246481,"sku":"SM-65870685765981","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371690279249,"sku":"SM-65870685798749","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371690312017,"sku":"SM-65870685831517","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ XL","offer_id":55371690344785,"sku":"SM-65870685864285","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ XL","offer_id":55371690377553,"sku":"SM-65870685897053","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371690410321,"sku":"SM-65870685929821","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Camel \/ 2XL","offer_id":55371690443089,"sku":"SM-65870685962589","price":139.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 2XL","offer_id":55371690475857,"sku":"SM-65870685995357","price":139.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-bikerjacke-kunstleder-wildlook-asymmetrischer-reiversc-6.jpg?v=1792459842"},{"product_id":"womens-lightweight-quilted-zip-up-jacket-nora","title":"Lichte gewatteerde jas met rits voor dames | Nora","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eNora\u003c\/strong\u003e, een lichte gewatteerde jas met rits 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\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\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 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\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. Op lage temperatuur 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-lightweight-quilted-zip-up-jacket-nora\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Green\",\"Black\",\"Gray\",\"Blue\",\"Khaki\",\"Sage\",\"Navy\",\"Cream\",\"Peach\"],\"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":"Groen \/ XS","offer_id":55371707875665,"sku":"SM-65870563934557","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ S","offer_id":55371707908433,"sku":"SM-65870563967325","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371707941201,"sku":"SM-65870564000093","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371707973969,"sku":"SM-65870564032861","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371708006737,"sku":"SM-65870564065629","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371708039505,"sku":"SM-65870564098397","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371708072273,"sku":"SM-65870564131165","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371708105041,"sku":"SM-65870564163933","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371708137809,"sku":"SM-65870564196701","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371708170577,"sku":"SM-65870564229469","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371708203345,"sku":"SM-65870564262237","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371708236113,"sku":"SM-65870564295005","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371708268881,"sku":"SM-65870564327773","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371708301649,"sku":"SM-65870564360541","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XS","offer_id":55371708334417,"sku":"SM-65870564393309","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371708367185,"sku":"SM-65870564426077","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371708399953,"sku":"SM-65870564458845","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371708432721,"sku":"SM-65870564491613","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371708465489,"sku":"SM-65870564524381","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371708498257,"sku":"SM-65870564557149","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 3XL","offer_id":55371708531025,"sku":"SM-65870564589917","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XS","offer_id":55371708563793,"sku":"SM-65870564622685","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371708596561,"sku":"SM-65870564655453","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371708629329,"sku":"SM-65870564688221","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371708662097,"sku":"SM-65870564720989","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371708694865,"sku":"SM-65870564753757","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371708727633,"sku":"SM-65870564786525","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371708760401,"sku":"SM-65870564819293","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XS","offer_id":55371708793169,"sku":"SM-65870564852061","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371708825937,"sku":"SM-65870564884829","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371708858705,"sku":"SM-65870564917597","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371708891473,"sku":"SM-65870564950365","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371708924241,"sku":"SM-65870564983133","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371708957009,"sku":"SM-65870565015901","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371708989777,"sku":"SM-65870565048669","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Salie \/ XS","offer_id":55371709022545,"sku":"SM-65870565081437","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Salie \/ S","offer_id":55371709055313,"sku":"SM-65870565114205","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Salie \/ M","offer_id":55371709088081,"sku":"SM-65870565146973","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Salie \/ L","offer_id":55371709120849,"sku":"SM-65870565179741","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Salie \/ XL","offer_id":55371709153617,"sku":"SM-65870565212509","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Salie \/ 2XL","offer_id":55371709186385,"sku":"SM-65870565245277","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Salie \/ 3XL","offer_id":55371709219153,"sku":"SM-65870565278045","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XS","offer_id":55371709251921,"sku":"SM-65870565310813","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371709284689,"sku":"SM-65870565343581","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371709317457,"sku":"SM-65870565376349","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371709350225,"sku":"SM-65870565409117","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371709382993,"sku":"SM-65870565441885","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371709415761,"sku":"SM-65870565474653","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 3XL","offer_id":55371709448529,"sku":"SM-65870565507421","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XS","offer_id":55371709481297,"sku":"SM-65870565540189","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ S","offer_id":55371709514065,"sku":"SM-65870565572957","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ M","offer_id":55371709546833,"sku":"SM-65870565605725","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ L","offer_id":55371709579601,"sku":"SM-65870565638493","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XL","offer_id":55371709612369,"sku":"SM-65870565671261","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 2XL","offer_id":55371709645137,"sku":"SM-65870565704029","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 3XL","offer_id":55371709677905,"sku":"SM-65870565736797","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Perzik \/ XS","offer_id":55371709710673,"sku":"SM-65870565769565","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Perzik \/ S","offer_id":55371709743441,"sku":"SM-65870565802333","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Perzik \/ M","offer_id":55371709776209,"sku":"SM-65870565835101","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Perzik \/ L","offer_id":55371709808977,"sku":"SM-65870565867869","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Perzik \/ XL","offer_id":55371709841745,"sku":"SM-65870565900637","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Perzik \/ 2XL","offer_id":55371709874513,"sku":"SM-65870565933405","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Perzik \/ 3XL","offer_id":55371709907281,"sku":"SM-65870565966173","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppjacke-leichte-geftterte-kurzjacke-mit-reiverschlu-1.jpg?v=1792459882"},{"product_id":"womens-oversized-hooded-corduroy-jacket-mia","title":"Oversized jas van ribfluweel met capuchon voor dames | Mia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMia\u003c\/strong\u003e, een oversized jas van ribfluweel met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRibfluweel\u003c\/li\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\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, 2XL, 3XL, 4XL, 5XL.\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 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-oversized-hooded-corduroy-jacket-mia\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Blue\",\"Green\",\"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, 3XL, 4XL, 5XL. 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 \/ S","offer_id":55371710136657,"sku":"SM-65870562623837","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371710169425,"sku":"SM-65870562656605","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371710202193,"sku":"SM-65870562689373","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371710234961,"sku":"SM-65870562722141","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371710267729,"sku":"SM-65870562754909","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371710300497,"sku":"SM-65870562787677","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 4XL","offer_id":55371710333265,"sku":"SM-65870562820445","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 5XL","offer_id":55371710366033,"sku":"SM-65870562853213","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ S","offer_id":55371710398801,"sku":"SM-65870562885981","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371710431569,"sku":"SM-65870562918749","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371710464337,"sku":"SM-65870562951517","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371710497105,"sku":"SM-65870562984285","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371710529873,"sku":"SM-65870563017053","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371710562641,"sku":"SM-65870563049821","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 4XL","offer_id":55371710595409,"sku":"SM-65870563082589","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 5XL","offer_id":55371710628177,"sku":"SM-65870563115357","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371710660945,"sku":"SM-65870563148125","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371710693713,"sku":"SM-65870563180893","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371710726481,"sku":"SM-65870563213661","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371710759249,"sku":"SM-65870563246429","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371710792017,"sku":"SM-65870563279197","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371710824785,"sku":"SM-65870563311965","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 4XL","offer_id":55371710857553,"sku":"SM-65870563344733","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 5XL","offer_id":55371710890321,"sku":"SM-65870563377501","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371710923089,"sku":"SM-65870563410269","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371710955857,"sku":"SM-65870563443037","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371710988625,"sku":"SM-65870563475805","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371711021393,"sku":"SM-65870563508573","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371711054161,"sku":"SM-65870563541341","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371711086929,"sku":"SM-65870563574109","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371711119697,"sku":"SM-65870563606877","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 5XL","offer_id":55371711152465,"sku":"SM-65870563639645","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371711185233,"sku":"SM-65870563672413","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371711218001,"sku":"SM-65870563705181","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371711250769,"sku":"SM-65870563737949","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371711283537,"sku":"SM-65870563770717","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371711316305,"sku":"SM-65870563803485","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 3XL","offer_id":55371711349073,"sku":"SM-65870563836253","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 4XL","offer_id":55371711381841,"sku":"SM-65870563869021","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 5XL","offer_id":55371711414609,"sku":"SM-65870563901789","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-cord-kapuzenjacke-mit-reiverschluss-oversized-freizeit-1.jpg?v=1792459885"},{"product_id":"womens-oversized-leopard-print-snap-front-jacket-luisa","title":"Oversized jas met luipaardprint en drukknopen voor dames | Luisa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLuisa\u003c\/strong\u003e, een oversized jas met luipaardprint en drukknopen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrukknoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eLuipaardprint\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\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eNiet 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-oversized-leopard-print-snap-front-jacket-luisa\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Leopard Print\"],\"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":"Luipaardprint \/ S","offer_id":55371711447377,"sku":"SM-65870562459997","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Luipaardprint \/ M","offer_id":55371711480145,"sku":"SM-65870562492765","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Luipaardprint \/ L","offer_id":55371711512913,"sku":"SM-65870562525533","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Luipaardprint \/ XL","offer_id":55371711545681,"sku":"SM-65870562558301","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Luipaardprint \/ 2XL","offer_id":55371711578449,"sku":"SM-65870562591069","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-oversized-quilted-jacket-leopardenmuster-druckknopf-1.jpg?v=1792459888"},{"product_id":"womens-oversized-faux-leather-bomber-jacket-elisabeth","title":"Oversized bomberjas van kunstleer voor dames | Elisabeth","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eElisabeth\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\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\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\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud met de hand wassen. 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-oversized-faux-leather-bomber-jacket-elisabeth\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"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":"Bordeauxrood \/ S","offer_id":55371711840593,"sku":"SM-65870551417181","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371711873361,"sku":"SM-65870551449949","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371711906129,"sku":"SM-65870551482717","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371711938897,"sku":"SM-65870551515485","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-oversized-steppjacke-bomberjacke-kontrastnaht-kunstled-3.jpg?v=1792459891"},{"product_id":"womens-textured-zip-up-bomber-jacket-annika","title":"Bomberjas met textuur en rits voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een bomberjas met textuur en rits 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\u003eDoorgestikte afwerking\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.\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\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. Op lage temperatuur 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-textured-zip-up-bomber-jacket-annika\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Gray\",\"Black\",\"White\",\"Blue\",\"Dark Brown\",\"Olive Green\",\"Apricot\",\"Orange\",\"Pink\",\"Khaki\",\"Dark 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. 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":55371713216849,"sku":"SM-65870555251037","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371713249617,"sku":"SM-65870555283805","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371713282385,"sku":"SM-65870555316573","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371713315153,"sku":"SM-65870555349341","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371713347921,"sku":"SM-65870555382109","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371713380689,"sku":"SM-65870555414877","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371713413457,"sku":"SM-65870555447645","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371713446225,"sku":"SM-65870555480413","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371713478993,"sku":"SM-65870555513181","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371713511761,"sku":"SM-65870555545949","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371713544529,"sku":"SM-65870555578717","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371713577297,"sku":"SM-65870555611485","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371713610065,"sku":"SM-65870555644253","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371713642833,"sku":"SM-65870555677021","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371713675601,"sku":"SM-65870555709789","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371713708369,"sku":"SM-65870555742557","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371713741137,"sku":"SM-65870555775325","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371713773905,"sku":"SM-65870555808093","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371713806673,"sku":"SM-65870555840861","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371713839441,"sku":"SM-65870555873629","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ S","offer_id":55371713872209,"sku":"SM-65870555906397","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ M","offer_id":55371713904977,"sku":"SM-65870555939165","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ L","offer_id":55371713937745,"sku":"SM-65870555971933","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ XL","offer_id":55371713970513,"sku":"SM-65870556004701","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerbruin \/ 2XL","offer_id":55371714003281,"sku":"SM-65870556037469","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ S","offer_id":55371714036049,"sku":"SM-65870556070237","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ M","offer_id":55371714068817,"sku":"SM-65870556103005","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ L","offer_id":55371714101585,"sku":"SM-65870556135773","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ XL","offer_id":55371714134353,"sku":"SM-65870556168541","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 2XL","offer_id":55371714167121,"sku":"SM-65870556201309","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ S","offer_id":55371714199889,"sku":"SM-65870556234077","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ M","offer_id":55371714232657,"sku":"SM-65870556266845","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ L","offer_id":55371714265425,"sku":"SM-65870556299613","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ XL","offer_id":55371714298193,"sku":"SM-65870556332381","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 2XL","offer_id":55371714330961,"sku":"SM-65870556365149","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ S","offer_id":55371714363729,"sku":"SM-65870556397917","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ M","offer_id":55371714396497,"sku":"SM-65870556430685","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ L","offer_id":55371714429265,"sku":"SM-65870556463453","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ XL","offer_id":55371714462033,"sku":"SM-65870556496221","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ 2XL","offer_id":55371714494801,"sku":"SM-65870556528989","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371714527569,"sku":"SM-65870556561757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371714560337,"sku":"SM-65870556594525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371714593105,"sku":"SM-65870556627293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371714625873,"sku":"SM-65870556660061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371714658641,"sku":"SM-65870556692829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371714691409,"sku":"SM-65870556725597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371714724177,"sku":"SM-65870556758365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371714756945,"sku":"SM-65870556791133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371714789713,"sku":"SM-65870556823901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371714822481,"sku":"SM-65870556856669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ S","offer_id":55371714855249,"sku":"SM-65870556889437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ M","offer_id":55371714888017,"sku":"SM-65870556922205","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ L","offer_id":55371714920785,"sku":"SM-65870556954973","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ XL","offer_id":55371714953553,"sku":"SM-65870556987741","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ 2XL","offer_id":55371714986321,"sku":"SM-65870557020509","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppjacke-leichte-zip-up-bomberjacke-strukturierter-s-1.jpg?v=1792459896"},{"product_id":"womens-waterproof-hooded-jacket-hannah","title":"Waterdichte jas met 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 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\u003cli\u003eElastische manchetten\u003c\/li\u003e\n\u003cli\u003eWaterdichte buitenlaag\u003c\/li\u003e\n\u003cli\u003eBescherming tegen wind\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\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eNiet bleken. Niet 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-waterproof-hooded-jacket-hannah\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Light Red\",\"Green\",\"Purple\",\"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. 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":"Lichtrood \/ M","offer_id":55371716428113,"sku":"SM-65870550761821","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Lichtrood \/ L","offer_id":55371716460881,"sku":"SM-65870550794589","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Lichtrood \/ XL","offer_id":55371716493649,"sku":"SM-65870550827357","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Lichtrood \/ 2XL","offer_id":55371716526417,"sku":"SM-65870550860125","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Lichtrood \/ 3XL","offer_id":55371716559185,"sku":"SM-65870550892893","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371716591953,"sku":"SM-65870550925661","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371716624721,"sku":"SM-65870550958429","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371716657489,"sku":"SM-65870550991197","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371716690257,"sku":"SM-65870551023965","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371716723025,"sku":"SM-65870551056733","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371716755793,"sku":"SM-65870551089501","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371716788561,"sku":"SM-65870551122269","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371716821329,"sku":"SM-65870551155037","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371716854097,"sku":"SM-65870551187805","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 2XL","offer_id":55371716886865,"sku":"SM-65870551220573","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 3XL","offer_id":55371716919633,"sku":"SM-65870551253341","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371716952401,"sku":"SM-65870551286109","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371716985169,"sku":"SM-65870551318877","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371717017937,"sku":"SM-65870551351645","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371717050705,"sku":"SM-65870551384413","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppjacke-wasserdichte-outdoor-kapuzenjacke-leicht-6.jpg?v=1792459900"},{"product_id":"womens-ultralight-hooded-quilted-jacket-elisabeth","title":"Ultralichte gewatteerde jas met capuchon voor dames | Elisabeth","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eElisabeth\u003c\/strong\u003e, een ultralichte gewatteerde jas met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDonsvulling\u003c\/li\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 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, 4XL, 5XL.\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\u003eDit model valt iets klein. Overweeg één maat groter dan je gebruikelijke maat.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eNiet 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-ultralight-hooded-quilted-jacket-elisabeth\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Taupe\",\"Navy\",\"Light Blue\",\"Black\",\"Pink\",\"Fuchsia\",\"Red\",\"Burgundy\",\"Lilac\",\"Turquoise\"],\"size_index\":1,\"color_index\":0,\"runs_small\":true}' 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, 4XL, 5XL. 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":"Taupe \/ S","offer_id":55371717083473,"sku":"SM-65870543815005","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Taupe \/ M","offer_id":55371717116241,"sku":"SM-65870543847773","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Taupe \/ L","offer_id":55371717149009,"sku":"SM-65870543880541","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Taupe \/ XL","offer_id":55371717181777,"sku":"SM-65870543913309","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Taupe \/ 2XL","offer_id":55371717214545,"sku":"SM-65870543946077","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Taupe \/ 3XL","offer_id":55371717247313,"sku":"SM-65870543978845","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Taupe \/ 4XL","offer_id":55371717280081,"sku":"SM-65870544011613","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Taupe \/ 5XL","offer_id":55371717312849,"sku":"SM-65870544044381","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371717345617,"sku":"SM-65870544077149","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371717378385,"sku":"SM-65870544109917","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371717411153,"sku":"SM-65870544142685","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371717443921,"sku":"SM-65870544175453","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371717476689,"sku":"SM-65870544208221","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 3XL","offer_id":55371717509457,"sku":"SM-65870544240989","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 4XL","offer_id":55371717542225,"sku":"SM-65870544273757","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 5XL","offer_id":55371717574993,"sku":"SM-65870544306525","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ S","offer_id":55371717607761,"sku":"SM-65870544339293","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371717640529,"sku":"SM-65870544372061","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371717673297,"sku":"SM-65870544404829","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371717706065,"sku":"SM-65870544437597","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 2XL","offer_id":55371717738833,"sku":"SM-65870544470365","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 3XL","offer_id":55371717771601,"sku":"SM-65870544503133","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 4XL","offer_id":55371717804369,"sku":"SM-65870544535901","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 5XL","offer_id":55371717837137,"sku":"SM-65870544568669","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371717869905,"sku":"SM-65870544601437","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371717902673,"sku":"SM-65870544634205","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371717935441,"sku":"SM-65870544666973","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371717968209,"sku":"SM-65870544699741","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371718000977,"sku":"SM-65870544732509","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371718033745,"sku":"SM-65870544765277","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371718066513,"sku":"SM-65870544798045","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 5XL","offer_id":55371718099281,"sku":"SM-65870544830813","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371718132049,"sku":"SM-65870544863581","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371718164817,"sku":"SM-65870544896349","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371718197585,"sku":"SM-65870544929117","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371718230353,"sku":"SM-65870544961885","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371718263121,"sku":"SM-65870544994653","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371718295889,"sku":"SM-65870545027421","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 4XL","offer_id":55371718328657,"sku":"SM-65870545060189","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 5XL","offer_id":55371718361425,"sku":"SM-65870545092957","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ S","offer_id":55371718394193,"sku":"SM-65870545125725","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ M","offer_id":55371718426961,"sku":"SM-65870545158493","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ L","offer_id":55371718459729,"sku":"SM-65870545191261","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ XL","offer_id":55371718492497,"sku":"SM-65870545224029","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ 2XL","offer_id":55371718525265,"sku":"SM-65870545256797","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ 3XL","offer_id":55371718558033,"sku":"SM-65870545289565","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ 4XL","offer_id":55371718590801,"sku":"SM-65870545322333","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ 5XL","offer_id":55371718623569,"sku":"SM-65870545355101","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371718656337,"sku":"SM-65870545387869","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371718689105,"sku":"SM-65870545420637","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371718721873,"sku":"SM-65870545453405","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371718754641,"sku":"SM-65870545486173","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371718787409,"sku":"SM-65870545518941","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371718820177,"sku":"SM-65870545551709","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 4XL","offer_id":55371718852945,"sku":"SM-65870545584477","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 5XL","offer_id":55371718885713,"sku":"SM-65870545617245","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ S","offer_id":55371718918481,"sku":"SM-65870545650013","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371718951249,"sku":"SM-65870545682781","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371718984017,"sku":"SM-65870545715549","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371719016785,"sku":"SM-65870545748317","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 2XL","offer_id":55371719049553,"sku":"SM-65870545781085","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 3XL","offer_id":55371719082321,"sku":"SM-65870545813853","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 4XL","offer_id":55371719115089,"sku":"SM-65870545846621","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 5XL","offer_id":55371719147857,"sku":"SM-65870545879389","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ S","offer_id":55371719180625,"sku":"SM-65870545912157","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ M","offer_id":55371719213393,"sku":"SM-65870545944925","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ L","offer_id":55371719246161,"sku":"SM-65870545977693","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ XL","offer_id":55371719278929,"sku":"SM-65870546010461","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ 2XL","offer_id":55371719311697,"sku":"SM-65870546043229","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ 3XL","offer_id":55371719344465,"sku":"SM-65870546075997","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ 4XL","offer_id":55371719377233,"sku":"SM-65870546108765","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lila \/ 5XL","offer_id":55371719410001,"sku":"SM-65870546141533","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Turkoois \/ S","offer_id":55371719442769,"sku":"SM-65870546174301","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Turkoois \/ M","offer_id":55371719475537,"sku":"SM-65870546207069","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Turkoois \/ L","offer_id":55371719508305,"sku":"SM-65870546239837","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Turkoois \/ XL","offer_id":55371719541073,"sku":"SM-65870546272605","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Turkoois \/ 2XL","offer_id":55371719573841,"sku":"SM-65870546305373","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Turkoois \/ 3XL","offer_id":55371719606609,"sku":"SM-65870546338141","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Turkoois \/ 4XL","offer_id":55371719639377,"sku":"SM-65870546370909","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Turkoois \/ 5XL","offer_id":55371719672145,"sku":"SM-65870546403677","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppjacke-mit-kapuze-ultraleichte-bergangsjacke-1.jpg?v=1792459903"},{"product_id":"womens-oversized-denim-jacket-with-frayed-hem-charlotte","title":"Oversized spijkerjas met rafelzoom voor dames | Charlotte","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eCharlotte\u003c\/strong\u003e, een oversized spijkerjas met rafelzoom van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDenimstof\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eLange mouwen\u003c\/li\u003e\n\u003cli\u003eAfwerking met franjes\u003c\/li\u003e\n\u003cli\u003eBorstzakken\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\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. Op lage temperatuur 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-oversized-denim-jacket-with-frayed-hem-charlotte\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Black\",\"Light Blue\",\"Dark Blue\",\"Olive Green\",\"White\",\"Brown\",\"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. 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":55371719737681,"sku":"SM-65870540865885","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371719770449,"sku":"SM-65870540898653","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371719803217,"sku":"SM-65870540931421","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371719835985,"sku":"SM-65870540964189","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371719868753,"sku":"SM-65870540996957","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ S","offer_id":55371719901521,"sku":"SM-65870541029725","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371719934289,"sku":"SM-65870541062493","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371719967057,"sku":"SM-65870541095261","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371719999825,"sku":"SM-65870541128029","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 2XL","offer_id":55371720032593,"sku":"SM-65870541160797","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Donkerblauw \/ S","offer_id":55371720065361,"sku":"SM-65870541193565","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Donkerblauw \/ M","offer_id":55371720098129,"sku":"SM-65870541226333","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Donkerblauw \/ L","offer_id":55371720130897,"sku":"SM-65870541259101","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Donkerblauw \/ XL","offer_id":55371720163665,"sku":"SM-65870541291869","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Donkerblauw \/ 2XL","offer_id":55371720196433,"sku":"SM-65870541324637","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ S","offer_id":55371720229201,"sku":"SM-65870541357405","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ M","offer_id":55371720261969,"sku":"SM-65870541390173","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ L","offer_id":55371720294737,"sku":"SM-65870541422941","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ XL","offer_id":55371720327505,"sku":"SM-65870541455709","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 2XL","offer_id":55371720360273,"sku":"SM-65870541488477","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371720393041,"sku":"SM-65870541521245","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371720425809,"sku":"SM-65870541554013","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371720458577,"sku":"SM-65870541586781","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371720491345,"sku":"SM-65870541619549","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371720524113,"sku":"SM-65870541652317","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371720556881,"sku":"SM-65870541685085","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371720589649,"sku":"SM-65870541717853","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371720622417,"sku":"SM-65870541750621","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371720655185,"sku":"SM-65870541783389","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371720687953,"sku":"SM-65870541816157","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371720720721,"sku":"SM-65870541848925","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371720753489,"sku":"SM-65870541881693","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371720786257,"sku":"SM-65870541914461","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371720819025,"sku":"SM-65870541947229","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371720851793,"sku":"SM-65870541979997","price":67.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-oversized-jeansjacke-langarm-mit-knopfleiste-und-frans-1.jpg?v=1792459905"},{"product_id":"womens-water-repellent-hooded-anorak-elisabeth","title":"Waterafstotende anorak met capuchon voor dames | Elisabeth","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eElisabeth\u003c\/strong\u003e, een waterafstotende anorak 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\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eWaterafstotende afwerking\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\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. Op lage temperatuur 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-water-repellent-hooded-anorak-elisabeth\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Black\",\"Purple\",\"Gray\",\"Pink\",\"Light 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. 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":55371722064209,"sku":"SM-65870538178909","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371722096977,"sku":"SM-65870538211677","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371722129745,"sku":"SM-65870538244445","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371722162513,"sku":"SM-65870538277213","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ S","offer_id":55371722195281,"sku":"SM-65870538309981","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371722228049,"sku":"SM-65870538342749","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371722260817,"sku":"SM-65870538375517","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371722293585,"sku":"SM-65870538408285","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371722326353,"sku":"SM-65870538441053","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371722359121,"sku":"SM-65870538473821","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371722391889,"sku":"SM-65870538506589","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371722424657,"sku":"SM-65870538539357","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371722457425,"sku":"SM-65870538572125","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371722490193,"sku":"SM-65870538604893","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371722522961,"sku":"SM-65870538637661","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371722555729,"sku":"SM-65870538670429","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ S","offer_id":55371722588497,"sku":"SM-65870538703197","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ M","offer_id":55371722621265,"sku":"SM-65870538735965","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ L","offer_id":55371722654033,"sku":"SM-65870538768733","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ XL","offer_id":55371722686801,"sku":"SM-65870538801501","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kapuzen-anorak-windschutz-wasserabweisende-outdoorjack-4.jpg?v=1792459908"},{"product_id":"womens-hooded-faux-leather-jacket-annika","title":"Jas van kunstleer met capuchon voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een jas van kunstleer met 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\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 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, 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\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud met de hand wassen. Niet bleken. Niet 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-hooded-faux-leather-jacket-annika\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\"],\"colors\":[\"Khaki\",\"Black\",\"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, 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":"Kaki \/ S","offer_id":55371736449361,"sku":"SM-65870506983773","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371736482129,"sku":"SM-65870507016541","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371736514897,"sku":"SM-65870507049309","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371736547665,"sku":"SM-65870507082077","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371736580433,"sku":"SM-65870507114845","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371736613201,"sku":"SM-65870507147613","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 4XL","offer_id":55371736645969,"sku":"SM-65870507180381","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371736678737,"sku":"SM-65870507213149","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371736711505,"sku":"SM-65870507245917","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371736744273,"sku":"SM-65870507278685","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371736777041,"sku":"SM-65870507311453","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371736809809,"sku":"SM-65870507344221","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371736842577,"sku":"SM-65870507376989","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371736875345,"sku":"SM-65870507409757","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371736908113,"sku":"SM-65870507442525","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371736940881,"sku":"SM-65870507475293","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371736973649,"sku":"SM-65870507508061","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371737006417,"sku":"SM-65870507540829","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371737039185,"sku":"SM-65870507573597","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 3XL","offer_id":55371737071953,"sku":"SM-65870507606365","price":94.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 4XL","offer_id":55371737104721,"sku":"SM-65870507639133","price":94.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kunstleder-kapuzenjacke-mit-reiverschluss-taillierter--1.jpg?v=1792459938"},{"product_id":"womens-hooded-plaid-jacket-annika","title":"Geruite jas met capuchon voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een geruite jas met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\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 met jeans of een gebreide broek met rechte pijpen. Voeg een effen top en sneakers toe om de outfit af te maken.\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-hooded-plaid-jacket-annika\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Red\",\"Dark Red\",\"Green\",\"Black\",\"Gray\",\"Brown\",\"Multicolor\"],\"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":"Rood \/ S","offer_id":55371739300177,"sku":"SM-65869850247517","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371739332945,"sku":"SM-65869850280285","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371739365713,"sku":"SM-65869850313053","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371739398481,"sku":"SM-65869850345821","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371739431249,"sku":"SM-65869850378589","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ S","offer_id":55371739464017,"sku":"SM-65869850411357","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ M","offer_id":55371739496785,"sku":"SM-65869850444125","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ L","offer_id":55371739529553,"sku":"SM-65869850476893","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ XL","offer_id":55371739562321,"sku":"SM-65869850509661","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ 2XL","offer_id":55371739595089,"sku":"SM-65869850542429","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ S","offer_id":55371739627857,"sku":"SM-65869850575197","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371739660625,"sku":"SM-65869850607965","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371739693393,"sku":"SM-65869850640733","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371739726161,"sku":"SM-65869850673501","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371739758929,"sku":"SM-65869850706269","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371739791697,"sku":"SM-65869850739037","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371739824465,"sku":"SM-65869850771805","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371739857233,"sku":"SM-65869850804573","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371739890001,"sku":"SM-65869850837341","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371739922769,"sku":"SM-65869850870109","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371739955537,"sku":"SM-65869850902877","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371739988305,"sku":"SM-65869850935645","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371740021073,"sku":"SM-65869850968413","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371740053841,"sku":"SM-65869851001181","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371740086609,"sku":"SM-65869851033949","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371740119377,"sku":"SM-65869851066717","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371740152145,"sku":"SM-65869851099485","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371740184913,"sku":"SM-65869851132253","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371740217681,"sku":"SM-65869851165021","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371740250449,"sku":"SM-65869851197789","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Meerkleurig \/ S","offer_id":55371740283217,"sku":"SM-65869851230557","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Meerkleurig \/ M","offer_id":55371740315985,"sku":"SM-65869851263325","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Meerkleurig \/ L","offer_id":55371740348753,"sku":"SM-65869851296093","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Meerkleurig \/ XL","offer_id":55371740381521,"sku":"SM-65869851328861","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Meerkleurig \/ 2XL","offer_id":55371740414289,"sku":"SM-65869851361629","price":57.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/isabella-warm-stylish-jacket-dwod4-hh206043-dwod4-hh206043-110707.webp?v=1792459946"},{"product_id":"womens-jacket-with-cozy-lining-lena","title":"Jas met behaaglijke voering voor dames | Lena","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLena\u003c\/strong\u003e, een jas met behaaglijke voering van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte voering\u003c\/li\u003e\n\u003cli\u003eRuime 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\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-jacket-with-cozy-lining-lena\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Green\",\"Yellow\",\"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, 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":"Groen \/ S","offer_id":55371740447057,"sku":"SM-65869845692765","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371740479825,"sku":"SM-65869845725533","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371740512593,"sku":"SM-65869845758301","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371740545361,"sku":"SM-65869845791069","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371740578129,"sku":"SM-65869845823837","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371740610897,"sku":"SM-65869845856605","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ S","offer_id":55371740643665,"sku":"SM-65869845889373","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ M","offer_id":55371740676433,"sku":"SM-65869845922141","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ L","offer_id":55371740709201,"sku":"SM-65869845954909","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ XL","offer_id":55371740741969,"sku":"SM-65869845987677","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 2XL","offer_id":55371740774737,"sku":"SM-65869846020445","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 3XL","offer_id":55371740807505,"sku":"SM-65869846053213","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371740840273,"sku":"SM-65869846085981","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371740873041,"sku":"SM-65869846118749","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371740905809,"sku":"SM-65869846151517","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371740938577,"sku":"SM-65869846184285","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371740971345,"sku":"SM-65869846217053","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371741004113,"sku":"SM-65869846249821","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371741036881,"sku":"SM-65869846282589","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371741069649,"sku":"SM-65869846315357","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371741102417,"sku":"SM-65869846348125","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371741135185,"sku":"SM-65869846380893","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371741167953,"sku":"SM-65869846413661","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371741200721,"sku":"SM-65869846446429","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/image_850_1727793301943-3623973-38088803-79145924_10_3bd09571-0c48-4abb-94ad-77b783337088.jpg?v=1792459948"},{"product_id":"womens-relaxed-leather-look-jacket-pauline","title":"Losvallende jas in leerlook voor dames | Pauline","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003ePauline\u003c\/strong\u003e, een losvallende jas in leerlook van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAfwerking in leerlook\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003ePraktische zakken\u003c\/li\u003e\n\u003cli\u003eRitssluiting\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-relaxed-leather-look-jacket-pauline\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Brown\",\"Beige\",\"Blue\",\"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. 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":55371743035729,"sku":"SM-65869823312221","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371743068497,"sku":"SM-65869823344989","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371743101265,"sku":"SM-65869823377757","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371743134033,"sku":"SM-65869823410525","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371743166801,"sku":"SM-65869823443293","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371743199569,"sku":"SM-65869823476061","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371743232337,"sku":"SM-65869823508829","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371743265105,"sku":"SM-65869823541597","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371743297873,"sku":"SM-65869823574365","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371743330641,"sku":"SM-65869823607133","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371743363409,"sku":"SM-65869823639901","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371743396177,"sku":"SM-65869823672669","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371743428945,"sku":"SM-65869823705437","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371743461713,"sku":"SM-65869823738205","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371743494481,"sku":"SM-65869823770973","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371743527249,"sku":"SM-65869823803741","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371743560017,"sku":"SM-65869823836509","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371743592785,"sku":"SM-65869823869277","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371743625553,"sku":"SM-65869823902045","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371743658321,"sku":"SM-65869823934813","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Women_s_Tailored_Suede_Jacket_0_625e4013-dff5-4219-a642-4edf2065b177.jpg?v=1792459953"}],"url":"https:\/\/juanafashion.com\/nl\/collections\/lightweight-jackets.oembed?page=3","provider":"Juana Fashion","version":"1.0","type":"link"}