{"title":"Vests","description":null,"products":[{"product_id":"womens-sherpa-fleece-vest-teresa","title":"Bodywarmer van sherpa-fleece voor dames | Teresa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eTeresa\u003c\/strong\u003e, een bodywarmer van sherpa-fleece van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte sherpatextuur\u003c\/li\u003e\n\u003cli\u003eDrukknoopsluiting\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eOpgestikte zakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-sherpa-fleece-vest-teresa\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Brown\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL. 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":55371613569361,"sku":"MS-6207-WOM-BRO","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371613602129,"sku":"MS-7662-WOM-BRO","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371613634897,"sku":"MS-3908-WOM-BRO","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371613667665,"sku":"MS-6031-WOM-BRO","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371613700433,"sku":"MS-3613-WOM-WHI","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371613733201,"sku":"MS-7404-WOM-WHI","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371613765969,"sku":"MS-8497-WOM-WHI","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371613798737,"sku":"MS-7217-WOM-WHI","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Women_sTeddyVestJacket_6.png?v=1792459645"},{"product_id":"womens-leopard-print-button-front-knit-vest-rosa","title":"Gebreid gilet met luipaardprint en knopen voor dames | Rosa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eRosa\u003c\/strong\u003e, een gebreid gilet met luipaardprint en knopen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLuipaardprint\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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-leopard-print-button-front-knit-vest-rosa\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Animal 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. 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":"Dierenprint \/ S","offer_id":55371614323025,"sku":"MS-0859-LEO-ANI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dierenprint \/ M","offer_id":55371614355793,"sku":"MS-2351-LEO-ANI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dierenprint \/ L","offer_id":55371614388561,"sku":"MS-0321-LEO-ANI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dierenprint \/ XL","offer_id":55371614421329,"sku":"MS-3092-LEO-ANI","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Women_sVestCardiganPanther_1_137507df-abbd-44a0-bdde-546cf0cb045b.png?v=1792459647"},{"product_id":"womens-oversized-hooded-quilted-vest-paola","title":"Oversized gewatteerde bodywarmer met capuchon voor dames | Paola","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003ePaola\u003c\/strong\u003e, een oversized gewatteerde bodywarmer met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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-oversized-hooded-quilted-vest-paola\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Off-White\",\"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":"Gebroken wit \/ S","offer_id":55371620385105,"sku":"MS-4483-WOM-OFF","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ M","offer_id":55371620417873,"sku":"MS-5244-WOM-OFF","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ L","offer_id":55371620450641,"sku":"MS-5047-WOM-OFF","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ XL","offer_id":55371620483409,"sku":"MS-7833-WOM-OFF","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ 2XL","offer_id":55371620516177,"sku":"MS-6719-WOM-OFF","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371620548945,"sku":"MS-1193-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371620581713,"sku":"MS-5158-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371620614481,"sku":"MS-1752-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371620647249,"sku":"MS-4921-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371620680017,"sku":"MS-2858-WOM-BLA","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/off-white-front_b48eb62e-543b-49a4-bf0c-ccc94bb190ea.png?v=1792459677"},{"product_id":"womens-quilted-vest-with-knit-shoulder-panels-laura","title":"Gewatteerde bodywarmer met gebreide schouderpanelen voor dames | Laura","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLaura\u003c\/strong\u003e, een gewatteerde bodywarmer met gebreide schouderpanelen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGebreide uitvoering\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-quilted-vest-with-knit-shoulder-panels-laura\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Black\",\"Chocolate Brown\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: 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 \/ M","offer_id":55371624513873,"sku":"MS-4609-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371624546641,"sku":"MS-9318-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371624579409,"sku":"MS-1786-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371624612177,"sku":"MS-9469-WOM-BLA","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ M","offer_id":55371624644945,"sku":"MS-8833-WOM-CHO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ L","offer_id":55371624677713,"sku":"MS-1324-WOM-CHO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ XL","offer_id":55371624710481,"sku":"MS-0430-WOM-CHO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Chocoladebruin \/ 2XL","offer_id":55371624743249,"sku":"MS-4975-WOM-CHO","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371624776017,"sku":"MS-0594-WOM-WHI","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371624808785,"sku":"MS-8772-WOM-WHI","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371624841553,"sku":"MS-4328-WOM-WHI","price":104.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371624874321,"sku":"MS-4002-WOM-WHI","price":104.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/black-front_a6d12c82-5d9e-4d6a-8e10-aab0d6199894.png?v=1792459690"},{"product_id":"womens-cable-knit-v-neck-sweater-vest-georgia","title":"Kabelgebreide spencer met V-hals voor dames | Georgia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eGeorgia\u003c\/strong\u003e, een kabelgebreide spencer met V-hals van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGebreide uitvoering\u003c\/li\u003e\n\u003cli\u003eLosvallende pasvorm\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eV-hals\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: XS, S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eKoud met de hand wassen. 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-cable-knit-v-neck-sweater-vest-georgia\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\"],\"colors\":[],\"size_index\":0,\"color_index\":null,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: XS, S, M, 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":"XS","offer_id":55371635523921,"sku":"AR-GEORGIA-TAN-XS","price":59.99,"currency_code":"USD","in_stock":true},{"title":"S","offer_id":55371635556689,"sku":"AR-GEORGIA-TAN-S","price":59.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371635589457,"sku":"AR-GEORGIA-TAN-M","price":59.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371635622225,"sku":"AR-GEORGIA-TAN-L","price":59.99,"currency_code":"USD","in_stock":true},{"title":"XL","offer_id":55371635654993,"sku":"AR-GEORGIA-TAN-XL","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0209-v-neck-cable-knit-sweater-vest-tan-1.webp?v=1792459727"},{"product_id":"womens-long-hooded-quilted-vest-esme","title":"Lange gewatteerde bodywarmer met capuchon voor dames | Esme","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eEsme\u003c\/strong\u003e, een lange gewatteerde bodywarmer 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\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eVerlengd silhouet\u003c\/li\u003e\n\u003cli\u003eLosse oversized pasvorm\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-long-hooded-quilted-vest-esme\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Beige\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL, 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":"Beige \/ S","offer_id":55371636867409,"sku":"AR-ESME-BEI-S","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371636900177,"sku":"AR-ESME-BEI-M","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371636932945,"sku":"AR-ESME-BEI-L","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371636965713,"sku":"AR-ESME-BEI-XL","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371636998481,"sku":"AR-ESME-BEI-2XL","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371637031249,"sku":"AR-ESME-BEI-3XL","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 4XL","offer_id":55371637064017,"sku":"AR-ESME-BEI-4XL","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 5XL","offer_id":55371637096785,"sku":"AR-ESME-BEI-5XL","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371637129553,"sku":"AR-ESME-BLK-S","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371637162321,"sku":"AR-ESME-BLK-M","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371637195089,"sku":"AR-ESME-BLK-L","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371637227857,"sku":"AR-ESME-BLK-XL","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371637260625,"sku":"AR-ESME-BLK-2XL","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371637293393,"sku":"AR-ESME-BLK-3XL","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371637326161,"sku":"AR-ESME-BLK-4XL","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 5XL","offer_id":55371637358929,"sku":"AR-ESME-BLK-5XL","price":89.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ar-fw26-shoot0709-esme-beige-1.webp?v=1792459737"},{"product_id":"womens-long-hooded-quilted-vest-frieda","title":"Lange gewatteerde bodywarmer met capuchon voor dames | Frieda","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eFrieda\u003c\/strong\u003e, een lange gewatteerde bodywarmer 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\u003eVerlengd silhouet\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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). 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-long-hooded-quilted-vest-frieda\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Black\",\"Khaki\",\"Beige\",\"Olive Green\",\"Chestnut\",\"Red\",\"Green\",\"Navy\",\"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, 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":55371698602321,"sku":"SM-65870585495901","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371698635089,"sku":"SM-65870585528669","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371698667857,"sku":"SM-65870585561437","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371698700625,"sku":"SM-65870585594205","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371698733393,"sku":"SM-65870585626973","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371698766161,"sku":"SM-65870585659741","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371698798929,"sku":"SM-65870585692509","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 5XL","offer_id":55371698831697,"sku":"SM-65870585725277","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371698864465,"sku":"SM-65870585758045","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371698897233,"sku":"SM-65870585790813","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371698930001,"sku":"SM-65870585823581","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371698962769,"sku":"SM-65870585856349","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371698995537,"sku":"SM-65870585889117","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371699028305,"sku":"SM-65870585921885","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 4XL","offer_id":55371699061073,"sku":"SM-65870585954653","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 5XL","offer_id":55371699093841,"sku":"SM-65870585987421","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371699126609,"sku":"SM-65870586020189","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371699159377,"sku":"SM-65870586052957","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371699192145,"sku":"SM-65870586085725","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371699224913,"sku":"SM-65870586118493","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371699257681,"sku":"SM-65870586151261","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371699290449,"sku":"SM-65870586184029","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 4XL","offer_id":55371699323217,"sku":"SM-65870586216797","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 5XL","offer_id":55371699355985,"sku":"SM-65870586249565","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ S","offer_id":55371699388753,"sku":"SM-65870586282333","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ M","offer_id":55371699421521,"sku":"SM-65870586315101","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ L","offer_id":55371699454289,"sku":"SM-65870586347869","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ XL","offer_id":55371699487057,"sku":"SM-65870586380637","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 2XL","offer_id":55371699519825,"sku":"SM-65870586413405","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 3XL","offer_id":55371699552593,"sku":"SM-65870586446173","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 4XL","offer_id":55371699585361,"sku":"SM-65870586478941","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 5XL","offer_id":55371699618129,"sku":"SM-65870586511709","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kastanjebruin \/ S","offer_id":55371699650897,"sku":"SM-65870586544477","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kastanjebruin \/ M","offer_id":55371699683665,"sku":"SM-65870586577245","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kastanjebruin \/ L","offer_id":55371699716433,"sku":"SM-65870586610013","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kastanjebruin \/ XL","offer_id":55371699749201,"sku":"SM-65870586642781","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kastanjebruin \/ 2XL","offer_id":55371699781969,"sku":"SM-65870586675549","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kastanjebruin \/ 3XL","offer_id":55371699814737,"sku":"SM-65870586708317","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kastanjebruin \/ 4XL","offer_id":55371699847505,"sku":"SM-65870586741085","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kastanjebruin \/ 5XL","offer_id":55371699880273,"sku":"SM-65870586773853","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371699913041,"sku":"SM-65870586806621","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371699945809,"sku":"SM-65870586839389","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371699978577,"sku":"SM-65870586872157","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371700011345,"sku":"SM-65870586904925","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371700044113,"sku":"SM-65870586937693","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371700076881,"sku":"SM-65870586970461","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 4XL","offer_id":55371700109649,"sku":"SM-65870587003229","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 5XL","offer_id":55371700142417,"sku":"SM-65870587035997","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ S","offer_id":55371700175185,"sku":"SM-65870587068765","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371700207953,"sku":"SM-65870587101533","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371700240721,"sku":"SM-65870587134301","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371700273489,"sku":"SM-65870587167069","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371700306257,"sku":"SM-65870587199837","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371700339025,"sku":"SM-65870587232605","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 4XL","offer_id":55371700371793,"sku":"SM-65870587265373","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 5XL","offer_id":55371700404561,"sku":"SM-65870587298141","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371700437329,"sku":"SM-65870587330909","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371700470097,"sku":"SM-65870587363677","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371700502865,"sku":"SM-65870587396445","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371700535633,"sku":"SM-65870587429213","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371700568401,"sku":"SM-65870587461981","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 3XL","offer_id":55371700601169,"sku":"SM-65870587494749","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 4XL","offer_id":55371700633937,"sku":"SM-65870587527517","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 5XL","offer_id":55371700666705,"sku":"SM-65870587560285","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371700699473,"sku":"SM-65870587593053","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371700732241,"sku":"SM-65870587625821","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371700765009,"sku":"SM-65870587658589","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371700797777,"sku":"SM-65870587691357","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371700830545,"sku":"SM-65870587724125","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 3XL","offer_id":55371700863313,"sku":"SM-65870587756893","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 4XL","offer_id":55371700896081,"sku":"SM-65870587789661","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 5XL","offer_id":55371700928849,"sku":"SM-65870587822429","price":47.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-puffer-weste-mit-kapuze-rmellose-lange-steppweste-4.jpg?v=1792459865"},{"product_id":"womens-button-front-sherpa-fleece-vest-marlene","title":"Bodywarmer van sherpa-fleece met knopen voor dames | Marlene","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarlene\u003c\/strong\u003e, een bodywarmer van sherpa-fleece met knopen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte sherpatextuur\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eOmkeerbare uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eV-hals\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\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-button-front-sherpa-fleece-vest-marlene\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Brown\",\"Beige\",\"Khaki\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Bruin \/ S","offer_id":55371700994385,"sku":"SM-65870583169373","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371701027153,"sku":"SM-65870583202141","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371701059921,"sku":"SM-65870583234909","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371701092689,"sku":"SM-65870583267677","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371701125457,"sku":"SM-65870583300445","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371701158225,"sku":"SM-65870583333213","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371701190993,"sku":"SM-65870583365981","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371701223761,"sku":"SM-65870583398749","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371701256529,"sku":"SM-65870583431517","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371701289297,"sku":"SM-65870583464285","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371701322065,"sku":"SM-65870583497053","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371701354833,"sku":"SM-65870583529821","price":47.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-puffer-vest-teddyfleece-weste-mit-knopfleiste-1.jpg?v=1792459867"},{"product_id":"womens-lightweight-quilted-vest-mia","title":"Lichte gewatteerde bodywarmer voor dames | Mia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMia\u003c\/strong\u003e, een lichte gewatteerde bodywarmer van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. Niet 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-lightweight-quilted-vest-mia\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Khaki\",\"Black\",\"Pink\",\"Red\",\"Navy\",\"Burgundy\",\"Light Blue\",\"Purple\",\"Rose\",\"Orange\",\"Sky Blue\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: M, L, XL, 2XL, 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":55371701420369,"sku":"SM-65870573699421","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371701453137,"sku":"SM-65870573732189","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371701485905,"sku":"SM-65870573764957","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371701518673,"sku":"SM-65870573797725","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371701551441,"sku":"SM-65870573830493","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371701584209,"sku":"SM-65870573863261","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371701616977,"sku":"SM-65870573896029","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371701649745,"sku":"SM-65870573928797","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371701682513,"sku":"SM-65870573961565","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371701715281,"sku":"SM-65870573994333","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371701748049,"sku":"SM-65870574027101","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371701780817,"sku":"SM-65870574059869","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371701813585,"sku":"SM-65870574092637","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371701846353,"sku":"SM-65870574125405","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371701879121,"sku":"SM-65870574158173","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371701911889,"sku":"SM-65870574190941","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371701944657,"sku":"SM-65870574223709","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371701977425,"sku":"SM-65870574256477","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371702010193,"sku":"SM-65870574289245","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371702042961,"sku":"SM-65870574322013","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371702075729,"sku":"SM-65870574354781","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371702108497,"sku":"SM-65870574387549","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371702141265,"sku":"SM-65870574420317","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371702174033,"sku":"SM-65870574453085","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 3XL","offer_id":55371702206801,"sku":"SM-65870574485853","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371702239569,"sku":"SM-65870574518621","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371702272337,"sku":"SM-65870574551389","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371702305105,"sku":"SM-65870574584157","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 2XL","offer_id":55371702337873,"sku":"SM-65870574616925","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 3XL","offer_id":55371702370641,"sku":"SM-65870574649693","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371702403409,"sku":"SM-65870574682461","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371702436177,"sku":"SM-65870574715229","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371702468945,"sku":"SM-65870574747997","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 2XL","offer_id":55371702501713,"sku":"SM-65870574780765","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 3XL","offer_id":55371702534481,"sku":"SM-65870574813533","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371702567249,"sku":"SM-65870574846301","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371702600017,"sku":"SM-65870574879069","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371702632785,"sku":"SM-65870574911837","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 2XL","offer_id":55371702665553,"sku":"SM-65870574944605","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 3XL","offer_id":55371702698321,"sku":"SM-65870574977373","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roosroze \/ M","offer_id":55371702731089,"sku":"SM-65870575010141","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roosroze \/ L","offer_id":55371702763857,"sku":"SM-65870575042909","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roosroze \/ XL","offer_id":55371702796625,"sku":"SM-65870575075677","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roosroze \/ 2XL","offer_id":55371702829393,"sku":"SM-65870575108445","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roosroze \/ 3XL","offer_id":55371702862161,"sku":"SM-65870575141213","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ M","offer_id":55371702894929,"sku":"SM-65870575173981","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ L","offer_id":55371702927697,"sku":"SM-65870575206749","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ XL","offer_id":55371702960465,"sku":"SM-65870575239517","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ 2XL","offer_id":55371702993233,"sku":"SM-65870575272285","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ 3XL","offer_id":55371703026001,"sku":"SM-65870575305053","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ M","offer_id":55371703058769,"sku":"SM-65870575337821","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ L","offer_id":55371703091537,"sku":"SM-65870575370589","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ XL","offer_id":55371703124305,"sku":"SM-65870575403357","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ 2XL","offer_id":55371703157073,"sku":"SM-65870575436125","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Hemelsblauw \/ 3XL","offer_id":55371703189841,"sku":"SM-65870575468893","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371703222609,"sku":"SM-65870575501661","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371703255377,"sku":"SM-65870575534429","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371703288145,"sku":"SM-65870575567197","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371703320913,"sku":"SM-65870575599965","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 3XL","offer_id":55371703353681,"sku":"SM-65870575632733","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-leichte-puffer-vest-women-bergangsjacke-6.jpg?v=1792459870"},{"product_id":"womens-quilted-zip-up-vest-mia","title":"Gewatteerde bodywarmer met rits voor dames | Mia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMia\u003c\/strong\u003e, een gewatteerde bodywarmer 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\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL, 3XL, 4XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\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. Niet strijken. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-quilted-zip-up-vest-mia\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\"],\"colors\":[\"Red\",\"Black\",\"Blue\",\"Gray\",\"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: 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":"Rood \/ M","offer_id":55371703419217,"sku":"SM-65870571929949","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371703451985,"sku":"SM-65870571962717","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371703484753,"sku":"SM-65870571995485","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371703517521,"sku":"SM-65870572028253","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371703550289,"sku":"SM-65870572061021","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 4XL","offer_id":55371703583057,"sku":"SM-65870572093789","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371703615825,"sku":"SM-65870572126557","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371703648593,"sku":"SM-65870572159325","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371703681361,"sku":"SM-65870572192093","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371703714129,"sku":"SM-65870572224861","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371703746897,"sku":"SM-65870572257629","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371703779665,"sku":"SM-65870572290397","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371703812433,"sku":"SM-65870572323165","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371703845201,"sku":"SM-65870572355933","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371703877969,"sku":"SM-65870572388701","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371703910737,"sku":"SM-65870572421469","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371703943505,"sku":"SM-65870572454237","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 4XL","offer_id":55371703976273,"sku":"SM-65870572487005","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371704009041,"sku":"SM-65870572519773","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371704041809,"sku":"SM-65870572552541","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371704074577,"sku":"SM-65870572585309","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371704107345,"sku":"SM-65870572618077","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 3XL","offer_id":55371704140113,"sku":"SM-65870572650845","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 4XL","offer_id":55371704172881,"sku":"SM-65870572683613","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371704205649,"sku":"SM-65870572716381","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371704238417,"sku":"SM-65870572749149","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371704271185,"sku":"SM-65870572781917","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371704303953,"sku":"SM-65870572814685","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371704336721,"sku":"SM-65870572847453","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 4XL","offer_id":55371704369489,"sku":"SM-65870572880221","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-puffer-vest-leichte-gesteppte-steppweste-mit-reiversch-1.jpg?v=1792459873"},{"product_id":"womens-lightly-padded-quilted-zip-up-vest-leonie","title":"Licht gewatteerde bodywarmer met rits voor dames | Leonie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLeonie\u003c\/strong\u003e, een licht gewatteerde bodywarmer 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\u003eRitssluiting aan de voorkant\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\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. 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-lightly-padded-quilted-zip-up-vest-leonie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Pink\",\"Gray\",\"Light Coffee\",\"Light Blue\",\"Burgundy\",\"Black\",\"Khaki\",\"Olive Green\",\"Brown\",\"Blue\",\"Red\",\"White\",\"Ocean Blue\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Roze \/ S","offer_id":55371704402257,"sku":"SM-65870576222557","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371704435025,"sku":"SM-65870576255325","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371704467793,"sku":"SM-65870576288093","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371704500561,"sku":"SM-65870576320861","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371704533329,"sku":"SM-65870576353629","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371704566097,"sku":"SM-65870576386397","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371704598865,"sku":"SM-65870576419165","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371704631633,"sku":"SM-65870576451933","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371704664401,"sku":"SM-65870576484701","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371704697169,"sku":"SM-65870576517469","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Licht koffiebruin \/ S","offer_id":55371704729937,"sku":"SM-65870576550237","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Licht koffiebruin \/ M","offer_id":55371704762705,"sku":"SM-65870576583005","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Licht koffiebruin \/ L","offer_id":55371704795473,"sku":"SM-65870576615773","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Licht koffiebruin \/ XL","offer_id":55371704828241,"sku":"SM-65870576648541","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Licht koffiebruin \/ 2XL","offer_id":55371704861009,"sku":"SM-65870576681309","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ S","offer_id":55371704893777,"sku":"SM-65870576714077","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371704926545,"sku":"SM-65870576746845","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371704959313,"sku":"SM-65870576779613","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371704992081,"sku":"SM-65870576812381","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 2XL","offer_id":55371705024849,"sku":"SM-65870576845149","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ S","offer_id":55371705057617,"sku":"SM-65870576877917","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371705090385,"sku":"SM-65870576910685","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371705123153,"sku":"SM-65870576943453","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371705155921,"sku":"SM-65870576976221","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 2XL","offer_id":55371705188689,"sku":"SM-65870577008989","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371705221457,"sku":"SM-65870577041757","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371705254225,"sku":"SM-65870577074525","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371705286993,"sku":"SM-65870577107293","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371705319761,"sku":"SM-65870577140061","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371705352529,"sku":"SM-65870577172829","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371705385297,"sku":"SM-65870577205597","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371705418065,"sku":"SM-65870577238365","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371705450833,"sku":"SM-65870577271133","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371705483601,"sku":"SM-65870577303901","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371705516369,"sku":"SM-65870577336669","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ S","offer_id":55371705549137,"sku":"SM-65870577369437","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ M","offer_id":55371705581905,"sku":"SM-65870577402205","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ L","offer_id":55371705614673,"sku":"SM-65870577434973","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ XL","offer_id":55371705647441,"sku":"SM-65870577467741","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 2XL","offer_id":55371705680209,"sku":"SM-65870577500509","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371705712977,"sku":"SM-65870577533277","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371705745745,"sku":"SM-65870577566045","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371705778513,"sku":"SM-65870577598813","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371705811281,"sku":"SM-65870577631581","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371705844049,"sku":"SM-65870577664349","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371705876817,"sku":"SM-65870577697117","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371705909585,"sku":"SM-65870577729885","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371705942353,"sku":"SM-65870577762653","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371705975121,"sku":"SM-65870577795421","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371706007889,"sku":"SM-65870577828189","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371706040657,"sku":"SM-65870577860957","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371706073425,"sku":"SM-65870577893725","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371706106193,"sku":"SM-65870577926493","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371706138961,"sku":"SM-65870577959261","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371706171729,"sku":"SM-65870577992029","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371706204497,"sku":"SM-65870578024797","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371706237265,"sku":"SM-65870578057565","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371706270033,"sku":"SM-65870578090333","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371706302801,"sku":"SM-65870578123101","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371706335569,"sku":"SM-65870578155869","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Oceaanblauw \/ S","offer_id":55371706368337,"sku":"SM-65870578188637","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Oceaanblauw \/ M","offer_id":55371706401105,"sku":"SM-65870578221405","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Oceaanblauw \/ L","offer_id":55371706433873,"sku":"SM-65870578254173","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Oceaanblauw \/ XL","offer_id":55371706466641,"sku":"SM-65870578286941","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Oceaanblauw \/ 2XL","offer_id":55371706499409,"sku":"SM-65870578319709","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-leicht-geftterte-puffer-vest-women-mit-reiv-1.jpg?v=1792459876"},{"product_id":"womens-button-front-knit-vest-amelie","title":"Gebreid gilet met knopen voor dames | Amelie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAmelie\u003c\/strong\u003e, een gebreid gilet 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\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-button-front-knit-vest-amelie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Burgundy\",\"Black\",\"Gray\",\"Apricot\"],\"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":"Bordeauxrood \/ S","offer_id":55371706564945,"sku":"SM-65870572912989","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371706597713,"sku":"SM-65870572945757","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371706630481,"sku":"SM-65870572978525","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371706663249,"sku":"SM-65870573011293","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 2XL","offer_id":55371706696017,"sku":"SM-65870573044061","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 3XL","offer_id":55371706728785,"sku":"SM-65870573076829","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371706761553,"sku":"SM-65870573109597","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371706794321,"sku":"SM-65870573142365","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371706827089,"sku":"SM-65870573175133","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371706859857,"sku":"SM-65870573207901","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371706892625,"sku":"SM-65870573240669","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371706925393,"sku":"SM-65870573273437","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371706958161,"sku":"SM-65870573306205","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371706990929,"sku":"SM-65870573338973","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371707023697,"sku":"SM-65870573371741","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371707056465,"sku":"SM-65870573404509","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371707089233,"sku":"SM-65870573437277","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 3XL","offer_id":55371707122001,"sku":"SM-65870573470045","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ S","offer_id":55371707154769,"sku":"SM-65870573502813","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ M","offer_id":55371707187537,"sku":"SM-65870573535581","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ L","offer_id":55371707220305,"sku":"SM-65870573568349","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ XL","offer_id":55371707253073,"sku":"SM-65870573601117","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 2XL","offer_id":55371707285841,"sku":"SM-65870573633885","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 3XL","offer_id":55371707318609,"sku":"SM-65870573666653","price":44.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-strickweste-rmelloser-pullover-weste-bunte-knpfe-2.jpg?v=1792459878"},{"product_id":"womens-knee-length-hooded-quilted-vest-clara","title":"Knielange gewatteerde bodywarmer met capuchon voor dames | Clara","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eClara\u003c\/strong\u003e, een knielange gewatteerde bodywarmer 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\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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-knee-length-hooded-quilted-vest-clara\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Beige\",\"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":"Beige \/ S","offer_id":55371707351377,"sku":"SM-65870571372893","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371707384145,"sku":"SM-65870571405661","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371707416913,"sku":"SM-65870571438429","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371707449681,"sku":"SM-65870571471197","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371707482449,"sku":"SM-65870571503965","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371707515217,"sku":"SM-65870571536733","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 4XL","offer_id":55371707547985,"sku":"SM-65870571569501","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 5XL","offer_id":55371707580753,"sku":"SM-65870571602269","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371707613521,"sku":"SM-65870571635037","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371707646289,"sku":"SM-65870571667805","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371707679057,"sku":"SM-65870571700573","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371707711825,"sku":"SM-65870571733341","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371707744593,"sku":"SM-65870571766109","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371707777361,"sku":"SM-65870571798877","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 4XL","offer_id":55371707810129,"sku":"SM-65870571831645","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 5XL","offer_id":55371707842897,"sku":"SM-65870571864413","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-knielange-gesteppte-rmellose-kapuzen-puffer-vest-women-5.jpg?v=1792459878"},{"product_id":"womens-hooded-quilted-vest-martina","title":"Gewatteerde bodywarmer met capuchon voor dames | Martina","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMartina\u003c\/strong\u003e, een gewatteerde bodywarmer 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\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-hooded-quilted-vest-martina\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Green\",\"Brown\",\"Forest Green\",\"Navy\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL, 3XL, 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":"Groen \/ S","offer_id":55371783340369,"sku":"SM-65869631684957","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371783373137,"sku":"SM-65869631717725","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371783405905,"sku":"SM-65869631750493","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371783438673,"sku":"SM-65869631783261","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371783471441,"sku":"SM-65869631816029","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371783504209,"sku":"SM-65869631848797","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 4XL","offer_id":55371783536977,"sku":"SM-65869631881565","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 5XL","offer_id":55371783569745,"sku":"SM-65869631914333","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371783602513,"sku":"SM-65869631947101","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371783635281,"sku":"SM-65869631979869","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371783668049,"sku":"SM-65869632012637","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371783700817,"sku":"SM-65869632045405","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371783733585,"sku":"SM-65869632078173","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 3XL","offer_id":55371783766353,"sku":"SM-65869632110941","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 4XL","offer_id":55371783799121,"sku":"SM-65869632143709","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 5XL","offer_id":55371783831889,"sku":"SM-65869632176477","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bosgroen \/ S","offer_id":55371783864657,"sku":"SM-65869632209245","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bosgroen \/ M","offer_id":55371783897425,"sku":"SM-65869632242013","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bosgroen \/ L","offer_id":55371783930193,"sku":"SM-65869632274781","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bosgroen \/ XL","offer_id":55371783962961,"sku":"SM-65869632307549","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bosgroen \/ 2XL","offer_id":55371783995729,"sku":"SM-65869632340317","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bosgroen \/ 3XL","offer_id":55371784028497,"sku":"SM-65869632373085","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bosgroen \/ 4XL","offer_id":55371784061265,"sku":"SM-65869632405853","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Bosgroen \/ 5XL","offer_id":55371784094033,"sku":"SM-65869632438621","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371784126801,"sku":"SM-65869632471389","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371784159569,"sku":"SM-65869632504157","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371784192337,"sku":"SM-65869632536925","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371784225105,"sku":"SM-65869632569693","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371784257873,"sku":"SM-65869632602461","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 3XL","offer_id":55371784290641,"sku":"SM-65869632635229","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 4XL","offer_id":55371784323409,"sku":"SM-65869632667997","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 5XL","offer_id":55371784356177,"sku":"SM-65869632700765","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371784388945,"sku":"SM-65869632733533","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371784421713,"sku":"SM-65869632766301","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371784454481,"sku":"SM-65869632799069","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371784487249,"sku":"SM-65869632831837","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371784520017,"sku":"SM-65869632864605","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371784552785,"sku":"SM-65869632897373","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371784585553,"sku":"SM-65869632930141","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 5XL","offer_id":55371784618321,"sku":"SM-65869632962909","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/55_a46ffc27-e645-4e9d-91d7-4ac52d557726.jpg?v=1792460028"},{"product_id":"womens-quilted-stand-collar-vest-in-extended-sizes-leonie","title":"Gewatteerde bodywarmer met opstaande kraag in ruime maatkeuze voor dames | Leonie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLeonie\u003c\/strong\u003e, een gewatteerde bodywarmer met opstaande kraag in ruime maatkeuze 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\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL, 3XL, 4XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\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-quilted-stand-collar-vest-in-extended-sizes-leonie\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\"],\"colors\":[\"Cream\",\"Pea Green\",\"Black\",\"Light Purple\",\"Pink\",\"Muted 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, 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":"Crème \/ M","offer_id":55371793236305,"sku":"SM-65868870254941","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ L","offer_id":55371793269073,"sku":"SM-65868870287709","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XL","offer_id":55371793301841,"sku":"SM-65868870320477","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 2XL","offer_id":55371793334609,"sku":"SM-65868870353245","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 3XL","offer_id":55371793367377,"sku":"SM-65868870386013","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 4XL","offer_id":55371793400145,"sku":"SM-65868870418781","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ M","offer_id":55371793432913,"sku":"SM-65868870451549","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ L","offer_id":55371793465681,"sku":"SM-65868870484317","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ XL","offer_id":55371793498449,"sku":"SM-65868870517085","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ 2XL","offer_id":55371793531217,"sku":"SM-65868870549853","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ 3XL","offer_id":55371793563985,"sku":"SM-65868870582621","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ 4XL","offer_id":55371793596753,"sku":"SM-65868870615389","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371793629521,"sku":"SM-65868870648157","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371793662289,"sku":"SM-65868870680925","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371793695057,"sku":"SM-65868870713693","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371793727825,"sku":"SM-65868870746461","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371793760593,"sku":"SM-65868870779229","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371793793361,"sku":"SM-65868870811997","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ M","offer_id":55371793826129,"sku":"SM-65868870844765","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ L","offer_id":55371793858897,"sku":"SM-65868870877533","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ XL","offer_id":55371793891665,"sku":"SM-65868870910301","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ 2XL","offer_id":55371793924433,"sku":"SM-65868870943069","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ 3XL","offer_id":55371793957201,"sku":"SM-65868870975837","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ 4XL","offer_id":55371793989969,"sku":"SM-65868871008605","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371794022737,"sku":"SM-65868871041373","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371794055505,"sku":"SM-65868871074141","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371794088273,"sku":"SM-65868871106909","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371794121041,"sku":"SM-65868871139677","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371794153809,"sku":"SM-65868871172445","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 4XL","offer_id":55371794186577,"sku":"SM-65868871205213","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ M","offer_id":55371794219345,"sku":"SM-65868871237981","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ L","offer_id":55371794252113,"sku":"SM-65868871270749","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ XL","offer_id":55371794284881,"sku":"SM-65868871303517","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ 2XL","offer_id":55371794317649,"sku":"SM-65868871336285","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ 3XL","offer_id":55371794350417,"sku":"SM-65868871369053","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ 4XL","offer_id":55371794383185,"sku":"SM-65868871401821","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-mit-stehkragen-leichte-weste-damen-in-groen-2.jpg?v=1792460044"},{"product_id":"womens-quilted-stand-collar-zip-up-vest-sophie","title":"Gewatteerde bodywarmer met opstaande kraag en rits voor dames | Sophie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eSophie\u003c\/strong\u003e, een gewatteerde bodywarmer met opstaande kraag 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\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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. 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-quilted-stand-collar-zip-up-vest-sophie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Cream\",\"Black\",\"Apricot\",\"Coffee\"],\"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":"Crème \/ S","offer_id":55371794415953,"sku":"SM-65868865864029","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ M","offer_id":55371794448721,"sku":"SM-65868865896797","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ L","offer_id":55371794481489,"sku":"SM-65868865929565","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XL","offer_id":55371794514257,"sku":"SM-65868865962333","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 2XL","offer_id":55371794547025,"sku":"SM-65868865995101","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371794579793,"sku":"SM-65868866027869","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371794612561,"sku":"SM-65868866060637","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371794645329,"sku":"SM-65868866093405","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371794678097,"sku":"SM-65868866126173","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371794710865,"sku":"SM-65868866158941","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ S","offer_id":55371794743633,"sku":"SM-65868866191709","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ M","offer_id":55371794776401,"sku":"SM-65868866224477","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ L","offer_id":55371794809169,"sku":"SM-65868866257245","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ XL","offer_id":55371794841937,"sku":"SM-65868866290013","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 2XL","offer_id":55371794874705,"sku":"SM-65868866322781","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ S","offer_id":55371794907473,"sku":"SM-65868866355549","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ M","offer_id":55371794940241,"sku":"SM-65868866388317","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ L","offer_id":55371794973009,"sku":"SM-65868866421085","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ XL","offer_id":55371795005777,"sku":"SM-65868866453853","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ 2XL","offer_id":55371795038545,"sku":"SM-65868866486621","price":54.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/weste-damen-gesteppte-stehkragen-rmelloser-reiverschluss-out-10.jpg?v=1792460046"},{"product_id":"womens-long-hooded-quilted-vest-lena","title":"Lange gewatteerde bodywarmer met capuchon voor dames | Lena","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLena\u003c\/strong\u003e, een lange gewatteerde bodywarmer 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\u003eVerlengd silhouet\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\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. 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-long-hooded-quilted-vest-lena\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Army Green\",\"Cream\",\"Black\",\"Khaki\",\"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: 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":"Legergroen \/ XS","offer_id":55371795071313,"sku":"SM-65868864717149","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ S","offer_id":55371795104081,"sku":"SM-65868864749917","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ M","offer_id":55371795136849,"sku":"SM-65868864782685","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ L","offer_id":55371795169617,"sku":"SM-65868864815453","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ XL","offer_id":55371795202385,"sku":"SM-65868864848221","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ 2XL","offer_id":55371795235153,"sku":"SM-65868864880989","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ 3XL","offer_id":55371795267921,"sku":"SM-65868864913757","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XS","offer_id":55371795300689,"sku":"SM-65868864946525","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ S","offer_id":55371795333457,"sku":"SM-65868864979293","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ M","offer_id":55371795366225,"sku":"SM-65868865012061","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ L","offer_id":55371795398993,"sku":"SM-65868865044829","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XL","offer_id":55371795431761,"sku":"SM-65868865077597","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 2XL","offer_id":55371795464529,"sku":"SM-65868865110365","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 3XL","offer_id":55371795497297,"sku":"SM-65868865143133","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371795530065,"sku":"SM-65868865175901","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371795562833,"sku":"SM-65868865208669","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371795595601,"sku":"SM-65868865241437","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371795628369,"sku":"SM-65868865274205","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371795661137,"sku":"SM-65868865306973","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371795693905,"sku":"SM-65868865339741","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371795726673,"sku":"SM-65868865372509","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XS","offer_id":55371795759441,"sku":"SM-65868865405277","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371795792209,"sku":"SM-65868865438045","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371795824977,"sku":"SM-65868865470813","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371795857745,"sku":"SM-65868865503581","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371795890513,"sku":"SM-65868865536349","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371795923281,"sku":"SM-65868865569117","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371795956049,"sku":"SM-65868865601885","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XS","offer_id":55371795988817,"sku":"SM-65868865634653","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ S","offer_id":55371796021585,"sku":"SM-65868865667421","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371796054353,"sku":"SM-65868865700189","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371796087121,"sku":"SM-65868865732957","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371796119889,"sku":"SM-65868865765725","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 2XL","offer_id":55371796152657,"sku":"SM-65868865798493","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 3XL","offer_id":55371796185425,"sku":"SM-65868865831261","price":74.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-weste-lang-gesteppte-kapuzen-steppweste-rmellos-1.jpg?v=1792460047"},{"product_id":"womens-floral-quilted-vest-with-pockets-frieda","title":"Gewatteerde bodywarmer met bloemen en zakken voor dames | Frieda","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eFrieda\u003c\/strong\u003e, een gewatteerde bodywarmer met bloemen en zakken van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eBloemenpatroon\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. In vorm brengen en liggend laten drogen. Volg altijd het wasvoorschrift.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-floral-quilted-vest-with-pockets-frieda\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\"],\"colors\":[\"Purple\",\"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. 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":"Paars \/ S","offer_id":55371796218193,"sku":"SM-65868863603037","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371796250961,"sku":"SM-65868863635805","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371796283729,"sku":"SM-65868863668573","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371796316497,"sku":"SM-65868863701341","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371796349265,"sku":"SM-65868863734109","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371796382033,"sku":"SM-65868863766877","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371796414801,"sku":"SM-65868863799645","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371796447569,"sku":"SM-65868863832413","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371796480337,"sku":"SM-65868863865181","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/gesteppte-blumen-weste-damen-mit-seitentaschen-6.jpg?v=1792460049"},{"product_id":"womens-tailored-button-front-vest-nora","title":"Getailleerd gilet met knopen voor dames | Nora","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eNora\u003c\/strong\u003e, een getailleerd gilet 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\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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. 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-tailored-button-front-vest-nora\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Khaki\",\"Coffee\",\"Black\",\"Dark Red\",\"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":"Kaki \/ S","offer_id":55371796644177,"sku":"SM-65868863897949","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371796676945,"sku":"SM-65868863930717","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371796709713,"sku":"SM-65868863963485","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371796742481,"sku":"SM-65868863996253","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371796775249,"sku":"SM-65868864029021","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ S","offer_id":55371796808017,"sku":"SM-65868864061789","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ M","offer_id":55371796840785,"sku":"SM-65868864094557","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ L","offer_id":55371796873553,"sku":"SM-65868864127325","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ XL","offer_id":55371796906321,"sku":"SM-65868864160093","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ 2XL","offer_id":55371796939089,"sku":"SM-65868864192861","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371796971857,"sku":"SM-65868864225629","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371797004625,"sku":"SM-65868864258397","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371797037393,"sku":"SM-65868864291165","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371797070161,"sku":"SM-65868864323933","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371797102929,"sku":"SM-65868864356701","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ S","offer_id":55371797135697,"sku":"SM-65868864389469","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ M","offer_id":55371797168465,"sku":"SM-65868864422237","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ L","offer_id":55371797201233,"sku":"SM-65868864455005","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ XL","offer_id":55371797234001,"sku":"SM-65868864487773","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ 2XL","offer_id":55371797266769,"sku":"SM-65868864520541","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371797299537,"sku":"SM-65868864553309","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371797332305,"sku":"SM-65868864586077","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371797365073,"sku":"SM-65868864618845","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371797397841,"sku":"SM-65868864651613","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371797430609,"sku":"SM-65868864684381","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/rmellose-weste-damen-knopfleiste-tailliert-elegant-10.jpg?v=1792460051"},{"product_id":"womens-long-hooded-quilted-vest-clara","title":"Lange gewatteerde bodywarmer met capuchon voor dames | Clara","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eClara\u003c\/strong\u003e, een lange gewatteerde bodywarmer 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\u003eVerlengd silhouet\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\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\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-long-hooded-quilted-vest-clara\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Khaki\",\"Black\",\"Gray\",\"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: 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":"Kaki \/ S","offer_id":55371818172753,"sku":"SM-65868804882781","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371818205521,"sku":"SM-65868804915549","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371818238289,"sku":"SM-65868804948317","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371818271057,"sku":"SM-65868804981085","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371818303825,"sku":"SM-65868805013853","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371818336593,"sku":"SM-65868805046621","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371818369361,"sku":"SM-65868805079389","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371818402129,"sku":"SM-65868805112157","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371818434897,"sku":"SM-65868805144925","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371818467665,"sku":"SM-65868805177693","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371818500433,"sku":"SM-65868805210461","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371818533201,"sku":"SM-65868805243229","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371818565969,"sku":"SM-65868805275997","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371818598737,"sku":"SM-65868805308765","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371818631505,"sku":"SM-65868805341533","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371818664273,"sku":"SM-65868805374301","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371818697041,"sku":"SM-65868805407069","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 3XL","offer_id":55371818729809,"sku":"SM-65868805439837","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371818762577,"sku":"SM-65868805472605","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371818795345,"sku":"SM-65868805505373","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371818828113,"sku":"SM-65868805538141","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371818860881,"sku":"SM-65868805570909","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371818893649,"sku":"SM-65868805603677","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 3XL","offer_id":55371818926417,"sku":"SM-65868805636445","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371818959185,"sku":"SM-65868805669213","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371818991953,"sku":"SM-65868805701981","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371819024721,"sku":"SM-65868805734749","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371819057489,"sku":"SM-65868805767517","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371819090257,"sku":"SM-65868805800285","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371819123025,"sku":"SM-65868805833053","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/wollmantel-damen-rmellose-lange-steppweste-mit-kapuze-1.jpg?v=1792460087"},{"product_id":"womens-winter-vest-andrea","title":"Winterbodywarmer voor dames | Andrea","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAndrea\u003c\/strong\u003e, een winterbodywarmer van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003cli\u003eOntworpen om in laagjes te dragen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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-winter-vest-andrea\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Dark Khaki\",\"Beige\",\"Light Khaki\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Donkerkaki \/ S","offer_id":55371850842449,"sku":"SM-65868631703901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerkaki \/ M","offer_id":55371850875217,"sku":"SM-65868631736669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerkaki \/ L","offer_id":55371850907985,"sku":"SM-65868631769437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Donkerkaki \/ XL","offer_id":55371850940753,"sku":"SM-65868631802205","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371850973521,"sku":"SM-65868631834973","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371851006289,"sku":"SM-65868631867741","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371851039057,"sku":"SM-65868631900509","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371851071825,"sku":"SM-65868631933277","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtkaki \/ S","offer_id":55371851104593,"sku":"SM-65868631966045","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtkaki \/ M","offer_id":55371851137361,"sku":"SM-65868631998813","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtkaki \/ L","offer_id":55371851170129,"sku":"SM-65868632031581","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtkaki \/ XL","offer_id":55371851202897,"sku":"SM-65868632064349","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/H327179a4db6b463c9253b5e11046963c5.webp?v=1792460142"},{"product_id":"womens-long-hooded-quilted-vest-emilia","title":"Lange gewatteerde bodywarmer met capuchon voor dames | Emilia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eEmilia\u003c\/strong\u003e, een lange gewatteerde bodywarmer 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\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-long-hooded-quilted-vest-emilia\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Khaki\",\"Black\",\"Gray\",\"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: 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":"Kaki \/ S","offer_id":55371866014033,"sku":"SM-65868563022173","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371866046801,"sku":"SM-65868563054941","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371866079569,"sku":"SM-65868563087709","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371866112337,"sku":"SM-65868563120477","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371866145105,"sku":"SM-65868563153245","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371866177873,"sku":"SM-65868563186013","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371866210641,"sku":"SM-65868563218781","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371866243409,"sku":"SM-65868563251549","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371866276177,"sku":"SM-65868563284317","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371866308945,"sku":"SM-65868563317085","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371866341713,"sku":"SM-65868563349853","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371866374481,"sku":"SM-65868563382621","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ S","offer_id":55371866407249,"sku":"SM-65868563415389","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371866440017,"sku":"SM-65868563448157","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371866472785,"sku":"SM-65868563480925","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371866505553,"sku":"SM-65868563513693","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371866538321,"sku":"SM-65868563546461","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 3XL","offer_id":55371866571089,"sku":"SM-65868563579229","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ S","offer_id":55371866603857,"sku":"SM-65868563611997","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371866636625,"sku":"SM-65868563644765","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371866669393,"sku":"SM-65868563677533","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371866702161,"sku":"SM-65868563710301","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371866734929,"sku":"SM-65868563743069","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 3XL","offer_id":55371866767697,"sku":"SM-65868563775837","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371866800465,"sku":"SM-65868563808605","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371866833233,"sku":"SM-65868563841373","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371866866001,"sku":"SM-65868563874141","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371866898769,"sku":"SM-65868563906909","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371866931537,"sku":"SM-65868563939677","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371866964305,"sku":"SM-65868563972445","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/wintermantel-damen-langer-rmelloser-stepp-parka-mit-kapuze-1.jpg?v=1792460174"},{"product_id":"womens-long-hooded-quilted-vest-elfriede","title":"Lange gewatteerde bodywarmer met capuchon voor dames | Elfriede","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eElfriede\u003c\/strong\u003e, een lange gewatteerde bodywarmer 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\u003eVerlengd silhouet\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eOpgestikte zakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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. 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-long-hooded-quilted-vest-elfriede\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Army Green\",\"Cream\",\"Black\",\"Khaki\",\"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: 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":"Legergroen \/ XS","offer_id":55371895406929,"sku":"SM-65868519309661","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ S","offer_id":55371895439697,"sku":"SM-65868519342429","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ M","offer_id":55371895472465,"sku":"SM-65868519375197","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ L","offer_id":55371895505233,"sku":"SM-65868519407965","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ XL","offer_id":55371895538001,"sku":"SM-65868519440733","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ 2XL","offer_id":55371895570769,"sku":"SM-65868519473501","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Legergroen \/ 3XL","offer_id":55371895603537,"sku":"SM-65868519506269","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XS","offer_id":55371895636305,"sku":"SM-65868519539037","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ S","offer_id":55371895669073,"sku":"SM-65868519571805","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ M","offer_id":55371895701841,"sku":"SM-65868519604573","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ L","offer_id":55371895734609,"sku":"SM-65868519637341","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XL","offer_id":55371895767377,"sku":"SM-65868519670109","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 2XL","offer_id":55371895800145,"sku":"SM-65868519702877","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 3XL","offer_id":55371895832913,"sku":"SM-65868519735645","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XS","offer_id":55371895865681,"sku":"SM-65868519768413","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371895898449,"sku":"SM-65868519801181","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371895931217,"sku":"SM-65868519833949","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371895963985,"sku":"SM-65868519866717","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371895996753,"sku":"SM-65868519899485","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371896029521,"sku":"SM-65868519932253","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371896062289,"sku":"SM-65868519965021","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XS","offer_id":55371896095057,"sku":"SM-65868519997789","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371896127825,"sku":"SM-65868520030557","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371896160593,"sku":"SM-65868520063325","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371896193361,"sku":"SM-65868520096093","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371896226129,"sku":"SM-65868520128861","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371896258897,"sku":"SM-65868520161629","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371896291665,"sku":"SM-65868520194397","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XS","offer_id":55371896324433,"sku":"SM-65868520227165","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ S","offer_id":55371896357201,"sku":"SM-65868520259933","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371896389969,"sku":"SM-65868520292701","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371896422737,"sku":"SM-65868520325469","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371896455505,"sku":"SM-65868520358237","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 2XL","offer_id":55371896488273,"sku":"SM-65868520391005","price":74.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 3XL","offer_id":55371896521041,"sku":"SM-65868520423773","price":74.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/bodywarmer-damen-langer-gesteppter-kapuzen-steppweste-1.jpg?v=1792460229"},{"product_id":"womens-tailored-button-front-vest-clara","title":"Getailleerd gilet met knopen voor dames | Clara","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eClara\u003c\/strong\u003e, een getailleerd gilet 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\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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-tailored-button-front-vest-clara\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Khaki\",\"Coffee\",\"Black\",\"Dark Red\",\"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":"Kaki \/ S","offer_id":55371896717649,"sku":"SM-65868521439581","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371896750417,"sku":"SM-65868521472349","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371896783185,"sku":"SM-65868521505117","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371896815953,"sku":"SM-65868521537885","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371896848721,"sku":"SM-65868521570653","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ S","offer_id":55371896881489,"sku":"SM-65868521603421","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ M","offer_id":55371896914257,"sku":"SM-65868521636189","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ L","offer_id":55371896947025,"sku":"SM-65868521668957","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ XL","offer_id":55371896979793,"sku":"SM-65868521701725","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ 2XL","offer_id":55371897012561,"sku":"SM-65868521734493","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371897045329,"sku":"SM-65868521767261","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371897078097,"sku":"SM-65868521800029","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371897110865,"sku":"SM-65868521832797","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371897143633,"sku":"SM-65868521865565","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371897176401,"sku":"SM-65868521898333","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ S","offer_id":55371897209169,"sku":"SM-65868521931101","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ M","offer_id":55371897241937,"sku":"SM-65868521963869","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ L","offer_id":55371897274705,"sku":"SM-65868521996637","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ XL","offer_id":55371897307473,"sku":"SM-65868522029405","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Donkerrood \/ 2XL","offer_id":55371897340241,"sku":"SM-65868522062173","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371897373009,"sku":"SM-65868522094941","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371897405777,"sku":"SM-65868522127709","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371897438545,"sku":"SM-65868522160477","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371897471313,"sku":"SM-65868522193245","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371897504081,"sku":"SM-65868522226013","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/bodywarmer-damen-elegante-rmellose-knopfleisten-weste-10.jpg?v=1792460230"},{"product_id":"womens-floral-quilted-vest-with-pockets-hannah","title":"Gewatteerde bodywarmer met bloemen en zakken voor dames | Hannah","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHannah\u003c\/strong\u003e, een gewatteerde bodywarmer met bloemen en zakken van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eBloemenpatroon\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\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-floral-quilted-vest-with-pockets-hannah\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\"],\"colors\":[\"Purple\",\"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. 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":"Paars \/ S","offer_id":55371897766225,"sku":"SM-65868524093789","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371897798993,"sku":"SM-65868524126557","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371897831761,"sku":"SM-65868524159325","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371897864529,"sku":"SM-65868524192093","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371897897297,"sku":"SM-65868524224861","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371897930065,"sku":"SM-65868524257629","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371897962833,"sku":"SM-65868524290397","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371897995601,"sku":"SM-65868524323165","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371898028369,"sku":"SM-65868524355933","price":37.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/bodywarmer-damen-gesteppte-blumen-weste-mit-seitentaschen-6.jpg?v=1792460232"},{"product_id":"womens-high-collar-quilted-vest-marlene","title":"Gewatteerde bodywarmer met hoge kraag voor dames | Marlene","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarlene\u003c\/strong\u003e, een gewatteerde bodywarmer 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\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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. 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-high-collar-quilted-vest-marlene\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Cream White\",\"Black\",\"Apricot\",\"Coffee\"],\"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":"Crèmewit \/ S","offer_id":55371898257745,"sku":"SM-65868515639645","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ M","offer_id":55371898290513,"sku":"SM-65868515672413","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ L","offer_id":55371898323281,"sku":"SM-65868515705181","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ XL","offer_id":55371898356049,"sku":"SM-65868515737949","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ 2XL","offer_id":55371898388817,"sku":"SM-65868515770717","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371898421585,"sku":"SM-65868515803485","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371898454353,"sku":"SM-65868515836253","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371898487121,"sku":"SM-65868515869021","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371898519889,"sku":"SM-65868515901789","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371898552657,"sku":"SM-65868515934557","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ S","offer_id":55371898585425,"sku":"SM-65868515967325","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ M","offer_id":55371898618193,"sku":"SM-65868516000093","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ L","offer_id":55371898650961,"sku":"SM-65868516032861","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ XL","offer_id":55371898683729,"sku":"SM-65868516065629","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Abrikoos \/ 2XL","offer_id":55371898716497,"sku":"SM-65868516098397","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ S","offer_id":55371898749265,"sku":"SM-65868516131165","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ M","offer_id":55371898782033,"sku":"SM-65868516163933","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ L","offer_id":55371898814801,"sku":"SM-65868516196701","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ XL","offer_id":55371898847569,"sku":"SM-65868516229469","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ 2XL","offer_id":55371898880337,"sku":"SM-65868516262237","price":54.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/bodywarmer-damen-steppweste-hochkragen-rmellos-reiverschluss-10.jpg?v=1792460234"},{"product_id":"womens-quilted-stand-collar-vest-annika","title":"Gewatteerde bodywarmer met opstaande kraag voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een gewatteerde bodywarmer met opstaande 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\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL, 3XL, 4XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. 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-quilted-stand-collar-vest-annika\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\"],\"colors\":[\"Cream\",\"Pea Green\",\"Black\",\"Light Purple\",\"Pink\",\"Muted 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, 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":"Crème \/ M","offer_id":55371898913105,"sku":"SM-65868516295005","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ L","offer_id":55371898945873,"sku":"SM-65868516327773","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XL","offer_id":55371898978641,"sku":"SM-65868516360541","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 2XL","offer_id":55371899011409,"sku":"SM-65868516393309","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 3XL","offer_id":55371899044177,"sku":"SM-65868516426077","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 4XL","offer_id":55371899076945,"sku":"SM-65868516458845","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ M","offer_id":55371899109713,"sku":"SM-65868516491613","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ L","offer_id":55371899142481,"sku":"SM-65868516524381","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ XL","offer_id":55371899175249,"sku":"SM-65868516557149","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ 2XL","offer_id":55371899208017,"sku":"SM-65868516589917","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ 3XL","offer_id":55371899240785,"sku":"SM-65868516622685","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ 4XL","offer_id":55371899273553,"sku":"SM-65868516655453","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371899306321,"sku":"SM-65868516688221","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371899339089,"sku":"SM-65868516720989","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371899371857,"sku":"SM-65868516753757","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371899404625,"sku":"SM-65868516786525","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371899437393,"sku":"SM-65868516819293","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371899470161,"sku":"SM-65868516852061","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ M","offer_id":55371899502929,"sku":"SM-65868516884829","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ L","offer_id":55371899535697,"sku":"SM-65868516917597","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ XL","offer_id":55371899568465,"sku":"SM-65868516950365","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ 2XL","offer_id":55371899601233,"sku":"SM-65868516983133","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ 3XL","offer_id":55371899634001,"sku":"SM-65868517015901","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ 4XL","offer_id":55371899666769,"sku":"SM-65868517048669","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371899699537,"sku":"SM-65868517081437","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371899732305,"sku":"SM-65868517114205","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371899765073,"sku":"SM-65868517146973","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371899797841,"sku":"SM-65868517179741","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371899830609,"sku":"SM-65868517212509","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 4XL","offer_id":55371899863377,"sku":"SM-65868517245277","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ M","offer_id":55371899896145,"sku":"SM-65868517278045","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ L","offer_id":55371899928913,"sku":"SM-65868517310813","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ XL","offer_id":55371899961681,"sku":"SM-65868517343581","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ 2XL","offer_id":55371899994449,"sku":"SM-65868517376349","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ 3XL","offer_id":55371900027217,"sku":"SM-65868517409117","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Gedempt blauw \/ 4XL","offer_id":55371900059985,"sku":"SM-65868517441885","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/bodywarmer-damen-gesteppte-weste-mit-stehkragen-2.jpg?v=1792460236"},{"product_id":"womens-insulated-hooded-snap-front-vest-leonie","title":"Gevoerde bodywarmer met capuchon en drukknopen voor dames | Leonie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLeonie\u003c\/strong\u003e, een gevoerde bodywarmer met capuchon en drukknopen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003cli\u003eRitszakken\u003c\/li\u003e\n\u003cli\u003eBescherming tegen wind\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. Niet 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-insulated-hooded-snap-front-vest-leonie\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Brown\",\"Black\",\"Khaki\",\"Milky Beige\",\"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: 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 \/ M","offer_id":55371914346833,"sku":"SM-65868476285277","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371914379601,"sku":"SM-65868476318045","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371914412369,"sku":"SM-65868476350813","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ M","offer_id":55371914445137,"sku":"SM-65868476383581","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371914477905,"sku":"SM-65868476416349","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371914510673,"sku":"SM-65868476449117","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371914543441,"sku":"SM-65868476481885","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371914576209,"sku":"SM-65868476514653","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ L","offer_id":55371914608977,"sku":"SM-65868476547421","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371914641745,"sku":"SM-65868476580189","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371914674513,"sku":"SM-65868476612957","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371914707281,"sku":"SM-65868476645725","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371914740049,"sku":"SM-65868476678493","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ XL","offer_id":55371914772817,"sku":"SM-65868476711261","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371914805585,"sku":"SM-65868476744029","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371914838353,"sku":"SM-65868476776797","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371914871121,"sku":"SM-65868476809565","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ 2XL","offer_id":55371914903889,"sku":"SM-65868476842333","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371914936657,"sku":"SM-65868476875101","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 2XL","offer_id":55371914969425,"sku":"SM-65868476907869","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-wattierter-bodywarmer-mit-kapuze-druckknopf-stehkragen-2.jpg?v=1792460271"},{"product_id":"womens-quilted-vest-with-heart-motif-leonie","title":"Gewatteerde bodywarmer met hartjesmotief voor dames | Leonie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLeonie\u003c\/strong\u003e, een gewatteerde bodywarmer met hartjesmotief 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\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-quilted-vest-with-heart-motif-leonie\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Brown\",\"Black\",\"Milky Beige\",\"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: 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 \/ M","offer_id":55371915395409,"sku":"SM-65868474679645","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371915428177,"sku":"SM-65868474712413","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ M","offer_id":55371915460945,"sku":"SM-65868474745181","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371915493713,"sku":"SM-65868474777949","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371915526481,"sku":"SM-65868474810717","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371915559249,"sku":"SM-65868474843485","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ L","offer_id":55371915592017,"sku":"SM-65868474876253","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371915624785,"sku":"SM-65868474909021","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371915657553,"sku":"SM-65868474941789","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371915690321,"sku":"SM-65868474974557","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ XL","offer_id":55371915723089,"sku":"SM-65868475007325","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371915755857,"sku":"SM-65868475040093","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371915788625,"sku":"SM-65868475072861","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ 2XL","offer_id":55371915821393,"sku":"SM-65868475105629","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371915854161,"sku":"SM-65868475138397","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 2XL","offer_id":55371915886929,"sku":"SM-65868475171165","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-bodywarmer-mit-stehkragen-und-kordel-herzde-4.jpg?v=1792460272"},{"product_id":"womens-quilted-vest-with-faux-fur-collar-hannah","title":"Gewatteerde bodywarmer met kraag van imitatiebont voor dames | Hannah","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eHannah\u003c\/strong\u003e, een gewatteerde bodywarmer met kraag van imitatiebont van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSjaalkraag\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eAansluitende snit\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\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 strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: 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. 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-quilted-vest-with-faux-fur-collar-hannah\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\"],\"colors\":[\"Brown\",\"Off-White\",\"Black\",\"Khaki\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Bruin \/ M","offer_id":55371916018001,"sku":"SM-65868473598301","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ M","offer_id":55371916050769,"sku":"SM-65868473631069","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371916083537,"sku":"SM-65868473663837","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371916116305,"sku":"SM-65868473696605","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371916149073,"sku":"SM-65868473729373","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371916181841,"sku":"SM-65868473762141","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ L","offer_id":55371916214609,"sku":"SM-65868473794909","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371916247377,"sku":"SM-65868473827677","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371916280145,"sku":"SM-65868473860445","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ XL","offer_id":55371916312913,"sku":"SM-65868473893213","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371916345681,"sku":"SM-65868473925981","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371916378449,"sku":"SM-65868473958749","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-bodywarmer-gesteppte-weste-kunstpelz-schalkragen-tunne-4.jpg?v=1792460274"},{"product_id":"womens-insulated-hooded-vest-with-zippered-pockets-annika","title":"Gevoerde bodywarmer met capuchon en ritszakken voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een gevoerde bodywarmer met capuchon en ritszakken van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\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 over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-insulated-hooded-vest-with-zippered-pockets-annika\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Green\",\"Blue\",\"Khaki\",\"Black\",\"Brown\",\"Off-White\",\"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: 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 \/ M","offer_id":55371916411217,"sku":"SM-65868471501149","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371916443985,"sku":"SM-65868471533917","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371916476753,"sku":"SM-65868471566685","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371916509521,"sku":"SM-65868471599453","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371916542289,"sku":"SM-65868471632221","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ M","offer_id":55371916575057,"sku":"SM-65868471664989","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371916607825,"sku":"SM-65868471697757","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371916640593,"sku":"SM-65868471730525","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371916673361,"sku":"SM-65868471763293","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371916706129,"sku":"SM-65868471796061","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371916738897,"sku":"SM-65868471828829","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371916771665,"sku":"SM-65868471861597","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ L","offer_id":55371916804433,"sku":"SM-65868471894365","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371916837201,"sku":"SM-65868471927133","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ XL","offer_id":55371916869969,"sku":"SM-65868471959901","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371916902737,"sku":"SM-65868471992669","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371916935505,"sku":"SM-65868472025437","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371916968273,"sku":"SM-65868472058205","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371917001041,"sku":"SM-65868472090973","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371917033809,"sku":"SM-65868472123741","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371917066577,"sku":"SM-65868472156509","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371917099345,"sku":"SM-65868472189277","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ 2XL","offer_id":55371917132113,"sku":"SM-65868472222045","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371917164881,"sku":"SM-65868472254813","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371917197649,"sku":"SM-65868472287581","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371917230417,"sku":"SM-65868472320349","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 2XL","offer_id":55371917263185,"sku":"SM-65868472353117","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371917295953,"sku":"SM-65868472385885","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-wattierter-kapuzen-bodywarmer-mit-reiverschlusstaschen-2.jpg?v=1792460275"},{"product_id":"womens-quilted-stand-collar-vest-with-pockets-marlene","title":"Gewatteerde bodywarmer met opstaande kraag en zakken voor dames | Marlene","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarlene\u003c\/strong\u003e, een gewatteerde bodywarmer met opstaande kraag en zakken 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\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003ePraktische zijzakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL, 3XL, 4XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-quilted-stand-collar-vest-with-pockets-marlene\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\"],\"colors\":[\"Cream\",\"Pea Green\",\"Black\",\"Light Purple\",\"Pink\",\"Misty 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, 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":"Crème \/ M","offer_id":55371917328721,"sku":"SM-65868472418653","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ L","offer_id":55371917361489,"sku":"SM-65868472451421","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ XL","offer_id":55371917394257,"sku":"SM-65868472484189","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 2XL","offer_id":55371917427025,"sku":"SM-65868472516957","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 3XL","offer_id":55371917459793,"sku":"SM-65868472549725","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Crème \/ 4XL","offer_id":55371917492561,"sku":"SM-65868472582493","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ M","offer_id":55371917525329,"sku":"SM-65868472615261","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ L","offer_id":55371917558097,"sku":"SM-65868472648029","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ XL","offer_id":55371917590865,"sku":"SM-65868472680797","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ 2XL","offer_id":55371917623633,"sku":"SM-65868472713565","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ 3XL","offer_id":55371917656401,"sku":"SM-65868472746333","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Erwtengroen \/ 4XL","offer_id":55371917689169,"sku":"SM-65868472779101","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371917721937,"sku":"SM-65868472811869","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371917754705,"sku":"SM-65868472844637","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371917787473,"sku":"SM-65868472877405","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371917820241,"sku":"SM-65868472910173","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371917853009,"sku":"SM-65868472942941","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 4XL","offer_id":55371917885777,"sku":"SM-65868472975709","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ M","offer_id":55371917918545,"sku":"SM-65868473008477","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ L","offer_id":55371917951313,"sku":"SM-65868473041245","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ XL","offer_id":55371917984081,"sku":"SM-65868473074013","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ 2XL","offer_id":55371918016849,"sku":"SM-65868473106781","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ 3XL","offer_id":55371918049617,"sku":"SM-65868473139549","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Lichtpaars \/ 4XL","offer_id":55371918082385,"sku":"SM-65868473172317","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371918115153,"sku":"SM-65868473205085","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371918147921,"sku":"SM-65868473237853","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371918180689,"sku":"SM-65868473270621","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371918213457,"sku":"SM-65868473303389","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371918246225,"sku":"SM-65868473336157","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 4XL","offer_id":55371918278993,"sku":"SM-65868473368925","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Mistblauw \/ M","offer_id":55371918311761,"sku":"SM-65868473401693","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Mistblauw \/ L","offer_id":55371918344529,"sku":"SM-65868473434461","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Mistblauw \/ XL","offer_id":55371918377297,"sku":"SM-65868473467229","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Mistblauw \/ 2XL","offer_id":55371918410065,"sku":"SM-65868473499997","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Mistblauw \/ 3XL","offer_id":55371918442833,"sku":"SM-65868473532765","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Mistblauw \/ 4XL","offer_id":55371918475601,"sku":"SM-65868473565533","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-bodywarmer-mit-stehkragen-und-taschen-2.jpg?v=1792460278"},{"product_id":"womens-ultralight-cropped-quilted-vest-annika","title":"Ultralichte korte gewatteerde bodywarmer voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een ultralichte korte gewatteerde bodywarmer van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDonsvulling\u003c\/li\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\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003cli\u003eBescherming tegen wind\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: 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. 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-ultralight-cropped-quilted-vest-annika\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\"],\"colors\":[\"White\",\"Coffee\",\"Black\",\"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: 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":"Wit \/ M","offer_id":55371918508369,"sku":"SM-65868471009629","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ M","offer_id":55371918541137,"sku":"SM-65868471042397","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371918573905,"sku":"SM-65868471075165","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371918606673,"sku":"SM-65868471107933","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371918639441,"sku":"SM-65868471140701","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371918672209,"sku":"SM-65868471173469","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ L","offer_id":55371918704977,"sku":"SM-65868471206237","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371918737745,"sku":"SM-65868471239005","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371918770513,"sku":"SM-65868471271773","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371918803281,"sku":"SM-65868471304541","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371918836049,"sku":"SM-65868471337309","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Koffiebruin \/ XL","offer_id":55371918868817,"sku":"SM-65868471370077","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371918901585,"sku":"SM-65868471402845","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371918934353,"sku":"SM-65868471435613","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371918967121,"sku":"SM-65868471468381","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-ultraleichter-stehkragen-bodywarmer-kurze-steppweste-6.jpg?v=1792460279"},{"product_id":"womens-quilted-vest-with-straps-and-buckles-nora","title":"Gewatteerde bodywarmer met banden en gespen voor dames | Nora","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eNora\u003c\/strong\u003e, een gewatteerde bodywarmer met banden en gespen 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\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-quilted-vest-with-straps-and-buckles-nora\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Brown\",\"Black\",\"Milky Beige\",\"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: 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 \/ M","offer_id":55371920703825,"sku":"SM-65868470485341","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371920736593,"sku":"SM-65868470518109","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ M","offer_id":55371920769361,"sku":"SM-65868470550877","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371920802129,"sku":"SM-65868470583645","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371920834897,"sku":"SM-65868470616413","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371920867665,"sku":"SM-65868470649181","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ L","offer_id":55371920900433,"sku":"SM-65868470681949","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371920933201,"sku":"SM-65868470714717","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371920965969,"sku":"SM-65868470747485","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371920998737,"sku":"SM-65868470780253","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ XL","offer_id":55371921031505,"sku":"SM-65868470813021","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371921064273,"sku":"SM-65868470845789","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371921097041,"sku":"SM-65868470878557","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371921129809,"sku":"SM-65868470911325","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ 2XL","offer_id":55371921162577,"sku":"SM-65868470944093","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 2XL","offer_id":55371921195345,"sku":"SM-65868470976861","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-bodywarmer-mit-hohem-stehkragen-und-zierrie-2.jpg?v=1792460282"},{"product_id":"womens-hooded-button-front-quilted-vest-leonie","title":"Gewatteerde bodywarmer met capuchon en knopen voor dames | Leonie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLeonie\u003c\/strong\u003e, een gewatteerde bodywarmer met capuchon en knopen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003cli\u003eWaterafstotende afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-hooded-button-front-quilted-vest-leonie\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Milan Brown\",\"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: 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":"Milaanbruin \/ M","offer_id":55371921490257,"sku":"SM-65868466454877","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371921523025,"sku":"SM-65868466487645","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371921555793,"sku":"SM-65868466520413","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Milaanbruin \/ L","offer_id":55371921588561,"sku":"SM-65868466553181","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371921621329,"sku":"SM-65868466585949","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371921654097,"sku":"SM-65868466618717","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Milaanbruin \/ XL","offer_id":55371921686865,"sku":"SM-65868466651485","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371921719633,"sku":"SM-65868466684253","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371921752401,"sku":"SM-65868466717021","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371921785169,"sku":"SM-65868466749789","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Milaanbruin \/ 2XL","offer_id":55371921817937,"sku":"SM-65868466782557","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371921850705,"sku":"SM-65868466815325","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-bodywarmer-gesteppte-kapuzenweste-mit-knopfleiste-1.jpg?v=1792460283"},{"product_id":"womens-cropped-corduroy-snap-front-vest-marie","title":"Kort gilet van ribfluweel met drukknopen voor dames | Marie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarie\u003c\/strong\u003e, een kort gilet van ribfluweel met drukknopen van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRibfluweel\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eKort silhouet\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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. 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-cropped-corduroy-snap-front-vest-marie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Off-White\",\"Pink\",\"Black\",\"Light Blue\",\"Khaki\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Gebroken wit \/ S","offer_id":55371922866513,"sku":"SM-65868469371229","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371922899281,"sku":"SM-65868469403997","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371922932049,"sku":"SM-65868469436765","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ S","offer_id":55371922964817,"sku":"SM-65868469469533","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371922997585,"sku":"SM-65868469502301","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ M","offer_id":55371923030353,"sku":"SM-65868469535069","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371923063121,"sku":"SM-65868469567837","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371923095889,"sku":"SM-65868469600605","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371923128657,"sku":"SM-65868469633373","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371923161425,"sku":"SM-65868469666141","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371923194193,"sku":"SM-65868469698909","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ L","offer_id":55371923226961,"sku":"SM-65868469731677","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371923259729,"sku":"SM-65868469764445","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371923292497,"sku":"SM-65868469797213","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371923325265,"sku":"SM-65868469829981","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371923358033,"sku":"SM-65868469862749","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ XL","offer_id":55371923390801,"sku":"SM-65868469895517","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371923423569,"sku":"SM-65868469928285","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371923456337,"sku":"SM-65868469961053","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371923489105,"sku":"SM-65868469993821","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-corduroy-steppweste-kurzer-bodywarmer-mit-stehkragen-d-9.jpg?v=1792460285"},{"product_id":"womens-quilted-stand-collar-vest-with-pockets-greta","title":"Gewatteerde bodywarmer met opstaande kraag en zakken voor dames | Greta","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eGreta\u003c\/strong\u003e, een gewatteerde bodywarmer met opstaande kraag en zakken 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\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eBescherming tegen wind\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. Niet 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-quilted-stand-collar-vest-with-pockets-greta\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Brown\",\"Black\",\"Khaki\",\"Milky 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: 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 \/ M","offer_id":55371925324113,"sku":"SM-65868467372381","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371925356881,"sku":"SM-65868467405149","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371925389649,"sku":"SM-65868467437917","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ M","offer_id":55371925422417,"sku":"SM-65868467470685","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371925455185,"sku":"SM-65868467503453","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371925487953,"sku":"SM-65868467536221","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371925520721,"sku":"SM-65868467568989","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ L","offer_id":55371925553489,"sku":"SM-65868467601757","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371925586257,"sku":"SM-65868467634525","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371925619025,"sku":"SM-65868467667293","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ XL","offer_id":55371925651793,"sku":"SM-65868467700061","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371925684561,"sku":"SM-65868467732829","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371925717329,"sku":"SM-65868467765597","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371925750097,"sku":"SM-65868467798365","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ 2XL","offer_id":55371925782865,"sku":"SM-65868467831133","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Melkbeige \/ 2XL","offer_id":55371925815633,"sku":"SM-65868467863901","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-bodywarmer-mit-stehkragen-und-multifunktion-4.jpg?v=1792460286"},{"product_id":"womens-insulated-vest-with-contrast-hood-charlotte","title":"Gevoerde bodywarmer met contrasterende capuchon voor dames | Charlotte","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eCharlotte\u003c\/strong\u003e, een gevoerde bodywarmer met contrasterende capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eGeïsoleerde uitvoering\u003c\/li\u003e\n\u003cli\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-insulated-vest-with-contrast-hood-charlotte\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Fuchsia\",\"Pink\",\"Orange\",\"Burgundy\",\"Black\",\"Olive Green\",\"Yellow\",\"Blue Gray\",\"Cream White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: M, L, XL, 2XL, 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":"Fuchsia \/ M","offer_id":55371926110545,"sku":"SM-65868467896669","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371926143313,"sku":"SM-65868467929437","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ M","offer_id":55371926176081,"sku":"SM-65868467962205","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ M","offer_id":55371926208849,"sku":"SM-65868467994973","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371926241617,"sku":"SM-65868468027741","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ M","offer_id":55371926274385,"sku":"SM-65868468060509","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ M","offer_id":55371926307153,"sku":"SM-65868468093277","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blauwgrijs \/ M","offer_id":55371926339921,"sku":"SM-65868468126045","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ M","offer_id":55371926372689,"sku":"SM-65868468158813","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ L","offer_id":55371926405457,"sku":"SM-65868468191581","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371926438225,"sku":"SM-65868468224349","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ L","offer_id":55371926470993,"sku":"SM-65868468257117","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ L","offer_id":55371926503761,"sku":"SM-65868468289885","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371926536529,"sku":"SM-65868468322653","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ L","offer_id":55371926569297,"sku":"SM-65868468355421","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ L","offer_id":55371926602065,"sku":"SM-65868468388189","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blauwgrijs \/ L","offer_id":55371926634833,"sku":"SM-65868468420957","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ L","offer_id":55371926667601,"sku":"SM-65868468453725","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blauwgrijs \/ XL","offer_id":55371926700369,"sku":"SM-65868468486493","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ XL","offer_id":55371926733137,"sku":"SM-65868468519261","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371926765905,"sku":"SM-65868468552029","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371926798673,"sku":"SM-65868468584797","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ XL","offer_id":55371926831441,"sku":"SM-65868468617565","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ XL","offer_id":55371926864209,"sku":"SM-65868468650333","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ XL","offer_id":55371926896977,"sku":"SM-65868468683101","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ XL","offer_id":55371926929745,"sku":"SM-65868468715869","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ XL","offer_id":55371926962513,"sku":"SM-65868468748637","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 2XL","offer_id":55371926995281,"sku":"SM-65868468781405","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ 2XL","offer_id":55371927028049,"sku":"SM-65868468814173","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371927060817,"sku":"SM-65868468846941","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blauwgrijs \/ 2XL","offer_id":55371927093585,"sku":"SM-65868468879709","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ 2XL","offer_id":55371927126353,"sku":"SM-65868468912477","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ 2XL","offer_id":55371927159121,"sku":"SM-65868468945245","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 2XL","offer_id":55371927191889,"sku":"SM-65868468978013","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 2XL","offer_id":55371927224657,"sku":"SM-65868469010781","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 2XL","offer_id":55371927257425,"sku":"SM-65868469043549","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 3XL","offer_id":55371927290193,"sku":"SM-65868469076317","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Oranje \/ 3XL","offer_id":55371927322961,"sku":"SM-65868469109085","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ 3XL","offer_id":55371927355729,"sku":"SM-65868469141853","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Bordeauxrood \/ 3XL","offer_id":55371927388497,"sku":"SM-65868469174621","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blauwgrijs \/ 3XL","offer_id":55371927421265,"sku":"SM-65868469207389","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Olijfgroen \/ 3XL","offer_id":55371927454033,"sku":"SM-65868469240157","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Geel \/ 3XL","offer_id":55371927486801,"sku":"SM-65868469272925","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ 3XL","offer_id":55371927519569,"sku":"SM-65868469305693","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia \/ 3XL","offer_id":55371927552337,"sku":"SM-65868469338461","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-wattierter-bodywarmer-mit-kontrastkapuze-druckknopflei-14.jpg?v=1792460290"},{"product_id":"womens-quilted-stand-collar-vest-with-drawstring-sophie","title":"Gewatteerde bodywarmer met opstaande kraag en trekkoord voor dames | Sophie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eSophie\u003c\/strong\u003e, een gewatteerde bodywarmer met opstaande kraag en trekkoord 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\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\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 strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-quilted-stand-collar-vest-with-drawstring-sophie\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Cream White\",\"Black\",\"Khaki\",\"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: 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":"Crèmewit \/ M","offer_id":55371927716177,"sku":"SM-65868466848093","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371927748945,"sku":"SM-65868466880861","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371927781713,"sku":"SM-65868466913629","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ M","offer_id":55371927814481,"sku":"SM-65868466946397","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ L","offer_id":55371927847249,"sku":"SM-65868466979165","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371927880017,"sku":"SM-65868467011933","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371927912785,"sku":"SM-65868467044701","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ L","offer_id":55371927945553,"sku":"SM-65868467077469","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ XL","offer_id":55371927978321,"sku":"SM-65868467110237","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371928011089,"sku":"SM-65868467143005","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ XL","offer_id":55371928043857,"sku":"SM-65868467175773","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371928076625,"sku":"SM-65868467208541","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371928109393,"sku":"SM-65868467241309","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ 2XL","offer_id":55371928142161,"sku":"SM-65868467274077","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371928174929,"sku":"SM-65868467306845","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Paars \/ 2XL","offer_id":55371928207697,"sku":"SM-65868467339613","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-bodywarmer-mit-stehkragen-und-kordelzugsaum-3.jpg?v=1792460291"},{"product_id":"womens-insulated-shawl-collar-vest-annika","title":"Gevoerde bodywarmer met sjaalkraag voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een gevoerde bodywarmer met sjaalkraag van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSjaalkraag\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-insulated-shawl-collar-vest-annika\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Cream White\",\"Black\",\"Khaki\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: 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":"Crèmewit \/ M","offer_id":55371928830289,"sku":"SM-65868463505757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371928863057,"sku":"SM-65868463538525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371928895825,"sku":"SM-65868463571293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371928928593,"sku":"SM-65868463604061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ L","offer_id":55371928961361,"sku":"SM-65868463636829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371928994129,"sku":"SM-65868463669597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ XL","offer_id":55371929026897,"sku":"SM-65868463702365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371929059665,"sku":"SM-65868463735133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371929092433,"sku":"SM-65868463767901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371929125201,"sku":"SM-65868463800669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Crèmewit \/ 2XL","offer_id":55371929157969,"sku":"SM-65868463833437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371929190737,"sku":"SM-65868463866205","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-bodywarmer-mit-schalkragen-zweiwege-reivers-2.jpg?v=1792460293"},{"product_id":"womens-double-breasted-velvet-vest-greta","title":"Fluwelen gilet met dubbele knopenrij voor dames | Greta","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eGreta\u003c\/strong\u003e, een fluwelen gilet met dubbele knopenrij van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSamenstelling: 97% polyester, 3% elastaan\u003c\/li\u003e\n\u003cli\u003eFluwelen textuur\u003c\/li\u003e\n\u003cli\u003eDubbele knopenrij aan de voorkant\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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. 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-double-breasted-velvet-vest-greta\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Navy\"],\"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":"Marineblauw \/ S","offer_id":55371929485649,"sku":"SM-65868463341917","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ M","offer_id":55371929518417,"sku":"SM-65868463374685","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ L","offer_id":55371929551185,"sku":"SM-65868463407453","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ XL","offer_id":55371929583953,"sku":"SM-65868463440221","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Marineblauw \/ 2XL","offer_id":55371929616721,"sku":"SM-65868463472989","price":57.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-zweireiher-samt-weste-im-military-stil-tailliert-1.jpg?v=1792460294"},{"product_id":"womens-quilted-vest-with-flap-pockets-marlene","title":"Gewatteerde bodywarmer met klepzakken voor dames | Marlene","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarlene\u003c\/strong\u003e, een gewatteerde bodywarmer met klepzakken 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\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eWaterafstotende afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-quilted-vest-with-flap-pockets-marlene\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Off-White\",\"Khaki\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: 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":"Gebroken wit \/ M","offer_id":55371930042705,"sku":"SM-65868463931741","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371930075473,"sku":"SM-65868463964509","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371930108241,"sku":"SM-65868463997277","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371930141009,"sku":"SM-65868464030045","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ L","offer_id":55371930173777,"sku":"SM-65868464062813","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371930206545,"sku":"SM-65868464095581","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ XL","offer_id":55371930239313,"sku":"SM-65868464128349","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371930272081,"sku":"SM-65868464161117","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371930304849,"sku":"SM-65868464193885","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371930337617,"sku":"SM-65868464226653","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ 2XL","offer_id":55371930370385,"sku":"SM-65868464259421","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371930403153,"sku":"SM-65868464292189","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-bodywarmer-mit-hohem-stehkragen-und-pattent-8.jpg?v=1792460296"},{"product_id":"womens-quilted-stand-collar-zip-up-vest-annika","title":"Gewatteerde bodywarmer met opstaande kraag en rits voor dames | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eAnnika\u003c\/strong\u003e, een gewatteerde bodywarmer met opstaande kraag 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\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eRitszakken\u003c\/li\u003e\n\u003cli\u003eWaterafstotende afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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. 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-quilted-stand-collar-zip-up-vest-annika\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Off-White\",\"Ginger Yellow\",\"Brown\",\"Black\",\"Light Blue\",\"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":"Gebroken wit \/ S","offer_id":55371931255121,"sku":"SM-65868464324957","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gembergeel \/ S","offer_id":55371931287889,"sku":"SM-65868464357725","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ S","offer_id":55371931320657,"sku":"SM-65868464390493","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371931353425,"sku":"SM-65868464423261","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ S","offer_id":55371931386193,"sku":"SM-65868464456029","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ S","offer_id":55371931418961,"sku":"SM-65868464488797","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gembergeel \/ M","offer_id":55371931451729,"sku":"SM-65868464521565","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ M","offer_id":55371931484497,"sku":"SM-65868464554333","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ M","offer_id":55371931517265,"sku":"SM-65868464587101","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371931550033,"sku":"SM-65868464619869","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371931582801,"sku":"SM-65868464652637","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ M","offer_id":55371931615569,"sku":"SM-65868464685405","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gembergeel \/ L","offer_id":55371931648337,"sku":"SM-65868464718173","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ L","offer_id":55371931681105,"sku":"SM-65868464750941","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ L","offer_id":55371931713873,"sku":"SM-65868464783709","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371931746641,"sku":"SM-65868464816477","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371931779409,"sku":"SM-65868464849245","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ L","offer_id":55371931812177,"sku":"SM-65868464882013","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ XL","offer_id":55371931844945,"sku":"SM-65868464914781","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Bruin \/ XL","offer_id":55371931877713,"sku":"SM-65868464947549","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtroze \/ XL","offer_id":55371931910481,"sku":"SM-65868464980317","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371931943249,"sku":"SM-65868465013085","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gembergeel \/ XL","offer_id":55371931976017,"sku":"SM-65868465045853","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371932008785,"sku":"SM-65868465078621","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-bodywarmer-mit-zweiwege-reiverschluss-stehk-11.jpg?v=1792460300"},{"product_id":"womens-insulated-quilted-v-neck-vest-elfriede","title":"Gevoerde gewatteerde bodywarmer met V-hals voor dames | Elfriede","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eElfriede\u003c\/strong\u003e, een gevoerde gewatteerde bodywarmer met V-hals van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLichte uitvoering\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eV-hals\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\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. 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-insulated-quilted-v-neck-vest-elfriede\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"White\",\"Black\",\"Khaki\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 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":"Wit \/ S","offer_id":55371932074321,"sku":"SM-65868460687709","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371932107089,"sku":"SM-65868460720477","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371932139857,"sku":"SM-65868460753245","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371932172625,"sku":"SM-65868460786013","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371932205393,"sku":"SM-65868460818781","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371932238161,"sku":"SM-65868460851549","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371932270929,"sku":"SM-65868460884317","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371932303697,"sku":"SM-65868460917085","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371932336465,"sku":"SM-65868460949853","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371932369233,"sku":"SM-65868460982621","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371932402001,"sku":"SM-65868461015389","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371932434769,"sku":"SM-65868461048157","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371932467537,"sku":"SM-65868461080925","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371932500305,"sku":"SM-65868461113693","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371932533073,"sku":"SM-65868461146461","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-gesteppter-bodywarmer-mit-v-ausschnitt-druckknopf-ther-2.jpg?v=1792460301"},{"product_id":"womens-quilted-stand-collar-vest-with-sherpa-marie","title":"Gewatteerde bodywarmer met opstaande kraag en sherpa voor dames | Marie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarie\u003c\/strong\u003e, een gewatteerde bodywarmer met opstaande kraag en sherpa van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte sherpatextuur\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003cli\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003cli\u003eBescherming tegen wind\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-quilted-stand-collar-vest-with-sherpa-marie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Gray\",\"Pink\",\"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":"Grijs \/ S","offer_id":55371932598609,"sku":"SM-65868462358877","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ S","offer_id":55371932631377,"sku":"SM-65868462391645","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371932664145,"sku":"SM-65868462424413","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371932696913,"sku":"SM-65868462457181","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371932729681,"sku":"SM-65868462489949","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ M","offer_id":55371932762449,"sku":"SM-65868462522717","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ L","offer_id":55371932795217,"sku":"SM-65868462555485","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371932827985,"sku":"SM-65868462588253","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371932860753,"sku":"SM-65868462621021","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Roze \/ XL","offer_id":55371932893521,"sku":"SM-65868462653789","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371932926289,"sku":"SM-65868462686557","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371932959057,"sku":"SM-65868462719325","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppweste-mit-teddyfutter-stehkragen-punkte-bodywarme-3.jpg?v=1792460303"},{"product_id":"womens-fleece-vest-clara","title":"Fleecebodywarmer voor dames | Clara","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eClara\u003c\/strong\u003e, een fleecebodywarmer van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eZachte sherpatextuur\u003c\/li\u003e\n\u003cli\u003eKnoopsluiting\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: S, M, L.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). Niet bleken. 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-fleece-vest-clara\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\"],\"colors\":[\"Rose Red\",\"Rice White\",\"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: 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":"Rozerood \/ S","offer_id":55371933843793,"sku":"SM-65868461179229","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Rozerood \/ M","offer_id":55371933876561,"sku":"SM-65868461211997","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Rozerood \/ L","offer_id":55371933909329,"sku":"SM-65868461244765","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Rijstwit \/ S","offer_id":55371933942097,"sku":"SM-65868461277533","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Rijstwit \/ M","offer_id":55371933974865,"sku":"SM-65868461310301","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Rijstwit \/ L","offer_id":55371934007633,"sku":"SM-65868461343069","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ S","offer_id":55371934040401,"sku":"SM-65868461375837","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371934073169,"sku":"SM-65868461408605","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371934105937,"sku":"SM-65868461441373","price":47.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-fleece-bodywarmer-rmellose-weste-1.jpg?v=1792460304"},{"product_id":"womens-patterned-hooded-quilted-vest-marlene","title":"Gewatteerde bodywarmer met capuchon en patroon voor dames | Marlene","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eMarlene\u003c\/strong\u003e, een gewatteerde bodywarmer met capuchon en patroon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\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\u003eVerstelbaar trekkoord\u003c\/li\u003e\n\u003cli\u003eRitszakken\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eCombineer met een strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: 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. 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-patterned-hooded-quilted-vest-marlene\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\"],\"colors\":[\"White\",\"Houndstooth\",\"Black\",\"Khaki\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: 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":"Wit \/ M","offer_id":55371934728529,"sku":"SM-65868461474141","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pied-de-poule \/ M","offer_id":55371934761297,"sku":"SM-65868461506909","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371934794065,"sku":"SM-65868461539677","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371934826833,"sku":"SM-65868461572445","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371934859601,"sku":"SM-65868461605213","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371934892369,"sku":"SM-65868461637981","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pied-de-poule \/ L","offer_id":55371934925137,"sku":"SM-65868461670749","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371934957905,"sku":"SM-65868461703517","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371934990673,"sku":"SM-65868461736285","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pied-de-poule \/ XL","offer_id":55371935023441,"sku":"SM-65868461769053","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371935056209,"sku":"SM-65868461801821","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371935088977,"sku":"SM-65868461834589","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-gesteppter-kapuzen-bodywarmer-mit-allover-print-6.jpg?v=1792460307"},{"product_id":"womens-vest-with-faux-fur-lining-frieda","title":"Bodywarmer met voering van imitatiebont voor dames | Frieda","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eFrieda\u003c\/strong\u003e, een bodywarmer met voering van imitatiebont van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAfwerking van imitatiebont\u003c\/li\u003e\n\u003cli\u003eOpen voorkant\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over licht breiwerk en jeans. Een eenvoudige basis laat de textuur en details van de bodywarmer opvallen.\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. Niet 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-vest-with-faux-fur-lining-frieda\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Gray\",\"Black\",\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: S, M, L, XL, 2XL. Als de maatzoeker niet beschikbaar is, gebruik dan de productgegevens hierboven en je gebruikelijke pasvorm als uitgangspunt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\n  var jfLocale=(window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.locale)||'en';\n  var jfIsPolish=jfLocale.toLowerCase().startsWith('pl')||jfLocale.toLowerCase().startsWith('pt')||jfLocale.toLowerCase().startsWith('nl');\n  function tr(text){return (window.JuanaThemeI18n\u0026\u0026window.JuanaThemeI18n.texts\u0026\u0026window.JuanaThemeI18n.texts[text])||text;}\n\n  if (window.JuanaSizeFinder) { window.JuanaSizeFinder.init(); return; }\n  var ranks = {'2XS':0,'XXS':0,'XS':1,'S':2,'S\/M':2.5,'M':3,'M\/L':3.5,'L':4,'L\/XL':4.5,'XL':5,'XXL':6,'2XL':6,'3XL':7,'XXXL':7,'4XL':8,'5XL':9,'6XL':10};\n  function estimate(cm, kg, gender, small, sizes) {\n    if (!Number.isFinite(cm) || !Number.isFinite(kg) || cm \u003c 140 || cm \u003e 210 || kg \u003c 30 || kg \u003e 200) return {error:tr('Enter a height between 4 ft 7 in and 6 ft 10 in (140-210 cm) and a weight between 66 and 441 lb (30-200 kg).')};\n    if (gender !== 'female' \u0026\u0026 gender !== 'male') return {error:tr('Choose a sizing reference first.')};\n    \/\/ Broad starting estimates, not a manufacturer size chart or validated fit model.\n    var ref = gender === 'male' ? 175 : 165;\n    var centers = gender === 'male' ? [56,63,71,80,91,103,116,130,146,163,181] : [43,48,55,63,72,83,95,108,122,138,155];\n    var scaled = kg * Math.pow(ref \/ cm, 1.65);\n    if (scaled \u003c centers[0]-8 || scaled \u003e centers[10]+12) return {error:tr('Your measurements fall outside this estimator’s range. Please compare garment measurements before ordering.')};\n    var target = 0;\n    centers.forEach(function (x,i) { if (Math.abs(x-scaled) \u003c Math.abs(centers[target]-scaled)) target=i; });\n    if (small) target += 1;\n    var choices = sizes.filter(function (s) { return Object.prototype.hasOwnProperty.call(ranks,s); });\n    if (!choices.length) return {error:tr('No size is currently available for this selection.')};\n    choices.sort(function(a,b) { return Math.abs(ranks[a]-target)-Math.abs(ranks[b]-target) || ranks[b]-ranks[a]; });\n    if (Math.abs(ranks[choices[0]]-target) \u003e 0.75) return {error:tr('No currently available size is close enough to the estimate. Please check another color or compare garment measurements.')};\n    return {size:choices[0]};\n  }\n  function show(el, visible, display) { el.hidden=!visible; el.style.display=visible?(display||'block'):'none'; }\n  function num(el) { return el.value.trim()==='' ? NaN : Number(el.value.replace(',','.')); }\n  function init() {\n    document.querySelectorAll('.jf-size-finder[data-jf-config]').forEach(function (box) {\n      if (box.dataset.jfReady) return;\n      var cfg;\n      try { cfg=JSON.parse(box.getAttribute('data-jf-config')); } catch (_) { return; }\n      if (!cfg.handle || !Array.isArray(cfg.sizes)) return;\n      box.dataset.jfReady='true';\n      if(jfIsPolish){\n        var walker=document.createTreeWalker(box,NodeFilter.SHOW_TEXT);\n        var node;\n        while((node=walker.nextNode())){\n          if(node.parentElement.closest('style,script,[data-jf-result]'))continue;\n          var trimmed=node.nodeValue.trim(),translated=tr(trimmed);\n          if(trimmed\u0026\u0026translated!==trimmed)node.nodeValue=node.nodeValue.replace(trimmed,translated);\n        }\n      }\n      var q=function(s){return box.querySelector(s);};\n      var result=q('[data-jf-result]'), button=q('[data-jf-calculate]'), units=q('[data-jf-units]');\n      show(q('[data-jf-fields]'),true); show(q('[data-jf-fallback]'),false);\n      if (!cfg.gender) show(q('[data-jf-cut-label]'),true);\n      if (cfg.colors \u0026\u0026 cfg.colors.length \u0026\u0026 cfg.color_index !== null) {\n        cfg.colors.forEach(function(c){var o=document.createElement('option');o.value=c;o.textContent=jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;q('[data-jf-color]').appendChild(o);});\n        show(q('[data-jf-color-label]'),true);\n      }\n      units.addEventListener('change',function(){\n        show(q('[data-jf-us]'),units.value==='us','flex'); show(q('[data-jf-metric]'),units.value==='metric');result.textContent='';\n      });\n      if(jfIsPolish){units.value='metric';show(q('[data-jf-us]'),false);show(q('[data-jf-metric]'),true);}\n      var generation=0;\n      box.addEventListener('input',function(){generation+=1;result.textContent='';});\n      box.addEventListener('change',function(){generation+=1;result.textContent='';});\n      button.addEventListener('click',async function(){\n        var ticket=++generation;\n        var cm,kg;\n        if(units.value==='metric'){cm=num(q('[data-jf-cm]'));kg=num(q('[data-jf-kg]'));}\n        else {\n          var ft=num(q('[data-jf-ft]')),inch=num(q('[data-jf-in]'));\n          if(!Number.isInteger(ft)||!Number.isFinite(inch)||inch\u003c0||inch\u003e=12){result.textContent=tr('Enter feet and inches separately. Inches must be between 0 and 11.9.');return;}\n          cm=(ft*12+inch)*2.54;kg=num(q('[data-jf-lb]'))*0.45359237;\n        }\n        var gender=cfg.gender||q('[data-jf-cut]').value;\n        var early=estimate(cm,kg,gender,cfg.runs_small,cfg.sizes);\n        if(early.error){result.textContent=early.error;return;}\n        button.disabled=true;button.textContent=tr('Checking available sizes…');result.textContent='';\n        var controller=new AbortController(),timeout=setTimeout(function(){controller.abort();},10000);\n        try {\n          var root=(window.Shopify\u0026\u0026window.Shopify.routes\u0026\u0026window.Shopify.routes.root)||'\/';\n          var response=await fetch(root+'products\/'+encodeURIComponent(cfg.handle)+'.js',{credentials:'same-origin',signal:controller.signal,cache:'no-store'});\n          if(!response.ok)throw new Error('Product unavailable');\n          var product=await response.json();\n          if(!Array.isArray(product.variants))throw new Error('Variants unavailable');\n          var desiredColor=q('[data-jf-color]').value;\n          if(desiredColor\u0026\u0026cfg.color_index!==null\u0026\u0026!product.variants.some(function(v){return v.options[cfg.color_index]===desiredColor;})){\n            var colorIndex=cfg.colors.indexOf(desiredColor);\n            var productColors=Array.from(new Set(product.variants.map(function(v){return v.options[cfg.color_index];})));\n            if(colorIndex\u003e=0\u0026\u0026productColors.length===cfg.colors.length)desiredColor=productColors[colorIndex];\n          }\n          var available=product.variants.filter(function(v){return v.available===true\u0026\u0026(!desiredColor||v.options[cfg.color_index]===desiredColor);});\n          var sizes=Array.from(new Set(available.map(function(v){return v.options[cfg.size_index];}))).filter(function(s){return cfg.sizes.indexOf(s)\u003e=0;});\n          var answer=estimate(cm,kg,gender,cfg.runs_small,sizes);\n          if(ticket!==generation)return;\n          if(answer.error){result.textContent=answer.error;return;}\n          var matching=available.filter(function(v){return v.options[cfg.size_index]===answer.size;});\n          var text=tr('Suggested starting size: ')+answer.size+tr('. This is a rough estimate; check the garment details and allow room for layers.');\n          if(cfg.runs_small)text+=tr(' This style is listed as running small; the estimate includes one size up.');\n          if(cfg.color_index!==null){\n            var colorNames=Array.from(new Set(matching.map(function(v){return v.options[cfg.color_index];})));\n            text+=tr(' Currently available in ')+colorNames.slice(0,6).map(function(c){return jfIsPolish\u0026\u0026window.JuanaThemeI18n.colors[c]?window.JuanaThemeI18n.colors[c]:c;}).join(', ')+(colorNames.length\u003e6?tr(' and other colors'):'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent=tr('We could not confirm current availability. Please use the product’s size selector and try again.');\n        } finally {clearTimeout(timeout);button.disabled=false;button.textContent=tr('Find my starting size');}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Grijs \/ S","offer_id":55371935580497,"sku":"SM-65868461867357","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ M","offer_id":55371935613265,"sku":"SM-65868461900125","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ L","offer_id":55371935646033,"sku":"SM-65868461932893","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ XL","offer_id":55371935678801,"sku":"SM-65868461965661","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Grijs \/ 2XL","offer_id":55371935711569,"sku":"SM-65868461998429","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ S","offer_id":55371935744337,"sku":"SM-65868462031197","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371935777105,"sku":"SM-65868462063965","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371935809873,"sku":"SM-65868462096733","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371935842641,"sku":"SM-65868462129501","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371935875409,"sku":"SM-65868462162269","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371935908177,"sku":"SM-65868462195037","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371935940945,"sku":"SM-65868462227805","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371935973713,"sku":"SM-65868462260573","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371936006481,"sku":"SM-65868462293341","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371936039249,"sku":"SM-65868462326109","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kunstfell-bodywarmer-mit-innenfutter-rmellose-weste-4.jpg?v=1792460307"},{"product_id":"womens-long-hooded-quilted-vest-with-adjustable-fit-lena","title":"Lange gewatteerde bodywarmer met capuchon en verstelbare pasvorm voor dames | Lena","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eLena\u003c\/strong\u003e, een lange gewatteerde bodywarmer met capuchon en verstelbare pasvorm van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eHoge of opstaande kraag\u003c\/li\u003e\n\u003cli\u003eVerlengd silhouet\u003c\/li\u003e\n\u003cli\u003eMouwloos ontwerp\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\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 strak gesneden overhemd en een broek met hoge taille. Kies voor een ontspannen dag een top met lange mouwen.\u003c\/p\u003e\n\u003ch3\u003eMaat en pasvorm\u003c\/h3\u003e\n\u003cp\u003eBeschikbare maten: M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eHoud bij het kiezen van je maat rekening met de snit van het kledingstuk en de laagjes die je eronder wilt dragen.\u003c\/p\u003e\n\u003ch3\u003eOnderhoud\u003c\/h3\u003e\n\u003cp\u003eWassen in de machine op een fijnwasprogramma bij 86°F (30°C). 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-long-hooded-quilted-vest-with-adjustable-fit-lena\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Red\",\"Off-White\",\"Black\",\"Khaki\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eTwijfel je over je maat?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eOntvang een maatindicatie op basis van je lengte en gewicht.\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"jf-size-cta\" style=\"display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:11px 16px;border-radius:8px;background:#202020;color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap\"\u003e\u003cspan class=\"jf-size-open-label\"\u003eVind mijn maat\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eMaatzoeker sluiten\u003c\/span\u003e\u003cspan class=\"jf-size-chevron\" aria-hidden=\"true\" style=\"display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cstyle\u003e\n.jf-size-finder-v2\u003esummary::-webkit-details-marker{display:none}\n.jf-size-finder-v2\u003esummary::marker{content:\"\"}\n.jf-size-finder-v2\u003esummary:after{display:none!important}\n.jf-size-finder-v2\u003esummary:hover .jf-size-cta{background:#494136!important}\n.jf-size-finder-v2\u003esummary:focus-visible{outline:2px solid #695940;outline-offset:-4px;border-radius:12px}\n.jf-size-finder-v2[open]\u003esummary{border-bottom:1px solid #ded8d0}\n.jf-size-finder-v2[open] .jf-size-open-label{display:none}\n.jf-size-finder-v2[open] .jf-size-close-label{display:inline!important}\n.jf-size-finder-v2[open] .jf-size-chevron{transform:rotate(225deg)!important;margin-top:4px!important}\n.jf-size-finder-v2 input:focus-visible,.jf-size-finder-v2 select:focus-visible,.jf-size-finder-v2 button:focus-visible{outline:2px solid #695940;outline-offset:2px}\n.jf-size-finder-v2 [data-jf-calculate]:hover{background:#494136!important}\n.jf-size-finder-v2 [data-jf-calculate]:disabled{opacity:.6;cursor:wait!important}\n.jf-size-finder-v2 [data-jf-result]:not(:empty){background:#f2eee7;border-left:3px solid #8a7555;border-radius:6px;padding:12px}\n@media(max-width:480px){.jf-size-finder-v2 .jf-size-cta{width:100%;flex-basis:100%!important}.jf-size-finder-v2\u003esummary{gap:12px!important}}\n\u003c\/style\u003e\n\u003cdiv style=\"padding:18px;background:#fff\"\u003e\n\u003cp style=\"font-size:13px;line-height:1.6;margin:0 0 16px;color:#625b53\"\u003eKrijg een eerste maatindicatie op basis van je lengte en gewicht. Dit is een schatting, geen garantie op een goede pasvorm. Lichaamsvorm, laagjes en de snit van het kledingstuk kunnen bepalen welke maat het beste past.\u003c\/p\u003e\n\u003cdiv data-jf-fields hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5\"\u003eEenheden\u003cselect data-jf-units style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"us\"\u003eVoet, inch en pond\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeter en kilogram\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cdiv data-jf-us style=\"display:flex;gap:10px\"\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (ft)\u003cinput data-jf-ft type=\"number\" inputmode=\"numeric\" min=\"4\" max=\"7\" step=\"1\" placeholder=\"5\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eLengte (inch)\u003cinput data-jf-in type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"11.9\" step=\"0.1\" placeholder=\"6\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.5\"\u003eGewicht (lb)\u003cinput data-jf-lb type=\"number\" inputmode=\"decimal\" min=\"66\" max=\"441\" step=\"0.1\" placeholder=\"140\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 10px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv data-jf-metric hidden style=\"display:none\"\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.5\"\u003eLengte (cm)\u003cinput data-jf-cm type=\"number\" inputmode=\"decimal\" min=\"140\" max=\"210\" step=\"0.1\" placeholder=\"168\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003clabel style=\"display:block;font-size:13px;font-weight:600;margin:0;line-height:1.5\"\u003eGewicht (kg)\u003cinput data-jf-kg type=\"number\" inputmode=\"decimal\" min=\"30\" max=\"200\" step=\"0.1\" placeholder=\"64\" style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003c\/label\u003e\n\u003c\/div\u003e\n\u003clabel data-jf-cut-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eMaatreferentie\u003cselect data-jf-cut style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eKies een referentie\u003c\/option\u003e\n\u003coption value=\"female\"\u003eDamesmaten\u003c\/option\u003e\n\u003coption value=\"male\"\u003eHerenmaten\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003clabel data-jf-color-label hidden style=\"display:none;font-size:13px;font-weight:600;margin:16px 0;line-height:1.5\"\u003eKleur\u003cselect data-jf-color style=\"display:block;box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #d4cec5;border-radius:8px;background:#fff;color:#202020;font-family:inherit;font-size:16px;font-weight:400\"\u003e\u003coption value=\"\"\u003eElke beschikbare kleur\u003c\/option\u003e\u003c\/select\u003e\u003c\/label\u003e\n\u003cbutton data-jf-calculate type=\"button\" style=\"display:block;width:100%;min-height:48px;margin-top:18px;padding:13px 16px;border:0;border-radius:8px;background:#202020;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer\"\u003eVind mijn eerste maatindicatie\u003c\/button\u003e\n\u003cp data-jf-result role=\"status\" aria-live=\"polite\" style=\"font-size:14px;line-height:1.6;margin:14px 0 0\"\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:12px;line-height:1.6;margin:12px 0 0;color:#71685d\"\u003eGebruikt alleen maten die momenteel te koop zijn. Je metingen blijven in je browser en worden niet opgeslagen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eBeschikbare maten: 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 \/ M","offer_id":55371937415505,"sku":"SM-65868457607517","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ M","offer_id":55371937448273,"sku":"SM-65868457640285","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ M","offer_id":55371937481041,"sku":"SM-65868457673053","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371937513809,"sku":"SM-65868457705821","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371937546577,"sku":"SM-65868457738589","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ L","offer_id":55371937579345,"sku":"SM-65868457771357","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371937612113,"sku":"SM-65868457804125","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ L","offer_id":55371937644881,"sku":"SM-65868457836893","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ XL","offer_id":55371937677649,"sku":"SM-65868457869661","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371937710417,"sku":"SM-65868457902429","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371937743185,"sku":"SM-65868457935197","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ XL","offer_id":55371937775953,"sku":"SM-65868457967965","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Zwart \/ 2XL","offer_id":55371937808721,"sku":"SM-65868458000733","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gebroken wit \/ 2XL","offer_id":55371937841489,"sku":"SM-65868458033501","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371937874257,"sku":"SM-65868458066269","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371937907025,"sku":"SM-65868458099037","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-lange-steppweste-mit-kapuze-taillierbare-bodywarmer-lo-3.jpg?v=1792460310"},{"product_id":"womens-long-hooded-quilted-vest-daniela","title":"Lange gewatteerde bodywarmer met capuchon voor dames | Daniela","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMaak kennis met \u003cstrong\u003eDaniela\u003c\/strong\u003e, een lange gewatteerde bodywarmer met capuchon van Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProductgegevens\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCapuchon\u003c\/li\u003e\n\u003cli\u003eDoorgestikte afwerking\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStylingtips\u003c\/h3\u003e\n\u003cp\u003eDraag over een effen coltrui of overhemd. Voeg een broek met rechte pijpen en schoenen voor de gelegenheid toe voor een dagelijkse outfit.\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\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-long-hooded-quilted-vest-daniela\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Light Blue\",\"Blue\",\"Green\",\"Khaki\",\"Red\",\"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":"Lichtblauw \/ S","offer_id":55371948458321,"sku":"SM-65868410519901","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ M","offer_id":55371948491089,"sku":"SM-65868410552669","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ L","offer_id":55371948523857,"sku":"SM-65868410585437","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ XL","offer_id":55371948556625,"sku":"SM-65868410618205","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 2XL","offer_id":55371948589393,"sku":"SM-65868410650973","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 3XL","offer_id":55371948622161,"sku":"SM-65868410683741","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 4XL","offer_id":55371948654929,"sku":"SM-65868410716509","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Lichtblauw \/ 5XL","offer_id":55371948687697,"sku":"SM-65868410749277","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ S","offer_id":55371948720465,"sku":"SM-65868410782045","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ M","offer_id":55371948753233,"sku":"SM-65868410814813","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ L","offer_id":55371948786001,"sku":"SM-65868410847581","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ XL","offer_id":55371948818769,"sku":"SM-65868410880349","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 2XL","offer_id":55371948851537,"sku":"SM-65868410913117","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 3XL","offer_id":55371948884305,"sku":"SM-65868410945885","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 4XL","offer_id":55371948917073,"sku":"SM-65868410978653","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Blauw \/ 5XL","offer_id":55371948949841,"sku":"SM-65868411011421","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ S","offer_id":55371948982609,"sku":"SM-65868411044189","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ M","offer_id":55371949015377,"sku":"SM-65868411076957","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ L","offer_id":55371949048145,"sku":"SM-65868411109725","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ XL","offer_id":55371949080913,"sku":"SM-65868411142493","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 2XL","offer_id":55371949113681,"sku":"SM-65868411175261","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 3XL","offer_id":55371949146449,"sku":"SM-65868411208029","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 4XL","offer_id":55371949179217,"sku":"SM-65868411240797","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Groen \/ 5XL","offer_id":55371949211985,"sku":"SM-65868411273565","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ S","offer_id":55371949244753,"sku":"SM-65868411306333","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ M","offer_id":55371949277521,"sku":"SM-65868411339101","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ L","offer_id":55371949310289,"sku":"SM-65868411371869","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ XL","offer_id":55371949343057,"sku":"SM-65868411404637","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 2XL","offer_id":55371949375825,"sku":"SM-65868411437405","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 3XL","offer_id":55371949408593,"sku":"SM-65868411470173","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 4XL","offer_id":55371949441361,"sku":"SM-65868411502941","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Kaki \/ 5XL","offer_id":55371949474129,"sku":"SM-65868411535709","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ S","offer_id":55371949506897,"sku":"SM-65868411568477","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ M","offer_id":55371949539665,"sku":"SM-65868411601245","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ L","offer_id":55371949572433,"sku":"SM-65868411634013","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ XL","offer_id":55371949605201,"sku":"SM-65868411666781","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 2XL","offer_id":55371949637969,"sku":"SM-65868411699549","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 3XL","offer_id":55371949670737,"sku":"SM-65868411732317","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 4XL","offer_id":55371949703505,"sku":"SM-65868411765085","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Rood \/ 5XL","offer_id":55371949736273,"sku":"SM-65868411797853","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ S","offer_id":55371949769041,"sku":"SM-65868411830621","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ M","offer_id":55371949801809,"sku":"SM-65868411863389","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ L","offer_id":55371949834577,"sku":"SM-65868411896157","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ XL","offer_id":55371949867345,"sku":"SM-65868411928925","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 2XL","offer_id":55371949900113,"sku":"SM-65868411961693","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 3XL","offer_id":55371949932881,"sku":"SM-65868411994461","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 4XL","offer_id":55371949965649,"sku":"SM-65868412027229","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Wit \/ 5XL","offer_id":55371949998417,"sku":"SM-65868412059997","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Long-Hooded-Sleeveless-Bodywarmer-With-Pockets.png?v=1792460333"}],"url":"https:\/\/juanafashion.com\/nl\/collections\/vests.oembed?page=3","provider":"Juana Fashion","version":"1.0","type":"link"}