{"title":"Summer","description":null,"products":[{"product_id":"womens-lightweight-polka-dot-jacket-with-adjustable-fit-viviana","title":"Women's Lightweight Polka Dot Jacket with Adjustable Fit | Viviana","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eViviana\u003c\/strong\u003e, a lightweight polka dot jacket with adjustable fit from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHigh collar or stand collar\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eRelaxed fit\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003ePolka dot pattern\u003c\/li\u003e\n\u003cli\u003eAdjustable drawstring\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with a plain turtleneck and straight-leg pants. For a dressier look, choose a midi dress, ankle boots and a simple bag.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-lightweight-polka-dot-jacket-with-adjustable-fit-viviana\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\"],\"colors\":[\"White\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"White \/ XS","offer_id":55371613307217,"sku":"MS-9682-WOM-WHI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371613339985,"sku":"MS-4663-WOM-WHI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371613372753,"sku":"MS-8055-WOM-WHI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371613405521,"sku":"MS-3393-WOM-WHI","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/white-front_1482acbf-fad9-469c-91a2-58a29c3fca84.png?v=1792459641"},{"product_id":"womens-leopard-print-button-front-knit-vest-rosa","title":"Women's Leopard Print Button-Front Knit Vest | Rosa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eRosa\u003c\/strong\u003e, a leopard print button-front knit vest from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eSleeveless design\u003c\/li\u003e\n\u003cli\u003eLeopard print\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with a clean-cut shirt and high-waisted pants. Choose a long-sleeve top for a more relaxed day.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Animal Print \/ S","offer_id":55371614323025,"sku":"MS-0859-LEO-ANI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Animal Print \/ M","offer_id":55371614355793,"sku":"MS-2351-LEO-ANI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Animal Print \/ L","offer_id":55371614388561,"sku":"MS-0321-LEO-ANI","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Animal Print \/ 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-tailored-single-button-blazer-livia","title":"Women's Tailored Single-Button Blazer | Livia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eLivia\u003c\/strong\u003e, a tailored single-button blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSingle-button closure\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eLong sleeves\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-tailored-single-button-blazer-livia\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Gray\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Gray \/ S","offer_id":55371615174993,"sku":"MS-8131-WOM-GRE","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371615207761,"sku":"MS-7578-WOM-GRE","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371615240529,"sku":"MS-4324-WOM-GRE","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371615273297,"sku":"MS-5932-WOM-GRE","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371615306065,"sku":"MS-7031-WOM-GRE","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Blazer_front.png?v=1792459653"},{"product_id":"womens-long-tailored-office-blazer-daniela","title":"Women's Long Tailored Office Blazer | Daniela","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eDaniela\u003c\/strong\u003e, a long tailored office blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLongline blazer silhouette\u003c\/li\u003e\n\u003cli\u003eTailored waist\u003c\/li\u003e\n\u003cli\u003eLong sleeves\u003c\/li\u003e\n\u003cli\u003eMinimalist details\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eStyle it with a fitted top and wide-leg pants. For a casual look, pair with jeans and simple sneakers.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-long-tailored-office-blazer-daniela\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\"],\"colors\":[\"Off-White\",\"Black\",\"Gray\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Off-White \/ XS","offer_id":55371626873169,"sku":"MS-4956-WOM-OFF","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Off-White \/ S","offer_id":55371626905937,"sku":"MS-8720-WOM-OFF","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Off-White \/ M","offer_id":55371626938705,"sku":"MS-6161-WOM-OFF","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Off-White \/ L","offer_id":55371626971473,"sku":"MS-9952-WOM-OFF","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XS","offer_id":55371627004241,"sku":"MS-6647-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371627037009,"sku":"MS-2078-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371627069777,"sku":"MS-5620-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371627102545,"sku":"MS-9525-WOM-BLA","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XS","offer_id":55371627135313,"sku":"MS-4890-WOM-GRE","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ S","offer_id":55371627168081,"sku":"MS-9765-WOM-GRE","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371627200849,"sku":"MS-9992-WOM-GRE","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371627233617,"sku":"MS-3241-WOM-GRE","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ XS","offer_id":55371627266385,"sku":"MS-6445-WOM-BUR","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ S","offer_id":55371627299153,"sku":"MS-5369-WOM-BUR","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ M","offer_id":55371627331921,"sku":"MS-1324-WOM-BUR","price":79.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ L","offer_id":55371627364689,"sku":"MS-8438-WOM-BUR","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/off-white-front_7ce3d440-d821-432c-a3ab-4ac84ea4085e.png?v=1792459698"},{"product_id":"womens-cable-knit-v-neck-sweater-vest-georgia","title":"Women's Cable-Knit V-Neck Sweater Vest | Georgia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eGeorgia\u003c\/strong\u003e, a cable-knit v-neck sweater vest from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKnit construction\u003c\/li\u003e\n\u003cli\u003eRelaxed fit\u003c\/li\u003e\n\u003cli\u003eSleeveless design\u003c\/li\u003e\n\u003cli\u003eV-neckline\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a plain turtleneck or shirt. Add straight-leg pants and shoes suited to the occasion for an everyday outfit.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eHand wash cold. Do not tumble dry. Reshape and dry flat. Always follow the care label.\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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L, XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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-classic-tailored-single-button-blazer-marie","title":"Women's Classic Tailored Single-Button Blazer | Marie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eMarie\u003c\/strong\u003e, a classic tailored single-button blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSingle-button closure\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Tumble dry on low heat. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-classic-tailored-single-button-blazer-marie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"White\",\"Beige\",\"Dark Pink\",\"Light Brown\",\"Burgundy\",\"Blue\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"White \/ S","offer_id":55371648237905,"sku":"SM-65871288664413","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371648270673,"sku":"SM-65871288697181","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371648303441,"sku":"SM-65871288729949","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371648336209,"sku":"SM-65871288762717","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371648368977,"sku":"SM-65871288795485","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371648401745,"sku":"SM-65871288828253","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371648434513,"sku":"SM-65871288861021","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371648467281,"sku":"SM-65871288893789","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371648500049,"sku":"SM-65871288926557","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371648532817,"sku":"SM-65871288959325","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ S","offer_id":55371648565585,"sku":"SM-65871288992093","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ M","offer_id":55371648598353,"sku":"SM-65871289024861","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ L","offer_id":55371648631121,"sku":"SM-65871289057629","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ XL","offer_id":55371648663889,"sku":"SM-65871289090397","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ 2XL","offer_id":55371648696657,"sku":"SM-65871289123165","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ S","offer_id":55371648729425,"sku":"SM-65871289155933","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ M","offer_id":55371648762193,"sku":"SM-65871289188701","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ L","offer_id":55371648794961,"sku":"SM-65871289221469","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ XL","offer_id":55371648827729,"sku":"SM-65871289254237","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ 2XL","offer_id":55371648860497,"sku":"SM-65871289287005","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ S","offer_id":55371648893265,"sku":"SM-65871289319773","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ M","offer_id":55371648926033,"sku":"SM-65871289352541","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ L","offer_id":55371648958801,"sku":"SM-65871289385309","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ XL","offer_id":55371648991569,"sku":"SM-65871289418077","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ 2XL","offer_id":55371649024337,"sku":"SM-65871289450845","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371649057105,"sku":"SM-65871289483613","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371649089873,"sku":"SM-65871289516381","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371649122641,"sku":"SM-65871289549149","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371649155409,"sku":"SM-65871289581917","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371649188177,"sku":"SM-65871289614685","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371649220945,"sku":"SM-65871289647453","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371649253713,"sku":"SM-65871289680221","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371649286481,"sku":"SM-65871289712989","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371649319249,"sku":"SM-65871289745757","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371649352017,"sku":"SM-65871289778525","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-klassischer-einknopf-blazer-tailliert-1.jpg?v=1792459768"},{"product_id":"womens-double-breasted-blazer-with-gold-tone-buttons-mia","title":"Women's Double-Breasted Blazer with Gold-Tone Buttons | Mia","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eMia\u003c\/strong\u003e, a double-breasted blazer with gold-tone buttons from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDouble-breasted front\u003c\/li\u003e\n\u003cli\u003eInsulated construction\u003c\/li\u003e\n\u003cli\u003eGold-tone buttons\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with tailored pants and a plain top. For everyday wear, choose jeans, simple shoes and understated accessories.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Tumble dry on low heat. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-double-breasted-blazer-with-gold-tone-buttons-mia\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Black\",\"White\",\"Red\",\"Yellow\",\"Navy\",\"Pink\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL, 3XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Black \/ S","offer_id":55371649384785,"sku":"SM-65871276802397","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371649417553,"sku":"SM-65871276835165","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371649450321,"sku":"SM-65871276867933","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371649483089,"sku":"SM-65871276900701","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371649515857,"sku":"SM-65871276933469","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":55371649548625,"sku":"SM-65871276966237","price":54.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371649581393,"sku":"SM-65871276999005","price":54.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371649614161,"sku":"SM-65871277031773","price":54.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371649646929,"sku":"SM-65871277064541","price":54.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371649679697,"sku":"SM-65871277097309","price":54.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371649712465,"sku":"SM-65871277130077","price":54.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":55371649745233,"sku":"SM-65871277162845","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371649778001,"sku":"SM-65871277195613","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371649810769,"sku":"SM-65871277228381","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371649843537,"sku":"SM-65871277261149","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371649876305,"sku":"SM-65871277293917","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371649909073,"sku":"SM-65871277326685","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 3XL","offer_id":55371649941841,"sku":"SM-65871277359453","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ S","offer_id":55371649974609,"sku":"SM-65871277392221","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ M","offer_id":55371650007377,"sku":"SM-65871277424989","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ L","offer_id":55371650040145,"sku":"SM-65871277457757","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XL","offer_id":55371650072913,"sku":"SM-65871277490525","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 2XL","offer_id":55371650105681,"sku":"SM-65871277523293","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 3XL","offer_id":55371650138449,"sku":"SM-65871277556061","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ S","offer_id":55371650171217,"sku":"SM-65871277588829","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371650203985,"sku":"SM-65871277621597","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371650236753,"sku":"SM-65871277654365","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371650269521,"sku":"SM-65871277687133","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 2XL","offer_id":55371650302289,"sku":"SM-65871277719901","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 3XL","offer_id":55371650335057,"sku":"SM-65871277752669","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371650367825,"sku":"SM-65871277785437","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371650400593,"sku":"SM-65871277818205","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371650433361,"sku":"SM-65871277850973","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371650466129,"sku":"SM-65871277883741","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371650498897,"sku":"SM-65871277916509","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":55371650531665,"sku":"SM-65871277949277","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371650564433,"sku":"SM-65871277982045","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371650597201,"sku":"SM-65871278014813","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371650629969,"sku":"SM-65871278047581","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371650662737,"sku":"SM-65871278080349","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371650695505,"sku":"SM-65871278113117","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371650728273,"sku":"SM-65871278145885","price":54.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-zweireihiger-blazer-goldknpfe-strukturierte-schultern-1.jpg?v=1792459770"},{"product_id":"womens-lightweight-button-front-jacket-hanna","title":"Women's Lightweight Button-Front Jacket | Hanna","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eHanna\u003c\/strong\u003e, a lightweight button-front jacket from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eStyle it with solid-color knitwear and your favorite jeans. For evening, try a simple dress and statement shoes.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-lightweight-button-front-jacket-hanna\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Light Blue\",\"Pink\",\"Khaki\",\"Blue\",\"Gray\",\"Black\",\"Light Gray\",\"Olive Green\",\"Yellow\",\"Crimson\",\"Green\",\"Navy\",\"Dark Gray\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL, 3XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Light Blue \/ S","offer_id":55371651023185,"sku":"SM-65871267496285","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ M","offer_id":55371651055953,"sku":"SM-65871267529053","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ L","offer_id":55371651088721,"sku":"SM-65871267561821","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ XL","offer_id":55371651121489,"sku":"SM-65871267594589","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ 2XL","offer_id":55371651154257,"sku":"SM-65871267627357","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ 3XL","offer_id":55371651187025,"sku":"SM-65871267660125","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371651219793,"sku":"SM-65871267692893","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371651252561,"sku":"SM-65871267725661","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371651285329,"sku":"SM-65871267758429","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371651318097,"sku":"SM-65871267791197","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371651350865,"sku":"SM-65871267823965","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":55371651383633,"sku":"SM-65871267856733","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":55371651416401,"sku":"SM-65871267889501","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371651449169,"sku":"SM-65871267922269","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371651481937,"sku":"SM-65871267955037","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371651514705,"sku":"SM-65871267987805","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371651547473,"sku":"SM-65871268020573","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 3XL","offer_id":55371651580241,"sku":"SM-65871268053341","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371651613009,"sku":"SM-65871268086109","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371651645777,"sku":"SM-65871268118877","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371651678545,"sku":"SM-65871268151645","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371651711313,"sku":"SM-65871268184413","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371651744081,"sku":"SM-65871268217181","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":55371651776849,"sku":"SM-65871268249949","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ S","offer_id":55371651809617,"sku":"SM-65871268282717","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371651842385,"sku":"SM-65871268315485","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371651875153,"sku":"SM-65871268348253","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371651907921,"sku":"SM-65871268381021","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371651940689,"sku":"SM-65871268413789","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 3XL","offer_id":55371651973457,"sku":"SM-65871268446557","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371652006225,"sku":"SM-65871268479325","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371652038993,"sku":"SM-65871268512093","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371652071761,"sku":"SM-65871268544861","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371652104529,"sku":"SM-65871268577629","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371652137297,"sku":"SM-65871268610397","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":55371652170065,"sku":"SM-65871268643165","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ S","offer_id":55371652202833,"sku":"SM-65871268675933","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ M","offer_id":55371652235601,"sku":"SM-65871268708701","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ L","offer_id":55371652268369,"sku":"SM-65871268741469","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ XL","offer_id":55371652301137,"sku":"SM-65871268774237","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ 2XL","offer_id":55371652333905,"sku":"SM-65871268807005","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ 3XL","offer_id":55371652366673,"sku":"SM-65871268839773","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ S","offer_id":55371652399441,"sku":"SM-65871268872541","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ M","offer_id":55371652432209,"sku":"SM-65871268905309","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ L","offer_id":55371652464977,"sku":"SM-65871268938077","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ XL","offer_id":55371652497745,"sku":"SM-65871268970845","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ 2XL","offer_id":55371652530513,"sku":"SM-65871269003613","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ 3XL","offer_id":55371652563281,"sku":"SM-65871269036381","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ S","offer_id":55371652596049,"sku":"SM-65871269069149","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ M","offer_id":55371652628817,"sku":"SM-65871269101917","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ L","offer_id":55371652661585,"sku":"SM-65871269134685","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XL","offer_id":55371652694353,"sku":"SM-65871269167453","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 2XL","offer_id":55371652727121,"sku":"SM-65871269200221","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 3XL","offer_id":55371652759889,"sku":"SM-65871269232989","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ S","offer_id":55371652792657,"sku":"SM-65871269265757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ M","offer_id":55371652825425,"sku":"SM-65871269298525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ L","offer_id":55371652858193,"sku":"SM-65871269331293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ XL","offer_id":55371652890961,"sku":"SM-65871269364061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ 2XL","offer_id":55371652923729,"sku":"SM-65871269396829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ 3XL","offer_id":55371652956497,"sku":"SM-65871269429597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":55371652989265,"sku":"SM-65871269462365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":55371653022033,"sku":"SM-65871269495133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":55371653054801,"sku":"SM-65871269527901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":55371653087569,"sku":"SM-65871269560669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":55371653120337,"sku":"SM-65871269593437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 3XL","offer_id":55371653153105,"sku":"SM-65871269626205","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ S","offer_id":55371653185873,"sku":"SM-65871269658973","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371653218641,"sku":"SM-65871269691741","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371653251409,"sku":"SM-65871269724509","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371653284177,"sku":"SM-65871269757277","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 2XL","offer_id":55371653316945,"sku":"SM-65871269790045","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 3XL","offer_id":55371653349713,"sku":"SM-65871269822813","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ S","offer_id":55371653382481,"sku":"SM-65871269855581","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ M","offer_id":55371653415249,"sku":"SM-65871269888349","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ L","offer_id":55371653448017,"sku":"SM-65871269921117","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ XL","offer_id":55371653480785,"sku":"SM-65871269953885","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ 2XL","offer_id":55371653513553,"sku":"SM-65871269986653","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ 3XL","offer_id":55371653546321,"sku":"SM-65871270019421","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/c84a7b37-5724-4207-954e-2cc1db82c35e_56701187-3a41-4dd5-8ada-3aed7a585f72_1.webp?v=1792459773"},{"product_id":"womens-linen-blend-blazer-with-3-4-sleeves-nora","title":"Women's Linen-Blend Blazer with 3\/4 Sleeves | Nora","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eNora\u003c\/strong\u003e, a linen-blend blazer with 3\/4 sleeves from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLightweight linen blend\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003e3\/4-length sleeves\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash cold on a gentle cycle. Do not bleach. Tumble dry on low heat. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-linen-blend-blazer-with-3-4-sleeves-nora\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Pink\",\"White\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL, 3XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Pink \/ S","offer_id":55371653939537,"sku":"SM-65871242232157","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371653972305,"sku":"SM-65871242264925","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371654005073,"sku":"SM-65871242297693","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371654037841,"sku":"SM-65871242330461","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371654070609,"sku":"SM-65871242363229","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":55371654103377,"sku":"SM-65871242395997","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371654136145,"sku":"SM-65871242428765","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371654168913,"sku":"SM-65871242461533","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371654201681,"sku":"SM-65871242494301","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371654234449,"sku":"SM-65871242527069","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371654267217,"sku":"SM-65871242559837","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":55371654299985,"sku":"SM-65871242592605","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371654332753,"sku":"SM-65871242625373","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371654365521,"sku":"SM-65871242658141","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371654398289,"sku":"SM-65871242690909","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371654431057,"sku":"SM-65871242723677","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371654463825,"sku":"SM-65871242756445","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371654496593,"sku":"SM-65871242789213","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371654529361,"sku":"SM-65871242821981","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371654562129,"sku":"SM-65871242854749","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371654594897,"sku":"SM-65871242887517","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371654627665,"sku":"SM-65871242920285","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371654660433,"sku":"SM-65871242953053","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":55371654693201,"sku":"SM-65871242985821","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-dreiviertelarm-leinen-blazer-mit-einzelknopf-5.jpg?v=1792459775"},{"product_id":"womens-wide-leg-jumpsuit-with-lapels-amelie","title":"Women's Wide-Leg Jumpsuit with Lapels | Amelie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eAmelie\u003c\/strong\u003e, a wide-leg jumpsuit with lapels from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLapel collar\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003eWide legs\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eStyle it with delicate jewelry, a small bag and heels. Choose simple flats for a more casual occasion.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eDo not bleach. Tumble dry on low heat. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-wide-leg-jumpsuit-with-lapels-amelie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Fuchsia Pink\",\"White\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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 Pink \/ S","offer_id":55371658625361,"sku":"SM-65870987034973","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia Pink \/ M","offer_id":55371658658129,"sku":"SM-65870987067741","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia Pink \/ L","offer_id":55371658690897,"sku":"SM-65870987100509","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia Pink \/ XL","offer_id":55371658723665,"sku":"SM-65870987133277","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Fuchsia Pink \/ 2XL","offer_id":55371658756433,"sku":"SM-65870987166045","price":59.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371658789201,"sku":"SM-65870987198813","price":59.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371658821969,"sku":"SM-65870987231581","price":59.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371658854737,"sku":"SM-65870987264349","price":59.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371658887505,"sku":"SM-65870987297117","price":59.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371658920273,"sku":"SM-65870987329885","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371658953041,"sku":"SM-65870987362653","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371658985809,"sku":"SM-65870987395421","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371659018577,"sku":"SM-65870987428189","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371659051345,"sku":"SM-65870987460957","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371659084113,"sku":"SM-65870987493725","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371659116881,"sku":"SM-65870987526493","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371659149649,"sku":"SM-65870987559261","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371659182417,"sku":"SM-65870987592029","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371659215185,"sku":"SM-65870987624797","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371659247953,"sku":"SM-65870987657565","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-weitbein-jumpsuit-blazerkragen-bindegrtel-1.jpg?v=1792459784"},{"product_id":"womens-fitted-tweed-blazer-with-faux-leather-details-marlene","title":"Women's Fitted Tweed Blazer with Faux Leather Details | Marlene","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eMarlene\u003c\/strong\u003e, a fitted tweed blazer with faux leather details from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFaux leather\u003c\/li\u003e\n\u003cli\u003eTweed finish\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eStyle it with a fitted top and wide-leg pants. For a casual look, pair with jeans and simple sneakers.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Do not tumble dry. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-fitted-tweed-blazer-with-faux-leather-details-marlene\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Brown\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL, 3XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Brown \/ S","offer_id":55371659313489,"sku":"SM-65870944239965","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ M","offer_id":55371659346257,"sku":"SM-65870944272733","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ L","offer_id":55371659379025,"sku":"SM-65870944305501","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ XL","offer_id":55371659411793,"sku":"SM-65870944338269","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ 2XL","offer_id":55371659444561,"sku":"SM-65870944371037","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ 3XL","offer_id":55371659477329,"sku":"SM-65870944403805","price":89.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-taillierter-tweed-blazer-kunstleder-besatz-knopfleiste-1.jpg?v=1792459785"},{"product_id":"womens-relaxed-collared-blazer-lena","title":"Women's Relaxed Collared Blazer | Lena","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eLena\u003c\/strong\u003e, a relaxed collared blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eRelaxed fit\u003c\/li\u003e\n\u003cli\u003eLong sleeves\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-relaxed-collared-blazer-lena\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Light Blue\",\"Pink\",\"Khaki\",\"Blue\",\"Gray\",\"Black\",\"Light Gray\",\"Dark Green\",\"Yellow\",\"Burgundy\",\"Green\",\"Navy\",\"Dark Gray\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Light Blue \/ S","offer_id":55371659706705,"sku":"SM-65870939816285","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ M","offer_id":55371659739473,"sku":"SM-65870939849053","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ L","offer_id":55371659772241,"sku":"SM-65870939881821","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ XL","offer_id":55371659805009,"sku":"SM-65870939914589","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ 2XL","offer_id":55371659837777,"sku":"SM-65870939947357","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371659870545,"sku":"SM-65870939980125","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371659903313,"sku":"SM-65870940012893","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371659936081,"sku":"SM-65870940045661","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371659968849,"sku":"SM-65870940078429","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371660001617,"sku":"SM-65870940111197","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":55371660034385,"sku":"SM-65870940143965","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371660067153,"sku":"SM-65870940176733","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371660099921,"sku":"SM-65870940209501","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371660132689,"sku":"SM-65870940242269","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371660165457,"sku":"SM-65870940275037","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371660198225,"sku":"SM-65870940307805","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371660230993,"sku":"SM-65870940340573","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371660263761,"sku":"SM-65870940373341","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371660296529,"sku":"SM-65870940406109","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371660329297,"sku":"SM-65870940438877","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ S","offer_id":55371660362065,"sku":"SM-65870940471645","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371660394833,"sku":"SM-65870940504413","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371660427601,"sku":"SM-65870940537181","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371660460369,"sku":"SM-65870940569949","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371660493137,"sku":"SM-65870940602717","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371660525905,"sku":"SM-65870940635485","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371660558673,"sku":"SM-65870940668253","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371660591441,"sku":"SM-65870940701021","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371660624209,"sku":"SM-65870940733789","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371660656977,"sku":"SM-65870940766557","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ S","offer_id":55371660689745,"sku":"SM-65870940799325","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ M","offer_id":55371660722513,"sku":"SM-65870940832093","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ L","offer_id":55371660755281,"sku":"SM-65870940864861","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ XL","offer_id":55371660788049,"sku":"SM-65870940897629","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ 2XL","offer_id":55371660820817,"sku":"SM-65870940930397","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ S","offer_id":55371660853585,"sku":"SM-65870940963165","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ M","offer_id":55371660886353,"sku":"SM-65870940995933","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ L","offer_id":55371660919121,"sku":"SM-65870941028701","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ XL","offer_id":55371660951889,"sku":"SM-65870941061469","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ 2XL","offer_id":55371660984657,"sku":"SM-65870941094237","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ S","offer_id":55371661017425,"sku":"SM-65870941127005","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ M","offer_id":55371661050193,"sku":"SM-65870941159773","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ L","offer_id":55371661082961,"sku":"SM-65870941192541","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XL","offer_id":55371661115729,"sku":"SM-65870941225309","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 2XL","offer_id":55371661148497,"sku":"SM-65870941258077","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ S","offer_id":55371661181265,"sku":"SM-65870941290845","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ M","offer_id":55371661214033,"sku":"SM-65870941323613","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ L","offer_id":55371661246801,"sku":"SM-65870941356381","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ XL","offer_id":55371661279569,"sku":"SM-65870941389149","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ 2XL","offer_id":55371661312337,"sku":"SM-65870941421917","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":55371661345105,"sku":"SM-65870941454685","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":55371661377873,"sku":"SM-65870941487453","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":55371661410641,"sku":"SM-65870941520221","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":55371661443409,"sku":"SM-65870941552989","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":55371661476177,"sku":"SM-65870941585757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ S","offer_id":55371661508945,"sku":"SM-65870941618525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371661541713,"sku":"SM-65870941651293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371661574481,"sku":"SM-65870941684061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371661607249,"sku":"SM-65870941716829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 2XL","offer_id":55371661640017,"sku":"SM-65870941749597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ S","offer_id":55371661672785,"sku":"SM-65870941782365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ M","offer_id":55371661705553,"sku":"SM-65870941815133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ L","offer_id":55371661738321,"sku":"SM-65870941847901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ XL","offer_id":55371661771089,"sku":"SM-65870941880669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ 2XL","offer_id":55371661803857,"sku":"SM-65870941913437","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-langarm-blazer-mit-kragen-und-knopfleiste-relaxed-fit-1.jpg?v=1792459788"},{"product_id":"womens-fitted-textured-blazer-lena","title":"Women's Fitted Textured Blazer | Lena","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eLena\u003c\/strong\u003e, a fitted textured blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClassic turn-down collar\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Tumble dry on low heat. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-fitted-textured-blazer-lena\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"White\",\"Gray\",\"Pink\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"White \/ S","offer_id":55371662950737,"sku":"SM-65870920679773","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371662983505,"sku":"SM-65870920712541","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371663016273,"sku":"SM-65870920745309","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371663049041,"sku":"SM-65870920778077","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371663081809,"sku":"SM-65870920810845","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ S","offer_id":55371663114577,"sku":"SM-65870920843613","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371663147345,"sku":"SM-65870920876381","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371663180113,"sku":"SM-65870920909149","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371663212881,"sku":"SM-65870920941917","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371663245649,"sku":"SM-65870920974685","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371663278417,"sku":"SM-65870921007453","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371663311185,"sku":"SM-65870921040221","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371663343953,"sku":"SM-65870921072989","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371663376721,"sku":"SM-65870921105757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371663409489,"sku":"SM-65870921138525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371663442257,"sku":"SM-65870921171293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371663475025,"sku":"SM-65870921204061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371663507793,"sku":"SM-65870921236829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371663540561,"sku":"SM-65870921269597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371663573329,"sku":"SM-65870921302365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371663606097,"sku":"SM-65870921335133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371663638865,"sku":"SM-65870921367901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371663671633,"sku":"SM-65870921400669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371663704401,"sku":"SM-65870921433437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371663737169,"sku":"SM-65870921466205","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-strukturierter-taillierter-langarm-blazer-mit-knopflei-2.jpg?v=1792459793"},{"product_id":"womens-lightweight-breathable-cropped-jacket-luisa","title":"Women's Lightweight Breathable Cropped Jacket | Luisa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eLuisa\u003c\/strong\u003e, a lightweight breathable cropped jacket from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHigh collar or stand collar\u003c\/li\u003e\n\u003cli\u003eFront zipper closure\u003c\/li\u003e\n\u003cli\u003eCropped silhouette\u003c\/li\u003e\n\u003cli\u003eRelaxed fit\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003eAdjustable drawstring\u003c\/li\u003e\n\u003cli\u003ePractical side pockets\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eWear it with a lightweight turtleneck and wide-leg pants. Finish with a simple bag and understated jewelry.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-lightweight-breathable-cropped-jacket-luisa\",\"gender\":\"female\",\"sizes\":[\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Khaki\",\"Black\",\"Beige\",\"Yellow\",\"Pink\",\"Blue\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: M, L, XL, 2XL, 3XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Khaki \/ M","offer_id":55371669176657,"sku":"SM-65870729019741","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371669209425,"sku":"SM-65870729052509","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371669242193,"sku":"SM-65870729085277","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371669274961,"sku":"SM-65870729118045","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 3XL","offer_id":55371669307729,"sku":"SM-65870729150813","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371669340497,"sku":"SM-65870729183581","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371669373265,"sku":"SM-65870729216349","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371669406033,"sku":"SM-65870729249117","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371669438801,"sku":"SM-65870729281885","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":55371669471569,"sku":"SM-65870729314653","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371669504337,"sku":"SM-65870729347421","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371669537105,"sku":"SM-65870729380189","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371669569873,"sku":"SM-65870729412957","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371669602641,"sku":"SM-65870729445725","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371669635409,"sku":"SM-65870729478493","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ M","offer_id":55371669668177,"sku":"SM-65870729511261","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ L","offer_id":55371669700945,"sku":"SM-65870729544029","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XL","offer_id":55371669733713,"sku":"SM-65870729576797","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 2XL","offer_id":55371669766481,"sku":"SM-65870729609565","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 3XL","offer_id":55371669799249,"sku":"SM-65870729642333","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371669832017,"sku":"SM-65870729675101","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371669864785,"sku":"SM-65870729707869","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371669897553,"sku":"SM-65870729740637","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371669930321,"sku":"SM-65870729773405","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":55371669963089,"sku":"SM-65870729806173","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371669995857,"sku":"SM-65870729838941","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371670028625,"sku":"SM-65870729871709","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371670061393,"sku":"SM-65870729904477","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371670094161,"sku":"SM-65870729937245","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":55371670126929,"sku":"SM-65870729970013","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kurzjacke-leichte-atmungsaktive-bergangsjacke-mit-reiv-1.jpg?v=1792459805"},{"product_id":"womens-button-front-knit-vest-amelie","title":"Women's Button-Front Knit Vest | Amelie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eAmelie\u003c\/strong\u003e, a button-front knit vest from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eSleeveless design\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a plain turtleneck or shirt. Add straight-leg pants and shoes suited to the occasion for an everyday outfit.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Do not tumble dry. Reshape and dry flat. Always follow the care label.\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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL, 3XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Burgundy \/ S","offer_id":55371706564945,"sku":"SM-65870572912989","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ M","offer_id":55371706597713,"sku":"SM-65870572945757","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ L","offer_id":55371706630481,"sku":"SM-65870572978525","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ XL","offer_id":55371706663249,"sku":"SM-65870573011293","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ 2XL","offer_id":55371706696017,"sku":"SM-65870573044061","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ 3XL","offer_id":55371706728785,"sku":"SM-65870573076829","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371706761553,"sku":"SM-65870573109597","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371706794321,"sku":"SM-65870573142365","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371706827089,"sku":"SM-65870573175133","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371706859857,"sku":"SM-65870573207901","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371706892625,"sku":"SM-65870573240669","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":55371706925393,"sku":"SM-65870573273437","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ S","offer_id":55371706958161,"sku":"SM-65870573306205","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371706990929,"sku":"SM-65870573338973","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371707023697,"sku":"SM-65870573371741","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371707056465,"sku":"SM-65870573404509","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371707089233,"sku":"SM-65870573437277","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 3XL","offer_id":55371707122001,"sku":"SM-65870573470045","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ S","offer_id":55371707154769,"sku":"SM-65870573502813","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ M","offer_id":55371707187537,"sku":"SM-65870573535581","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ L","offer_id":55371707220305,"sku":"SM-65870573568349","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ XL","offer_id":55371707253073,"sku":"SM-65870573601117","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ 2XL","offer_id":55371707285841,"sku":"SM-65870573633885","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ 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-boho-quilted-kimono-jacket-clara","title":"Women's Boho Quilted Kimono Jacket | Clara","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eClara\u003c\/strong\u003e, a boho quilted kimono jacket from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLong sleeves\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003eQuilted finish\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eWear it with simple jeans and a plain top. For a dressier outfit, choose high-waisted pants and ankle boots.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eDo not bleach. Do not tumble dry. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-boho-quilted-kimono-jacket-clara\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Burgundy\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L, XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Burgundy \/ XS","offer_id":55371709972817,"sku":"SM-65870562296157","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ S","offer_id":55371710005585,"sku":"SM-65870562328925","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ M","offer_id":55371710038353,"sku":"SM-65870562361693","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ L","offer_id":55371710071121,"sku":"SM-65870562394461","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ XL","offer_id":55371710103889,"sku":"SM-65870562427229","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-gesteppte-jacke-boho-kimono-leichter-vintage-schnitt-1.jpg?v=1792459884"},{"product_id":"womens-textured-zip-up-bomber-jacket-annika","title":"Women's Textured Zip-Up Bomber Jacket | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eAnnika\u003c\/strong\u003e, a textured zip-up bomber jacket from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHigh collar or stand collar\u003c\/li\u003e\n\u003cli\u003eFront zipper closure\u003c\/li\u003e\n\u003cli\u003eCropped silhouette\u003c\/li\u003e\n\u003cli\u003eRelaxed fit\u003c\/li\u003e\n\u003cli\u003eQuilted finish\u003c\/li\u003e\n\u003cli\u003eElastic cuffs\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eWear it with simple jeans and a plain top. For a dressier outfit, choose high-waisted pants and ankle boots.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Tumble dry on low heat. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-textured-zip-up-bomber-jacket-annika\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Gray\",\"Black\",\"White\",\"Blue\",\"Dark Brown\",\"Olive Green\",\"Apricot\",\"Orange\",\"Pink\",\"Khaki\",\"Dark Red\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Gray \/ S","offer_id":55371713216849,"sku":"SM-65870555251037","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371713249617,"sku":"SM-65870555283805","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371713282385,"sku":"SM-65870555316573","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371713315153,"sku":"SM-65870555349341","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371713347921,"sku":"SM-65870555382109","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371713380689,"sku":"SM-65870555414877","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371713413457,"sku":"SM-65870555447645","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371713446225,"sku":"SM-65870555480413","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371713478993,"sku":"SM-65870555513181","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371713511761,"sku":"SM-65870555545949","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371713544529,"sku":"SM-65870555578717","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371713577297,"sku":"SM-65870555611485","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371713610065,"sku":"SM-65870555644253","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371713642833,"sku":"SM-65870555677021","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371713675601,"sku":"SM-65870555709789","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371713708369,"sku":"SM-65870555742557","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371713741137,"sku":"SM-65870555775325","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371713773905,"sku":"SM-65870555808093","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371713806673,"sku":"SM-65870555840861","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371713839441,"sku":"SM-65870555873629","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Brown \/ S","offer_id":55371713872209,"sku":"SM-65870555906397","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Brown \/ M","offer_id":55371713904977,"sku":"SM-65870555939165","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Brown \/ L","offer_id":55371713937745,"sku":"SM-65870555971933","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Brown \/ XL","offer_id":55371713970513,"sku":"SM-65870556004701","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Brown \/ 2XL","offer_id":55371714003281,"sku":"SM-65870556037469","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ S","offer_id":55371714036049,"sku":"SM-65870556070237","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ M","offer_id":55371714068817,"sku":"SM-65870556103005","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ L","offer_id":55371714101585,"sku":"SM-65870556135773","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ XL","offer_id":55371714134353,"sku":"SM-65870556168541","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ 2XL","offer_id":55371714167121,"sku":"SM-65870556201309","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ S","offer_id":55371714199889,"sku":"SM-65870556234077","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ M","offer_id":55371714232657,"sku":"SM-65870556266845","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ L","offer_id":55371714265425,"sku":"SM-65870556299613","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ XL","offer_id":55371714298193,"sku":"SM-65870556332381","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ 2XL","offer_id":55371714330961,"sku":"SM-65870556365149","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ S","offer_id":55371714363729,"sku":"SM-65870556397917","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ M","offer_id":55371714396497,"sku":"SM-65870556430685","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ L","offer_id":55371714429265,"sku":"SM-65870556463453","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ XL","offer_id":55371714462033,"sku":"SM-65870556496221","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ 2XL","offer_id":55371714494801,"sku":"SM-65870556528989","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371714527569,"sku":"SM-65870556561757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371714560337,"sku":"SM-65870556594525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371714593105,"sku":"SM-65870556627293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371714625873,"sku":"SM-65870556660061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371714658641,"sku":"SM-65870556692829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":55371714691409,"sku":"SM-65870556725597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371714724177,"sku":"SM-65870556758365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371714756945,"sku":"SM-65870556791133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371714789713,"sku":"SM-65870556823901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371714822481,"sku":"SM-65870556856669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ S","offer_id":55371714855249,"sku":"SM-65870556889437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ M","offer_id":55371714888017,"sku":"SM-65870556922205","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ L","offer_id":55371714920785,"sku":"SM-65870556954973","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ XL","offer_id":55371714953553,"sku":"SM-65870556987741","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ 2XL","offer_id":55371714986321,"sku":"SM-65870557020509","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-steppjacke-leichte-zip-up-bomberjacke-strukturierter-s-1.jpg?v=1792459896"},{"product_id":"womens-oversized-denim-jacket-with-frayed-hem-charlotte","title":"Women's Oversized Denim Jacket with Frayed Hem | Charlotte","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eCharlotte\u003c\/strong\u003e, a oversized denim jacket with frayed hem from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDenim fabric\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eRelaxed oversized fit\u003c\/li\u003e\n\u003cli\u003eLong sleeves\u003c\/li\u003e\n\u003cli\u003eFringe trim\u003c\/li\u003e\n\u003cli\u003eChest pockets\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eStyle it with solid-color knitwear and your favorite jeans. For evening, try a simple dress and statement shoes.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Tumble dry on low heat. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-oversized-denim-jacket-with-frayed-hem-charlotte\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Black\",\"Light Blue\",\"Dark Blue\",\"Olive Green\",\"White\",\"Brown\",\"Red\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Black \/ S","offer_id":55371719737681,"sku":"SM-65870540865885","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371719770449,"sku":"SM-65870540898653","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371719803217,"sku":"SM-65870540931421","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371719835985,"sku":"SM-65870540964189","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371719868753,"sku":"SM-65870540996957","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ S","offer_id":55371719901521,"sku":"SM-65870541029725","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ M","offer_id":55371719934289,"sku":"SM-65870541062493","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ L","offer_id":55371719967057,"sku":"SM-65870541095261","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ XL","offer_id":55371719999825,"sku":"SM-65870541128029","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ 2XL","offer_id":55371720032593,"sku":"SM-65870541160797","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Dark Blue \/ S","offer_id":55371720065361,"sku":"SM-65870541193565","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Dark Blue \/ M","offer_id":55371720098129,"sku":"SM-65870541226333","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Dark Blue \/ L","offer_id":55371720130897,"sku":"SM-65870541259101","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Dark Blue \/ XL","offer_id":55371720163665,"sku":"SM-65870541291869","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Dark Blue \/ 2XL","offer_id":55371720196433,"sku":"SM-65870541324637","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ S","offer_id":55371720229201,"sku":"SM-65870541357405","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ M","offer_id":55371720261969,"sku":"SM-65870541390173","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ L","offer_id":55371720294737,"sku":"SM-65870541422941","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ XL","offer_id":55371720327505,"sku":"SM-65870541455709","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ 2XL","offer_id":55371720360273,"sku":"SM-65870541488477","price":67.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371720393041,"sku":"SM-65870541521245","price":67.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371720425809,"sku":"SM-65870541554013","price":67.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371720458577,"sku":"SM-65870541586781","price":67.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371720491345,"sku":"SM-65870541619549","price":67.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371720524113,"sku":"SM-65870541652317","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ S","offer_id":55371720556881,"sku":"SM-65870541685085","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ M","offer_id":55371720589649,"sku":"SM-65870541717853","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ L","offer_id":55371720622417,"sku":"SM-65870541750621","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ XL","offer_id":55371720655185,"sku":"SM-65870541783389","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ 2XL","offer_id":55371720687953,"sku":"SM-65870541816157","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371720720721,"sku":"SM-65870541848925","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371720753489,"sku":"SM-65870541881693","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371720786257,"sku":"SM-65870541914461","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371720819025,"sku":"SM-65870541947229","price":67.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371720851793,"sku":"SM-65870541979997","price":67.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-oversized-jeansjacke-langarm-mit-knopfleiste-und-frans-1.jpg?v=1792459905"},{"product_id":"womens-water-repellent-hooded-coat-annika","title":"Women's Water-Repellent Hooded Coat | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eAnnika\u003c\/strong\u003e, a water-repellent hooded coat from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHood\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003eAdjustable drawstring\u003c\/li\u003e\n\u003cli\u003eWater-repellent finish\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with your favorite knitwear and jeans, or a shirt and tailored pants. Keep accessories understated to highlight the silhouette.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Tumble dry on low heat. Reshape and dry flat. Do not iron. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-water-repellent-hooded-coat-annika\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Blue\",\"Yellow\",\"Pink\",\"Red\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Blue \/ S","offer_id":55371737923921,"sku":"SM-65870491615581","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371737956689,"sku":"SM-65870491648349","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371737989457,"sku":"SM-65870491681117","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371738022225,"sku":"SM-65870491713885","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371738054993,"sku":"SM-65870491746653","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ S","offer_id":55371738087761,"sku":"SM-65870491779421","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ M","offer_id":55371738120529,"sku":"SM-65870491812189","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ L","offer_id":55371738153297,"sku":"SM-65870491844957","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XL","offer_id":55371738186065,"sku":"SM-65870491877725","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 2XL","offer_id":55371738218833,"sku":"SM-65870491910493","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371738251601,"sku":"SM-65870491943261","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371738284369,"sku":"SM-65870491976029","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371738317137,"sku":"SM-65870492008797","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371738349905,"sku":"SM-65870492041565","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371738382673,"sku":"SM-65870492074333","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371738415441,"sku":"SM-65870492107101","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371738448209,"sku":"SM-65870492139869","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371738480977,"sku":"SM-65870492172637","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371738513745,"sku":"SM-65870492205405","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371738546513,"sku":"SM-65870492238173","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371738579281,"sku":"SM-65870492270941","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371738612049,"sku":"SM-65870492303709","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371738644817,"sku":"SM-65870492336477","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371738677585,"sku":"SM-65870492369245","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371738710353,"sku":"SM-65870492402013","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-regenmantel-wasserabweisender-kapuzenmantel-mit-taille-1.jpg?v=1792459942"},{"product_id":"womens-long-blazer-suit-set-leonie","title":"Women's Long Blazer Suit Set | Leonie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eLeonie\u003c\/strong\u003e, a long blazer suit set from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet with a long blazer\u003c\/li\u003e\n\u003cli\u003eTailored waist\u003c\/li\u003e\n\u003cli\u003eClassic suit styling\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with a plain top and a simple bag. Choose dress shoes for formal occasions or minimalist sneakers for everyday wear.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-long-blazer-suit-set-leonie\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Black\",\"Green\",\"Blue\",\"Pink\",\"Red\",\"White\",\"Light 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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Black \/ XS","offer_id":55371751358801,"sku":"SM-65869778092381","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371751391569,"sku":"SM-65869778125149","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371751424337,"sku":"SM-65869778157917","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371751457105,"sku":"SM-65869778190685","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371751489873,"sku":"SM-65869778223453","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371751522641,"sku":"SM-65869778256221","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XS","offer_id":55371751555409,"sku":"SM-65869778288989","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":55371751588177,"sku":"SM-65869778321757","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":55371751620945,"sku":"SM-65869778354525","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":55371751653713,"sku":"SM-65869778387293","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":55371751686481,"sku":"SM-65869778420061","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":55371751719249,"sku":"SM-65869778452829","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XS","offer_id":55371751752017,"sku":"SM-65869778485597","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371751784785,"sku":"SM-65869778518365","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371751817553,"sku":"SM-65869778551133","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371751850321,"sku":"SM-65869778583901","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371751883089,"sku":"SM-65869778616669","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371751915857,"sku":"SM-65869778649437","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XS","offer_id":55371751948625,"sku":"SM-65869778682205","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371751981393,"sku":"SM-65869778714973","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371752014161,"sku":"SM-65869778747741","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371752046929,"sku":"SM-65869778780509","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371752079697,"sku":"SM-65869778813277","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371752112465,"sku":"SM-65869778846045","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XS","offer_id":55371752145233,"sku":"SM-65869778878813","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371752178001,"sku":"SM-65869778911581","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371752210769,"sku":"SM-65869778944349","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371752243537,"sku":"SM-65869778977117","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371752276305,"sku":"SM-65869779009885","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371752309073,"sku":"SM-65869779042653","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XS","offer_id":55371752341841,"sku":"SM-65869779075421","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371752374609,"sku":"SM-65869779108189","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371752407377,"sku":"SM-65869779140957","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371752440145,"sku":"SM-65869779173725","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371752472913,"sku":"SM-65869779206493","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371752505681,"sku":"SM-65869779239261","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ XS","offer_id":55371752538449,"sku":"SM-65869779272029","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ S","offer_id":55371752571217,"sku":"SM-65869779304797","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ M","offer_id":55371752603985,"sku":"SM-65869779337565","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ L","offer_id":55371752636753,"sku":"SM-65869779370333","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ XL","offer_id":55371752669521,"sku":"SM-65869779403101","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ 2XL","offer_id":55371752702289,"sku":"SM-65869779435869","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Womens-Tailored-Blazer-Trouser-Set-Womens-Single-Breasted-Suit.png?v=1792459970"},{"product_id":"womens-tailored-blazer-edith","title":"Women's Tailored Blazer | Edith","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eEdith\u003c\/strong\u003e, a tailored blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with tailored pants and a plain top. For everyday wear, choose jeans, simple shoes and understated accessories.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL, 3XL, 4XL, 5XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-tailored-blazer-edith\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Black\",\"White\",\"Blue\",\"Pink\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL, 3XL, 4XL, 5XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Black \/ S","offer_id":55371752735057,"sku":"SM-65869773439325","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371752767825,"sku":"SM-65869773472093","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371752800593,"sku":"SM-65869773504861","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371752833361,"sku":"SM-65869773537629","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371752866129,"sku":"SM-65869773570397","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":55371752898897,"sku":"SM-65869773603165","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 4XL","offer_id":55371752931665,"sku":"SM-65869773635933","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 5XL","offer_id":55371752964433,"sku":"SM-65869773668701","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371752997201,"sku":"SM-65869773701469","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371753029969,"sku":"SM-65869773734237","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371753062737,"sku":"SM-65869773767005","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371753095505,"sku":"SM-65869773799773","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371753128273,"sku":"SM-65869773832541","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":55371753161041,"sku":"SM-65869773865309","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 4XL","offer_id":55371753193809,"sku":"SM-65869773898077","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 5XL","offer_id":55371753226577,"sku":"SM-65869773930845","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371753259345,"sku":"SM-65869773963613","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371753292113,"sku":"SM-65869773996381","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371753324881,"sku":"SM-65869774029149","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371753357649,"sku":"SM-65869774061917","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371753390417,"sku":"SM-65869774094685","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":55371753423185,"sku":"SM-65869774127453","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 4XL","offer_id":55371753455953,"sku":"SM-65869774160221","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 5XL","offer_id":55371753488721,"sku":"SM-65869774192989","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371753521489,"sku":"SM-65869774225757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371753554257,"sku":"SM-65869774258525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371753587025,"sku":"SM-65869774291293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371753619793,"sku":"SM-65869774324061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371753652561,"sku":"SM-65869774356829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":55371753685329,"sku":"SM-65869774389597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 4XL","offer_id":55371753718097,"sku":"SM-65869774422365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 5XL","offer_id":55371753750865,"sku":"SM-65869774455133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":55371753783633,"sku":"SM-65869774487901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371753816401,"sku":"SM-65869774520669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371753849169,"sku":"SM-65869774553437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371753881937,"sku":"SM-65869774586205","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371753914705,"sku":"SM-65869774618973","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 3XL","offer_id":55371753947473,"sku":"SM-65869774651741","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 4XL","offer_id":55371753980241,"sku":"SM-65869774684509","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 5XL","offer_id":55371754013009,"sku":"SM-65869774717277","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/75bcbddc-8312-4c1c-8191-562659e925b2.jpg?v=1792459972"},{"product_id":"womens-single-button-office-blazer-anna","title":"Women's Single-Button Office Blazer | Anna","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eAnna\u003c\/strong\u003e, a single-button office blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSingle-button closure\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-single-button-office-blazer-anna\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Beige\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":55371754963281,"sku":"SM-65869759349085","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371754996049,"sku":"SM-65869759381853","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371755028817,"sku":"SM-65869759414621","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371755061585,"sku":"SM-65869759447389","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371755094353,"sku":"SM-65869759480157","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371755127121,"sku":"SM-65869759512925","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371755159889,"sku":"SM-65869759545693","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371755192657,"sku":"SM-65869759578461","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371755225425,"sku":"SM-65869759611229","price":44.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371755258193,"sku":"SM-65869759643997","price":44.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/6_ac871555-d3fd-403b-b126-744f551b57a6.png?v=1792459977"},{"product_id":"womens-single-button-blazer-christa","title":"Women's Single-Button Blazer | Christa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eChrista\u003c\/strong\u003e, a single-button blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSingle-button closure\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003eRelaxed cut\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with tailored pants and a plain top. For everyday wear, choose jeans, simple shoes and understated accessories.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL, 3XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-single-button-blazer-christa\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\"],\"colors\":[\"Black\",\"White\",\"Blue\",\"Pink\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL, 3XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Black \/ S","offer_id":55371760730449,"sku":"SM-65869758366045","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371760763217,"sku":"SM-65869758398813","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371760795985,"sku":"SM-65869758431581","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371760828753,"sku":"SM-65869758464349","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371760861521,"sku":"SM-65869758497117","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":55371760894289,"sku":"SM-65869758529885","price":69.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371760927057,"sku":"SM-65869758562653","price":69.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371760959825,"sku":"SM-65869758595421","price":69.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371760992593,"sku":"SM-65869758628189","price":69.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371761025361,"sku":"SM-65869758660957","price":69.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371761058129,"sku":"SM-65869758693725","price":69.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":55371761090897,"sku":"SM-65869758726493","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371761123665,"sku":"SM-65869758759261","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371761156433,"sku":"SM-65869758792029","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371761189201,"sku":"SM-65869758824797","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371761221969,"sku":"SM-65869758857565","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371761254737,"sku":"SM-65869758890333","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":55371761287505,"sku":"SM-65869758923101","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371761320273,"sku":"SM-65869758955869","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371761353041,"sku":"SM-65869758988637","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371761385809,"sku":"SM-65869759021405","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371761418577,"sku":"SM-65869759054173","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371761451345,"sku":"SM-65869759086941","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":55371761484113,"sku":"SM-65869759119709","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":55371761516881,"sku":"SM-65869759152477","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371761549649,"sku":"SM-65869759185245","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371761582417,"sku":"SM-65869759218013","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371761615185,"sku":"SM-65869759250781","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371761647953,"sku":"SM-65869759283549","price":69.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 3XL","offer_id":55371761680721,"sku":"SM-65869759316317","price":69.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/75bcbddc-8312-4c1c-8191-562659e925b2_57766d88-c8b6-4e78-8b38-92549ab71ed3.jpg?v=1792459986"},{"product_id":"womens-relaxed-open-front-blazer-jacqueline","title":"Women's Relaxed Open-Front Blazer | Jacqueline","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eJacqueline\u003c\/strong\u003e, a relaxed open-front blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpen front\u003c\/li\u003e\n\u003cli\u003eLong sleeves\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eStyle it with a fitted top and wide-leg pants. For a casual look, pair with jeans and simple sneakers.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL, 3XL, 4XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-relaxed-open-front-blazer-jacqueline\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\"],\"colors\":[\"Yellow\",\"Green\",\"Navy\",\"Orange\",\"Blue\",\"Brown\",\"Pink\",\"Light Brown\",\"Red\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL, 3XL, 4XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Yellow \/ S","offer_id":55371761746257,"sku":"SM-65869738508637","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ M","offer_id":55371761779025,"sku":"SM-65869738541405","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ L","offer_id":55371761811793,"sku":"SM-65869738574173","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XL","offer_id":55371761844561,"sku":"SM-65869738606941","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 2XL","offer_id":55371761877329,"sku":"SM-65869738639709","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 3XL","offer_id":55371761910097,"sku":"SM-65869738672477","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 4XL","offer_id":55371761942865,"sku":"SM-65869738705245","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":55371761975633,"sku":"SM-65869738738013","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":55371762008401,"sku":"SM-65869738770781","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":55371762041169,"sku":"SM-65869738803549","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":55371762073937,"sku":"SM-65869738836317","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":55371762106705,"sku":"SM-65869738869085","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 3XL","offer_id":55371762139473,"sku":"SM-65869738901853","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 4XL","offer_id":55371762172241,"sku":"SM-65869738934621","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ S","offer_id":55371762205009,"sku":"SM-65869738967389","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371762237777,"sku":"SM-65869739000157","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371762270545,"sku":"SM-65869739032925","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371762303313,"sku":"SM-65869739065693","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 2XL","offer_id":55371762336081,"sku":"SM-65869739098461","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 3XL","offer_id":55371762368849,"sku":"SM-65869739131229","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 4XL","offer_id":55371762401617,"sku":"SM-65869739163997","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ S","offer_id":55371762434385,"sku":"SM-65869739196765","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ M","offer_id":55371762467153,"sku":"SM-65869739229533","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ L","offer_id":55371762499921,"sku":"SM-65869739262301","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ XL","offer_id":55371762532689,"sku":"SM-65869739295069","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ 2XL","offer_id":55371762565457,"sku":"SM-65869739327837","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ 3XL","offer_id":55371762598225,"sku":"SM-65869739360605","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ 4XL","offer_id":55371762630993,"sku":"SM-65869739393373","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371762663761,"sku":"SM-65869739426141","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371762696529,"sku":"SM-65869739458909","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371762729297,"sku":"SM-65869739491677","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371762762065,"sku":"SM-65869739524445","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371762794833,"sku":"SM-65869739557213","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":55371762827601,"sku":"SM-65869739589981","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 4XL","offer_id":55371762860369,"sku":"SM-65869739622749","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ S","offer_id":55371762893137,"sku":"SM-65869739655517","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ M","offer_id":55371762925905,"sku":"SM-65869739688285","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ L","offer_id":55371762958673,"sku":"SM-65869739721053","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ XL","offer_id":55371762991441,"sku":"SM-65869739753821","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ 2XL","offer_id":55371763024209,"sku":"SM-65869739786589","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ 3XL","offer_id":55371763056977,"sku":"SM-65869739819357","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ 4XL","offer_id":55371763089745,"sku":"SM-65869739852125","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371763122513,"sku":"SM-65869739884893","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371763155281,"sku":"SM-65869739917661","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371763188049,"sku":"SM-65869739950429","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371763220817,"sku":"SM-65869739983197","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371763253585,"sku":"SM-65869740015965","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":55371763286353,"sku":"SM-65869740048733","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 4XL","offer_id":55371763319121,"sku":"SM-65869740081501","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ S","offer_id":55371763351889,"sku":"SM-65869740114269","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ M","offer_id":55371763384657,"sku":"SM-65869740147037","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ L","offer_id":55371763417425,"sku":"SM-65869740179805","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ XL","offer_id":55371763450193,"sku":"SM-65869740212573","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ 2XL","offer_id":55371763482961,"sku":"SM-65869740245341","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ 3XL","offer_id":55371763515729,"sku":"SM-65869740278109","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Light Brown \/ 4XL","offer_id":55371763548497,"sku":"SM-65869740310877","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371763581265,"sku":"SM-65869740343645","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371763614033,"sku":"SM-65869740376413","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371763646801,"sku":"SM-65869740409181","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371763679569,"sku":"SM-65869740441949","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371763712337,"sku":"SM-65869740474717","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 3XL","offer_id":55371763745105,"sku":"SM-65869740507485","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 4XL","offer_id":55371763777873,"sku":"SM-65869740540253","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ S","offer_id":55371763810641,"sku":"SM-65869740573021","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ M","offer_id":55371763843409,"sku":"SM-65869740605789","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ L","offer_id":55371763876177,"sku":"SM-65869740638557","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ XL","offer_id":55371763908945,"sku":"SM-65869740671325","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ 2XL","offer_id":55371763941713,"sku":"SM-65869740704093","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ 3XL","offer_id":55371763974481,"sku":"SM-65869740736861","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ 4XL","offer_id":55371764007249,"sku":"SM-65869740769629","price":54.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Blazervoordames_fad8dfce-b0cc-4788-9cca-1476b343f5ca.png?v=1792459991"},{"product_id":"womens-long-sleeve-open-front-blazer-jana","title":"Women's Long-Sleeve Open-Front Blazer | Jana","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eJana\u003c\/strong\u003e, a long-sleeve open-front blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpen front\u003c\/li\u003e\n\u003cli\u003eLong sleeves\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-long-sleeve-open-front-blazer-jana\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Black \/ S","offer_id":55371764040017,"sku":"SM-65869735756125","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371764072785,"sku":"SM-65869735788893","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371764105553,"sku":"SM-65869735821661","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371764138321,"sku":"SM-65869735854429","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371764171089,"sku":"SM-65869735887197","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371764203857,"sku":"SM-65869735919965","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371764236625,"sku":"SM-65869735952733","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371764269393,"sku":"SM-65869735985501","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371764302161,"sku":"SM-65869736018269","price":49.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371764334929,"sku":"SM-65869736051037","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/HTB1n3tjXdzvK1RkSnfoq6zMwVXaF_f566719c-259e-4f61-b184-c485a1afbc6a.jpg?v=1792459991"},{"product_id":"womens-fitted-office-blazer-annika","title":"Women's Fitted Office Blazer | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eAnnika\u003c\/strong\u003e, a fitted office blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003cli\u003eClassic blazer silhouette\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with tailored pants and a plain top. For everyday wear, choose jeans, simple shoes and understated accessories.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL, 3XL, 4XL, 5XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-fitted-office-blazer-annika\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"3XL\",\"4XL\",\"5XL\"],\"colors\":[\"Black\",\"Blue\",\"Red\",\"Yellow\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL, 3XL, 4XL, 5XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Black \/ S","offer_id":55371764433233,"sku":"SM-65869736903005","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371764466001,"sku":"SM-65869736935773","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371764498769,"sku":"SM-65869736968541","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371764531537,"sku":"SM-65869737001309","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371764564305,"sku":"SM-65869737034077","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":55371764597073,"sku":"SM-65869737066845","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 4XL","offer_id":55371764629841,"sku":"SM-65869737099613","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 5XL","offer_id":55371764662609,"sku":"SM-65869737132381","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371764695377,"sku":"SM-65869737165149","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371764728145,"sku":"SM-65869737197917","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371764760913,"sku":"SM-65869737230685","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371764793681,"sku":"SM-65869737263453","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371764826449,"sku":"SM-65869737296221","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":55371764859217,"sku":"SM-65869737328989","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 4XL","offer_id":55371764891985,"sku":"SM-65869737361757","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 5XL","offer_id":55371764924753,"sku":"SM-65869737394525","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371764957521,"sku":"SM-65869737427293","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371764990289,"sku":"SM-65869737460061","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371765023057,"sku":"SM-65869737492829","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371765055825,"sku":"SM-65869737525597","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371765088593,"sku":"SM-65869737558365","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 3XL","offer_id":55371765121361,"sku":"SM-65869737591133","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 4XL","offer_id":55371765154129,"sku":"SM-65869737623901","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 5XL","offer_id":55371765186897,"sku":"SM-65869737656669","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ S","offer_id":55371765219665,"sku":"SM-65869737689437","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ M","offer_id":55371765252433,"sku":"SM-65869737722205","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ L","offer_id":55371765285201,"sku":"SM-65869737754973","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XL","offer_id":55371765317969,"sku":"SM-65869737787741","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 2XL","offer_id":55371765350737,"sku":"SM-65869737820509","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 3XL","offer_id":55371765383505,"sku":"SM-65869737853277","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 4XL","offer_id":55371765416273,"sku":"SM-65869737886045","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 5XL","offer_id":55371765449041,"sku":"SM-65869737918813","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371765481809,"sku":"SM-65869737951581","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371765514577,"sku":"SM-65869737984349","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371765547345,"sku":"SM-65869738017117","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371765580113,"sku":"SM-65869738049885","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371765612881,"sku":"SM-65869738082653","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":55371765645649,"sku":"SM-65869738115421","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 4XL","offer_id":55371765678417,"sku":"SM-65869738148189","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 5XL","offer_id":55371765711185,"sku":"SM-65869738180957","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371765743953,"sku":"SM-65869738213725","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371765776721,"sku":"SM-65869738246493","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371765809489,"sku":"SM-65869738279261","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371765842257,"sku":"SM-65869738312029","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371765875025,"sku":"SM-65869738344797","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":55371765907793,"sku":"SM-65869738377565","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 4XL","offer_id":55371765940561,"sku":"SM-65869738410333","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 5XL","offer_id":55371765973329,"sku":"SM-65869738443101","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/43470af7-22f8-42ab-9d74-6bbaf8dbc137_c3d019f6-4e06-47c1-a358-eb308eed08e5.png?v=1792459994"},{"product_id":"womens-open-front-blazer-susanne","title":"Women's Open-Front Blazer | Susanne","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eSusanne\u003c\/strong\u003e, a open-front blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpen front\u003c\/li\u003e\n\u003cli\u003eRelaxed fit\u003c\/li\u003e\n\u003cli\u003eLong sleeves\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eStyle it with a fitted top and wide-leg pants. For a casual look, pair with jeans and simple sneakers.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-open-front-blazer-susanne\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Red\",\"Pink\",\"Orange\",\"Purple\",\"Green\",\"Navy\",\"Black\",\"Blue\",\"Khaki\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Red \/ XS","offer_id":55371766038865,"sku":"SM-65869733069149","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371766071633,"sku":"SM-65869733101917","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371766104401,"sku":"SM-65869733134685","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371766137169,"sku":"SM-65869733167453","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371766169937,"sku":"SM-65869733200221","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371766202705,"sku":"SM-65869733232989","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XS","offer_id":55371766235473,"sku":"SM-65869733265757","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371766268241,"sku":"SM-65869733298525","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371766301009,"sku":"SM-65869733331293","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371766333777,"sku":"SM-65869733364061","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371766366545,"sku":"SM-65869733396829","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371766399313,"sku":"SM-65869733429597","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ XS","offer_id":55371766432081,"sku":"SM-65869733462365","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ S","offer_id":55371766464849,"sku":"SM-65869733495133","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ M","offer_id":55371766497617,"sku":"SM-65869733527901","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ L","offer_id":55371766530385,"sku":"SM-65869733560669","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ XL","offer_id":55371766563153,"sku":"SM-65869733593437","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ 2XL","offer_id":55371766595921,"sku":"SM-65869733626205","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ XS","offer_id":55371766628689,"sku":"SM-65869733658973","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ S","offer_id":55371766661457,"sku":"SM-65869733691741","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ M","offer_id":55371766694225,"sku":"SM-65869733724509","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ L","offer_id":55371766726993,"sku":"SM-65869733757277","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ XL","offer_id":55371766759761,"sku":"SM-65869733790045","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ 2XL","offer_id":55371766792529,"sku":"SM-65869733822813","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XS","offer_id":55371766825297,"sku":"SM-65869733855581","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":55371766858065,"sku":"SM-65869733888349","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":55371766890833,"sku":"SM-65869733921117","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":55371766923601,"sku":"SM-65869733953885","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":55371766956369,"sku":"SM-65869733986653","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":55371766989137,"sku":"SM-65869734019421","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XS","offer_id":55371767021905,"sku":"SM-65869734052189","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ S","offer_id":55371767054673,"sku":"SM-65869734084957","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371767087441,"sku":"SM-65869734117725","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371767120209,"sku":"SM-65869734150493","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371767152977,"sku":"SM-65869734183261","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 2XL","offer_id":55371767185745,"sku":"SM-65869734216029","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XS","offer_id":55371767218513,"sku":"SM-65869734248797","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371767251281,"sku":"SM-65869734281565","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371767284049,"sku":"SM-65869734314333","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371767316817,"sku":"SM-65869734347101","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371767349585,"sku":"SM-65869734379869","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371767382353,"sku":"SM-65869734412637","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XS","offer_id":55371767415121,"sku":"SM-65869734445405","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371767447889,"sku":"SM-65869734478173","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371767480657,"sku":"SM-65869734510941","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371767513425,"sku":"SM-65869734543709","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371767546193,"sku":"SM-65869734576477","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371767578961,"sku":"SM-65869734609245","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XS","offer_id":55371767611729,"sku":"SM-65869734642013","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":55371767644497,"sku":"SM-65869734674781","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371767677265,"sku":"SM-65869734707549","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371767710033,"sku":"SM-65869734740317","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371767742801,"sku":"SM-65869734773085","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371767775569,"sku":"SM-65869734805853","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XS","offer_id":55371767808337,"sku":"SM-65869734838621","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371767841105,"sku":"SM-65869734871389","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371767873873,"sku":"SM-65869734904157","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371767906641,"sku":"SM-65869734936925","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371767939409,"sku":"SM-65869734969693","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371767972177,"sku":"SM-65869735002461","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/da145632-c4b0-434e-927a-c4452338c6d6.ecba8b49a81c1be761315c887987e662.jpg?v=1792459997"},{"product_id":"womens-classic-single-button-blazer-sabina","title":"Women's Classic Single-Button Blazer | Sabina","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eSabina\u003c\/strong\u003e, a classic single-button blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSingle-button closure\u003c\/li\u003e\n\u003cli\u003eClassic blazer silhouette\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with tailored pants and a plain top. For everyday wear, choose jeans, simple shoes and understated accessories.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-classic-single-button-blazer-sabina\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Black\",\"Blue\",\"Green\",\"Red\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Black \/ S","offer_id":55371777638737,"sku":"SM-65869682737501","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371777671505,"sku":"SM-65869682770269","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371777704273,"sku":"SM-65869682803037","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371777737041,"sku":"SM-65869682835805","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371777769809,"sku":"SM-65869682868573","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371777802577,"sku":"SM-65869682901341","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371777835345,"sku":"SM-65869682934109","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371777868113,"sku":"SM-65869682966877","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371777900881,"sku":"SM-65869682999645","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371777933649,"sku":"SM-65869683032413","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":55371777966417,"sku":"SM-65869683065181","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":55371777999185,"sku":"SM-65869683097949","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":55371778031953,"sku":"SM-65869683130717","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":55371778064721,"sku":"SM-65869683163485","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":55371778097489,"sku":"SM-65869683196253","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371778130257,"sku":"SM-65869683229021","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371778163025,"sku":"SM-65869683261789","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371778195793,"sku":"SM-65869683294557","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371778228561,"sku":"SM-65869683327325","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371778261329,"sku":"SM-65869683360093","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/bd29692a-3a7f-459f-8bcf-a72e8800f0b2.webp?v=1792460018"},{"product_id":"womens-long-double-breasted-blazer-tamara","title":"Women's Long Double-Breasted Blazer | Tamara","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eTamara\u003c\/strong\u003e, a long double-breasted blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDouble-breasted front\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eLongline silhouette\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eStyle it with a fitted top and wide-leg pants. For a casual look, pair with jeans and simple sneakers.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-long-double-breasted-blazer-tamara\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Blue\",\"Beige\",\"Black\",\"Bright Pink\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Blue \/ XS","offer_id":55371790418257,"sku":"SM-65869383270749","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371790451025,"sku":"SM-65869383303517","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371790483793,"sku":"SM-65869383336285","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371790516561,"sku":"SM-65869383369053","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371790549329,"sku":"SM-65869383401821","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371790582097,"sku":"SM-65869383434589","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XS","offer_id":55371790614865,"sku":"SM-65869383467357","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371790647633,"sku":"SM-65869383500125","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371790680401,"sku":"SM-65869383532893","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371790713169,"sku":"SM-65869383565661","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371790745937,"sku":"SM-65869383598429","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371790778705,"sku":"SM-65869383631197","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XS","offer_id":55371790811473,"sku":"SM-65869383663965","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371790844241,"sku":"SM-65869383696733","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371790877009,"sku":"SM-65869383729501","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371790909777,"sku":"SM-65869383762269","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371790942545,"sku":"SM-65869383795037","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371790975313,"sku":"SM-65869383827805","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Bright Pink \/ XS","offer_id":55371791008081,"sku":"SM-65869383860573","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Bright Pink \/ S","offer_id":55371791040849,"sku":"SM-65869383893341","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Bright Pink \/ M","offer_id":55371791073617,"sku":"SM-65869383926109","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Bright Pink \/ L","offer_id":55371791106385,"sku":"SM-65869383958877","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Bright Pink \/ XL","offer_id":55371791139153,"sku":"SM-65869383991645","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Bright Pink \/ 2XL","offer_id":55371791171921,"sku":"SM-65869384024413","price":54.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Womens-Longline-Blazer-Double-Breasted-Tailoring-for-Effortless-Elegance-4.png?v=1792460042"},{"product_id":"womens-single-breasted-blazer-with-roll-up-sleeves-theresa","title":"Women's Single-Breasted Blazer with Roll-Up Sleeves | Theresa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eTheresa\u003c\/strong\u003e, a single-breasted blazer with roll-up sleeves from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSingle-breasted front\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003cli\u003eRoll-up sleeves\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-single-breasted-blazer-with-roll-up-sleeves-theresa\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Navy\",\"Red\",\"Blue\",\"Gray\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Navy \/ S","offer_id":55371791663441,"sku":"SM-65869382418781","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371791696209,"sku":"SM-65869382451549","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371791728977,"sku":"SM-65869382484317","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371791761745,"sku":"SM-65869382517085","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 2XL","offer_id":55371791794513,"sku":"SM-65869382549853","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371791827281,"sku":"SM-65869382582621","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371791860049,"sku":"SM-65869382615389","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371791892817,"sku":"SM-65869382648157","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371791925585,"sku":"SM-65869382680925","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371791958353,"sku":"SM-65869382713693","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371791991121,"sku":"SM-65869382746461","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371792023889,"sku":"SM-65869382779229","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371792056657,"sku":"SM-65869382811997","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371792089425,"sku":"SM-65869382844765","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371792122193,"sku":"SM-65869382877533","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ S","offer_id":55371792154961,"sku":"SM-65869382910301","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371792187729,"sku":"SM-65869382943069","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371792220497,"sku":"SM-65869382975837","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371792253265,"sku":"SM-65869383008605","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371792286033,"sku":"SM-65869383041373","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371792318801,"sku":"SM-65869383074141","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371792351569,"sku":"SM-65869383106909","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371792384337,"sku":"SM-65869383139677","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371792417105,"sku":"SM-65869383172445","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371792449873,"sku":"SM-65869383205213","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/Womens-Tailored-Blazer-Classic-Single-Breasted-with-Roll-Up-Sleeves.jpg?v=1792460042"},{"product_id":"womens-tailored-button-front-vest-nora","title":"Women's Tailored Button-Front Vest | Nora","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eNora\u003c\/strong\u003e, a tailored button-front vest from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eSleeveless design\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with a clean-cut shirt and high-waisted pants. Choose a long-sleeve top for a more relaxed day.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Do not tumble dry. Reshape and dry flat. Always follow the care label.\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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Khaki \/ S","offer_id":55371796644177,"sku":"SM-65868863897949","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371796676945,"sku":"SM-65868863930717","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371796709713,"sku":"SM-65868863963485","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371796742481,"sku":"SM-65868863996253","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371796775249,"sku":"SM-65868864029021","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ S","offer_id":55371796808017,"sku":"SM-65868864061789","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ M","offer_id":55371796840785,"sku":"SM-65868864094557","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ L","offer_id":55371796873553,"sku":"SM-65868864127325","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ XL","offer_id":55371796906321,"sku":"SM-65868864160093","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ 2XL","offer_id":55371796939089,"sku":"SM-65868864192861","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371796971857,"sku":"SM-65868864225629","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371797004625,"sku":"SM-65868864258397","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371797037393,"sku":"SM-65868864291165","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371797070161,"sku":"SM-65868864323933","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371797102929,"sku":"SM-65868864356701","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ S","offer_id":55371797135697,"sku":"SM-65868864389469","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ M","offer_id":55371797168465,"sku":"SM-65868864422237","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ L","offer_id":55371797201233,"sku":"SM-65868864455005","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ XL","offer_id":55371797234001,"sku":"SM-65868864487773","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ 2XL","offer_id":55371797266769,"sku":"SM-65868864520541","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371797299537,"sku":"SM-65868864553309","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371797332305,"sku":"SM-65868864586077","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371797365073,"sku":"SM-65868864618845","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371797397841,"sku":"SM-65868864651613","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 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-fitted-velvet-blazer-with-gold-tone-buttons-elisabeth","title":"Women's Fitted Velvet Blazer with Gold-Tone Buttons | Elisabeth","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eElisabeth\u003c\/strong\u003e, a fitted velvet blazer with gold-tone buttons from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eVelvet texture\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003cli\u003eGold-tone buttons\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eHand wash cold. Do not bleach. Do not tumble dry. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-fitted-velvet-blazer-with-gold-tone-buttons-elisabeth\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Navy\",\"Green\",\"Dark 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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Navy \/ S","offer_id":55371849138513,"sku":"SM-65868647334237","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371849171281,"sku":"SM-65868647367005","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371849204049,"sku":"SM-65868647399773","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371849236817,"sku":"SM-65868647432541","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 2XL","offer_id":55371849269585,"sku":"SM-65868647465309","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":55371849302353,"sku":"SM-65868647498077","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":55371849335121,"sku":"SM-65868647530845","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":55371849367889,"sku":"SM-65868647563613","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":55371849400657,"sku":"SM-65868647596381","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":55371849433425,"sku":"SM-65868647629149","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Dark Burgundy \/ S","offer_id":55371849466193,"sku":"SM-65868647661917","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Dark Burgundy \/ M","offer_id":55371849498961,"sku":"SM-65868647694685","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Dark Burgundy \/ L","offer_id":55371849531729,"sku":"SM-65868647727453","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Dark Burgundy \/ XL","offer_id":55371849564497,"sku":"SM-65868647760221","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Dark Burgundy \/ 2XL","offer_id":55371849597265,"sku":"SM-65868647792989","price":89.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-samt-blazer-mit-goldknpfen-schlanker-schnitt-1.jpg?v=1792460136"},{"product_id":"womens-fitted-double-breasted-peplum-blazer-greta","title":"Women's Fitted Double-Breasted Peplum Blazer | Greta","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eGreta\u003c\/strong\u003e, a fitted double-breasted peplum blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDouble-breasted front\u003c\/li\u003e\n\u003cli\u003eLong sleeves\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003cli\u003eWaist-defining peplum\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with tailored pants and a plain top. For everyday wear, choose jeans, simple shoes and understated accessories.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Do not tumble dry. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-fitted-double-breasted-peplum-blazer-greta\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\"],\"colors\":[\"Dark Gray\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Dark Gray \/ S","offer_id":55371849662801,"sku":"SM-65868648481117","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ M","offer_id":55371849695569,"sku":"SM-65868648513885","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ L","offer_id":55371849728337,"sku":"SM-65868648546653","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ XL","offer_id":55371849761105,"sku":"SM-65868648579421","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-taillierter-peplum-blazer-doppelreihig-langarm-6.jpg?v=1792460137"},{"product_id":"womens-tailored-button-front-vest-clara","title":"Women's Tailored Button-Front Vest | Clara","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eClara\u003c\/strong\u003e, a tailored button-front vest from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eSleeveless design\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with a clean-cut shirt and high-waisted pants. Choose a long-sleeve top for a more relaxed day.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Tumble dry on low heat. Reshape and dry flat. Always follow the care label.\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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Khaki \/ S","offer_id":55371896717649,"sku":"SM-65868521439581","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371896750417,"sku":"SM-65868521472349","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371896783185,"sku":"SM-65868521505117","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371896815953,"sku":"SM-65868521537885","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371896848721,"sku":"SM-65868521570653","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ S","offer_id":55371896881489,"sku":"SM-65868521603421","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ M","offer_id":55371896914257,"sku":"SM-65868521636189","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ L","offer_id":55371896947025,"sku":"SM-65868521668957","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ XL","offer_id":55371896979793,"sku":"SM-65868521701725","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ 2XL","offer_id":55371897012561,"sku":"SM-65868521734493","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371897045329,"sku":"SM-65868521767261","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371897078097,"sku":"SM-65868521800029","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371897110865,"sku":"SM-65868521832797","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371897143633,"sku":"SM-65868521865565","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371897176401,"sku":"SM-65868521898333","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ S","offer_id":55371897209169,"sku":"SM-65868521931101","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ M","offer_id":55371897241937,"sku":"SM-65868521963869","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ L","offer_id":55371897274705,"sku":"SM-65868521996637","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ XL","offer_id":55371897307473,"sku":"SM-65868522029405","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Dark Red \/ 2XL","offer_id":55371897340241,"sku":"SM-65868522062173","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371897373009,"sku":"SM-65868522094941","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371897405777,"sku":"SM-65868522127709","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371897438545,"sku":"SM-65868522160477","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371897471313,"sku":"SM-65868522193245","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 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-collared-denim-jacket-with-pockets-annika","title":"Women's Collared Denim Jacket with Pockets | Annika","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eAnnika\u003c\/strong\u003e, a collared denim jacket with pockets from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDenim fabric\u003c\/li\u003e\n\u003cli\u003eClassic turn-down collar\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003cli\u003eChest pockets\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eWear it with a lightweight turtleneck and wide-leg pants. Finish with a simple bag and understated jewelry.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-collared-denim-jacket-with-pockets-annika\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Gray\",\"Army Green\",\"Blue\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Gray \/ S","offer_id":55371900125521,"sku":"SM-65868508528989","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371900158289,"sku":"SM-65868508561757","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371900191057,"sku":"SM-65868508594525","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371900223825,"sku":"SM-65868508627293","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371900256593,"sku":"SM-65868508660061","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ S","offer_id":55371900289361,"sku":"SM-65868508692829","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ M","offer_id":55371900322129,"sku":"SM-65868508725597","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ L","offer_id":55371900354897,"sku":"SM-65868508758365","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ XL","offer_id":55371900387665,"sku":"SM-65868508791133","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ 2XL","offer_id":55371900420433,"sku":"SM-65868508823901","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371900453201,"sku":"SM-65868508856669","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371900485969,"sku":"SM-65868508889437","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371900518737,"sku":"SM-65868508922205","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371900551505,"sku":"SM-65868508954973","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371900584273,"sku":"SM-65868508987741","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371900617041,"sku":"SM-65868509020509","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371900649809,"sku":"SM-65868509053277","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371900682577,"sku":"SM-65868509086045","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371900715345,"sku":"SM-65868509118813","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371900748113,"sku":"SM-65868509151581","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-jeansjacke-mit-knopfleiste-brusttaschen-hemdblusenkrag-1.jpg?v=1792460238"},{"product_id":"womens-patterned-blazer-with-ruffled-shoulders-amelie","title":"Women's Patterned Blazer with Ruffled Shoulders | Amelie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eAmelie\u003c\/strong\u003e, a patterned blazer with ruffled shoulders from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHigh collar or stand collar\u003c\/li\u003e\n\u003cli\u003eFront zipper closure\u003c\/li\u003e\n\u003cli\u003eFitted cut\u003c\/li\u003e\n\u003cli\u003eDecorative ruffles\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with tailored pants and a plain top. For everyday wear, choose jeans, simple shoes and understated accessories.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Do not tumble dry. Reshape and dry flat. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-patterned-blazer-with-ruffled-shoulders-amelie\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Black\",\"Khaki\",\"Dark Pink\",\"White\",\"Dark Gray\",\"Pink\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Black \/ S","offer_id":55371904287057,"sku":"SM-65868505088349","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371904319825,"sku":"SM-65868505121117","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371904352593,"sku":"SM-65868505153885","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371904385361,"sku":"SM-65868505186653","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371904418129,"sku":"SM-65868505219421","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":55371904450897,"sku":"SM-65868505252189","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371904483665,"sku":"SM-65868505284957","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371904516433,"sku":"SM-65868505317725","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371904549201,"sku":"SM-65868505350493","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":55371904581969,"sku":"SM-65868505383261","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ S","offer_id":55371904614737,"sku":"SM-65868505416029","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ M","offer_id":55371904647505,"sku":"SM-65868505448797","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ L","offer_id":55371904680273,"sku":"SM-65868505481565","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ XL","offer_id":55371904713041,"sku":"SM-65868505514333","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Pink \/ 2XL","offer_id":55371904745809,"sku":"SM-65868505547101","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371904778577,"sku":"SM-65868505579869","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371904811345,"sku":"SM-65868505612637","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371904844113,"sku":"SM-65868505645405","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371904876881,"sku":"SM-65868505678173","price":84.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371904909649,"sku":"SM-65868505710941","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ S","offer_id":55371904942417,"sku":"SM-65868505743709","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ M","offer_id":55371904975185,"sku":"SM-65868505776477","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ L","offer_id":55371905007953,"sku":"SM-65868505809245","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ XL","offer_id":55371905040721,"sku":"SM-65868505842013","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Dark Gray \/ 2XL","offer_id":55371905073489,"sku":"SM-65868505874781","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371905106257,"sku":"SM-65868505907549","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371905139025,"sku":"SM-65868505940317","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371905171793,"sku":"SM-65868505973085","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371905204561,"sku":"SM-65868506005853","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371905237329,"sku":"SM-65868506038621","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ S","offer_id":55371905270097,"sku":"SM-65868506071389","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ M","offer_id":55371905302865,"sku":"SM-65868506104157","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ L","offer_id":55371905335633,"sku":"SM-65868506136925","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ XL","offer_id":55371905368401,"sku":"SM-65868506169693","price":84.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ 2XL","offer_id":55371905401169,"sku":"SM-65868506202461","price":84.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-taillierte-blazer-jacke-mit-rschenrmeln-grafik-print-r-1.jpg?v=1792460247"},{"product_id":"womens-long-oversized-blazer-elfriede","title":"Women's Long Oversized Blazer | Elfriede","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eElfriede\u003c\/strong\u003e, a long oversized blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLapel collar\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eRelaxed oversized fit\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not tumble dry. Reshape and dry flat. Keep away from direct heat and strong sunlight. Always follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-long-oversized-blazer-elfriede\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\"],\"colors\":[\"Beige\",\"Gray\",\"Black\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":55371907105105,"sku":"SM-65868498960733","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371907137873,"sku":"SM-65868498993501","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371907170641,"sku":"SM-65868499026269","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ S","offer_id":55371907203409,"sku":"SM-65868499059037","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371907236177,"sku":"SM-65868499091805","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371907268945,"sku":"SM-65868499124573","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371907301713,"sku":"SM-65868499157341","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371907334481,"sku":"SM-65868499190109","price":49.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371907367249,"sku":"SM-65868499222877","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-oversized-longblazer-mit-reverskragen-und-knopfdetails-1.jpg?v=1792460252"},{"product_id":"womens-cropped-corduroy-snap-front-vest-marie","title":"Women's Cropped Corduroy Snap-Front Vest | Marie","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eMarie\u003c\/strong\u003e, a cropped corduroy snap-front vest from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRibbed corduroy\u003c\/li\u003e\n\u003cli\u003eHigh collar or stand collar\u003c\/li\u003e\n\u003cli\u003eCropped silhouette\u003c\/li\u003e\n\u003cli\u003eQuilted finish\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with a clean-cut shirt and high-waisted pants. Choose a long-sleeve top for a more relaxed day.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Do not tumble dry. Reshape and dry flat. Always follow the care label.\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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Off-White \/ S","offer_id":55371922866513,"sku":"SM-65868469371229","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371922899281,"sku":"SM-65868469403997","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371922932049,"sku":"SM-65868469436765","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ S","offer_id":55371922964817,"sku":"SM-65868469469533","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":55371922997585,"sku":"SM-65868469502301","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Off-White \/ M","offer_id":55371923030353,"sku":"SM-65868469535069","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371923063121,"sku":"SM-65868469567837","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371923095889,"sku":"SM-65868469600605","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ M","offer_id":55371923128657,"sku":"SM-65868469633373","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":55371923161425,"sku":"SM-65868469666141","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371923194193,"sku":"SM-65868469698909","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Off-White \/ L","offer_id":55371923226961,"sku":"SM-65868469731677","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371923259729,"sku":"SM-65868469764445","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ L","offer_id":55371923292497,"sku":"SM-65868469797213","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":55371923325265,"sku":"SM-65868469829981","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":55371923358033,"sku":"SM-65868469862749","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Off-White \/ XL","offer_id":55371923390801,"sku":"SM-65868469895517","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371923423569,"sku":"SM-65868469928285","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ XL","offer_id":55371923456337,"sku":"SM-65868469961053","price":59.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 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-double-breasted-velvet-vest-greta","title":"Women's Double-Breasted Velvet Vest | Greta","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eGreta\u003c\/strong\u003e, a double-breasted velvet vest from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eComposition: 97% polyester, 3% elastane\u003c\/li\u003e\n\u003cli\u003eVelvet texture\u003c\/li\u003e\n\u003cli\u003eDouble-breasted front\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a plain turtleneck or shirt. Add straight-leg pants and shoes suited to the occasion for an everyday outfit.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M, L, XL, 2XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eMachine wash on a gentle cycle at 86°F (30°C). Do not bleach. Do not tumble dry. Reshape and dry flat. Always follow the care label.\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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: S, M, L, XL, 2XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Navy \/ S","offer_id":55371929485649,"sku":"SM-65868463341917","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371929518417,"sku":"SM-65868463374685","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371929551185,"sku":"SM-65868463407453","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371929583953,"sku":"SM-65868463440221","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 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-tailored-blazer-set-lyselle","title":"Women's Tailored Blazer Set | Lyselle","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eLyselle\u003c\/strong\u003e, a tailored blazer set from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet with a blazer\u003c\/li\u003e\n\u003cli\u003eClassic tailoring\u003c\/li\u003e\n\u003cli\u003eCoordinating finish across the set\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with a plain top and a simple bag. Choose dress shoes for formal occasions or minimalist sneakers for everyday wear.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L, XL, 2XL, XXL, 3XL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-tailored-blazer-set-lyselle\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"XXL\",\"3XL\"],\"colors\":[\"Blue\",\"Purple\",\"Beige\",\"Black\",\"Gray\",\"Brown\",\"Army 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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L, XL, 2XL, XXL, 3XL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Blue \/ XS","offer_id":55371975491921,"sku":"D4-SF087054","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371975524689,"sku":"D4-SF087054","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371975557457,"sku":"D4-SF087050","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371975590225,"sku":"D4-SF087051","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371975622993,"sku":"D4-SF087052","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371975655761,"sku":"D4-SF087053","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XXL","offer_id":55371975688529,"sku":"D4-SF087054","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":55371975721297,"sku":"D4-SF087080","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ XS","offer_id":55371975754065,"sku":"D4-SF087009","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ S","offer_id":55371975786833,"sku":"D4-SF087009","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ M","offer_id":55371975819601,"sku":"D4-SF087010","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ L","offer_id":55371975852369,"sku":"D4-SF087011","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ XL","offer_id":55371975885137,"sku":"D4-SF087012","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ 2XL","offer_id":55371975917905,"sku":"D4-SF087013","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ XXL","offer_id":55371975950673,"sku":"D4-SF087009","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ 3XL","offer_id":55371975983441,"sku":"D4-SF087074","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XS","offer_id":55371976016209,"sku":"D4-SF087016","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371976048977,"sku":"D4-SF087016","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371976081745,"sku":"D4-SF087017","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371976114513,"sku":"D4-SF087018","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371976147281,"sku":"D4-SF087019","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 2XL","offer_id":55371976180049,"sku":"D4-SF087020","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XXL","offer_id":55371976212817,"sku":"D4-SF087016","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ 3XL","offer_id":55371976245585,"sku":"D4-SF087075","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XS","offer_id":55371976278353,"sku":"D4-SF087023","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371976311121,"sku":"D4-SF087023","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371976343889,"sku":"D4-SF087024","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371976376657,"sku":"D4-SF087025","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371976409425,"sku":"D4-SF087026","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371976442193,"sku":"D4-SF087027","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XXL","offer_id":55371976474961,"sku":"D4-SF087023","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":55371976507729,"sku":"D4-SF087076","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XS","offer_id":55371976540497,"sku":"D4-SF087030","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ S","offer_id":55371976573265,"sku":"D4-SF087030","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371976606033,"sku":"D4-SF087031","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371976638801,"sku":"D4-SF087032","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371976671569,"sku":"D4-SF087033","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371976704337,"sku":"D4-SF087034","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XXL","offer_id":55371976737105,"sku":"D4-SF087030","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 3XL","offer_id":55371976769873,"sku":"D4-SF087035","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ XS","offer_id":55371976802641,"sku":"D4-SF087037","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ S","offer_id":55371976835409,"sku":"D4-SF087037","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ M","offer_id":55371976868177,"sku":"D4-SF087038","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ L","offer_id":55371976900945,"sku":"D4-SF087039","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ XL","offer_id":55371976933713,"sku":"D4-SF087040","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ 2XL","offer_id":55371976966481,"sku":"D4-SF087041","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ XXL","offer_id":55371976999249,"sku":"D4-SF087037","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ 3XL","offer_id":55371977032017,"sku":"D4-SF087078","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ XS","offer_id":55371977064785,"sku":"D4-SF087044","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ S","offer_id":55371977097553,"sku":"D4-SF087044","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ M","offer_id":55371977130321,"sku":"D4-SF087045","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ L","offer_id":55371977163089,"sku":"D4-SF087046","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ XL","offer_id":55371977195857,"sku":"D4-SF087047","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ 2XL","offer_id":55371977228625,"sku":"D4-SF087048","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ XXL","offer_id":55371977261393,"sku":"D4-SF087044","price":89.99,"currency_code":"USD","in_stock":true},{"title":"Army Green \/ 3XL","offer_id":55371977294161,"sku":"D4-SF087079","price":89.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/O1CN01R8Y6Op1xTP4JQyd6y__2215476866444-0-cib_ad42ee69-0fe9-4448-a833-420ff5b0215f_400x-Photoroom.jpg?v=1792460382"},{"product_id":"womens-striped-cotton-cardigan-sorento","title":"Women's Striped Cotton Cardigan | Sorento","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eSorento\u003c\/strong\u003e, a striped cotton cardigan from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCotton-blend fabric\u003c\/li\u003e\n\u003cli\u003eKnit construction\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eRelaxed fit\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with a plain top and your favorite jeans. For a dressier outfit, choose a midi skirt and delicate jewelry.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L, XL, 2XL, XXL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-striped-cotton-cardigan-sorento\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"XXL\"],\"colors\":[\"Blue\",\"Yellow\",\"Green\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L, XL, 2XL, XXL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Blue \/ XS","offer_id":55371978604881,"sku":"EC-1322-D","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371978637649,"sku":"EC-1322-D","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371978670417,"sku":"WE-9882-M","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371978703185,"sku":"YZ-3790-D","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371978735953,"sku":"EM-9718-V","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371978768721,"sku":"JU-8364-K","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XXL","offer_id":55371978801489,"sku":"EC-1322-D","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XS","offer_id":55371978834257,"sku":"QZ-9400-Y","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ S","offer_id":55371978867025,"sku":"QZ-9400-Y","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ M","offer_id":55371978899793,"sku":"PY-7811-P","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ L","offer_id":55371978932561,"sku":"FF-1299-S","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XL","offer_id":55371978965329,"sku":"PQ-5032-S","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ 2XL","offer_id":55371978998097,"sku":"JT-5374-P","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Yellow \/ XXL","offer_id":55371979030865,"sku":"QZ-9400-Y","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XS","offer_id":55371979063633,"sku":"UH-7646-L","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":55371979096401,"sku":"UH-7646-L","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":55371979129169,"sku":"TW-6064-S","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":55371979161937,"sku":"GE-3733-Y","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":55371979194705,"sku":"FQ-9898-S","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":55371979227473,"sku":"GR-3703-J","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XXL","offer_id":55371979260241,"sku":"UH-7646-L","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XS","offer_id":55371979293009,"sku":"YF-3354-Z","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371979325777,"sku":"YF-3354-Z","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371979358545,"sku":"UG-1092-S","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371979391313,"sku":"EL-2368-P","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371979424081,"sku":"HX-5680-R","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371979456849,"sku":"ZH-5336-Z","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XXL","offer_id":55371979489617,"sku":"YF-3354-Z","price":47.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/img-pzm5f0gq.jpg?v=1792460385"},{"product_id":"womens-tailored-vest-savona","title":"Women's Tailored Vest | Savona","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eSavona\u003c\/strong\u003e, a tailored vest from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCollarless design\u003c\/li\u003e\n\u003cli\u003eButton closure\u003c\/li\u003e\n\u003cli\u003eSleeveless design\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003cli\u003eFlared silhouette\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003ePair it with a clean-cut shirt and high-waisted pants. Choose a long-sleeve top for a more relaxed day.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L, XL, XXL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-tailored-vest-savona\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"XXL\"],\"colors\":[\"Beige\",\"Black\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L, XL, XXL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='Find my starting size';}\n      });\n    });\n  }\n  window.JuanaSizeFinder={init:init,estimate:estimate};\n  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n  document.addEventListener('shopify:section:load',init);\n  var queued=false;\n  new MutationObserver(function(changes){\n    if(queued||!changes.some(function(c){return Array.from(c.addedNodes).some(function(n){return n.nodeType===1\u0026\u0026(n.matches('.jf-size-finder')||n.querySelector('.jf-size-finder'));});}))return;\n    queued=true;setTimeout(function(){queued=false;init();},0);\n  }).observe(document.documentElement,{childList:true,subtree:true});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Juana Fashion","offers":[{"title":"Beige \/ XS","offer_id":55371979882833,"sku":"SM-65351505183069","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ S","offer_id":55371979915601,"sku":"SM-64919515562333","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ M","offer_id":55371979948369,"sku":"SM-64919515595101","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ L","offer_id":55371979981137,"sku":"SM-64919515627869","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XL","offer_id":55371980013905,"sku":"SM-65351505281373","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Beige \/ XXL","offer_id":55371980046673,"sku":"SM-65351505379677","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XS","offer_id":55371980079441,"sku":"SM-65351505215837","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371980112209,"sku":"SM-64919515660637","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371980144977,"sku":"SM-64919515693405","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371980177745,"sku":"SM-64919515726173","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371980210513,"sku":"SM-65351505314141","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XXL","offer_id":55371980243281,"sku":"SM-65351505412445","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XS","offer_id":55371980276049,"sku":"SM-65351505248605","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ S","offer_id":55371980308817,"sku":"SM-64919515758941","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371980341585,"sku":"SM-64919515791709","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371980374353,"sku":"SM-64919515824477","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371980407121,"sku":"SM-65351505346909","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XXL","offer_id":55371980439889,"sku":"SM-65351505445213","price":47.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/1_dcc29752-45d1-40ac-9e44-d85de081ee10.jpg?v=1792460386"},{"product_id":"womens-cropped-blazer-savile","title":"Women's Cropped Blazer | Savile","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eSavile\u003c\/strong\u003e, a cropped blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCropped silhouette\u003c\/li\u003e\n\u003cli\u003eDefined blazer silhouette\u003c\/li\u003e\n\u003cli\u003eClassic tailored styling\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L, XL, XXL.\u003c\/p\u003e\n\u003cp\u003eWhen choosing your size, consider the cut of the garment and the layers you plan to wear underneath.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-cropped-blazer-savile\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"XXL\"],\"colors\":[\"Brown\",\"Navy\",\"Red\",\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L, XL, XXL. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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":"Brown \/ XS","offer_id":55371980669265,"sku":"DWOD2-WL411042","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ S","offer_id":55371980702033,"sku":"DWOD2-WL411043","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ M","offer_id":55371980734801,"sku":"DWOD2-WL411044","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ L","offer_id":55371980767569,"sku":"SM-64919563895133","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XS","offer_id":55371980800337,"sku":"DWOD2-WL411046","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ S","offer_id":55371980833105,"sku":"DWOD2-WL411047","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371980865873,"sku":"DWOD2-WL411048","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371980898641,"sku":"SM-64919564026205","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XS","offer_id":55371980931409,"sku":"DWOD2-WL411038","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371980964177,"sku":"DWOD2-WL411039","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371980996945,"sku":"DWOD2-WL411040","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371981029713,"sku":"SM-64919564157277","price":57.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XS","offer_id":55371981062481,"sku":"DWOD2-WL411030","price":57.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371981095249,"sku":"DWOD2-WL411031","price":57.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371981128017,"sku":"DWOD2-WL411032","price":57.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371981160785,"sku":"SM-64919564288349","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XS","offer_id":55371981193553,"sku":"DWOD2-WL411050","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371981226321,"sku":"DWOD2-WL411051","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371981259089,"sku":"DWOD2-WL411052","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371981291857,"sku":"SM-64919564419421","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ XL","offer_id":55371981324625,"sku":"DWOD2-WL411042","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371981357393,"sku":"DWOD2-WL411046","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371981390161,"sku":"DWOD2-WL411038","price":57.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371981422929,"sku":"DWOD2-WL411030","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371981455697,"sku":"DWOD2-WL411050","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Brown \/ XXL","offer_id":55371981488465,"sku":"DWOD2-WL411042","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XXL","offer_id":55371981521233,"sku":"DWOD2-WL411046","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XXL","offer_id":55371981554001,"sku":"DWOD2-WL411038","price":57.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XXL","offer_id":55371981586769,"sku":"DWOD2-WL411030","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XXL","offer_id":55371981619537,"sku":"DWOD2-WL411050","price":57.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/ImageEdit-OldMoney_2_9e328195-56cf-4adc-88b2-e60b30ee9d16.jpg?v=1792460388"},{"product_id":"womens-oversized-belted-blazer-rothwell","title":"Women's Oversized Belted Blazer | Rothwell","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eRothwell\u003c\/strong\u003e, a oversized belted blazer from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWide padded shoulders\u003c\/li\u003e\n\u003cli\u003eWide lapel collar\u003c\/li\u003e\n\u003cli\u003eSelf-fabric blazer tie belt\u003c\/li\u003e\n\u003cli\u003eHip length\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eLayer it over a thin turtleneck or classic shirt. Plain pants and a small bag complete the look.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: XS, S, M, L.\u003c\/p\u003e\n\u003cp\u003eChest circumference: 38.6 in (98 cm); length: 29.1 in (74 cm); shoulder width: 18.1 in (46 cm). A specific size was not provided for these measurements.\u003c\/p\u003e\n\u003ch3\u003eCare\u003c\/h3\u003e\n\u003cp\u003eDry clean only. Follow the care label.\u003c\/p\u003e\n\u003cdetails class=\"jf-size-finder jf-size-finder-v2\" data-jf-config='{\"handle\":\"womens-oversized-belted-blazer-rothwell\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\"],\"colors\":[\"Black\",\"Gray\"],\"size_index\":0,\"color_index\":1,\"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\"\u003eNot sure which size?\u003c\/span\u003e\u003cspan style=\"display:block;margin-top:5px;font-size:13px;font-weight:400;line-height:1.45;color:#625b53\"\u003eGet a size estimate from your height \u0026amp; weight.\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\"\u003eFind my size\u003c\/span\u003e\u003cspan class=\"jf-size-close-label\" style=\"display:none\"\u003eClose size finder\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\"\u003eGet a rough starting size from your height and weight. This is an estimate, not a fit guarantee. Body shape, layers and garment cut can change your best fit.\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\"\u003eUnits\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\"\u003eFeet, inches \u0026amp; pounds\u003c\/option\u003e\n\u003coption value=\"metric\"\u003eCentimeters \u0026amp; kilograms\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\"\u003eHeight (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\"\u003eHeight (in)\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\"\u003eWeight (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\"\u003eHeight (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\"\u003eWeight (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\"\u003eFit reference\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=\"\"\u003eChoose a reference\u003c\/option\u003e\n\u003coption value=\"female\"\u003eWomen's sizing\u003c\/option\u003e\n\u003coption value=\"male\"\u003eMen's sizing\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\"\u003eColor\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=\"\"\u003eAny available color\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\"\u003eFind my starting size\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\"\u003eUses only sizes currently available to purchase. Your measurements stay in your browser and are not saved.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp data-jf-fallback style=\"font-size:13px;line-height:1.6;margin:0\"\u003eSizes offered: XS, S, M, L. If the estimator is unavailable, use the garment details above and your usual fit as a starting point.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cscript\u003e(function () {\n  'use strict';\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:'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:'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:'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:'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:'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); }\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      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=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      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='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='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          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='Suggested starting size: '+answer.size+'. This is a rough estimate; check the garment details and allow room for layers.';\n          if(cfg.runs_small)text+=' 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+=' Currently available in '+colorNames.slice(0,6).join(', ')+(colorNames.length\u003e6?' and other colors':'')+'.';\n          }\n          result.textContent=text;\n        } catch (_) {\n          if(ticket===generation)result.textContent='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='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 \/ Black","offer_id":55371997217105,"sku":"RW-19272-XS-BK","price":57.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Black","offer_id":55371997249873,"sku":"RW-19272-S-BK","price":57.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Black","offer_id":55371997282641,"sku":"RW-19272-M-BK","price":57.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Black","offer_id":55371997315409,"sku":"RW-19272-L-BK","price":57.99,"currency_code":"USD","in_stock":true},{"title":"XS \/ Gray","offer_id":55371997348177,"sku":"RW-19272-XS-GY","price":57.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Gray","offer_id":55371997380945,"sku":"RW-19272-S-GY","price":57.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Gray","offer_id":55371997413713,"sku":"RW-19272-M-GY","price":57.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Gray","offer_id":55371997446481,"sku":"RW-19272-L-GY","price":57.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/hf_20260906_122324_5573e61c-3117-48dd-87b5-7db4f1349e89.png?v=1792460428"}],"url":"https:\/\/juanafashion.com\/collections\/summer.oembed?page=2","provider":"Juana Fashion","version":"1.0","type":"link"}