{"title":"Cardigans","description":null,"products":[{"product_id":"womens-cropped-faux-fur-cardigan-jacket-lena","title":"Women's Cropped Faux Fur Cardigan Jacket | Lena","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eLena\u003c\/strong\u003e, a cropped faux fur cardigan jacket from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft faux fur\u003c\/li\u003e\n\u003cli\u003eCropped silhouette\u003c\/li\u003e\n\u003cli\u003eLightweight construction\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eWear it with a lightweight top, wide-leg pants and a simple bag. Keep the color palette coordinated.\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 cold on a gentle cycle. 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-cropped-faux-fur-cardigan-jacket-lena\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\",\"L\",\"XL\",\"2XL\"],\"colors\":[\"Gray\",\"White\",\"Black\",\"Dark Mustard\",\"Apricot\",\"Light Mustard\",\"Pink\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\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":55371664425297,"sku":"SM-65870896988509","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":55371664458065,"sku":"SM-65870897021277","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":55371664490833,"sku":"SM-65870897054045","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":55371664523601,"sku":"SM-65870897086813","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":55371664556369,"sku":"SM-65870897119581","price":64.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":55371664589137,"sku":"SM-65870897152349","price":64.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":55371664621905,"sku":"SM-65870897185117","price":64.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":55371664654673,"sku":"SM-65870897217885","price":64.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":55371664687441,"sku":"SM-65870897250653","price":64.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":55371664720209,"sku":"SM-65870897283421","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":55371664752977,"sku":"SM-65870897316189","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":55371664785745,"sku":"SM-65870897348957","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":55371664818513,"sku":"SM-65870897381725","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":55371664851281,"sku":"SM-65870897414493","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":55371664884049,"sku":"SM-65870897447261","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dark Mustard \/ S","offer_id":55371664916817,"sku":"SM-65870897480029","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dark Mustard \/ M","offer_id":55371664949585,"sku":"SM-65870897512797","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dark Mustard \/ L","offer_id":55371664982353,"sku":"SM-65870897545565","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dark Mustard \/ XL","offer_id":55371665015121,"sku":"SM-65870897578333","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Dark Mustard \/ 2XL","offer_id":55371665047889,"sku":"SM-65870897611101","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ S","offer_id":55371665080657,"sku":"SM-65870897643869","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ M","offer_id":55371665113425,"sku":"SM-65870897676637","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ L","offer_id":55371665146193,"sku":"SM-65870897709405","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ XL","offer_id":55371665178961,"sku":"SM-65870897742173","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ 2XL","offer_id":55371665211729,"sku":"SM-65870897774941","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Light Mustard \/ S","offer_id":55371665244497,"sku":"SM-65870897807709","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Light Mustard \/ M","offer_id":55371665277265,"sku":"SM-65870897840477","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Light Mustard \/ L","offer_id":55371665310033,"sku":"SM-65870897873245","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Light Mustard \/ XL","offer_id":55371665342801,"sku":"SM-65870897906013","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Light Mustard \/ 2XL","offer_id":55371665375569,"sku":"SM-65870897938781","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371665408337,"sku":"SM-65870897971549","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371665441105,"sku":"SM-65870898004317","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371665473873,"sku":"SM-65870898037085","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371665506641,"sku":"SM-65870898069853","price":64.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371665539409,"sku":"SM-65870898102621","price":64.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/damen-kurz-kunstpelz-cardigan-jacke-1.jpg?v=1792459797"},{"product_id":"womens-everyday-knit-cardigan-dalynorah","title":"Women's Everyday Knit Cardigan | Dalynorah","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eDalynorah\u003c\/strong\u003e, a everyday knit cardigan 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\u003eKnit layering style\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, 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-everyday-knit-cardigan-dalynorah\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"XXL\",\"3XL\"],\"colors\":[\"Red\",\"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, 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":"Red \/ XS","offer_id":55371970412881,"sku":"SM-65351508296029","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371970445649,"sku":"SM-64910998864221","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371970478417,"sku":"SM-64910998896989","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371970511185,"sku":"SM-64910998929757","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371970543953,"sku":"SM-64910998962525","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371970576721,"sku":"SM-64910998995293","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XXL","offer_id":55371970609489,"sku":"SM-65351508361565","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 3XL","offer_id":55371970642257,"sku":"SM-64910999028061","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XS","offer_id":55371970675025,"sku":"SM-65351508328797","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371970707793,"sku":"SM-64910999060829","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371970740561,"sku":"SM-64910999093597","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371970773329,"sku":"SM-64910999126365","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371970806097,"sku":"SM-64910999159133","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371970838865,"sku":"SM-64910999191901","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XXL","offer_id":55371970871633,"sku":"SM-65351508394333","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":55371970904401,"sku":"SM-64910999224669","price":57.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/camilla-multi-gekleurd-vest-434754-Photoroom_ab39672b-abd1-4cc7-8f64-410c22604763.jpg?v=1792460373"},{"product_id":"womens-dressy-cardigan-liza","title":"Women's Dressy Cardigan | Liza","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eLiza\u003c\/strong\u003e, a dressy cardigan from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFloral pattern\u003c\/li\u003e\n\u003cli\u003eV-neckline\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-dressy-cardigan-liza\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"XXL\"],\"colors\":[\"Blue\",\"Red\",\"Green\",\"Purple\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\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":55371974541649,"sku":"SM-65351506723165","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371974574417,"sku":"SM-64911010005341","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371974607185,"sku":"SM-64911010038109","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371974639953,"sku":"SM-64911010070877","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371974672721,"sku":"SM-64911010103645","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371974705489,"sku":"SM-64911010136413","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XXL","offer_id":55371974738257,"sku":"SM-65351506854237","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XS","offer_id":55371974771025,"sku":"SM-65351506755933","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371974803793,"sku":"SM-64911010169181","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371974836561,"sku":"SM-64911010201949","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371974869329,"sku":"SM-64911010234717","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371974902097,"sku":"SM-64911010267485","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371974934865,"sku":"SM-64911010300253","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XXL","offer_id":55371974967633,"sku":"SM-65351506887005","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XS","offer_id":55371975000401,"sku":"SM-65351506788701","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":55371975033169,"sku":"SM-64911010333021","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":55371975065937,"sku":"SM-64911010365789","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":55371975098705,"sku":"SM-64911010398557","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":55371975131473,"sku":"SM-64911010431325","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":55371975164241,"sku":"SM-64911010464093","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XXL","offer_id":55371975197009,"sku":"SM-65351506919773","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ XS","offer_id":55371975229777,"sku":"SM-65351506821469","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ S","offer_id":55371975262545,"sku":"SM-64911010496861","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ M","offer_id":55371975295313,"sku":"SM-64911010529629","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ L","offer_id":55371975328081,"sku":"SM-64911010562397","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ XL","offer_id":55371975360849,"sku":"SM-64911010595165","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ 2XL","offer_id":55371975393617,"sku":"SM-64911010627933","price":57.99,"currency_code":"USD","in_stock":true},{"title":"Purple \/ XXL","offer_id":55371975426385,"sku":"SM-65351506952541","price":57.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/54ed8042-a930-4af2-9776-a8434b08ea26_720x-Photoroom.jpg?v=1792460379"},{"product_id":"womens-classic-button-front-cardigan-lisa","title":"Women's Classic Button-Front Cardigan | Lisa","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eLisa\u003c\/strong\u003e, a classic button-front 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\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eWear it over a simple shirt with relaxed pants. Neutral accessories let the knit texture stand out.\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-classic-button-front-cardigan-lisa\",\"gender\":\"female\",\"sizes\":[\"XS\",\"S\",\"M\",\"L\",\"XL\",\"2XL\",\"XXL\",\"3XL\"],\"colors\":[\"Blue\",\"Navy\",\"Pink\",\"Red\"],\"size_index\":1,\"color_index\":0,\"runs_small\":false}' style=\"margin:24px 0;border:1px solid #d4cec5;border-radius:14px;background:#f6f3ee;padding:0;color:#202020;font-family:inherit;overflow:hidden;box-shadow:0 2px 8px rgba(32,32,32,.04)\"\u003e\n\u003csummary style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;width:100%;box-sizing:border-box;list-style:none;cursor:pointer;padding:18px;text-align:left;user-select:none\"\u003e\n\u003cspan style=\"display:block;flex:1 1 190px;min-width:0\"\u003e\u003cspan style=\"display:block;font-size:16px;font-weight:650;line-height:1.35;color:#202020\"\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":55371977326929,"sku":"SM-65351506461021","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":55371977359697,"sku":"SM-64911003779421","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":55371977392465,"sku":"SM-64911003812189","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":55371977425233,"sku":"SM-64911003844957","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":55371977458001,"sku":"SM-64911003877725","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":55371977490769,"sku":"SM-64911003910493","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XXL","offer_id":55371977523537,"sku":"SM-65351506592093","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":55371977556305,"sku":"SM-64911003943261","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XS","offer_id":55371977589073,"sku":"SM-65351506493789","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ S","offer_id":55371977621841,"sku":"SM-64911003976029","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ M","offer_id":55371977654609,"sku":"SM-64911004008797","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ L","offer_id":55371977687377,"sku":"SM-64911004041565","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XL","offer_id":55371977720145,"sku":"SM-64911004074333","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 2XL","offer_id":55371977752913,"sku":"SM-64911004107101","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ XXL","offer_id":55371977785681,"sku":"SM-65351506624861","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Navy \/ 3XL","offer_id":55371977818449,"sku":"SM-64911004139869","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XS","offer_id":55371977851217,"sku":"SM-65351506526557","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":55371977883985,"sku":"SM-64911004172637","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":55371977916753,"sku":"SM-64911004205405","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":55371977949521,"sku":"SM-64911004238173","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":55371977982289,"sku":"SM-64911004270941","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":55371978015057,"sku":"SM-64911004303709","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XXL","offer_id":55371978047825,"sku":"SM-65351506657629","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":55371978080593,"sku":"SM-64911004336477","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XS","offer_id":55371978113361,"sku":"SM-65351506559325","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":55371978146129,"sku":"SM-64911004369245","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":55371978178897,"sku":"SM-64911004402013","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":55371978211665,"sku":"SM-64911004434781","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":55371978244433,"sku":"SM-64911004467549","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 2XL","offer_id":55371978277201,"sku":"SM-64911004500317","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XXL","offer_id":55371978309969,"sku":"SM-65351506690397","price":47.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ 3XL","offer_id":55371978342737,"sku":"SM-64911004533085","price":47.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/e90dd96f25e664504a74ed39b2a96472.jpg?v=1792460384"},{"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-chunky-button-front-cardigan-wexford","title":"Women's Chunky Button-Front Cardigan | Wexford","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eWexford\u003c\/strong\u003e, a chunky button-front cardigan from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft, dense chunky knit\u003c\/li\u003e\n\u003cli\u003eRibbed V-neckline\u003c\/li\u003e\n\u003cli\u003eDropped shoulders\u003c\/li\u003e\n\u003cli\u003eHorn-look buttons\u003c\/li\u003e\n\u003cli\u003eTwo patch pockets\u003c\/li\u003e\n\u003cli\u003eRelaxed mid-thigh length\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eWear it over a simple shirt with relaxed pants. Neutral accessories let the knit texture stand out.\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\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-chunky-button-front-cardigan-wexford\",\"gender\":\"female\",\"sizes\":[\"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: 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":"S","offer_id":55371988697425,"sku":"WX-4110-S","price":67.99,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":55371988730193,"sku":"WX-4110-M","price":67.99,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":55371988762961,"sku":"WX-4110-L","price":67.99,"currency_code":"USD","in_stock":true},{"title":"XL","offer_id":55371988795729,"sku":"WX-4110-X","price":67.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/wexford-chunky-knit-button-cardigan-front.png?v=1792460402"},{"product_id":"womens-long-coatigan-kelmscott","title":"Women's Long Coatigan | Kelmscott","description":"\u003cdiv class=\"juana-fashion-product\"\u003e\n\u003cp\u003eMeet \u003cstrong\u003eKelmscott\u003c\/strong\u003e, a long coatigan from Juana Fashion.\u003c\/p\u003e\n\u003ch3\u003eProduct details\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft chunky knit\u003c\/li\u003e\n\u003cli\u003eCollarless open front without fastening\u003c\/li\u003e\n\u003cli\u003eDropped shoulders\u003c\/li\u003e\n\u003cli\u003eLong, wide sleeves\u003c\/li\u003e\n\u003cli\u003eTwo deep patch pockets\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to style\u003c\/h3\u003e\n\u003cp\u003eWear it with a lightweight top, wide-leg pants and a simple bag. Keep the color palette coordinated.\u003c\/p\u003e\n\u003ch3\u003eSize \u0026amp; fit\u003c\/h3\u003e\n\u003cp\u003eAvailable sizes: S, M.\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. 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-long-coatigan-kelmscott\",\"gender\":\"female\",\"sizes\":[\"S\",\"M\"],\"colors\":[\"Cream\",\"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: S, M. 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":"S \/ Cream","offer_id":55371996397905,"sku":"KM-18502-S-CR","price":79.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Cream","offer_id":55371996430673,"sku":"KM-18502-M-CR","price":79.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Black","offer_id":55371996463441,"sku":"KM-18502-S-BK","price":79.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Black","offer_id":55371996496209,"sku":"KM-18502-M-BK","price":79.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Gray","offer_id":55371996528977,"sku":"KM-18502-S-GY","price":79.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Gray","offer_id":55371996561745,"sku":"KM-18502-M-GY","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1072\/2607\/1377\/files\/hf_20260906_121918_537e887f-a95b-4939-8099-8f76c16effac.png?v=1792460424"}],"url":"https:\/\/juanafashion.com\/collections\/cardigans.oembed","provider":"Juana Fashion","version":"1.0","type":"link"}