{"title":"Coats \u0026 Hoodies","description":"\u003cp\u003e🧥 Keep your Frenchie warm on cold days with our cozy coats and hoodies. Lightweight yet insulating, designed to fit brachycephalic breeds without restricting movement. ❄️\u003c\/p\u003e","products":[{"product_id":"american-flag-tide-brand-windproof-and-rainproof-north-dog-large-dog-raincoat-dog-pet-jacket","title":"Frenchie Explorer Raincoat – Windproof \u0026 Water-Resistant Dog Rain Jacket","description":"\u003cdiv id=\"frenchie-calc\"\u003e\n  \u003cstyle\u003e\n    #frenchie-calc{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:600px;margin:1.5rem auto;color:#1a1a1a}\n    #frenchie-calc .fc-open-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:#FFA02E;color:#003049;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}\n    #frenchie-calc .fc-open-btn:hover{opacity:.85}\n    #frenchie-calc .fc-modal-bg{display:none;margin-top:16px}\n    #frenchie-calc .fc-modal-bg.open{display:block}\n    #frenchie-calc .fc-modal{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:24px;position:relative}\n    #frenchie-calc .fc-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#888;line-height:1;padding:0}\n    #frenchie-calc h3{font-size:16px;font-weight:600;margin:0 0 4px}\n    #frenchie-calc .fc-sub{font-size:13px;color:#666;margin:0 0 18px}\n    #frenchie-calc .fc-unit-toggle{display:flex;border:1px solid #ddd;border-radius:8px;overflow:hidden;width:fit-content;margin-bottom:18px}\n    #frenchie-calc .fc-unit-btn{padding:6px 18px;font-size:13px;cursor:pointer;background:transparent;border:none;color:#666;font-family:inherit}\n    #frenchie-calc .fc-unit-btn.active{background:#f0f0f0;color:#1a1a1a;font-weight:600}\n    #frenchie-calc .fc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}\n    #frenchie-calc .fc-field label{display:block;font-size:12px;color:#666;margin-bottom:5px;font-weight:500}\n    #frenchie-calc .fc-field input{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;outline:none}\n    #frenchie-calc .fc-field input:focus{border-color:#FFA02E}\n    #frenchie-calc .fc-result{border:1px solid #e0e0e0;border-radius:10px;padding:16px;margin-bottom:14px;background:#fafafa;min-height:70px}\n    #frenchie-calc .fc-size-big{font-size:48px;font-weight:700;line-height:1;color:#003049}\n    #frenchie-calc .fc-result-note{font-size:13px;color:#444;margin-top:8px;line-height:1.6}\n    #frenchie-calc .fc-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}\n    #frenchie-calc .fc-pill{padding:3px 10px;border-radius:20px;font-size:12px;border:1px solid #ddd;color:#888;background:transparent;font-weight:500}\n    #frenchie-calc .fc-pill.active{background:#FFA02E;color:#003049;border-color:#FFA02E;font-weight:700}\n    #frenchie-calc .fc-tip{border-left:2px solid #FFA02E;padding:9px 12px;font-size:12px;color:#555;line-height:1.6;margin-bottom:12px}\n    #frenchie-calc .fc-toggle-btn{font-size:12px;color:#555;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;text-decoration:underline;margin-bottom:8px}\n    #frenchie-calc table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}\n    #frenchie-calc table th{text-align:left;padding:7px 8px;color:#666;font-weight:600;border-bottom:1px solid #e0e0e0}\n    #frenchie-calc table td{padding:7px 8px;border-bottom:1px solid #f0f0f0;color:#1a1a1a}\n    #frenchie-calc table tr.fc-hl td{background:#003049;color:#fff;font-weight:600}\n    #frenchie-calc .fc-placeholder{font-size:13px;color:#888;padding:8px 0}\n    @media(max-width:460px){#frenchie-calc .fc-grid{grid-template-columns:1fr}}\n  \u003c\/style\u003e\n\n  \u003cbutton class=\"fc-open-btn\" onclick=\"fcToggleModal()\"\u003e\n    📏 Find my Frenchie's size\n  \u003c\/button\u003e\n\n  \u003cdiv class=\"fc-modal-bg\" id=\"fc-modal-bg\"\u003e\n    \u003cdiv class=\"fc-modal\"\u003e\n      \u003cbutton class=\"fc-close\" onclick=\"fcToggleModal()\"\u003e×\u003c\/button\u003e\n      \u003ch3\u003eSize calculator\u003c\/h3\u003e\n      \u003cp class=\"fc-sub\"\u003eEnter your dog's measurements for an instant recommendation.\u003c\/p\u003e\n\n      \u003cdiv class=\"fc-unit-toggle\"\u003e\n        \u003cbutton class=\"fc-unit-btn active\" onclick=\"fcSetUnit('cm')\" id=\"fc-btn-cm\"\u003ecm\u003c\/button\u003e\n        \u003cbutton class=\"fc-unit-btn\" onclick=\"fcSetUnit('in')\" id=\"fc-btn-in\"\u003einches\u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-grid\"\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-neck\"\u003eNeck (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-neck\" placeholder=\"e.g. 32\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-chest\"\u003eChest (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-chest\" placeholder=\"e.g. 54\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-back\"\u003eBack (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-back\" placeholder=\"e.g. 30\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-result\" id=\"fc-result\"\u003e\n        \u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-tip\"\u003eFrench bulldogs have a wide chest — always size up if between sizes. Chest measurement is the most important.\u003c\/div\u003e\n\n      \u003cbutton class=\"fc-toggle-btn\" onclick=\"fcToggleChart()\" id=\"fc-chart-toggle\"\u003eShow full size chart ↓\u003c\/button\u003e\n      \u003cdiv id=\"fc-chart\" style=\"display:none\"\u003e\n        \u003ctable\u003e\n          \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003cth id=\"fc-th-neck\"\u003eNeck (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-chest\"\u003eChest (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-back\"\u003eBack (cm)\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n          \u003ctbody id=\"fc-tbody\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function(){\n      var SIZES=[\n        {name:'XXS',neck:[22,26],chest:[32,38],back:[18,22]},\n        {name:'XS',neck:[26,30],chest:[38,44],back:[22,26]},\n        {name:'S',neck:[30,34],chest:[44,50],back:[26,30]},\n        {name:'M',neck:[34,38],chest:[50,57],back:[30,35]},\n        {name:'L',neck:[38,43],chest:[57,64],back:[35,40]},\n        {name:'XL',neck:[43,49],chest:[64,72],back:[40,46]},\n        {name:'XXL',neck:[49,55],chest:[72,80],back:[46,52]},\n        {name:'3XL',neck:[55,62],chest:[80,90],back:[52,58]}\n      ];\n      var unit='cm';\n\n      window.fcToggleModal=function(){\n        document.getElementById('fc-modal-bg').classList.toggle('open');\n      };\n\n      window.fcSetUnit=function(u){\n        unit=u;\n        document.getElementById('fc-btn-cm').className='fc-unit-btn'+(u==='cm'?' active':'');\n        document.getElementById('fc-btn-in').className='fc-unit-btn'+(u==='in'?' active':'');\n        var s=u==='cm'?'cm':'in';\n        document.getElementById('fc-lbl-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-lbl-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-lbl-back').textContent='Back ('+s+')';\n        document.getElementById('fc-th-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-th-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-th-back').textContent='Back ('+s+')';\n        document.getElementById('fc-neck').value='';\n        document.getElementById('fc-chest').value='';\n        document.getElementById('fc-back').value='';\n        fcRenderChart(-1);fcCalc();\n      };\n\n      function toCm(v){return unit==='in'?v*2.54:v;}\n      function fromCm(v){return unit==='in'?(v\/2.54).toFixed(1):v;}\n\n      window.fcCalc=function(){\n        var n=parseFloat(document.getElementById('fc-neck').value);\n        var c=parseFloat(document.getElementById('fc-chest').value);\n        var b=parseFloat(document.getElementById('fc-back').value);\n        var result=document.getElementById('fc-result');\n        if([n,c,b].filter(function(x){return!isNaN(x)\u0026\u0026x\u003e0;}).length===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var ncm=isNaN(n)?null:toCm(n),ccm=isNaN(c)?null:toCm(c),bcm=isNaN(b)?null:toCm(b);\n        var best=null,bestScore=-1;\n        for(var i=0;i\u003cSIZES.length;i++){\n          var s=SIZES[i],pts=0;\n          if(ncm!==null\u0026\u0026ncm\u003e=s.neck[0]\u0026\u0026ncm\u003cs.neck[1])pts+=1;\n          if(ccm!==null\u0026\u0026ccm\u003e=s.chest[0]\u0026\u0026ccm\u003cs.chest[1])pts+=2;\n          if(bcm!==null\u0026\u0026bcm\u003e=s.back[0]\u0026\u0026bcm\u003cs.back[1])pts+=1;\n          if(pts\u003ebestScore){bestScore=pts;best=i;}\n        }\n        if(bestScore===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eCould not match — please check measurements or contact us.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var sz=SIZES[best];\n        var nextName=best\u003cSIZES.length-1?SIZES[best+1].name:null;\n        var note=(ccm!==null\u0026\u0026ccm\u003e=sz.chest[1]-2\u0026\u0026nextName)?'Chest is near the upper limit — consider \u003cstrong\u003e'+nextName+'\u003c\/strong\u003e for a roomier fit.':'This size should fit your Frenchie well.';\n        var pills=SIZES.map(function(s){return'\u003cdiv class=\"fc-pill'+(s.name===sz.name?' active':'')+'\"\u003e'+ s.name+'\u003c\/div\u003e';}).join('');\n        result.innerHTML='\u003cdiv style=\"display:flex;align-items:flex-end;gap:10px;margin-bottom:6px\"\u003e\u003cdiv class=\"fc-size-big\"\u003e'+sz.name+'\u003c\/div\u003e\u003cdiv style=\"font-size:13px;color:#666;padding-bottom:8px\"\u003erecommended\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"fc-result-note\"\u003e'+note+'\u003c\/div\u003e\u003cdiv class=\"fc-pills\"\u003e'+pills+'\u003c\/div\u003e';\n        fcRenderChart(best);\n      };\n\n      function fcRenderChart(activeIdx){\n        document.getElementById('fc-tbody').innerHTML=SIZES.map(function(s,i){\n          var cls=i===activeIdx?' class=\"fc-hl\"':'';\n          return'\u003ctr'+cls+'\u003e\u003ctd\u003e'+s.name+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.neck[0])+' – '+fromCm(s.neck[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.chest[0])+' – '+fromCm(s.chest[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.back[0])+' – '+fromCm(s.back[1])+'\u003c\/td\u003e\u003c\/tr\u003e';\n        }).join('');\n      }\n\n      window.fcToggleChart=function(){\n        var chart=document.getElementById('fc-chart'),btn=document.getElementById('fc-chart-toggle');\n        if(chart.style.display==='none'){chart.style.display='block';btn.textContent='Hide size chart ↑';}\n        else{chart.style.display='none';btn.textContent='Show full size chart ↓';}\n      };\n\n      fcRenderChart(-1);\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e\n\u003cp\u003eKeep your Frenchie dry and adventurous with this sleek, high-performance raincoat. Designed specifically to handle the broad chest and stocky frame of French Bulldogs, this windproof polyester jacket offers maximum protection without sacrificing comfort. Whether it’s a drizzly morning walk or a windy afternoon at the park, this lightweight, durable parka ensures your bat-eared companion stays cozy and looks sharp in any weather.\u003c\/p\u003e","brand":"eprolo","offers":[{"title":"Black \/ S","offer_id":45958382878881,"sku":"B4F58164020F4431BA65B22BCA7653FA","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":45958382911649,"sku":"7E21645FB3BE4A59A4396F7B396ADCD4","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":45958382944417,"sku":"ACBDF5B4148340D6BA4AE05BCEA14922","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":45958382977185,"sku":"1D818825372B4F2E9524822F435E33A9","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XXL","offer_id":45958383009953,"sku":"282BB9D603404E41A8ED1B2CF90D1739","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XXXL","offer_id":45958383042721,"sku":"FD475201511040528B5F67A7B4667961","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 5XL","offer_id":45958383075489,"sku":"65CCD3EDBE3F4E3F900302B358C1F101","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 4XL","offer_id":45958383108257,"sku":"AA4B8783251C4C489DA5A8A708735ECC","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Camouflage \/ M","offer_id":45958383141025,"sku":"FD5E5C520E534A2B8A48A9DD04924AAF","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Camouflage \/ L","offer_id":45958383173793,"sku":"8D3F1725056E4EA781FA8ED0719F36B8","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Camouflage \/ XL","offer_id":45958383206561,"sku":"7C8C582F0AAB4E0D88B6EC48DCF44BE4","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Camouflage \/ XXL","offer_id":45958383239329,"sku":"146A26E7D7264E388860010E11B16D89","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Camouflage \/ XXXL","offer_id":45958383272097,"sku":"5B12AD22D37C4D1BA49370F50B778AB3","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Camouflage \/ 4XL","offer_id":45958383304865,"sku":"7E3EDE8316934FB8BB2F75734F4B5E2A","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Camouflage \/ 5XL","offer_id":45958383337633,"sku":"DADA3F03014F41C996F7BCB770E032FC","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Camouflage \/ S","offer_id":45958383370401,"sku":"DC45ADEFCD334413929D35760BE2A9AE","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ S","offer_id":45958383403169,"sku":"F93012D94E424C6489CC78421EEDD5C9","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ M","offer_id":45958383435937,"sku":"1A64518FAAF543EC9DE9DE3045456424","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ L","offer_id":45958383468705,"sku":"7ECC20B5FF16432291329916F544640E","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ XL","offer_id":45958383501473,"sku":"13C5EC6DF2FC49A4B2F86778BFE6332D","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ XXL","offer_id":45958383534241,"sku":"37ECEF66B61240DC8165A065D509E6D9","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ XXXL","offer_id":45958383567009,"sku":"001F70FAA68D4FEAB344B5392C0A9387","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ 4XL","offer_id":45958383599777,"sku":"B5EF119F5AAD49BCACAF875379624938","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ 5XL","offer_id":45958383632545,"sku":"AEBC9000E3064BDCA10D532AB15E66F1","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":45958383665313,"sku":"E56FDFF683604C5EB0150F9AFBE38BE4","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":45958383698081,"sku":"1232430127DF4ABAA7BA75B48BDE459C","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":45958383730849,"sku":"E286E179541D4BF0B6BE13D0B22B39DD","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":45958383763617,"sku":"ADE6F2B3B612491ABE72163B9971B7C1","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XXL","offer_id":45958383796385,"sku":"F454888194014A8AB658B543C1273E96","price":27.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XXXL","offer_id":45958383829153,"sku":"454498F4DDC64456B2335D081245C06E","price":27.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/E74F753E8644EBD12725BBB5FC1265CC_7.jpg?v=1777064061"},{"product_id":"rainproof","title":"French Bulldog Reflective Raincoat – Waterproof \u0026 Breathable","description":"\u003cdiv id=\"frenchie-calc\"\u003e\n  \u003cstyle\u003e\n    #frenchie-calc{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:600px;margin:1.5rem auto;color:#1a1a1a}\n    #frenchie-calc .fc-open-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:#FFA02E;color:#003049;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}\n    #frenchie-calc .fc-open-btn:hover{opacity:.85}\n    #frenchie-calc .fc-modal-bg{display:none;margin-top:16px}\n    #frenchie-calc .fc-modal-bg.open{display:block}\n    #frenchie-calc .fc-modal{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:24px;position:relative}\n    #frenchie-calc .fc-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#888;line-height:1;padding:0}\n    #frenchie-calc h3{font-size:16px;font-weight:600;margin:0 0 4px}\n    #frenchie-calc .fc-sub{font-size:13px;color:#666;margin:0 0 18px}\n    #frenchie-calc .fc-unit-toggle{display:flex;border:1px solid #ddd;border-radius:8px;overflow:hidden;width:fit-content;margin-bottom:18px}\n    #frenchie-calc .fc-unit-btn{padding:6px 18px;font-size:13px;cursor:pointer;background:transparent;border:none;color:#666;font-family:inherit}\n    #frenchie-calc .fc-unit-btn.active{background:#f0f0f0;color:#1a1a1a;font-weight:600}\n    #frenchie-calc .fc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}\n    #frenchie-calc .fc-field label{display:block;font-size:12px;color:#666;margin-bottom:5px;font-weight:500}\n    #frenchie-calc .fc-field input{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;outline:none}\n    #frenchie-calc .fc-field input:focus{border-color:#FFA02E}\n    #frenchie-calc .fc-result{border:1px solid #e0e0e0;border-radius:10px;padding:16px;margin-bottom:14px;background:#fafafa;min-height:70px}\n    #frenchie-calc .fc-size-big{font-size:48px;font-weight:700;line-height:1;color:#003049}\n    #frenchie-calc .fc-result-note{font-size:13px;color:#444;margin-top:8px;line-height:1.6}\n    #frenchie-calc .fc-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}\n    #frenchie-calc .fc-pill{padding:3px 10px;border-radius:20px;font-size:12px;border:1px solid #ddd;color:#888;background:transparent;font-weight:500}\n    #frenchie-calc .fc-pill.active{background:#FFA02E;color:#003049;border-color:#FFA02E;font-weight:700}\n    #frenchie-calc .fc-tip{border-left:2px solid #FFA02E;padding:9px 12px;font-size:12px;color:#555;line-height:1.6;margin-bottom:12px}\n    #frenchie-calc .fc-toggle-btn{font-size:12px;color:#555;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;text-decoration:underline;margin-bottom:8px}\n    #frenchie-calc table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}\n    #frenchie-calc table th{text-align:left;padding:7px 8px;color:#666;font-weight:600;border-bottom:1px solid #e0e0e0}\n    #frenchie-calc table td{padding:7px 8px;border-bottom:1px solid #f0f0f0;color:#1a1a1a}\n    #frenchie-calc table tr.fc-hl td{background:#003049;color:#fff;font-weight:600}\n    #frenchie-calc .fc-placeholder{font-size:13px;color:#888;padding:8px 0}\n    @media(max-width:460px){#frenchie-calc .fc-grid{grid-template-columns:1fr}}\n  \u003c\/style\u003e\n\n  \u003cbutton class=\"fc-open-btn\" onclick=\"fcToggleModal()\"\u003e\n    📏 Find my Frenchie's size\n  \u003c\/button\u003e\n\n  \u003cdiv class=\"fc-modal-bg\" id=\"fc-modal-bg\"\u003e\n    \u003cdiv class=\"fc-modal\"\u003e\n      \u003cbutton class=\"fc-close\" onclick=\"fcToggleModal()\"\u003e×\u003c\/button\u003e\n      \u003ch3\u003eSize calculator\u003c\/h3\u003e\n      \u003cp class=\"fc-sub\"\u003eEnter your dog's measurements for an instant recommendation.\u003c\/p\u003e\n\n      \u003cdiv class=\"fc-unit-toggle\"\u003e\n        \u003cbutton class=\"fc-unit-btn active\" onclick=\"fcSetUnit('cm')\" id=\"fc-btn-cm\"\u003ecm\u003c\/button\u003e\n        \u003cbutton class=\"fc-unit-btn\" onclick=\"fcSetUnit('in')\" id=\"fc-btn-in\"\u003einches\u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-grid\"\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-neck\"\u003eNeck (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-neck\" placeholder=\"e.g. 32\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-chest\"\u003eChest (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-chest\" placeholder=\"e.g. 54\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-back\"\u003eBack (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-back\" placeholder=\"e.g. 30\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-result\" id=\"fc-result\"\u003e\n        \u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-tip\"\u003eFrench bulldogs have a wide chest — always size up if between sizes. Chest measurement is the most important.\u003c\/div\u003e\n\n      \u003cbutton class=\"fc-toggle-btn\" onclick=\"fcToggleChart()\" id=\"fc-chart-toggle\"\u003eShow full size chart ↓\u003c\/button\u003e\n      \u003cdiv id=\"fc-chart\" style=\"display:none\"\u003e\n        \u003ctable\u003e\n          \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003cth id=\"fc-th-neck\"\u003eNeck (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-chest\"\u003eChest (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-back\"\u003eBack (cm)\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n          \u003ctbody id=\"fc-tbody\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function(){\n      var SIZES=[\n        {name:'XXS',neck:[22,26],chest:[32,38],back:[18,22]},\n        {name:'XS',neck:[26,30],chest:[38,44],back:[22,26]},\n        {name:'S',neck:[30,34],chest:[44,50],back:[26,30]},\n        {name:'M',neck:[34,38],chest:[50,57],back:[30,35]},\n        {name:'L',neck:[38,43],chest:[57,64],back:[35,40]},\n        {name:'XL',neck:[43,49],chest:[64,72],back:[40,46]},\n        {name:'XXL',neck:[49,55],chest:[72,80],back:[46,52]},\n        {name:'3XL',neck:[55,62],chest:[80,90],back:[52,58]}\n      ];\n      var unit='cm';\n\n      window.fcToggleModal=function(){\n        document.getElementById('fc-modal-bg').classList.toggle('open');\n      };\n\n      window.fcSetUnit=function(u){\n        unit=u;\n        document.getElementById('fc-btn-cm').className='fc-unit-btn'+(u==='cm'?' active':'');\n        document.getElementById('fc-btn-in').className='fc-unit-btn'+(u==='in'?' active':'');\n        var s=u==='cm'?'cm':'in';\n        document.getElementById('fc-lbl-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-lbl-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-lbl-back').textContent='Back ('+s+')';\n        document.getElementById('fc-th-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-th-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-th-back').textContent='Back ('+s+')';\n        document.getElementById('fc-neck').value='';\n        document.getElementById('fc-chest').value='';\n        document.getElementById('fc-back').value='';\n        fcRenderChart(-1);fcCalc();\n      };\n\n      function toCm(v){return unit==='in'?v*2.54:v;}\n      function fromCm(v){return unit==='in'?(v\/2.54).toFixed(1):v;}\n\n      window.fcCalc=function(){\n        var n=parseFloat(document.getElementById('fc-neck').value);\n        var c=parseFloat(document.getElementById('fc-chest').value);\n        var b=parseFloat(document.getElementById('fc-back').value);\n        var result=document.getElementById('fc-result');\n        if([n,c,b].filter(function(x){return!isNaN(x)\u0026\u0026x\u003e0;}).length===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var ncm=isNaN(n)?null:toCm(n),ccm=isNaN(c)?null:toCm(c),bcm=isNaN(b)?null:toCm(b);\n        var best=null,bestScore=-1;\n        for(var i=0;i\u003cSIZES.length;i++){\n          var s=SIZES[i],pts=0;\n          if(ncm!==null\u0026\u0026ncm\u003e=s.neck[0]\u0026\u0026ncm\u003cs.neck[1])pts+=1;\n          if(ccm!==null\u0026\u0026ccm\u003e=s.chest[0]\u0026\u0026ccm\u003cs.chest[1])pts+=2;\n          if(bcm!==null\u0026\u0026bcm\u003e=s.back[0]\u0026\u0026bcm\u003cs.back[1])pts+=1;\n          if(pts\u003ebestScore){bestScore=pts;best=i;}\n        }\n        if(bestScore===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eCould not match — please check measurements or contact us.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var sz=SIZES[best];\n        var nextName=best\u003cSIZES.length-1?SIZES[best+1].name:null;\n        var note=(ccm!==null\u0026\u0026ccm\u003e=sz.chest[1]-2\u0026\u0026nextName)?'Chest is near the upper limit — consider \u003cstrong\u003e'+nextName+'\u003c\/strong\u003e for a roomier fit.':'This size should fit your Frenchie well.';\n        var pills=SIZES.map(function(s){return'\u003cdiv class=\"fc-pill'+(s.name===sz.name?' active':'')+'\"\u003e'+ s.name+'\u003c\/div\u003e';}).join('');\n        result.innerHTML='\u003cdiv style=\"display:flex;align-items:flex-end;gap:10px;margin-bottom:6px\"\u003e\u003cdiv class=\"fc-size-big\"\u003e'+sz.name+'\u003c\/div\u003e\u003cdiv style=\"font-size:13px;color:#666;padding-bottom:8px\"\u003erecommended\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"fc-result-note\"\u003e'+note+'\u003c\/div\u003e\u003cdiv class=\"fc-pills\"\u003e'+pills+'\u003c\/div\u003e';\n        fcRenderChart(best);\n      };\n\n      function fcRenderChart(activeIdx){\n        document.getElementById('fc-tbody').innerHTML=SIZES.map(function(s,i){\n          var cls=i===activeIdx?' class=\"fc-hl\"':'';\n          return'\u003ctr'+cls+'\u003e\u003ctd\u003e'+s.name+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.neck[0])+' – '+fromCm(s.neck[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.chest[0])+' – '+fromCm(s.chest[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.back[0])+' – '+fromCm(s.back[1])+'\u003c\/td\u003e\u003c\/tr\u003e';\n        }).join('');\n      }\n\n      window.fcToggleChart=function(){\n        var chart=document.getElementById('fc-chart'),btn=document.getElementById('fc-chart-toggle');\n        if(chart.style.display==='none'){chart.style.display='block';btn.textContent='Hide size chart ↑';}\n        else{chart.style.display='none';btn.textContent='Show full size chart ↓';}\n      };\n\n      fcRenderChart(-1);\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e\n\u003cp\u003eRain or shine, your Frenchie stays dry, safe, and still the most stylish pup on the block. 🌧️\u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"\u003e\u003cstrong\u003eProduct Features:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e☔ \u003cstrong\u003eRainproof Protection\u003c\/strong\u003e: Waterproof polyester keeps your Frenchie fully dry in any weather\u003c\/li\u003e\n\u003cli\u003e🌬️ \u003cstrong\u003eBreathable Fabric\u003c\/strong\u003e: Allows airflow so your Frenchie stays comfortable and never overheats\u003c\/li\u003e\n\u003cli\u003e🌟 \u003cstrong\u003eReflective Nightwear\u003c\/strong\u003e: High-visibility strips keep your pup safe and seen on night walks\u003c\/li\u003e\n\u003cli\u003e🐾 \u003cstrong\u003eFour-Legged Design\u003c\/strong\u003e: Full body coverage — protects all four legs from rain and mud\u003c\/li\u003e\n\u003cli\u003e🎨 \u003cstrong\u003e3 Colors\u003c\/strong\u003e: Available in Red, Green and Gray to suit every Frenchie's style\u003c\/li\u003e\n\u003cli\u003e📏 \u003cstrong\u003e5 Sizes\u003c\/strong\u003e: S to 2XL — fits French Bulldogs from lean pups to big chunky adults\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/ChatGPTImage28avr.2026_21_44_46.png?v=1777409105\" alt=\"\"\u003e\u003c\/p\u003e","brand":"eprolo","offers":[{"title":"Red \/ S","offer_id":46042358087841,"sku":"775DDB89F5D04C76AD5458CBBAC66AB5","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":46042358120609,"sku":"822BEB3AC62545C6B4F84B356549A522","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":46042358153377,"sku":"7F0A4E25FE6941A387EDFA53C87F7E90","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":46042358186145,"sku":"6BC8AF72BBF14CB3B0627A45DA850CA7","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Red \/ XXL","offer_id":46042358218913,"sku":"11335F1E3EB843F9AEBBDB59BFB26ED9","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":46042358251681,"sku":"33CB63906CD04405817741BC18EC28B3","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":46042358284449,"sku":"31FAEDE472644F5785CCDC6F823F65B6","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":46042358317217,"sku":"546E7787A8AD481FBB0A23A223D08DE7","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":46042358349985,"sku":"F5769036E0F04C3596EDEA3A7BC93B89","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XXL","offer_id":46042358382753,"sku":"5473A3EB438A4C97850CCC633D33159A","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ S","offer_id":46042358415521,"sku":"2A072CFC8FD74431ABF5D321BD9E1F21","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ M","offer_id":46042358448289,"sku":"FDD4AE5EE37B42158266B73390D1A346","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ L","offer_id":46042358481057,"sku":"886E5A90A13F4913ADDBEE11620CF41E","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ XL","offer_id":46042358513825,"sku":"0CDE7404B2364C12ACC6012D293FF391","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ XXL","offer_id":46042358546593,"sku":"9D41E6A3D48E49089686F9E562920D15","price":29.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/Gemini_Generated_Image_c072ecc072ecc072.jpg?v=1777409059"},{"product_id":"winter-dog-clothes-for-small-dogs-warm-dog-coat-jacket-french-bulldog-clothes-hooded-coat-pet-puppy-cloting-fleece-padded-outfit","title":"French Bulldog Winter Hooded Coat – Warm Fleece Padded Jacket","description":"\u003cdiv id=\"frenchie-calc\"\u003e\n  \u003cstyle\u003e\n    #frenchie-calc{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:600px;margin:1.5rem auto;color:#1a1a1a}\n    #frenchie-calc .fc-open-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:#FFA02E;color:#003049;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}\n    #frenchie-calc .fc-open-btn:hover{opacity:.85}\n    #frenchie-calc .fc-modal-bg{display:none;margin-top:16px}\n    #frenchie-calc .fc-modal-bg.open{display:block}\n    #frenchie-calc .fc-modal{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:24px;position:relative}\n    #frenchie-calc .fc-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#888;line-height:1;padding:0}\n    #frenchie-calc h3{font-size:16px;font-weight:600;margin:0 0 4px}\n    #frenchie-calc .fc-sub{font-size:13px;color:#666;margin:0 0 18px}\n    #frenchie-calc .fc-unit-toggle{display:flex;border:1px solid #ddd;border-radius:8px;overflow:hidden;width:fit-content;margin-bottom:18px}\n    #frenchie-calc .fc-unit-btn{padding:6px 18px;font-size:13px;cursor:pointer;background:transparent;border:none;color:#666;font-family:inherit}\n    #frenchie-calc .fc-unit-btn.active{background:#f0f0f0;color:#1a1a1a;font-weight:600}\n    #frenchie-calc .fc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}\n    #frenchie-calc .fc-field label{display:block;font-size:12px;color:#666;margin-bottom:5px;font-weight:500}\n    #frenchie-calc .fc-field input{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;outline:none}\n    #frenchie-calc .fc-field input:focus{border-color:#FFA02E}\n    #frenchie-calc .fc-result{border:1px solid #e0e0e0;border-radius:10px;padding:16px;margin-bottom:14px;background:#fafafa;min-height:70px}\n    #frenchie-calc .fc-size-big{font-size:48px;font-weight:700;line-height:1;color:#003049}\n    #frenchie-calc .fc-result-note{font-size:13px;color:#444;margin-top:8px;line-height:1.6}\n    #frenchie-calc .fc-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}\n    #frenchie-calc .fc-pill{padding:3px 10px;border-radius:20px;font-size:12px;border:1px solid #ddd;color:#888;background:transparent;font-weight:500}\n    #frenchie-calc .fc-pill.active{background:#FFA02E;color:#003049;border-color:#FFA02E;font-weight:700}\n    #frenchie-calc .fc-tip{border-left:2px solid #FFA02E;padding:9px 12px;font-size:12px;color:#555;line-height:1.6;margin-bottom:12px}\n    #frenchie-calc .fc-toggle-btn{font-size:12px;color:#555;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;text-decoration:underline;margin-bottom:8px}\n    #frenchie-calc table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}\n    #frenchie-calc table th{text-align:left;padding:7px 8px;color:#666;font-weight:600;border-bottom:1px solid #e0e0e0}\n    #frenchie-calc table td{padding:7px 8px;border-bottom:1px solid #f0f0f0;color:#1a1a1a}\n    #frenchie-calc table tr.fc-hl td{background:#003049;color:#fff;font-weight:600}\n    #frenchie-calc .fc-placeholder{font-size:13px;color:#888;padding:8px 0}\n    @media(max-width:460px){#frenchie-calc .fc-grid{grid-template-columns:1fr}}\n  \u003c\/style\u003e\n\n  \u003cbutton class=\"fc-open-btn\" onclick=\"fcToggleModal()\"\u003e\n    📏 Find my Frenchie's size\n  \u003c\/button\u003e\n\n  \u003cdiv class=\"fc-modal-bg\" id=\"fc-modal-bg\"\u003e\n    \u003cdiv class=\"fc-modal\"\u003e\n      \u003cbutton class=\"fc-close\" onclick=\"fcToggleModal()\"\u003e×\u003c\/button\u003e\n      \u003ch3\u003eSize calculator\u003c\/h3\u003e\n      \u003cp class=\"fc-sub\"\u003eEnter your dog's measurements for an instant recommendation.\u003c\/p\u003e\n\n      \u003cdiv class=\"fc-unit-toggle\"\u003e\n        \u003cbutton class=\"fc-unit-btn active\" onclick=\"fcSetUnit('cm')\" id=\"fc-btn-cm\"\u003ecm\u003c\/button\u003e\n        \u003cbutton class=\"fc-unit-btn\" onclick=\"fcSetUnit('in')\" id=\"fc-btn-in\"\u003einches\u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-grid\"\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-neck\"\u003eNeck (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-neck\" placeholder=\"e.g. 32\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-chest\"\u003eChest (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-chest\" placeholder=\"e.g. 54\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-back\"\u003eBack (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-back\" placeholder=\"e.g. 30\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-result\" id=\"fc-result\"\u003e\n        \u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-tip\"\u003eFrench bulldogs have a wide chest — always size up if between sizes. Chest measurement is the most important.\u003c\/div\u003e\n\n      \u003cbutton class=\"fc-toggle-btn\" onclick=\"fcToggleChart()\" id=\"fc-chart-toggle\"\u003eShow full size chart ↓\u003c\/button\u003e\n      \u003cdiv id=\"fc-chart\" style=\"display:none\"\u003e\n        \u003ctable\u003e\n          \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003cth id=\"fc-th-neck\"\u003eNeck (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-chest\"\u003eChest (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-back\"\u003eBack (cm)\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n          \u003ctbody id=\"fc-tbody\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function(){\n      var SIZES=[\n        {name:'XXS',neck:[22,26],chest:[32,38],back:[18,22]},\n        {name:'XS',neck:[26,30],chest:[38,44],back:[22,26]},\n        {name:'S',neck:[30,34],chest:[44,50],back:[26,30]},\n        {name:'M',neck:[34,38],chest:[50,57],back:[30,35]},\n        {name:'L',neck:[38,43],chest:[57,64],back:[35,40]},\n        {name:'XL',neck:[43,49],chest:[64,72],back:[40,46]},\n        {name:'XXL',neck:[49,55],chest:[72,80],back:[46,52]},\n        {name:'3XL',neck:[55,62],chest:[80,90],back:[52,58]}\n      ];\n      var unit='cm';\n\n      window.fcToggleModal=function(){\n        document.getElementById('fc-modal-bg').classList.toggle('open');\n      };\n\n      window.fcSetUnit=function(u){\n        unit=u;\n        document.getElementById('fc-btn-cm').className='fc-unit-btn'+(u==='cm'?' active':'');\n        document.getElementById('fc-btn-in').className='fc-unit-btn'+(u==='in'?' active':'');\n        var s=u==='cm'?'cm':'in';\n        document.getElementById('fc-lbl-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-lbl-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-lbl-back').textContent='Back ('+s+')';\n        document.getElementById('fc-th-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-th-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-th-back').textContent='Back ('+s+')';\n        document.getElementById('fc-neck').value='';\n        document.getElementById('fc-chest').value='';\n        document.getElementById('fc-back').value='';\n        fcRenderChart(-1);fcCalc();\n      };\n\n      function toCm(v){return unit==='in'?v*2.54:v;}\n      function fromCm(v){return unit==='in'?(v\/2.54).toFixed(1):v;}\n\n      window.fcCalc=function(){\n        var n=parseFloat(document.getElementById('fc-neck').value);\n        var c=parseFloat(document.getElementById('fc-chest').value);\n        var b=parseFloat(document.getElementById('fc-back').value);\n        var result=document.getElementById('fc-result');\n        if([n,c,b].filter(function(x){return!isNaN(x)\u0026\u0026x\u003e0;}).length===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var ncm=isNaN(n)?null:toCm(n),ccm=isNaN(c)?null:toCm(c),bcm=isNaN(b)?null:toCm(b);\n        var best=null,bestScore=-1;\n        for(var i=0;i\u003cSIZES.length;i++){\n          var s=SIZES[i],pts=0;\n          if(ncm!==null\u0026\u0026ncm\u003e=s.neck[0]\u0026\u0026ncm\u003cs.neck[1])pts+=1;\n          if(ccm!==null\u0026\u0026ccm\u003e=s.chest[0]\u0026\u0026ccm\u003cs.chest[1])pts+=2;\n          if(bcm!==null\u0026\u0026bcm\u003e=s.back[0]\u0026\u0026bcm\u003cs.back[1])pts+=1;\n          if(pts\u003ebestScore){bestScore=pts;best=i;}\n        }\n        if(bestScore===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eCould not match — please check measurements or contact us.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var sz=SIZES[best];\n        var nextName=best\u003cSIZES.length-1?SIZES[best+1].name:null;\n        var note=(ccm!==null\u0026\u0026ccm\u003e=sz.chest[1]-2\u0026\u0026nextName)?'Chest is near the upper limit — consider \u003cstrong\u003e'+nextName+'\u003c\/strong\u003e for a roomier fit.':'This size should fit your Frenchie well.';\n        var pills=SIZES.map(function(s){return'\u003cdiv class=\"fc-pill'+(s.name===sz.name?' active':'')+'\"\u003e'+ s.name+'\u003c\/div\u003e';}).join('');\n        result.innerHTML='\u003cdiv style=\"display:flex;align-items:flex-end;gap:10px;margin-bottom:6px\"\u003e\u003cdiv class=\"fc-size-big\"\u003e'+sz.name+'\u003c\/div\u003e\u003cdiv style=\"font-size:13px;color:#666;padding-bottom:8px\"\u003erecommended\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"fc-result-note\"\u003e'+note+'\u003c\/div\u003e\u003cdiv class=\"fc-pills\"\u003e'+pills+'\u003c\/div\u003e';\n        fcRenderChart(best);\n      };\n\n      function fcRenderChart(activeIdx){\n        document.getElementById('fc-tbody').innerHTML=SIZES.map(function(s,i){\n          var cls=i===activeIdx?' class=\"fc-hl\"':'';\n          return'\u003ctr'+cls+'\u003e\u003ctd\u003e'+s.name+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.neck[0])+' – '+fromCm(s.neck[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.chest[0])+' – '+fromCm(s.chest[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.back[0])+' – '+fromCm(s.back[1])+'\u003c\/td\u003e\u003c\/tr\u003e';\n        }).join('');\n      }\n\n      window.fcToggleChart=function(){\n        var chart=document.getElementById('fc-chart'),btn=document.getElementById('fc-chart-toggle');\n        if(chart.style.display==='none'){chart.style.display='block';btn.textContent='Hide size chart ↑';}\n        else{chart.style.display='none';btn.textContent='Show full size chart ↓';}\n      };\n\n      fcRenderChart(-1);\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e\n\u003cp\u003eKeep your Frenchie cozy, cute and runway-ready all winter long — because cold weather is no excuse for bad style. 🧥\u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"\u003e\u003cstrong\u003eProduct Features:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e🔥 \u003cstrong\u003eFleece Padded Warmth\u003c\/strong\u003e: Thick padded fleece inner keeps your Frenchie warm in cold weather\u003c\/li\u003e\n\u003cli\u003e🪶 \u003cstrong\u003eLightweight Design\u003c\/strong\u003e: Cozy without the bulk — your Frenchie moves freely and comfortably\u003c\/li\u003e\n\u003cli\u003e🧼 \u003cstrong\u003eMachine Washable\u003c\/strong\u003e: Easy to clean and maintain — stays fresh wash after wash\u003c\/li\u003e\n\u003cli\u003e🎩 \u003cstrong\u003eHooded Style\u003c\/strong\u003e: Built-in hood adds extra warmth and makes your pup look absolutely adorable\u003c\/li\u003e\n\u003cli\u003e🎨 \u003cstrong\u003e3 Colors\u003c\/strong\u003e: Available in Green, Gray and Khaki — stylish options for every Frenchie\u003c\/li\u003e\n\u003cli\u003e📏 \u003cstrong\u003e5 Sizes\u003c\/strong\u003e: S to 2XL — perfect fit for French Bulldogs from small pups to chunky adults\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/size.png?v=1777576164\" alt=\"\"\u003e\u003c\/p\u003e","brand":"eprolo","offers":[{"title":"Green \/ S","offer_id":46125515702433,"sku":"4CB704B0B64149BD9666705ECA102D00","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":46125515735201,"sku":"2A42CB1B905B4E7D9158631FB9FB5E77","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":46125515767969,"sku":"B361381FB13540629616FF41F037EF65","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":46125515800737,"sku":"57821B5F09C64621A8475FFA8B119122","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 2XL","offer_id":46125515833505,"sku":"40D0EACC25844460A9BA26982C718F3F","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ S","offer_id":46125515866273,"sku":"B4C05DB6EF384CCCBB0F9627C1AADA16","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ M","offer_id":46125515899041,"sku":"60B756F8A1A54305B17291DFC1952BA4","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ L","offer_id":46125515931809,"sku":"85267247E1A54D358356B630C3EE39A9","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ XL","offer_id":46125515964577,"sku":"2BC330BDDD6C40EDA1EAD40D6CBCA58A","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Gray \/ 2XL","offer_id":46125515997345,"sku":"B58990CDB52C4F81B3B2FB41C39C6D9B","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":46125516030113,"sku":"96526432BF5744A994F6567AC4C34851","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":46125516062881,"sku":"6948FB647903478A92E5AFEB245BAFA0","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":46125516095649,"sku":"6C2530A15E754E9FB578149D3BB287FB","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":46125516128417,"sku":"3BA616F6F5874081BA9F02F11B92B769","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ 2XL","offer_id":46125516161185,"sku":"7BC5208F5F9843D591C205B0C6FEB32A","price":29.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/5_2.jpg?v=1777576076"},{"product_id":"coat","title":"French Bulldog Embroidered Dog Face Coat – Warm Fashion Shirt","description":"\u003cstyle\u003e\n    #frenchie-calc{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:600px;margin:1.5rem auto;color:#1a1a1a}\n    #frenchie-calc .fc-open-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:#FFA02E;color:#003049;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}\n    #frenchie-calc .fc-open-btn:hover{opacity:.85}\n    #frenchie-calc .fc-modal-bg{display:none;margin-top:16px}\n    #frenchie-calc .fc-modal-bg.open{display:block}\n    #frenchie-calc .fc-modal{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:24px;position:relative}\n    #frenchie-calc .fc-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#888;line-height:1;padding:0}\n    #frenchie-calc h3{font-size:16px;font-weight:600;margin:0 0 4px}\n    #frenchie-calc .fc-sub{font-size:13px;color:#666;margin:0 0 18px}\n    #frenchie-calc .fc-unit-toggle{display:flex;border:1px solid #ddd;border-radius:8px;overflow:hidden;width:fit-content;margin-bottom:18px}\n    #frenchie-calc .fc-unit-btn{padding:6px 18px;font-size:13px;cursor:pointer;background:transparent;border:none;color:#666;font-family:inherit}\n    #frenchie-calc .fc-unit-btn.active{background:#f0f0f0;color:#1a1a1a;font-weight:600}\n    #frenchie-calc .fc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}\n    #frenchie-calc .fc-field label{display:block;font-size:12px;color:#666;margin-bottom:5px;font-weight:500}\n    #frenchie-calc .fc-field input{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;outline:none}\n    #frenchie-calc .fc-field input:focus{border-color:#FFA02E}\n    #frenchie-calc .fc-result{border:1px solid #e0e0e0;border-radius:10px;padding:16px;margin-bottom:14px;background:#fafafa;min-height:70px}\n    #frenchie-calc .fc-size-big{font-size:48px;font-weight:700;line-height:1;color:#003049}\n    #frenchie-calc .fc-result-note{font-size:13px;color:#444;margin-top:8px;line-height:1.6}\n    #frenchie-calc .fc-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}\n    #frenchie-calc .fc-pill{padding:3px 10px;border-radius:20px;font-size:12px;border:1px solid #ddd;color:#888;background:transparent;font-weight:500}\n    #frenchie-calc .fc-pill.active{background:#FFA02E;color:#003049;border-color:#FFA02E;font-weight:700}\n    #frenchie-calc .fc-tip{border-left:2px solid #FFA02E;padding:9px 12px;font-size:12px;color:#555;line-height:1.6;margin-bottom:12px}\n    #frenchie-calc .fc-toggle-btn{font-size:12px;color:#555;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;text-decoration:underline;margin-bottom:8px}\n    #frenchie-calc table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}\n    #frenchie-calc table th{text-align:left;padding:7px 8px;color:#666;font-weight:600;border-bottom:1px solid #e0e0e0}\n    #frenchie-calc table td{padding:7px 8px;border-bottom:1px solid #f0f0f0;color:#1a1a1a}\n    #frenchie-calc table tr.fc-hl td{background:#003049;color:#fff;font-weight:600}\n    #frenchie-calc .fc-placeholder{font-size:13px;color:#888;padding:8px 0}\n    @media(max-width:460px){#frenchie-calc .fc-grid{grid-template-columns:1fr}}\n  \u003c\/style\u003e\n\u003cdiv id=\"frenchie-calc\"\u003e\n\u003cbutton class=\"fc-open-btn\"\u003e 📏 Find my Frenchie's size \u003c\/button\u003e\n\u003cdiv class=\"fc-modal-bg\" id=\"fc-modal-bg\"\u003e\n\u003cdiv class=\"fc-modal\"\u003e\n\u003cbutton class=\"fc-close\"\u003e×\u003c\/button\u003e\n\u003ch3\u003eSize calculator\u003c\/h3\u003e\n\u003cp class=\"fc-sub\"\u003eEnter your dog's measurements for an instant recommendation.\u003c\/p\u003e\n\u003cdiv class=\"fc-unit-toggle\"\u003e\n\u003cbutton class=\"fc-unit-btn active\" id=\"fc-btn-cm\"\u003ecm\u003c\/button\u003e \u003cbutton class=\"fc-unit-btn\" id=\"fc-btn-in\"\u003einches\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fc-grid\"\u003e\n\u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-neck\"\u003eNeck (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-neck\" placeholder=\"e.g. 32\" min=\"1\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-chest\"\u003eChest (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-chest\" placeholder=\"e.g. 54\" min=\"1\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-back\"\u003eBack (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-back\" placeholder=\"e.g. 30\" min=\"1\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fc-result\" id=\"fc-result\"\u003e\n\u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fc-tip\"\u003eFrench bulldogs have a wide chest — always size up if between sizes. Chest measurement is the most important.\u003c\/div\u003e\n\u003cbutton class=\"fc-toggle-btn\" id=\"fc-chart-toggle\"\u003eShow full size chart ↓\u003c\/button\u003e\n\u003cdiv id=\"fc-chart\" style=\"display: none;\"\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003cth id=\"fc-th-neck\"\u003eNeck (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-chest\"\u003eChest (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-back\"\u003eBack (cm)\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody id=\"fc-tbody\"\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    (function(){\n      var SIZES=[\n        {name:'XXS',neck:[22,26],chest:[32,38],back:[18,22]},\n        {name:'XS',neck:[26,30],chest:[38,44],back:[22,26]},\n        {name:'S',neck:[30,34],chest:[44,50],back:[26,30]},\n        {name:'M',neck:[34,38],chest:[50,57],back:[30,35]},\n        {name:'L',neck:[38,43],chest:[57,64],back:[35,40]},\n        {name:'XL',neck:[43,49],chest:[64,72],back:[40,46]},\n        {name:'XXL',neck:[49,55],chest:[72,80],back:[46,52]},\n        {name:'3XL',neck:[55,62],chest:[80,90],back:[52,58]}\n      ];\n      var unit='cm';\n\n      window.fcToggleModal=function(){\n        document.getElementById('fc-modal-bg').classList.toggle('open');\n      };\n\n      window.fcSetUnit=function(u){\n        unit=u;\n        document.getElementById('fc-btn-cm').className='fc-unit-btn'+(u==='cm'?' active':'');\n        document.getElementById('fc-btn-in').className='fc-unit-btn'+(u==='in'?' active':'');\n        var s=u==='cm'?'cm':'in';\n        document.getElementById('fc-lbl-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-lbl-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-lbl-back').textContent='Back ('+s+')';\n        document.getElementById('fc-th-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-th-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-th-back').textContent='Back ('+s+')';\n        document.getElementById('fc-neck').value='';\n        document.getElementById('fc-chest').value='';\n        document.getElementById('fc-back').value='';\n        fcRenderChart(-1);fcCalc();\n      };\n\n      function toCm(v){return unit==='in'?v*2.54:v;}\n      function fromCm(v){return unit==='in'?(v\/2.54).toFixed(1):v;}\n\n      window.fcCalc=function(){\n        var n=parseFloat(document.getElementById('fc-neck').value);\n        var c=parseFloat(document.getElementById('fc-chest').value);\n        var b=parseFloat(document.getElementById('fc-back').value);\n        var result=document.getElementById('fc-result');\n        if([n,c,b].filter(function(x){return!isNaN(x)\u0026\u0026x\u003e0;}).length===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var ncm=isNaN(n)?null:toCm(n),ccm=isNaN(c)?null:toCm(c),bcm=isNaN(b)?null:toCm(b);\n        var best=null,bestScore=-1;\n        for(var i=0;i\u003cSIZES.length;i++){\n          var s=SIZES[i],pts=0;\n          if(ncm!==null\u0026\u0026ncm\u003e=s.neck[0]\u0026\u0026ncm\u003cs.neck[1])pts+=1;\n          if(ccm!==null\u0026\u0026ccm\u003e=s.chest[0]\u0026\u0026ccm\u003cs.chest[1])pts+=2;\n          if(bcm!==null\u0026\u0026bcm\u003e=s.back[0]\u0026\u0026bcm\u003cs.back[1])pts+=1;\n          if(pts\u003ebestScore){bestScore=pts;best=i;}\n        }\n        if(bestScore===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eCould not match — please check measurements or contact us.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var sz=SIZES[best];\n        var nextName=best\u003cSIZES.length-1?SIZES[best+1].name:null;\n        var note=(ccm!==null\u0026\u0026ccm\u003e=sz.chest[1]-2\u0026\u0026nextName)?'Chest is near the upper limit — consider \u003cstrong\u003e'+nextName+'\u003c\/strong\u003e for a roomier fit.':'This size should fit your Frenchie well.';\n        var pills=SIZES.map(function(s){return'\u003cdiv class=\"fc-pill'+(s.name===sz.name?' active':'')+'\"\u003e'+ s.name+'\u003c\/div\u003e';}).join('');\n        result.innerHTML='\u003cdiv style=\"display:flex;align-items:flex-end;gap:10px;margin-bottom:6px\"\u003e\u003cdiv class=\"fc-size-big\"\u003e'+sz.name+'\u003c\/div\u003e\u003cdiv style=\"font-size:13px;color:#666;padding-bottom:8px\"\u003erecommended\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"fc-result-note\"\u003e'+note+'\u003c\/div\u003e\u003cdiv class=\"fc-pills\"\u003e'+pills+'\u003c\/div\u003e';\n        fcRenderChart(best);\n      };\n\n      function fcRenderChart(activeIdx){\n        document.getElementById('fc-tbody').innerHTML=SIZES.map(function(s,i){\n          var cls=i===activeIdx?' class=\"fc-hl\"':'';\n          return'\u003ctr'+cls+'\u003e\u003ctd\u003e'+s.name+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.neck[0])+' – '+fromCm(s.neck[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.chest[0])+' – '+fromCm(s.chest[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.back[0])+' – '+fromCm(s.back[1])+'\u003c\/td\u003e\u003c\/tr\u003e';\n        }).join('');\n      }\n\n      window.fcToggleChart=function(){\n        var chart=document.getElementById('fc-chart'),btn=document.getElementById('fc-chart-toggle');\n        if(chart.style.display==='none'){chart.style.display='block';btn.textContent='Hide size chart ↑';}\n        else{chart.style.display='none';btn.textContent='Show full size chart ↓';}\n      };\n\n      fcRenderChart(-1);\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    #frenchie-calc{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:600px;margin:1.5rem auto;color:#1a1a1a}\n    #frenchie-calc .fc-open-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:#FFA02E;color:#003049;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}\n    #frenchie-calc .fc-open-btn:hover{opacity:.85}\n    #frenchie-calc .fc-modal-bg{display:none;margin-top:16px}\n    #frenchie-calc .fc-modal-bg.open{display:block}\n    #frenchie-calc .fc-modal{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:24px;position:relative}\n    #frenchie-calc .fc-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#888;line-height:1;padding:0}\n    #frenchie-calc h3{font-size:16px;font-weight:600;margin:0 0 4px}\n    #frenchie-calc .fc-sub{font-size:13px;color:#666;margin:0 0 18px}\n    #frenchie-calc .fc-unit-toggle{display:flex;border:1px solid #ddd;border-radius:8px;overflow:hidden;width:fit-content;margin-bottom:18px}\n    #frenchie-calc .fc-unit-btn{padding:6px 18px;font-size:13px;cursor:pointer;background:transparent;border:none;color:#666;font-family:inherit}\n    #frenchie-calc .fc-unit-btn.active{background:#f0f0f0;color:#1a1a1a;font-weight:600}\n    #frenchie-calc .fc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}\n    #frenchie-calc .fc-field label{display:block;font-size:12px;color:#666;margin-bottom:5px;font-weight:500}\n    #frenchie-calc .fc-field input{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;outline:none}\n    #frenchie-calc .fc-field input:focus{border-color:#FFA02E}\n    #frenchie-calc .fc-result{border:1px solid #e0e0e0;border-radius:10px;padding:16px;margin-bottom:14px;background:#fafafa;min-height:70px}\n    #frenchie-calc .fc-size-big{font-size:48px;font-weight:700;line-height:1;color:#003049}\n    #frenchie-calc .fc-result-note{font-size:13px;color:#444;margin-top:8px;line-height:1.6}\n    #frenchie-calc .fc-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}\n    #frenchie-calc .fc-pill{padding:3px 10px;border-radius:20px;font-size:12px;border:1px solid #ddd;color:#888;background:transparent;font-weight:500}\n    #frenchie-calc .fc-pill.active{background:#FFA02E;color:#003049;border-color:#FFA02E;font-weight:700}\n    #frenchie-calc .fc-tip{border-left:2px solid #FFA02E;padding:9px 12px;font-size:12px;color:#555;line-height:1.6;margin-bottom:12px}\n    #frenchie-calc .fc-toggle-btn{font-size:12px;color:#555;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;text-decoration:underline;margin-bottom:8px}\n    #frenchie-calc table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}\n    #frenchie-calc table th{text-align:left;padding:7px 8px;color:#666;font-weight:600;border-bottom:1px solid #e0e0e0}\n    #frenchie-calc table td{padding:7px 8px;border-bottom:1px solid #f0f0f0;color:#1a1a1a}\n    #frenchie-calc table tr.fc-hl td{background:#003049;color:#fff;font-weight:600}\n    #frenchie-calc .fc-placeholder{font-size:13px;color:#888;padding:8px 0}\n    @media(max-width:460px){#frenchie-calc .fc-grid{grid-template-columns:1fr}}\n  \u003c\/style\u003e\n\u003cp\u003eTurn heads at the dog park with this embroidered dog face coat that makes your Frenchie look like a whole fashion statement. 🐶✨\u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"\u003e\u003cstrong\u003eProduct Features:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e🧵 \u003cstrong\u003eEmbroidered Dog Face\u003c\/strong\u003e: Unique dog face embroidery detail that makes every Frenchie stand out instantly\u003c\/li\u003e\n\u003cli\u003e🔥 \u003cstrong\u003eWarm Polyester Fabric\u003c\/strong\u003e: Cozy and insulating — keeps your Frenchie comfortable in cooler weather\u003c\/li\u003e\n\u003cli\u003e🎨 \u003cstrong\u003e4 Bold Colors\u003c\/strong\u003e: Available in Green, Black, Orange and Pink — a color for every Frenchie personality\u003c\/li\u003e\n\u003cli\u003e📏 \u003cstrong\u003e7 Sizes\u003c\/strong\u003e: XS to 3XL — fits French Bulldogs of all shapes, from slim pups to chunky legends\u003c\/li\u003e\n\u003cli\u003e👕 \u003cstrong\u003eFashion Coat Style\u003c\/strong\u003e: Structured coat design that looks polished and stylish for any occasion\u003c\/li\u003e\n\u003cli\u003e🐾 \u003cstrong\u003eFrenchie Approved Fit\u003c\/strong\u003e: Cut to perfectly suit the stocky, muscular build of French Bulldogs\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/ChatGPT_Image_3_mai_2026_12_30_10.png?v=1777807862\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"eprolo","offers":[{"title":"Green \/ XS","offer_id":46240408043681,"sku":"50E3F6B319CD4784A686420E3F072C5E","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":46240408076449,"sku":"A54054204EE74D08A00ACA1262D2A96B","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":46240408109217,"sku":"2A7A0424A9F14C07B4FE814D22F45CAB","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":46240408141985,"sku":"9E179837AA6146CDAA107596B2EB5CE2","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":46240408174753,"sku":"2663CDC8C95948748334369EFA2B3FE7","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XXL","offer_id":46240408207521,"sku":"7740C0702E2E45A78ED2CDD43DAFA79E","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ 3XL","offer_id":46240408240289,"sku":"D36E368B75AF4CFF8A3A432E579C436C","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XS","offer_id":46240408273057,"sku":"E172A9E71BC0400C858226DF771E12EE","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":46240408305825,"sku":"46DBCE8C69A8472FAD5928263D695750","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":46240408338593,"sku":"AC460A8187D54A84AA51B5A8F6ED39D1","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":46240408371361,"sku":"74005C77C8DD4B2EB770D45E56167B42","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":46240408404129,"sku":"E31C18EF986D45D8A5ED75D62C1E9B4D","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XXL","offer_id":46240408436897,"sku":"5315F10DE99D44A1840766F96B809FCF","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":46240408469665,"sku":"8E5A04690EBD414AB0B10743BD4B13E0","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ XS","offer_id":46240408502433,"sku":"5156C5E17C424C73B4112B755ECA5B34","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ S","offer_id":46240408535201,"sku":"EE17804DDC01499E923E9D9782580DB8","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ M","offer_id":46240408567969,"sku":"EE15FBD97FB8432785B71DF6C5730EC6","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ L","offer_id":46240408600737,"sku":"BB9F232BC0724B3BB2DFCBE07B6DA1F5","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ XL","offer_id":46240408633505,"sku":"D204F4E010CB44EF9A1313E62AE6308E","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ XXL","offer_id":46240408666273,"sku":"084C1FC7F7CC4A75BCBCCD60B4BD627D","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Orange \/ 3XL","offer_id":46240408699041,"sku":"7B09ADFE284B45CCAD1EC7BAD997EB2B","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XS","offer_id":46240408731809,"sku":"4B874C304F4044D0AAA32BF48303E9B2","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":46240408764577,"sku":"F06D5217A97B4E188C4A13BD3498BDD0","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":46240408797345,"sku":"1191810B76A44294874E98F4FAFB5677","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":46240408830113,"sku":"1CB78431C0B44EACABEBE7FD1CFF13B8","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":46240408862881,"sku":"34C2B9D6E70D4B9DB5A4659B0639AF34","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XXL","offer_id":46240408895649,"sku":"641807F34A194CA4B3BFCC99BC419E9D","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":46240408928417,"sku":"C1C0F8CC7ADF4EBB80BECB6088DE1DE2","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/Gemini_Generated_Image_lmawy4lmawy4lmaw_1.jpg?v=1777806574"},{"product_id":"french-bulldog-luxury-winter-jacket-stylish-polyester-dog-coat","title":"French Bulldog Luxury Winter Jacket – Stylish Polyester Dog Coat","description":"\u003cstyle\u003e\n    #frenchie-calc{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:600px;margin:1.5rem auto;color:#1a1a1a}\n    #frenchie-calc .fc-open-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:#FFA02E;color:#003049;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}\n    #frenchie-calc .fc-open-btn:hover{opacity:.85}\n    #frenchie-calc .fc-modal-bg{display:none;margin-top:16px}\n    #frenchie-calc .fc-modal-bg.open{display:block}\n    #frenchie-calc .fc-modal{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:24px;position:relative}\n    #frenchie-calc .fc-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#888;line-height:1;padding:0}\n    #frenchie-calc h3{font-size:16px;font-weight:600;margin:0 0 4px}\n    #frenchie-calc .fc-sub{font-size:13px;color:#666;margin:0 0 18px}\n    #frenchie-calc .fc-unit-toggle{display:flex;border:1px solid #ddd;border-radius:8px;overflow:hidden;width:fit-content;margin-bottom:18px}\n    #frenchie-calc .fc-unit-btn{padding:6px 18px;font-size:13px;cursor:pointer;background:transparent;border:none;color:#666;font-family:inherit}\n    #frenchie-calc .fc-unit-btn.active{background:#f0f0f0;color:#1a1a1a;font-weight:600}\n    #frenchie-calc .fc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}\n    #frenchie-calc .fc-field label{display:block;font-size:12px;color:#666;margin-bottom:5px;font-weight:500}\n    #frenchie-calc .fc-field input{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;outline:none}\n    #frenchie-calc .fc-field input:focus{border-color:#FFA02E}\n    #frenchie-calc .fc-result{border:1px solid #e0e0e0;border-radius:10px;padding:16px;margin-bottom:14px;background:#fafafa;min-height:70px}\n    #frenchie-calc .fc-size-big{font-size:48px;font-weight:700;line-height:1;color:#003049}\n    #frenchie-calc .fc-result-note{font-size:13px;color:#444;margin-top:8px;line-height:1.6}\n    #frenchie-calc .fc-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}\n    #frenchie-calc .fc-pill{padding:3px 10px;border-radius:20px;font-size:12px;border:1px solid #ddd;color:#888;background:transparent;font-weight:500}\n    #frenchie-calc .fc-pill.active{background:#FFA02E;color:#003049;border-color:#FFA02E;font-weight:700}\n    #frenchie-calc .fc-tip{border-left:2px solid #FFA02E;padding:9px 12px;font-size:12px;color:#555;line-height:1.6;margin-bottom:12px}\n    #frenchie-calc .fc-toggle-btn{font-size:12px;color:#555;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;text-decoration:underline;margin-bottom:8px}\n    #frenchie-calc table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}\n    #frenchie-calc table th{text-align:left;padding:7px 8px;color:#666;font-weight:600;border-bottom:1px solid #e0e0e0}\n    #frenchie-calc table td{padding:7px 8px;border-bottom:1px solid #f0f0f0;color:#1a1a1a}\n    #frenchie-calc table tr.fc-hl td{background:#003049;color:#fff;font-weight:600}\n    #frenchie-calc .fc-placeholder{font-size:13px;color:#888;padding:8px 0}\n    @media(max-width:460px){#frenchie-calc .fc-grid{grid-template-columns:1fr}}\n  \u003c\/style\u003e\n\u003cdiv id=\"frenchie-calc\"\u003e\n\u003cbutton class=\"fc-open-btn\"\u003e 📏 Find my Frenchie's size \u003c\/button\u003e\n\u003cdiv id=\"fc-modal-bg\" class=\"fc-modal-bg\"\u003e\n\u003cdiv class=\"fc-modal\"\u003e\n\u003cbutton class=\"fc-close\"\u003e×\u003c\/button\u003e\n\u003ch3\u003eSize calculator\u003c\/h3\u003e\n\u003cp class=\"fc-sub\"\u003eEnter your dog's measurements for an instant recommendation.\u003c\/p\u003e\n\u003cdiv class=\"fc-unit-toggle\"\u003e\n\u003cbutton id=\"fc-btn-cm\" class=\"fc-unit-btn active\"\u003ecm\u003c\/button\u003e \u003cbutton id=\"fc-btn-in\" class=\"fc-unit-btn\"\u003einches\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fc-grid\"\u003e\n\u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-neck\"\u003eNeck (cm)\u003c\/label\u003e\u003cinput min=\"1\" placeholder=\"e.g. 32\" id=\"fc-neck\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-chest\"\u003eChest (cm)\u003c\/label\u003e\u003cinput min=\"1\" placeholder=\"e.g. 54\" id=\"fc-chest\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-back\"\u003eBack (cm)\u003c\/label\u003e\u003cinput min=\"1\" placeholder=\"e.g. 30\" id=\"fc-back\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"fc-result\" class=\"fc-result\"\u003e\n\u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fc-tip\"\u003eFrench bulldogs have a wide chest — always size up if between sizes. Chest measurement is the most important.\u003c\/div\u003e\n\u003cbutton id=\"fc-chart-toggle\" class=\"fc-toggle-btn\"\u003eShow full size chart ↓\u003c\/button\u003e\n\u003cdiv style=\"display: none;\" id=\"fc-chart\"\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003cth id=\"fc-th-neck\"\u003eNeck (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-chest\"\u003eChest (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-back\"\u003eBack (cm)\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody id=\"fc-tbody\"\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    (function(){\n      var SIZES=[\n        {name:'XXS',neck:[22,26],chest:[32,38],back:[18,22]},\n        {name:'XS',neck:[26,30],chest:[38,44],back:[22,26]},\n        {name:'S',neck:[30,34],chest:[44,50],back:[26,30]},\n        {name:'M',neck:[34,38],chest:[50,57],back:[30,35]},\n        {name:'L',neck:[38,43],chest:[57,64],back:[35,40]},\n        {name:'XL',neck:[43,49],chest:[64,72],back:[40,46]},\n        {name:'XXL',neck:[49,55],chest:[72,80],back:[46,52]},\n        {name:'3XL',neck:[55,62],chest:[80,90],back:[52,58]}\n      ];\n      var unit='cm';\n\n      window.fcToggleModal=function(){\n        document.getElementById('fc-modal-bg').classList.toggle('open');\n      };\n\n      window.fcSetUnit=function(u){\n        unit=u;\n        document.getElementById('fc-btn-cm').className='fc-unit-btn'+(u==='cm'?' active':'');\n        document.getElementById('fc-btn-in').className='fc-unit-btn'+(u==='in'?' active':'');\n        var s=u==='cm'?'cm':'in';\n        document.getElementById('fc-lbl-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-lbl-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-lbl-back').textContent='Back ('+s+')';\n        document.getElementById('fc-th-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-th-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-th-back').textContent='Back ('+s+')';\n        document.getElementById('fc-neck').value='';\n        document.getElementById('fc-chest').value='';\n        document.getElementById('fc-back').value='';\n        fcRenderChart(-1);fcCalc();\n      };\n\n      function toCm(v){return unit==='in'?v*2.54:v;}\n      function fromCm(v){return unit==='in'?(v\/2.54).toFixed(1):v;}\n\n      window.fcCalc=function(){\n        var n=parseFloat(document.getElementById('fc-neck').value);\n        var c=parseFloat(document.getElementById('fc-chest').value);\n        var b=parseFloat(document.getElementById('fc-back').value);\n        var result=document.getElementById('fc-result');\n        if([n,c,b].filter(function(x){return!isNaN(x)\u0026\u0026x\u003e0;}).length===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var ncm=isNaN(n)?null:toCm(n),ccm=isNaN(c)?null:toCm(c),bcm=isNaN(b)?null:toCm(b);\n        var best=null,bestScore=-1;\n        for(var i=0;i\u003cSIZES.length;i++){\n          var s=SIZES[i],pts=0;\n          if(ncm!==null\u0026\u0026ncm\u003e=s.neck[0]\u0026\u0026ncm\u003cs.neck[1])pts+=1;\n          if(ccm!==null\u0026\u0026ccm\u003e=s.chest[0]\u0026\u0026ccm\u003cs.chest[1])pts+=2;\n          if(bcm!==null\u0026\u0026bcm\u003e=s.back[0]\u0026\u0026bcm\u003cs.back[1])pts+=1;\n          if(pts\u003ebestScore){bestScore=pts;best=i;}\n        }\n        if(bestScore===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eCould not match — please check measurements or contact us.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var sz=SIZES[best];\n        var nextName=best\u003cSIZES.length-1?SIZES[best+1].name:null;\n        var note=(ccm!==null\u0026\u0026ccm\u003e=sz.chest[1]-2\u0026\u0026nextName)?'Chest is near the upper limit — consider \u003cstrong\u003e'+nextName+'\u003c\/strong\u003e for a roomier fit.':'This size should fit your Frenchie well.';\n        var pills=SIZES.map(function(s){return'\u003cdiv class=\"fc-pill'+(s.name===sz.name?' active':'')+'\"\u003e'+ s.name+'\u003c\/div\u003e';}).join('');\n        result.innerHTML='\u003cdiv style=\"display:flex;align-items:flex-end;gap:10px;margin-bottom:6px\"\u003e\u003cdiv class=\"fc-size-big\"\u003e'+sz.name+'\u003c\/div\u003e\u003cdiv style=\"font-size:13px;color:#666;padding-bottom:8px\"\u003erecommended\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"fc-result-note\"\u003e'+note+'\u003c\/div\u003e\u003cdiv class=\"fc-pills\"\u003e'+pills+'\u003c\/div\u003e';\n        fcRenderChart(best);\n      };\n\n      function fcRenderChart(activeIdx){\n        document.getElementById('fc-tbody').innerHTML=SIZES.map(function(s,i){\n          var cls=i===activeIdx?' class=\"fc-hl\"':'';\n          return'\u003ctr'+cls+'\u003e\u003ctd\u003e'+s.name+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.neck[0])+' – '+fromCm(s.neck[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.chest[0])+' – '+fromCm(s.chest[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.back[0])+' – '+fromCm(s.back[1])+'\u003c\/td\u003e\u003c\/tr\u003e';\n        }).join('');\n      }\n\n      window.fcToggleChart=function(){\n        var chart=document.getElementById('fc-chart'),btn=document.getElementById('fc-chart-toggle');\n        if(chart.style.display==='none'){chart.style.display='block';btn.textContent='Hide size chart ↑';}\n        else{chart.style.display='none';btn.textContent='Show full size chart ↓';}\n      };\n\n      fcRenderChart(-1);\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e\n\u003cp\u003eYour Frenchie deserves luxury — this designer winter jacket is the chicest thing they'll ever wear. 🐾👑\u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"\u003e\u003cstrong\u003eProduct Features:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e👑 \u003cstrong\u003eLuxury Designer Style\u003c\/strong\u003e: Classic high-end aesthetic that makes your Frenchie look like a true fashion icon\u003c\/li\u003e\n\u003cli\u003e🌿 \u003cstrong\u003eEco-Friendly Polyester\u003c\/strong\u003e: Durable, lightweight and planet-conscious material built for everyday wear\u003c\/li\u003e\n\u003cli\u003e🌦️ \u003cstrong\u003eAll Season Versatile\u003c\/strong\u003e: Designed for year-round use — perfect for winter walks and holiday outings\u003c\/li\u003e\n\u003cli\u003e🎨 \u003cstrong\u003e4 Elegant Colors\u003c\/strong\u003e: Available in Blue, Pink, Beige and Orange — soft, luxe tones for every Frenchie\u003c\/li\u003e\n\u003cli\u003e📏 \u003cstrong\u003eXS to 3XL\u003c\/strong\u003e: Wide size range for a perfect fit on every French Bulldog — small pups to chunky adults\u003c\/li\u003e\n\u003cli\u003e🧼 \u003cstrong\u003eEasy Care\u003c\/strong\u003e: Hand wash or machine wash — low maintenance luxury that stays fresh and beautiful\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/ChatGPT_Image_May_5_2026_10_16_53_PM.png?v=1778015859\" alt=\"\"\u003e\u003c\/p\u003e","brand":"Frenchie Hub","offers":[{"title":"Blue","offer_id":46334941167777,"sku":null,"price":36.99,"currency_code":"USD","in_stock":true},{"title":"Beige","offer_id":46334941200545,"sku":null,"price":36.99,"currency_code":"USD","in_stock":true},{"title":"Orange","offer_id":46334941233313,"sku":null,"price":36.99,"currency_code":"USD","in_stock":true},{"title":"Pink","offer_id":46334941266081,"sku":null,"price":36.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/variant_imageH97d19c1422ec4aac9c7090a84a969675Z_5.jpg?v=1778014016"},{"product_id":"pet-clothes","title":"French Bulldog Reflective Winter Coat – Waterproof Padded Jacket","description":"\u003cdiv id=\"frenchie-calc\"\u003e\n  \u003cstyle\u003e\n    #frenchie-calc{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:600px;margin:1.5rem auto;color:#1a1a1a}\n    #frenchie-calc .fc-open-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:#FFA02E;color:#003049;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}\n    #frenchie-calc .fc-open-btn:hover{opacity:.85}\n    #frenchie-calc .fc-modal-bg{display:none;margin-top:16px}\n    #frenchie-calc .fc-modal-bg.open{display:block}\n    #frenchie-calc .fc-modal{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:24px;position:relative}\n    #frenchie-calc .fc-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#888;line-height:1;padding:0}\n    #frenchie-calc h3{font-size:16px;font-weight:600;margin:0 0 4px}\n    #frenchie-calc .fc-sub{font-size:13px;color:#666;margin:0 0 18px}\n    #frenchie-calc .fc-unit-toggle{display:flex;border:1px solid #ddd;border-radius:8px;overflow:hidden;width:fit-content;margin-bottom:18px}\n    #frenchie-calc .fc-unit-btn{padding:6px 18px;font-size:13px;cursor:pointer;background:transparent;border:none;color:#666;font-family:inherit}\n    #frenchie-calc .fc-unit-btn.active{background:#f0f0f0;color:#1a1a1a;font-weight:600}\n    #frenchie-calc .fc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}\n    #frenchie-calc .fc-field label{display:block;font-size:12px;color:#666;margin-bottom:5px;font-weight:500}\n    #frenchie-calc .fc-field input{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;outline:none}\n    #frenchie-calc .fc-field input:focus{border-color:#FFA02E}\n    #frenchie-calc .fc-result{border:1px solid #e0e0e0;border-radius:10px;padding:16px;margin-bottom:14px;background:#fafafa;min-height:70px}\n    #frenchie-calc .fc-size-big{font-size:48px;font-weight:700;line-height:1;color:#003049}\n    #frenchie-calc .fc-result-note{font-size:13px;color:#444;margin-top:8px;line-height:1.6}\n    #frenchie-calc .fc-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}\n    #frenchie-calc .fc-pill{padding:3px 10px;border-radius:20px;font-size:12px;border:1px solid #ddd;color:#888;background:transparent;font-weight:500}\n    #frenchie-calc .fc-pill.active{background:#FFA02E;color:#003049;border-color:#FFA02E;font-weight:700}\n    #frenchie-calc .fc-tip{border-left:2px solid #FFA02E;padding:9px 12px;font-size:12px;color:#555;line-height:1.6;margin-bottom:12px}\n    #frenchie-calc .fc-toggle-btn{font-size:12px;color:#555;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;text-decoration:underline;margin-bottom:8px}\n    #frenchie-calc table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}\n    #frenchie-calc table th{text-align:left;padding:7px 8px;color:#666;font-weight:600;border-bottom:1px solid #e0e0e0}\n    #frenchie-calc table td{padding:7px 8px;border-bottom:1px solid #f0f0f0;color:#1a1a1a}\n    #frenchie-calc table tr.fc-hl td{background:#003049;color:#fff;font-weight:600}\n    #frenchie-calc .fc-placeholder{font-size:13px;color:#888;padding:8px 0}\n    @media(max-width:460px){#frenchie-calc .fc-grid{grid-template-columns:1fr}}\n  \u003c\/style\u003e\n\n  \u003cbutton class=\"fc-open-btn\" onclick=\"fcToggleModal()\"\u003e\n    📏 Find my Frenchie's size\n  \u003c\/button\u003e\n\n  \u003cdiv class=\"fc-modal-bg\" id=\"fc-modal-bg\"\u003e\n    \u003cdiv class=\"fc-modal\"\u003e\n      \u003cbutton class=\"fc-close\" onclick=\"fcToggleModal()\"\u003e×\u003c\/button\u003e\n      \u003ch3\u003eSize calculator\u003c\/h3\u003e\n      \u003cp class=\"fc-sub\"\u003eEnter your dog's measurements for an instant recommendation.\u003c\/p\u003e\n\n      \u003cdiv class=\"fc-unit-toggle\"\u003e\n        \u003cbutton class=\"fc-unit-btn active\" onclick=\"fcSetUnit('cm')\" id=\"fc-btn-cm\"\u003ecm\u003c\/button\u003e\n        \u003cbutton class=\"fc-unit-btn\" onclick=\"fcSetUnit('in')\" id=\"fc-btn-in\"\u003einches\u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-grid\"\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-neck\"\u003eNeck (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-neck\" placeholder=\"e.g. 32\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-chest\"\u003eChest (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-chest\" placeholder=\"e.g. 54\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"fc-field\"\u003e\n\u003clabel id=\"fc-lbl-back\"\u003eBack (cm)\u003c\/label\u003e\u003cinput type=\"number\" id=\"fc-back\" placeholder=\"e.g. 30\" min=\"1\" oninput=\"fcCalc()\"\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-result\" id=\"fc-result\"\u003e\n        \u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fc-tip\"\u003eFrench bulldogs have a wide chest — always size up if between sizes. Chest measurement is the most important.\u003c\/div\u003e\n\n      \u003cbutton class=\"fc-toggle-btn\" onclick=\"fcToggleChart()\" id=\"fc-chart-toggle\"\u003eShow full size chart ↓\u003c\/button\u003e\n      \u003cdiv id=\"fc-chart\" style=\"display:none\"\u003e\n        \u003ctable\u003e\n          \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003cth id=\"fc-th-neck\"\u003eNeck (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-chest\"\u003eChest (cm)\u003c\/th\u003e\n\u003cth id=\"fc-th-back\"\u003eBack (cm)\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n          \u003ctbody id=\"fc-tbody\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function(){\n      var SIZES=[\n        {name:'XXS',neck:[22,26],chest:[32,38],back:[18,22]},\n        {name:'XS',neck:[26,30],chest:[38,44],back:[22,26]},\n        {name:'S',neck:[30,34],chest:[44,50],back:[26,30]},\n        {name:'M',neck:[34,38],chest:[50,57],back:[30,35]},\n        {name:'L',neck:[38,43],chest:[57,64],back:[35,40]},\n        {name:'XL',neck:[43,49],chest:[64,72],back:[40,46]},\n        {name:'XXL',neck:[49,55],chest:[72,80],back:[46,52]},\n        {name:'3XL',neck:[55,62],chest:[80,90],back:[52,58]}\n      ];\n      var unit='cm';\n\n      window.fcToggleModal=function(){\n        document.getElementById('fc-modal-bg').classList.toggle('open');\n      };\n\n      window.fcSetUnit=function(u){\n        unit=u;\n        document.getElementById('fc-btn-cm').className='fc-unit-btn'+(u==='cm'?' active':'');\n        document.getElementById('fc-btn-in').className='fc-unit-btn'+(u==='in'?' active':'');\n        var s=u==='cm'?'cm':'in';\n        document.getElementById('fc-lbl-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-lbl-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-lbl-back').textContent='Back ('+s+')';\n        document.getElementById('fc-th-neck').textContent='Neck ('+s+')';\n        document.getElementById('fc-th-chest').textContent='Chest ('+s+')';\n        document.getElementById('fc-th-back').textContent='Back ('+s+')';\n        document.getElementById('fc-neck').value='';\n        document.getElementById('fc-chest').value='';\n        document.getElementById('fc-back').value='';\n        fcRenderChart(-1);fcCalc();\n      };\n\n      function toCm(v){return unit==='in'?v*2.54:v;}\n      function fromCm(v){return unit==='in'?(v\/2.54).toFixed(1):v;}\n\n      window.fcCalc=function(){\n        var n=parseFloat(document.getElementById('fc-neck').value);\n        var c=parseFloat(document.getElementById('fc-chest').value);\n        var b=parseFloat(document.getElementById('fc-back').value);\n        var result=document.getElementById('fc-result');\n        if([n,c,b].filter(function(x){return!isNaN(x)\u0026\u0026x\u003e0;}).length===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eEnter measurements above to get your size.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var ncm=isNaN(n)?null:toCm(n),ccm=isNaN(c)?null:toCm(c),bcm=isNaN(b)?null:toCm(b);\n        var best=null,bestScore=-1;\n        for(var i=0;i\u003cSIZES.length;i++){\n          var s=SIZES[i],pts=0;\n          if(ncm!==null\u0026\u0026ncm\u003e=s.neck[0]\u0026\u0026ncm\u003cs.neck[1])pts+=1;\n          if(ccm!==null\u0026\u0026ccm\u003e=s.chest[0]\u0026\u0026ccm\u003cs.chest[1])pts+=2;\n          if(bcm!==null\u0026\u0026bcm\u003e=s.back[0]\u0026\u0026bcm\u003cs.back[1])pts+=1;\n          if(pts\u003ebestScore){bestScore=pts;best=i;}\n        }\n        if(bestScore===0){\n          result.innerHTML='\u003cdiv class=\"fc-placeholder\"\u003eCould not match — please check measurements or contact us.\u003c\/div\u003e';\n          fcRenderChart(-1);return;\n        }\n        var sz=SIZES[best];\n        var nextName=best\u003cSIZES.length-1?SIZES[best+1].name:null;\n        var note=(ccm!==null\u0026\u0026ccm\u003e=sz.chest[1]-2\u0026\u0026nextName)?'Chest is near the upper limit — consider \u003cstrong\u003e'+nextName+'\u003c\/strong\u003e for a roomier fit.':'This size should fit your Frenchie well.';\n        var pills=SIZES.map(function(s){return'\u003cdiv class=\"fc-pill'+(s.name===sz.name?' active':'')+'\"\u003e'+ s.name+'\u003c\/div\u003e';}).join('');\n        result.innerHTML='\u003cdiv style=\"display:flex;align-items:flex-end;gap:10px;margin-bottom:6px\"\u003e\u003cdiv class=\"fc-size-big\"\u003e'+sz.name+'\u003c\/div\u003e\u003cdiv style=\"font-size:13px;color:#666;padding-bottom:8px\"\u003erecommended\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"fc-result-note\"\u003e'+note+'\u003c\/div\u003e\u003cdiv class=\"fc-pills\"\u003e'+pills+'\u003c\/div\u003e';\n        fcRenderChart(best);\n      };\n\n      function fcRenderChart(activeIdx){\n        document.getElementById('fc-tbody').innerHTML=SIZES.map(function(s,i){\n          var cls=i===activeIdx?' class=\"fc-hl\"':'';\n          return'\u003ctr'+cls+'\u003e\u003ctd\u003e'+s.name+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.neck[0])+' – '+fromCm(s.neck[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.chest[0])+' – '+fromCm(s.chest[1])+'\u003c\/td\u003e\u003ctd\u003e'+fromCm(s.back[0])+' – '+fromCm(s.back[1])+'\u003c\/td\u003e\u003c\/tr\u003e';\n        }).join('');\n      }\n\n      window.fcToggleChart=function(){\n        var chart=document.getElementById('fc-chart'),btn=document.getElementById('fc-chart-toggle');\n        if(chart.style.display==='none'){chart.style.display='block';btn.textContent='Hide size chart ↑';}\n        else{chart.style.display='none';btn.textContent='Show full size chart ↓';}\n      };\n\n      fcRenderChart(-1);\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e\n\u003cp\u003eRain, wind or freezing cold — your Frenchie stays warm, dry and safe no matter what the weather throws at them. 🧥🐾 \u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"\u003e\u003cstrong\u003eProduct Features:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e☔ \u003cstrong\u003eWaterproof Polyester\u003c\/strong\u003e: Prevents rainwater from seeping in — keeps your Frenchie dry on every outdoor adventure\u003c\/li\u003e\n\u003cli\u003e🔥 \u003cstrong\u003e160g PP Cotton Fill\u003c\/strong\u003e: Thick, soft padding that locks in warmth and keeps your Frenchie cozy in cold weather\u003c\/li\u003e\n\u003cli\u003e🌟 \u003cstrong\u003eReflective Night Safety\u003c\/strong\u003e: Bright reflective strips make your Frenchie visible and safe during night walks\u003c\/li\u003e\n\u003cli\u003e🔒 \u003cstrong\u003eElastic Belly \u0026amp; Cuffs\u003c\/strong\u003e: Snug elastic design hugs your Frenchie's body perfectly — no air leakage, no cold drafts\u003c\/li\u003e\n\u003cli\u003e🪢 \u003cstrong\u003eReinforced Towing Ring\u003c\/strong\u003e: Heavy-duty leash ring with reinforced stitching — strong enough for the most energetic Frenchie\u003c\/li\u003e\n\u003cli\u003e🎽 \u003cstrong\u003eNeck Shrink Design\u003c\/strong\u003e: Retractable collar keeps wind out and warmth in during outdoor walks and travel\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/ChatGPT_Image_7_mai_2026_21_32_40.png?v=1778185999\" alt=\"\"\u003e\u003c\/p\u003e","brand":"eprolo","offers":[{"title":"Grey Orange \/ XL","offer_id":46384517251233,"sku":"31AA3461FB524690928A2DA1E0E418DF","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Grey Orange \/ 2 XL","offer_id":46384517284001,"sku":"8B53B18E6098472D95260F93DD5B02C5","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Grey Orange \/ 3 XL","offer_id":46384517316769,"sku":"5F9B22423E594687A3B010BE710A7733","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Grey Orange \/ 4 XL","offer_id":46384517349537,"sku":"55A940A0F4BC4F2CA31CEA364C3F137B","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Grey Orange \/ 5 XL","offer_id":46384517382305,"sku":"7BC375471CFD45878292D7C63098FDD5","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Grey Orange \/ 6 XL","offer_id":46384517415073,"sku":"AC7A91F3FA714E4C8F102080BEB8DB65","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/Gemini_Generated_Image_lsuy6jlsuy6jlsuy_1.jpg?v=1778185822"}],"url":"https:\/\/frenchiehub.shop\/collections\/coats-hoodies.oembed","provider":"Frenchie Hub","version":"1.0","type":"link"}