{"product_id":"trend-brand","title":"Streetwear Hype Frenchie Harness \u0026 Leash Set","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\n\u003cp data-path-to-node=\"1\"\u003eevel up your Frenchie’s street cred with this \"Trend Brand\" explosion-proof harness and traction rope. Designed with the signature bold aesthetic of high-end streetwear, this durable chest strap is tailored for the powerful, stocky build of French Bulldogs, ensuring a secure fit that handles those enthusiastic \"zoomies\" without the strain.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"3\"\u003e\u003cb data-index-in-node=\"0\" data-path-to-node=\"3\"\u003eProduct Features\u003c\/b\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli data-path-to-node=\"4,0,0\"\u003e\n\u003cb data-index-in-node=\"0\" data-path-to-node=\"4,0,0\"\u003eNo-Choke Design:\u003c\/b\u003e Distributes pressure evenly across the chest to protect your Frenchie’s sensitive neck.\u003c\/li\u003e\n\u003cli data-path-to-node=\"4,1,0\"\u003e\n\u003cb data-index-in-node=\"0\" data-path-to-node=\"4,1,0\"\u003eExplosion-Proof Durability:\u003c\/b\u003e Built to withstand heavy pulling while maintaining a lightweight, comfortable feel.\u003c\/li\u003e\n\u003cli data-path-to-node=\"4,2,0\"\u003e\n\u003cb data-index-in-node=\"0\" data-path-to-node=\"4,2,0\"\u003eHypebeast Style:\u003c\/b\u003e Features iconic brand-inspired patterns that make your pup the coolest dog at the park.\u003c\/li\u003e\n\u003cli data-path-to-node=\"4,3,0\"\u003e\n\u003cb data-index-in-node=\"0\" data-path-to-node=\"4,3,0\"\u003eComplete Set:\u003c\/b\u003e Includes a matching 150cm traction rope for a coordinated, head-turning look.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-path-to-node=\"6\"\u003e\u003cb data-path-to-node=\"6\" data-index-in-node=\"0\"\u003eSize Guide\u003c\/b\u003e\u003c\/h3\u003e\n\u003cp data-path-to-node=\"7\"\u003e\u003cb data-path-to-node=\"7\" data-index-in-node=\"0\"\u003eTraction Rope:\u003c\/b\u003e 150cm Long | 3.5cm Wide (One Size)\u003c\/p\u003e\n\u003cp data-path-to-node=\"8\"\u003e\u003cb data-path-to-node=\"8\" data-index-in-node=\"0\"\u003eAdjustable Collars:\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli data-path-to-node=\"9,0,0\"\u003e\n\u003cb data-path-to-node=\"9,0,0\" data-index-in-node=\"0\"\u003eS:\u003c\/b\u003e 26-37cm (Puppies\/Small Dogs)\u003c\/li\u003e\n\u003cli data-path-to-node=\"9,1,0\"\u003e\n\u003cb data-path-to-node=\"9,1,0\" data-index-in-node=\"0\"\u003eM:\u003c\/b\u003e 37-58cm (Standard Frenchies)\u003c\/li\u003e\n\u003cli data-path-to-node=\"9,2,0\"\u003e\n\u003cb data-path-to-node=\"9,2,0\" data-index-in-node=\"0\"\u003eL:\u003c\/b\u003e 50-75cm (Large Breeds)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"10\"\u003e\u003cb data-path-to-node=\"10\" data-index-in-node=\"0\"\u003eChest Harness (Circumference):\u003c\/b\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli data-path-to-node=\"11,0,0\"\u003e\n\u003cb data-path-to-node=\"11,0,0\" data-index-in-node=\"0\"\u003eXS:\u003c\/b\u003e 30-40cm\u003c\/li\u003e\n\u003cli data-path-to-node=\"11,1,0\"\u003e\n\u003cb data-path-to-node=\"11,1,0\" data-index-in-node=\"0\"\u003eS:\u003c\/b\u003e 40-50cm\u003c\/li\u003e\n\u003cli data-path-to-node=\"11,2,0\"\u003e\n\u003cb data-path-to-node=\"11,2,0\" data-index-in-node=\"0\"\u003eM:\u003c\/b\u003e 50-60cm (Ideal for most French Bulldogs)\u003c\/li\u003e\n\u003cli data-path-to-node=\"11,3,0\"\u003e\n\u003cb data-path-to-node=\"11,3,0\" data-index-in-node=\"0\"\u003eL:\u003c\/b\u003e 60-70cm\u003c\/li\u003e\n\u003cli data-path-to-node=\"11,4,0\"\u003e\n\u003cb data-path-to-node=\"11,4,0\" data-index-in-node=\"0\"\u003eXL:\u003c\/b\u003e 70-80cm\u003c\/li\u003e\n\u003cli data-path-to-node=\"11,5,0\"\u003e\n\u003cb data-path-to-node=\"11,5,0\" data-index-in-node=\"0\"\u003eXXL:\u003c\/b\u003e 80-90cm\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"eprolo","offers":[{"title":"Traction rope 1.5m","offer_id":45958329467041,"sku":"0B620F8928DB43E6901815EB2C3A6EEE","price":18.99,"currency_code":"USD","in_stock":true},{"title":"Collar S (fits 26-37cm)","offer_id":45958329499809,"sku":"D7323D1AD8CF402DBD2C089F9B6A43E8","price":18.99,"currency_code":"USD","in_stock":true},{"title":"Collar M (fits 37-58cm)","offer_id":45958329532577,"sku":"13CA0195743C435CB869B4D1108DEB0B","price":18.99,"currency_code":"USD","in_stock":true},{"title":"Collar L（fits 50-75cm ）","offer_id":45958329565345,"sku":"9D333F0178174CF9B6BC11923E803BD9","price":18.99,"currency_code":"USD","in_stock":true},{"title":"Chest strap XS (button type)","offer_id":45958329598113,"sku":"0C059D56DBE24CF5B159A96A8D766B31","price":21.99,"currency_code":"USD","in_stock":true},{"title":"Chest strap S (button type)","offer_id":45958329630881,"sku":"33042FECFF694599AE6467AFFF057258","price":21.99,"currency_code":"USD","in_stock":true},{"title":"Chest strap M (button type)","offer_id":45958329663649,"sku":"A2141977D503474C82F178026240BC4C","price":21.99,"currency_code":"USD","in_stock":true},{"title":"Chest strap L (button type)","offer_id":45958329696417,"sku":"39F2B8F1894A425EA06FBD1852ACCF89","price":21.99,"currency_code":"USD","in_stock":true},{"title":"Chest strap XL (button type)","offer_id":45958329729185,"sku":"7985C97761FF499997A0679B3032F04E","price":21.99,"currency_code":"USD","in_stock":true},{"title":"Chest strap 2XL (button type)","offer_id":45958329761953,"sku":"B35A85D187A74D84ACAAF04BBE86A2EF","price":21.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0722\/2539\/0753\/files\/E74F753E8644EBD12725BBB5FC1265CC_1.jpg?v=1777061120","url":"https:\/\/frenchiehub.shop\/products\/trend-brand","provider":"Frenchie Hub","version":"1.0","type":"link"}