{"product_id":"rent-vest","title":"Rent Your Look — Vest Sets","description":"\u003cstyle\u003e\n:root{--dark:#1a1a1a;--red:#cc0000;--light:#faf8f6;--border:#e8e4df;--muted:#777}\n.byl{font-family:'Tenor Sans',sans-serif;color:var(--dark)}.byl *{box-sizing:border-box}\n.byl-progress{background:var(--dark);padding:16px 24px}.byl-progress-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center}\n.byl-step-dot{width:24px;height:24px;border-radius:50%;border:1.5px solid #444;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#666;flex-shrink:0}\n.byl-step{display:flex;align-items:center;gap:7px;flex:1}.byl-step.active .byl-step-dot{background:var(--red);border-color:var(--red);color:#fff}.byl-step.done .byl-step-dot{background:#333;border-color:#555;color:#aaa}\n.byl-step-name{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#555;white-space:nowrap}.byl-step.active .byl-step-name{color:#fff}.byl-step.done .byl-step-name{color:#777}\n.byl-step-line{height:1px;background:#333;flex:1;margin:0 3px}\n.byl-modebar{background:var(--dark);border-top:1px solid #2a2a2a;padding:8px 24px;display:flex;align-items:center;justify-content:space-between}\n.byl-modebar p{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#555}.byl-modebar a{font-size:10px;color:#555;text-decoration:none}.byl-modebar a:hover{color:#999}\n.byl-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 300px;min-height:70vh}\n@media(max-width:860px){.byl-layout{grid-template-columns:1fr}}\n.byl-main{padding:32px 28px 32px 32px;border-right:1px solid var(--border)}\n@media(max-width:860px){.byl-main{border-right:none;padding:24px 16px}}\n.byl-step-eyebrow{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--red);margin-bottom:8px}\n.byl-step-title{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3.5vw,36px);font-weight:400;margin-bottom:6px}\n.byl-step-desc{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:20px}\n.byl-filter-bar{margin-bottom:20px;display:none}\n.byl-filter-label{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}\n.byl-filter-chips{display:flex;flex-wrap:wrap;gap:6px}\n.byl-chip{display:flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border);background:#fff;font-family:'Tenor Sans',sans-serif;font-size:10px;letter-spacing:.12em;cursor:pointer;transition:.15s;color:var(--dark)}\n.byl-chip:hover{border-color:var(--dark)}.byl-chip.active{background:var(--dark);border-color:var(--dark);color:#fff}\n.byl-chip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.15)}\n.byl-clear-filter{font-size:10px;color:var(--red);cursor:pointer;letter-spacing:.12em;text-decoration:underline;margin-left:4px;background:none;border:none;font-family:'Tenor Sans',sans-serif;padding:6px 0}\n.byl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:24px}\n@media(max-width:500px){.byl-grid{grid-template-columns:repeat(2,1fr);gap:8px}}\n.byl-card{border:1px solid var(--border);background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;position:relative}\n.byl-card:hover{border-color:#aaa;box-shadow:0 4px 16px rgba(0,0,0,.08)}.byl-card.selected{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.byl-card.expanded{border-color:var(--dark)}\n.byl-card-img{width:100%;aspect-ratio:1;object-fit:cover;object-position:top;display:block;background:#f0ece8}\n.byl-card-img-ph{width:100%;aspect-ratio:1;background:#f0ece8;display:flex;align-items:center;justify-content:center;font-size:36px;color:#ddd}\n.byl-card-body{padding:10px 12px 12px}\n.byl-card-name{font-size:12px;font-weight:600;color:var(--dark);line-height:1.3;margin-bottom:4px}\n.byl-card-price{font-size:12px;color:var(--red);font-weight:600;margin-bottom:8px}\n.byl-card-swatches{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}\n.byl-card-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0}\n.byl-card-swatch-more{font-size:9px;color:var(--muted);align-self:center}\n.byl-select-btn{width:100%;padding:9px;background:var(--dark);color:#fff;border:none;font-family:'Tenor Sans',sans-serif;font-size:9px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .2s}\n.byl-select-btn:hover,.byl-select-btn.selected-btn{background:var(--red)}\n.byl-selected-badge{position:absolute;top:8px;right:8px;background:var(--red);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}\n.byl-picker{display:none;padding:12px;border-top:1px solid var(--border);background:#faf8f6}\n.byl-picker.open{display:block}\n.byl-picker-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}\n.byl-picker-swatches{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}\n.byl-picker-swatch-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}\n.byl-picker-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;transition:.15s}\n.byl-picker-swatch:hover{transform:scale(1.15)}.byl-picker-swatch.chosen{border-color:var(--dark);box-shadow:0 0 0 2px #fff inset}\n.byl-picker-swatch-name{font-size:8px;color:var(--muted);text-align:center;max-width:36px;line-height:1.2}\n.byl-add-btn{width:100%;padding:10px;background:var(--red);color:#fff;border:none;font-family:'Tenor Sans',sans-serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .2s;opacity:.5}\n.byl-add-btn.ready{opacity:1}.byl-add-btn.ready:hover{background:#aa0000}\n.byl-nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--border)}\n.byl-nav-back{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none}.byl-nav-back:hover{color:var(--dark)}\n.byl-nav-skip{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#bbb;text-decoration:none;margin-left:auto}.byl-nav-skip:hover{color:var(--muted)}\n.byl-nav-next{padding:13px 28px;background:var(--dark);color:#fff;font-family:'Tenor Sans',sans-serif;font-size:10px;letter-spacing:.25em;text-transform:uppercase;text-decoration:none;transition:background .2s;border:none;cursor:pointer}.byl-nav-next:hover{background:var(--red)}\n.byl-sidebar{padding:28px 20px;background:var(--light)}\n@media(max-width:860px){.byl-sidebar{padding:20px 16px}}\n.byl-sb-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;margin-bottom:4px}\n.byl-sb-sub{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}\n.byl-sb-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #ede9e4;align-items:flex-start}\n.byl-sb-img{width:52px;height:52px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}\n.byl-sb-img-ph{width:52px;height:52px;background:#eee;flex-shrink:0}\n.byl-sb-info{flex:1;min-width:0}.byl-sb-cat{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}\n.byl-sb-name{font-size:12px;font-weight:600;color:var(--dark);line-height:1.3}\n.byl-sb-color{font-size:11px;color:var(--muted);margin-top:2px}.byl-sb-price{font-size:12px;color:var(--red);font-weight:600;margin-top:2px}\n.byl-sb-remove{background:none;border:none;color:#ccc;cursor:pointer;font-size:16px;padding:0;line-height:1;flex-shrink:0}.byl-sb-remove:hover{color:var(--red)}\n.byl-sb-total{border-top:1px solid var(--border);margin-top:12px;padding-top:12px;display:none}\n.byl-sb-total-row{display:flex;justify-content:space-between;font-size:13px}\n.byl-sb-total-label{color:var(--muted)}.byl-sb-total-amt{font-weight:700;font-size:16px}\n.byl-sb-empty{font-size:12px;color:var(--muted);font-style:italic;padding:12px 0}\n.byl-sb-next{display:block;margin-top:14px;padding:12px;background:var(--dark);color:#fff;font-family:'Tenor Sans',sans-serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;text-align:center;text-decoration:none;transition:background .2s;cursor:pointer;border:none;width:100%}.byl-sb-next:hover{background:var(--red)}\n.byl-loading{text-align:center;padding:40px;color:var(--muted);font-size:13px}\n.byl-empty{text-align:center;padding:40px;color:var(--muted);font-size:13px;font-style:italic}\n\u003c\/style\u003e\n\n\u003cdiv class=\"byl\"\u003e\n  \u003cdiv class=\"byl-progress\"\u003e\u003cdiv class=\"byl-progress-inner\"\u003e\n    \u003cdiv class=\"byl-step done\"\u003e\n\u003cdiv class=\"byl-step-dot\"\u003e1\u003c\/div\u003e\n\u003cspan class=\"byl-step-name\"\u003eSuit\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"byl-step-line\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"byl-step active\"\u003e\n\u003cdiv class=\"byl-step-dot\"\u003e2\u003c\/div\u003e\n\u003cspan class=\"byl-step-name\"\u003eVest\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"byl-step-line\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"byl-step\"\u003e\n\u003cdiv class=\"byl-step-dot\"\u003e3\u003c\/div\u003e\n\u003cspan class=\"byl-step-name\"\u003eNeckwear\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"byl-step-line\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"byl-step\"\u003e\n\u003cdiv class=\"byl-step-dot\"\u003e4\u003c\/div\u003e\n\u003cspan class=\"byl-step-name\"\u003eShirt\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"byl-step-line\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"byl-step\"\u003e\n\u003cdiv class=\"byl-step-dot\"\u003e5\u003c\/div\u003e\n\u003cspan class=\"byl-step-name\"\u003eShoes\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"byl-step-line\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"byl-step\"\u003e\n\u003cdiv class=\"byl-step-dot\"\u003e6\u003c\/div\u003e\n\u003cspan class=\"byl-step-name\"\u003eBelt\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"byl-step-line\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"byl-step\"\u003e\n\u003cdiv class=\"byl-step-dot\"\u003e7\u003c\/div\u003e\n\u003cspan class=\"byl-step-name\"\u003eExtras\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"byl-step-line\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"byl-step\"\u003e\n\u003cdiv class=\"byl-step-dot\"\u003e8\u003c\/div\u003e\n\u003cspan class=\"byl-step-name\"\u003eReview\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\u003c\/div\u003e\n  \u003cdiv class=\"byl-modebar\"\u003e\n    \u003cp\u003eMode: \u003cstrong id=\"byl-mode-lbl\" style=\"color:var(--red)\"\u003eRENTAL\u003c\/strong\u003e\u003c\/p\u003e\n    \u003ca href=\"\/es\/pages\/build-your-look\"\u003e← Start Over\u003c\/a\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"byl-layout\"\u003e\n    \u003cdiv class=\"byl-main\"\u003e\n      \u003cp class=\"byl-step-eyebrow\"\u003eStep 2 of 8\u003c\/p\u003e\n      \u003ch1 class=\"byl-step-title\"\u003eChoose Your Vest Set\u003c\/h1\u003e\n      \u003cp class=\"byl-step-desc\"\u003eSelect a vest set to complete your formal look. Use the color filter to match your suit.\u003c\/p\u003e\n\n      \u003cdiv class=\"byl-filter-bar\" id=\"byl-filter-bar\"\u003e\n        \u003cdiv class=\"byl-filter-label\"\u003eFilter by Color\u003c\/div\u003e\n        \u003cdiv class=\"byl-filter-chips\" id=\"byl-chips\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"byl-grid\" id=\"byl-grid\"\u003e\u003cdiv class=\"byl-loading\"\u003eLoading…\u003c\/div\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"byl-nav\"\u003e\n        \u003ca class=\"byl-nav-back\" href=\"#\" onclick=\"bylNav('\/pages\/rent-suit');return false\"\u003e← Back\u003c\/a\u003e\n        \u003ca class=\"byl-nav-skip\" href=\"#\" onclick=\"bylNav('\/pages\/rent-neckwear');return false\"\u003eSkip\u003c\/a\u003e\n        \u003cbutton class=\"byl-nav-next\" onclick=\"bylNav('\/pages\/rent-neckwear')\"\u003eNext: Neckwear →\u003c\/button\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"byl-sidebar\"\u003e\n      \u003cdiv class=\"byl-sb-title\"\u003eYour Look\u003c\/div\u003e\n      \u003cdiv class=\"byl-sb-sub\"\u003e\n\u003cspan id=\"byl-mode-sb\"\u003eRental\u003c\/span\u003e · Step 2 of 8\u003c\/div\u003e\n      \u003cdiv id=\"byl-sb-items\"\u003e\u003cp class=\"byl-sb-empty\"\u003eNothing selected yet.\u003c\/p\u003e\u003c\/div\u003e\n      \u003cdiv class=\"byl-sb-total\" id=\"byl-sb-total\"\u003e\u003cdiv class=\"byl-sb-total-row\"\u003e\n\u003cspan class=\"byl-sb-total-label\"\u003eSubtotal\u003c\/span\u003e\u003cspan class=\"byl-sb-total-amt\"\u003e$\u003cspan id=\"byl-sb-amt\"\u003e0\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n      \u003cbutton class=\"byl-sb-next\" onclick=\"bylNav('\/pages\/rent-neckwear')\"\u003eNext: Neckwear →\u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\nvar BSK='boiseTuxBuilder';\nvar STEP_KEY='vest';\nvar IN_STORE=false;\nvar currentTab='formal-vests';\nvar allProducts=[];var activeColors=[];var expandedId=null;var pendingVariant={};\nfunction gS(){try{return JSON.parse(sessionStorage.getItem(BSK))||{mode:'rent',items:[]};}catch(e){return{mode:'rent',items:[]};}}\nfunction sS(s){sessionStorage.setItem(BSK,JSON.stringify(s));}\nfunction bylNav(u){var s=gS();window.location.href=u+(u.indexOf('?')\u003e=0?'\u0026':'?')+'mode='+(s.mode||'rent');}\nfunction escHtml(s){return String(s).replace(\/\u0026\/g,'\u0026amp;').replace(\/\u003c\/g,'\u0026lt;').replace(\/\u003e\/g,'\u0026gt;').replace(\/\"\/g,'\u0026quot;');}\nvar CMAP={black:'#111',white:'#F5F5F5',ivory:'#FFFFF0',cream:'#FFF8E7',silver:'#C0C0C0',champagne:'#F7E7CE',navy:'#1B2A4A','navy blue':'#1B2A4A','royal blue':'#2340A0',cornflower:'#6495ED','cornflower blue':'#6495ED','dusty blue':'#7B9EB5','french blue':'#0072BB','slate blue':'#607B8B','indigo blue':'#3F007D',indigo:'#3F007D','denim blue':'#1560BD',sage:'#8FAF78','sage green':'#8FAF78','hunter green':'#355E3B','od green':'#556B2F',emerald:'#50C878',teal:'#008080',burgundy:'#800020',red:'#CC0000',rust:'#B7410E','dusty rose':'#DCAE96',blush:'#F4C2C2',mauve:'#B784A7',lavender:'#C9A0DC',coral:'#FF6B6B',gold:'#C9A84C',tan:'#D2B48C',camel:'#C19A6B',sand:'#C2B280',chocolate:'#7B3F00','chocolate brown':'#7B3F00',cocoa:'#8B5E3C',cafe:'#6F4E37',charcoal:'#36454F','charcoal grey':'#36454F','grey stone':'#8C8C8C',graphite:'#474747','light grey':'#D3D3D3','medium grey':'#9E9E9E','linen grey':'#B8B5A8',chrome:'#D4D4D4','hot pink':'#FF69B4',pink:'#FFC0CB',mint:'#98D8C8',purple:'#800080'};\nfunction cHex(n){return CMAP[n.toLowerCase().trim()]||'#CCCCCC';}\nasync function fetchCollection(handle){var r=await fetch('\/collections\/'+handle+'\/products.json?limit=50');if(!r.ok)return[];return(await r.json()).products||[];}\nasync function loadProducts(){\n  var grid=document.getElementById('byl-grid');\n  grid.innerHTML='\u003cdiv class=\"byl-loading\"\u003eLoading…\u003c\/div\u003e';\n  activeColors=[];\n  allProducts=await fetchCollection(currentTab);\n  var colorSet=new Set();\n  allProducts.forEach(function(p){var o=p.options.find(function(x){return x.name==='Color';});if(o)o.values.forEach(function(v){colorSet.add(v);});});\n  var colors=[...colorSet].sort();\n  renderFilters(colors);\n  var fb=document.getElementById('byl-filter-bar');\n  if(fb)fb.style.display=colors.length?'block':'none';\n  renderGrid();\n}\nfunction renderFilters(colors){\n  var chips=document.getElementById('byl-chips');\n  if(!colors.length){chips.innerHTML='';return;}\n  chips.innerHTML=colors.map(function(c){var active=activeColors.indexOf(c)\u003e=0;return '\u003cbutton class=\"byl-chip'+(active?' active':'')+'\" onclick=\"toggleColor(\\''+c.replace(\/'\/g,\"\\\\'\")+'\\')\"\u003e\u003cspan class=\"byl-chip-dot\" style=\"background:'+cHex(c)+'\"\u003e\u003c\/span\u003e'+c+'\u003c\/button\u003e';}).join('')+(activeColors.length?'\u003cbutton class=\"byl-clear-filter\" onclick=\"clearColors()\"\u003eClear\u003c\/button\u003e':'');\n}\nfunction toggleColor(c){var i=activeColors.indexOf(c);if(i\u003e=0)activeColors.splice(i,1);else activeColors.push(c);var colorSet=new Set();allProducts.forEach(function(p){var o=p.options.find(function(x){return x.name==='Color';});if(o)o.values.forEach(function(v){colorSet.add(v);});});renderFilters([...colorSet].sort());renderGrid();}\nfunction clearColors(){activeColors=[];var colorSet=new Set();allProducts.forEach(function(p){var o=p.options.find(function(x){return x.name==='Color';});if(o)o.values.forEach(function(v){colorSet.add(v);});});renderFilters([...colorSet].sort());renderGrid();}\nfunction renderGrid(){\n  var grid=document.getElementById('byl-grid');\n  var filtered=activeColors.length?allProducts.filter(function(p){var o=p.options.find(function(x){return x.name==='Color';});if(!o)return false;return activeColors.some(function(c){return o.values.indexOf(c)\u003e=0;});}):allProducts;\n  if(!filtered.length){grid.innerHTML='\u003cdiv class=\"byl-empty\"\u003eNo vest sets match that color. Try a different color or skip this step.\u003c\/div\u003e';return;}\n  var state=gS();\n  grid.innerHTML=filtered.map(function(p){\n    var opt=p.options.find(function(o){return o.name==='Color';});\n    var colors=opt?opt.values:[];\n    var dc=activeColors.length?colors.filter(function(c){return activeColors.indexOf(c)\u003e=0;}):colors;\n    var show=dc.length?dc:colors;\n    var img=p.images\u0026\u0026p.images[0]?p.images[0].src.split('?')[0]+'?width=400':'';\n    var price=p.variants\u0026\u0026p.variants[0]?parseFloat(p.variants[0].price).toFixed(0):'';\n    var sel=state.items.find(function(i){return i.productId===p.id;});\n    var isExp=expandedId===p.id;\n    return '\u003cdiv class=\"byl-card'+(sel?' selected':'')+(isExp?' expanded':'')+'\"\u003e'\n      +'\u003cdiv style=\"position:relative;\"\u003e'+(img?'\u003cimg class=\"byl-card-img\" src=\"'+img+'\" alt=\"'+escHtml(p.title)+'\" loading=\"lazy\"\u003e':'\u003cdiv class=\"byl-card-img-ph\"\u003e🧥\u003c\/div\u003e')\n      +(sel?'\u003cdiv class=\"byl-selected-badge\"\u003e✓\u003c\/div\u003e':'')+'\u003c\/div\u003e'\n      +'\u003cdiv class=\"byl-card-body\"\u003e\u003cdiv class=\"byl-card-name\"\u003e'+escHtml(p.title)+'\u003c\/div\u003e'\n      +(price?'\u003cdiv class=\"byl-card-price\"\u003e$'+price+'\u003c\/div\u003e':'')\n      +'\u003cdiv class=\"byl-card-swatches\"\u003e'+show.slice(0,8).map(function(c){return '\u003cspan class=\"byl-card-swatch\" style=\"background:'+cHex(c)+'\" title=\"'+escHtml(c)+'\"\u003e\u003c\/span\u003e';}).join('')+(show.length\u003e8?'\u003cspan class=\"byl-card-swatch-more\"\u003e+'+(show.length-8)+'\u003c\/span\u003e':'')+'\u003c\/div\u003e\u003c\/div\u003e'\n      +'\u003cbutton class=\"byl-select-btn'+(sel?' selected-btn':'')+'\" onclick=\"toggleCard('+p.id+')\"\u003e'+(sel?'Change':'Select — Choose Color')+'\u003c\/button\u003e'\n      +'\u003cdiv class=\"byl-picker'+(isExp?' open':'')+'\"\u003e'\n      +'\u003cdiv class=\"byl-picker-label\"\u003ePick Your Color\u003c\/div\u003e'\n      +'\u003cdiv class=\"byl-picker-swatches\"\u003e'\n      +(colors.length?colors.map(function(c){var v=p.variants.find(function(vv){return vv.option1===c;});var chosen=sel\u0026\u0026sel.color===c;\n        return '\u003cdiv class=\"byl-picker-swatch-wrap\" onclick=\"pickColor('+p.id+',\\''+c.replace(\/'\/g,\"\\\\'\")+'\\','+(v?v.id:0)+','+(v?parseFloat(v.price):price)+')\"\u003e'\n          +'\u003cdiv class=\"byl-picker-swatch'+(chosen?' chosen':'')+'\" style=\"background:'+cHex(c)+'\" title=\"'+escHtml(c)+'\"\u003e\u003c\/div\u003e'\n          +'\u003cdiv class=\"byl-picker-swatch-name\"\u003e'+escHtml(c)+'\u003c\/div\u003e\u003c\/div\u003e';}).join('')\n        :'\u003cp style=\"font-size:11px;color:var(--muted);\"\u003eClick below to add.\u003c\/p\u003e')\n      +'\u003c\/div\u003e'\n      +(colors.length===0?'\u003cbutton class=\"byl-add-btn ready\" onclick=\"addNoColor('+p.id+',\\''+escHtml(p.title).replace(\/'\/g,\"\\\\'\")+'\\','+price+',\\''+img.replace(\/'\/g,\"\\\\'\")+'\\')\"\u003e'+(sel?'Update':'Add to My Look')+'\u003c\/button\u003e':'')\n      +'\u003cbutton class=\"byl-add-btn'+(sel?' ready':'')+'\" id=\"byadd-'+p.id+'\"'+(colors.length===0?' style=\"display:none\"':'')+' onclick=\"confirmAdd('+p.id+')\"\u003e'+(sel?'Update':'Add to My Look')+'\u003c\/button\u003e'\n      +'\u003c\/div\u003e\u003c\/div\u003e';\n  }).join('');\n}\nfunction toggleCard(pid){expandedId=expandedId===pid?null:pid;renderGrid();}\nfunction pickColor(pid,color,variantId,price){\n  pendingVariant[pid]={color:color,variantId:variantId,price:price};\n  var state=gS();var existing=state.items.find(function(i){return i.productId===pid;});\n  if(existing){existing.color=color;sS(state);}\n  var btn=document.getElementById('byadd-'+pid);if(btn)btn.classList.add('ready');\n}\nfunction confirmAdd(pid){\n  var pv=pendingVariant[pid];if(!pv||!pv.color){return;}\n  var p=allProducts.find(function(x){return x.id===pid;});if(!p)return;\n  var img=p.images\u0026\u0026p.images[0]?p.images[0].src.split('?')[0]+'?width=400':'';\n  var state=gS();state.items=state.items.filter(function(i){return i.step!==STEP_KEY;});\n  state.items.push({step:STEP_KEY,productId:p.id,variantId:pv.variantId,name:p.title,color:pv.color,price:pv.price,img:img,inStore:IN_STORE});\n  sS(state);expandedId=null;delete pendingVariant[pid];renderGrid();renderSidebar();\n}\nfunction addNoColor(pid,name,price,img){\n  var p=allProducts.find(function(x){return x.id===pid;});\n  var state=gS();state.items=state.items.filter(function(i){return i.step!==STEP_KEY;});\n  state.items.push({step:STEP_KEY,productId:pid,variantId:p?(p.variants[0]?p.variants[0].id:null):null,name:name,color:'',price:parseFloat(price)||0,img:img,inStore:IN_STORE});\n  sS(state);expandedId=null;renderGrid();renderSidebar();\n}\nfunction renderSidebar(){\n  var state=gS();var el=document.getElementById('byl-sb-items');var tot=document.getElementById('byl-sb-total');\n  if(!state.items||!state.items.length){el.innerHTML='\u003cp class=\"byl-sb-empty\"\u003eNothing selected yet.\u003c\/p\u003e';if(tot)tot.style.display='none';return;}\n  el.innerHTML=state.items.map(function(item){return '\u003cdiv class=\"byl-sb-item\"\u003e'+(item.img?'\u003cimg class=\"byl-sb-img\" src=\"'+item.img+'\" alt=\"\"\u003e':'\u003cdiv class=\"byl-sb-img-ph\"\u003e\u003c\/div\u003e')+'\u003cdiv class=\"byl-sb-info\"\u003e\u003cdiv class=\"byl-sb-cat\"\u003e'+escHtml(item.step)+'\u003c\/div\u003e\u003cdiv class=\"byl-sb-name\"\u003e'+escHtml(item.name)+'\u003c\/div\u003e'+(item.color?'\u003cdiv class=\"byl-sb-color\"\u003e'+escHtml(item.color)+'\u003c\/div\u003e':'')+'\u003cdiv class=\"byl-sb-price\"\u003e$'+item.price+'\u003c\/div\u003e\u003c\/div\u003e\u003cbutton class=\"byl-sb-remove\" onclick=\"removeItem(\\''+item.step+'\\')\"\u003e×\u003c\/button\u003e\u003c\/div\u003e';}).join('');\n  var total=state.items.reduce(function(s,i){return s+(parseFloat(i.price)||0);},0);\n  if(tot){tot.style.display='block';var amt=document.getElementById('byl-sb-amt');if(amt)amt.textContent=total.toFixed(0);}\n}\nfunction removeItem(step){var state=gS();state.items=state.items.filter(function(i){return i.step!==step;});sS(state);renderSidebar();}\nwindow.addEventListener('load',function(){\n  var state=gS();\n  var mode=new URLSearchParams(location.search).get('mode')||state.mode||'rent';\n  state.mode=mode;sS(state);\n  var ml=document.getElementById('byl-mode-lbl');if(ml)ml.textContent=mode==='buy'?'PURCHASE':'RENTAL';\n  var ms=document.getElementById('byl-mode-sb');if(ms)ms.textContent=mode==='buy'?'Purchase':'Rental';\n  loadProducts();\n  renderSidebar();\n});\n\u003c\/script\u003e\n\n---\nThat's the only change you need to make in Shopify. The theme.liquid patch handles everything else automatically:\n\n- Suit page → \"Next\" button now goes to Vest Sets (not Neckwear)\n- Neckwear page → \"Back\" button now goes to Vest Sets (not Suit), and the \"Vest Sets\" subtab is automatically removed\n- All pages → progress bar updates to show 8 steps with Vest as step 2, and \"Step X of Y\" labels update throughout","brand":"Boise Tuxedo and Suit Shop","offers":[{"title":"Default Title","offer_id":48307778027742,"sku":null,"price":0.0,"currency_code":"USD","in_stock":false}],"url":"https:\/\/www.boisetuxedoshop.com\/es\/products\/rent-vest","provider":"Boise Tuxedo and Suit Shop","version":"1.0","type":"link"}