{"product_id":"cotopaxi-viaje-9l-shoulder-bag","title":"Cotopaxi Viaje 9L Shoulder Bag","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003ctitle\u003eViaje 9L Shoulder Bag\u003c\/title\u003e\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@400;600;700;800\u0026family=Barlow:wght@300;400;500;600\u0026display=swap');\n:root { --black: #0a0a0a; --white: #ffffff; --mid: #f5f5f5; --border: #e8e8e8; --muted: #999; --body: #222; }\n* { box-sizing: border-box; margin: 0; padding: 0; }\n.spur-wrap { font-family: 'Barlow', sans-serif; background: var(--white); color: var(--black); max-width: 1100px; margin: 0 auto; padding: 48px 24px; }\n.spur-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 48px; border-bottom: 1px solid var(--border); padding-bottom: 24px; flex-wrap: wrap; gap: 12px; }\n.spur-title { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(28px, 5vw, 48px); font-weight: 800; letter-spacing: -0.02em; line-height: 1; text-transform: uppercase; }\n.spur-meta { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }\n.tab-radio { display: none; }\n.tab-nav { display: flex; gap: 4px; margin-bottom: 32px; flex-wrap: wrap; }\n.tab-nav label { font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 10px 24px; background: var(--mid); color: var(--muted); border: 1px solid var(--border); cursor: pointer; transition: all 0.15s; border-radius: 2px; display: inline-block; user-select: none; }\n.tab-nav label:hover { color: var(--black); border-color: #aaa; }\n.spur-panels .tab-panel { display: none; }\n#tab-desc:checked ~ .tab-nav label[for=\"tab-desc\"],\n#tab-key:checked ~ .tab-nav label[for=\"tab-key\"],\n#tab-specs:checked ~ .tab-nav label[for=\"tab-specs\"],\n#tab-care:checked ~ .tab-nav label[for=\"tab-care\"] { background: var(--black); color: var(--white); border-color: var(--black); }\n#tab-desc:checked ~ .spur-panels .desc-panel,\n#tab-key:checked ~ .spur-panels .key-panel,\n#tab-specs:checked ~ .spur-panels .specs-panel,\n#tab-care:checked ~ .spur-panels .care-panel { display: block; }\n.desc-intro { font-size: 16px; font-weight: 400; line-height: 1.65; color: var(--body); margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--border); }\n.key-section { border-bottom: 1px solid var(--border); padding: 16px 0; }\n.key-section:last-child { border-bottom: none; }\n.key-title { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 6px; }\n.key-desc { font-size: 14px; font-weight: 300; color: var(--body); line-height: 1.5; }\n.spec-row { display: grid; grid-template-columns: 200px 1fr; border-bottom: 1px solid var(--border); }\n.spec-key { font-size: 12px; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: var(--muted); padding: 12px 16px 12px 0; }\n.spec-val { font-size: 14px; font-weight: 300; color: var(--body); padding: 12px 0; line-height: 1.5; }\n.spec-category { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin: 24px 0 8px 0; color: var(--muted); }\n.spec-category:first-child { margin-top: 0; }\n@media (max-width: 600px) { .spec-row { grid-template-columns: 1fr; } .spec-key { padding-bottom: 2px; } .spec-val { padding-top: 0; padding-bottom: 12px; } }\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"spur-wrap\"\u003e\n\u003cdiv class=\"spur-header\"\u003e\n\u003cdiv class=\"spur-title\"\u003eViaje 9L Shoulder Bag\u003c\/div\u003e\n\u003cdiv class=\"spur-meta\"\u003eBags \u0026amp; Travel · Recycled\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cinput type=\"radio\" name=\"spur-tabs\" id=\"tab-desc\" class=\"tab-radio\" checked\u003e\n\u003cinput type=\"radio\" name=\"spur-tabs\" id=\"tab-key\" class=\"tab-radio\"\u003e\n\u003cinput type=\"radio\" name=\"spur-tabs\" id=\"tab-specs\" class=\"tab-radio\"\u003e\n\u003cinput type=\"radio\" name=\"spur-tabs\" id=\"tab-care\" class=\"tab-radio\"\u003e\n\n\u003cdiv class=\"tab-nav\"\u003e\n\u003clabel for=\"tab-desc\"\u003eDescription\u003c\/label\u003e\n\u003clabel for=\"tab-key\"\u003eKey Features\u003c\/label\u003e\n\u003clabel for=\"tab-specs\"\u003eSpecifications\u003c\/label\u003e\n\u003clabel for=\"tab-care\"\u003eCare\u003c\/label\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  var names = ['desc','key','specs','care'];\n  function show(n){\n    names.forEach(function(t){\n      var panel = document.querySelector('.' + t + '-panel');\n      if(panel) panel.style.setProperty('display', (t === n) ? 'block' : 'none', 'important');\n    });\n  }\n  names.forEach(function(t){\n    var input = document.getElementById('tab-' + t);\n    if(input) input.addEventListener('change', function(){ show(t); });\n    var label = document.querySelector('label[for=\"tab-' + t + '\"]');\n    if(label) label.addEventListener('click', function(){\n      show(t);\n      var inp = document.getElementById('tab-' + t);\n      if(inp) inp.checked = true;\n    });\n  });\n  show('desc');\n})();\n\u003c\/script\u003e\n\n\u003cdiv class=\"spur-panels\"\u003e\n\u003cdiv class=\"tab-panel desc-panel\"\u003e\n\u003cp class=\"desc-intro\"\u003eWhy is the Viaje 9L Shoulder Bag our new favorite travel accessory? The water bottle pockets, bungee on the bottom for extra layers, internal divider, and organizer pockets perfect for your phone, film camera, and a snack might have something to do with it.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"tab-panel key-panel\"\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eZippered main compartment\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eZippered exterior accessory pocket\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eInterior slip pockets\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eDual water bottle pockets\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eKey clip\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eAdjustable shoulder strap\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eExterior bungee\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003eFabric\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eBody: 100% recycled ripstop polyester, Lining: 100% recycled polyester\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"tab-panel specs-panel\"\u003e\n\u003cp class=\"spec-category\"\u003eMaterials\u003c\/p\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eBody\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003e100% recycled ripstop polyester\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eLining\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003e100% recycled polyester\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"spec-category\"\u003eDimensions\u003c\/p\u003e\n\u003cdiv class=\"spec-row\"\u003e\u003cdiv class=\"spec-val\"\u003e9L 11 x 16.5 x 5 in (28.5 x 42.5 x 13.5 cm)\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"tab-panel care-panel\"\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003eCleaning\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eMachine wash cold with like colors. Use mild detergent.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003eDrying\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eTumble dry low. Remove promptly.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003eBleach\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eDo not bleach.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003eIroning\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eDo not iron.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"key-section\"\u003e\n\u003cdiv class=\"key-title\"\u003eDry Clean\u003c\/div\u003e\n\u003cdiv class=\"key-desc\"\u003eDo not dry clean.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/body\u003e","brand":"Cotopaxi","offers":[{"title":"Citron \/ OS","offer_id":52874816094528,"sku":"VIA9-F26-CTRN","price":80.0,"currency_code":"USD","in_stock":false},{"title":"Cotopaxi Black \/ OS","offer_id":52874816127296,"sku":"VIA9-F26-CPBLK","price":80.0,"currency_code":"USD","in_stock":false},{"title":"Mineral \/ OS","offer_id":52874816160064,"sku":"VIA9-F26-MIN","price":80.0,"currency_code":"USD","in_stock":true},{"title":"Sepia \/ OS","offer_id":52874816192832,"sku":"VIA9-F26-SPIA","price":80.0,"currency_code":"USD","in_stock":false},{"title":"Slate \/ OS","offer_id":52874816225600,"sku":"VIA9-F26-SLT","price":80.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0446\/7487\/5549\/files\/VIA9-F26-CTRN_89c42ee8-c02b-4387-9406-a9c2efbee5fe.jpg?v=1785190230","url":"https:\/\/spokex.com\/products\/cotopaxi-viaje-9l-shoulder-bag","provider":"SX Collective","version":"1.0","type":"link"}