{"title":"Tern Accessories","description":"","products":[{"product_id":"tern-market-basket","title":"Sterne - Panier de marché","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n\u003cp data-mce-fragment=\"1\"\u003eLe panier Tern Market est grand, beau et facile à convertir d'un panier à main en panier à vélo. Il est assez grand pour contenir un sac à dos ou les courses d'un week-end, et il est conçu pour durer.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n \u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eConçu autour du système de montage KLICKfix™ TopKlip, pour une connexion on\/off sécurisée et facile sous des charges légères ou lourdes\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eCapacité de 23 L, pour les sacs à dos, les courses du week-end et même les amis à fourrure\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLorsqu'il est déclipsé du vélo, fonctionne comme un grand panier d'épicerie durable\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eCompatible avec la plupart des porte-bagages arrière Tern et BioLogic\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":39584556286052,"sku":"87116","price":179.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bike-basket-default-title-tern-market-basket-31100306882660.jpg?v=1709687151"},{"product_id":"tern-luggage-truss","title":"Sterne - Ferme à bagages","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n \u003cp data-mce-fragment=\"1\"\u003ePresque tous les vélos Tern* sont construits avec un œuf de Pâques caché. Retirez le badge de tête (doucement !) pour trouver deux trous de vis. Fixez un coffre à bagages et montez le chargement de manière pratique à l'avant de votre cadre. Avec votre chargement monté sur le cadre au lieu de la fourche, la direction est agile et réactive. En gardant votre sac à dos, vos courses et vos essentiels à l'avant, ils sont accessibles quand vous en avez besoin. Profitez de la manière intelligente (et secrète) de transporter votre équipement.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLa conception montée sur le tube de direction maintient le poids sur votre cadre, au lieu de votre fourche, pour une meilleure stabilité de la direction\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLe connecteur à dégagement rapide KLICKfix™ vous permet de fixer et de détacher des sacs et des paniers d'une simple pression sur un bouton\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLa conception à profil bas n'affecte pas la taille pliée du vélo\u003c\/li\u003e\n\n \u003cli data-mce-fragment=\"1\"\u003eLa serrure intégrée maintient vos sacs et paniers en sécurité\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eCompatible avec les sacs, racks et paniers KLICKfix™\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":39584568115300,"sku":"85123","price":97.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-front-rack-classic-tern-luggage-truss-28624820437092.jpg?v=1709687161"},{"product_id":"tern-sidekick-seat-pad","title":"Tern - Coussin de siège Sidekick™","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n \u003cp data-mce-fragment=\"1\"\u003eLe\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eDSG\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003evous permet d'amener jusqu'à deux enfants plus âgés* ou passagers adultes pour le trajet. Le coussin de siège Sidekick permet à ce passager de voyager confortablement. Avec un\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eKLICK\u003c\/span\u003e fix rack mount, le coussin de siège Sidekick se clipse et se détache en quelques secondes. Associez-le au reste du kit Sidekick pour plus de confort et de commodité.\u003c\/p\u003e\n\n\u003cdiv class=\"p-4 bg-gray-300 border-t-2 border-b-2 border-gray-500\" data-mce-fragment=\"1\"\u003e\n\n\u003cp data-mce-fragment=\"1\"\u003eLe coussin de siège Sidekick est un composant de siège du système passager. D'autres accessoires sont nécessaires pour transporter des passagers en toute sécurité.\u003c\/p\u003e\n\n\u003cp data-mce-fragment=\"1\"\u003e\u003ca class=\"btn\" href=\"https:\/\/www.ternbicycles.com\/ca\/support\/kb\/1588841732304659\/how-safely-carry-passengers-gsd-gen-1\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/support\/kb\/1588841732304659\/how-safely-carry-passengers-gsd-gen-1\"\u003eAPPRENDRE ENCORE PLUS\u003c\/a\u003e\u003c\/p\u003e\n\n \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eAjoute un coussin confortable sur le dessus du rack au\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eDSG\u003c\/span\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eS'attache avec un\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eKLICK\u003c\/span\u003e fix Rackpack mount, pour une installation et un retrait en quelques secondes\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eConçu pour s'adapter à deux coussins de siège Sidekick sur un seul\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eDSG\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eporte-bagages, ou un coussin de siège Sidekick et un siège Thule Maxi, pour transporter ensemble de jeunes et moins jeunes enfants\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eConception résistante à l'eau pour rouler par tous les temps\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eComprend des accents réfléchissants pour une visibilité nocturne \u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp class=\"text-sm\" data-mce-fragment=\"1\"\u003e\u003cspan class=\"text-sm\" data-mce-fragment=\"1\"\u003e*Âge recommandé : 10 ans ou plus. Hauteur recommandée : 140 cm ou plus. Consultez la page Système passager pour plus d'informations.\u003c\/span\u003e\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":39584569360484,"sku":"80100","price":90.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-front-rack-default-title-tern-sidekick-seat-pad-28624858513508.jpg?v=1709687174"},{"product_id":"tern-ridepocket","title":"Sterne - RidePocket™","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\"\u003e\n\n\u003cdiv class=\"body\"\u003e\n\n\u003cp\u003eLe RidePocket est un sac postal à poignée compacte conçu pour contenir tout ce que vous gardez dans vos poches : portefeuille, téléphone portable et clés. Avec le RidePocket, vous pouvez faire du vélo confortablement, plus besoin de vous asseoir sur les clés de votre maison.\u003c\/p\u003e\n\n \u003cp\u003eGrâce à son organisation intuitive, vos essentiels sont là où vous en avez besoin. Il comprend deux poches zippées et une poche extérieure en filet. Le RidePocket comprend une housse de pluie résistante aux intempéries, ce qui vous permet de traverser des averses torrentielles, et il est fabriqué à partir de nylon durable de 420 deniers. Il se monte solidement mais se détache facilement, vous pouvez donc l'emporter avec vous lorsque vous verrouillez votre vélo à l'extérieur.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\"\u003e\n\n\u003cdiv class=\"field-key-features\"\u003e\n\n\u003cul\u003e\n\n\u003cli\u003eConçu pour contenir tous vos essentiels (portefeuille, téléphone, clés, etc.) afin que vous puissiez rouler sans encombre\u003c\/li\u003e\n\n\u003cli\u003eIntuitivement organisé pour plus de commodité\u003c\/li\u003e\n\n\u003cli\u003eSe monte sur le poteau de la poignée pour l'accessibilité\u003c\/li\u003e\n\n\u003cli\u003eConvient à tous les vélos Tern et à la plupart des vélos pliants\u003c\/li\u003e\n\n\u003cli\u003eConvient aux téléphones de toutes tailles, même l'iPhone 12 Pro Max \u003c\/li\u003e\n\n\u003cli\u003eComprend une housse de pluie pratique\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":39584584630372,"sku":"87105","price":62.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bike-basket-default-title-tern-ridepocket-28624895803492.jpg?v=1709687133"},{"product_id":"tern-stow-bag-gen-2-folding-bike-carry-bag","title":"Tern - Stow Bag (Gen 2) - Sac de transport pliable pour vélo","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n\u003cp data-mce-fragment=\"1\"\u003eLe Stow Bag est un rangement portable pour un vélo Tern plié. Les poches intérieures zippées peuvent contenir une paire de pédales amovibles ou un ensemble d'outils.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLa doublure rembourrée protège le vélo et l'environnement\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eFabriqué à partir de tissu en nylon résistant\u003c\/li\u003e\n\n \u003cli data-mce-fragment=\"1\"\u003eFermetures à glissière et boucles en métal robuste\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003ePoches internes pour ranger pédales ou outils\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Regular","offer_id":48643801415780,"sku":"88107","price":248.0,"currency_code":"CAD","in_stock":true},{"title":"small","offer_id":48643801448548,"sku":"82505","price":207.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bike-bag-default-title-tern-stow-bag-gen-2-folding-bike-carry-bag-28704605372516.jpg?v=1686867885"},{"product_id":"tern-cargo-hold-37-panniers","title":"Tern - Cargo Hold 37 Sacoches","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n\u003cp data-mce-fragment=\"1\"\u003eLe Stow Bag est un rangement portable pour un vélo Tern plié. Les poches intérieures zippées peuvent contenir une paire de pédales amovibles ou un ensemble d'outils.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLa doublure rembourrée protège le vélo et l'environnement\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eFabriqué à partir de tissu en nylon résistant\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eFermetures à glissière et boucles en métal robuste\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003ePoches internes pour ranger pédales ou outils\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":39642590969956,"sku":"80215","price":317.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-pannier-bag-default-title-tern-cargo-hold-37-panniers-28704611565668.jpg?v=1686867882"},{"product_id":"tern-hauler-rack","title":"Sterne - Hauler Rack","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n \u003cp data-mce-fragment=\"1\"\u003eLe porte-bagages Hauler est la boucle d'or de nos porte-bagages avant : assez grand pour transporter beaucoup de marchandises mais assez petit pour vous permettre de manœuvrer facilement le vélo, il est juste de la bonne taille pour le Tern\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eDSG\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eet\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eHDS\u003c\/span\u003e . Avec une conception ouverte et un cordon élastique pratique, le Hauler Rack est prêt à transporter des sacs à dos, des boîtes et d'autres objets volumineux. Et avec des trous de montage sur la base, vous pouvez facilement boulonner une caisse au rack pour une solution semi-permanente pour transporter des courses ou des articles plus petits.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eMonté sur châssis, conçu pour transporter jusqu'à 20 kg (44 lb)\u003c\/li\u003e\n\n \u003cli data-mce-fragment=\"1\"\u003eTaille Goldilocks : assez grand pour transporter beaucoup de marchandises, assez petit pour ne pas gêner la maniabilité\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eTransporte n'importe quoi, des grandes boîtes aux articles de forme irrégulière\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eComprend quatre trous de montage, idéal pour fixer des caisses\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eComprend deux supports de porte-bidon orientés vers l'arrière\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eCompatible avec les vélos Tern équipés d'un Combo Mount\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eConvient à la sterne\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eDSG\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eet\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eHSD\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003esans augmenter la longueur totale du vélo\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eCompatible avec Quick Release\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eCMT\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003epour une installation\/retrait facile en moins d'une minute\u003c\/li\u003e\n\n \u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":39642811236452,"sku":"80107","price":241.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bicycle-front-rear-racks-default-title-tern-hauler-rack-31106181890148.jpg?v=1687032125"},{"product_id":"tern-cargo-rack","title":"Sterne - Porte-bagages","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\"\u003e\n\n\u003cdiv class=\"body\"\u003e\n\n\u003cp\u003eLe Cargo Rack est un porte-bagages arrière robuste pour les vélos Tern. Construit en tube d'aluminium épais avec une conception 3D DoubleTruss™ ultra-rigide, le porte-bagages supporte tout : des sacoches pleine grandeur sur les rails supérieurs ou inférieurs et des paniers et sacs de coffre compatibles KLICKfix™ Rackpack sur le pont supérieur. Avec une capacité de charge de 25 kg (55 lb) et notre système d'ancrage anti-roulis SideStrap™ unique pour maintenir la cargaison solidement attachée, le porte-bagages est notre porte-bagages le plus solide et le plus polyvalent jamais conçu.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\"\u003e\n\n\u003cdiv class=\"field-key-features\"\u003e\n\n\u003cul\u003e\n\n\u003cli\u003eConception 3D rigide DoubleTruss™\u003c\/li\u003e\n\n\u003cli\u003eCompatible Rackpack KLICKfix™ \u003c\/li\u003e\n\n\u003cli\u003eMontez les sacs de coffre ou les paniers sur le pont supérieur et les sacoches sur les rails inférieurs\u003c\/li\u003e\n\n\u003cli\u003eLes rails inférieurs maintiennent les sacoches plus en arrière pour un meilleur dégagement du talon\u003c\/li\u003e\n\n\u003cli\u003eLes points d'ancrage empêchent les sacoches de glisser\u003c\/li\u003e\n\n\u003cli\u003eSupport de lumière\/réflecteur intégré avec acheminement interne des câbles pour le feu arrière alimenté\u003c\/li\u003e\n\n\u003cli\u003eDégagement en hauteur réglable\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":39755559141476,"sku":"85125","price":138.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bicycle-front-rear-racks-default-title-tern-cargo-rack-28846877737060.jpg?v=1709686986"},{"product_id":"tern-clubhouse-mini","title":"Sterne Clubhouse™ Mini","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n \u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003eLe Clubhouse Mini, petit frère du\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/clubhouse-0\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/clubhouse-0\"\u003eClubhouse+ —\u003c\/a\u003e rend votre vélo aussi polyvalent et fonctionnel qu'une voiture à hayon. Utilisez-le pour transporter un enfant, dans ou hors d'un siège enfant. Lorsqu'aucun passager n'est à bord, le Clubhouse Mini offre 400 x 400 mm d'espace intérieur, plus que suffisant pour vos courses. Le Clubhouse Mini s'adapte sur le HSD et le GSD.\n\u003cdiv class=\"p-4 bg-gray-300 border-t-2 border-b-2 border-gray-500\" data-mce-fragment=\"1\"\u003eLe Clubhouse Mini fait partie du système de passagers et doit être associé à d'autres accessoires pour transporter des passagers en toute sécurité. \u003ca class=\"btn\" href=\"https:\/\/www.ternbicycles.com\/support\/kb\/319441\/how-safely-carry-passengers-hsd\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/support\/kb\/319441\/how-safely-carry-passengers-hsd\"\u003eAPPRENDRE ENCORE PLUS\u003c\/a\u003e\n\n\u003c\/div\u003e\n\n \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003ePeut accueillir un enfant dans un siège enfant OU un grand enfant* sur le\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/clubhouse-madpad\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/clubhouse-madpad\"\u003eClubhouse MadPad\u003c\/a\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLes rails latéraux allongés offrent une protection supplémentaire pour les petites mains\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eSe transforme en quelques secondes en un transporteur d'épicerie robuste avec 400 x 400 mm d'espace intérieur\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003ePrend en charge le stationnement vertical\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eComprend quatre supports de bouteille pour les bouteilles d'eau, les tasses à café et les serrures\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eCompatible avec le HSD et le GSD\u003c\/li\u003e\n\n \u003cli data-mce-fragment=\"1\"\u003ePermet d'installer le\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/storm-box-mini\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/storm-box-mini\"\u003eTempête Boîte Mini\u003c\/a\u003e ,\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/storm-shield-mini\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/storm-shield-mini\"\u003eTempête Bouclier Mini\u003c\/a\u003e ,\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/soft-crate-mini\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/soft-crate-mini\"\u003eSoft Crate Mini\u003c\/a\u003e et autres accessoires pratiques\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n*Un « grand enfant » pèse environ 18 kg (40 + lb) ou 5 ans et plus. Cependant, tous les enfants sont différents, alors consultez votre pédiatre.\u003c\/div\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003ch5 class=\"text-sm\" data-mce-fragment=\"1\"\u003e \u003c\/h5\u003e\n\n\u003ch5 class=\"text-sm\" data-mce-fragment=\"1\"\u003eCaractéristiques\u003c\/h5\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-color\"\u003e\n\n\u003cp class=\"label pb-2 text-gray-800 text-base uppercase\"\u003eLa couleur noire\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-dimensions\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003eDIMENSIONS MAXIMALES (PAR UNITÉ) 502 × 532 × 243 mm (19,8 × 20,9 × 9,6 pouces)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-recommended-products\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003ePRODUITS RECOMMANDÉS\u003c\/div\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/cargo-hold-37-panniers\"\u003eSacoches Cargo Hold™ 37\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\n\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/tern-bottle-cage\"\u003ePorte-bidon Sterne\u003c\/a\u003e \u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/storm-box-mini\"\u003eStorm Box™ Mini\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/storm-shield-mini\"\u003eStorm Shield™ Mini\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/clubhouse-madpad\"\u003eClubhouse MadPad™\u003c\/a\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-material\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003eMATÉRIEL Aluminium\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-weight\"\u003e\n\n\u003cp class=\"label pb-2 text-gray-800 text-base uppercase\"\u003ePOIDS (PAR JEU) 1,8 kg (4 lb)\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":40332208832612,"sku":"80122","price":207.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bike-child-seat-default-title-tern-clubhouse-mini-29544290943076.jpg?v=1686866998"},{"product_id":"tern-dry-goods-bag","title":"Sac Tern Dry Goods™","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003eLe sac Dry Goods est conçu pour des déplacements confortables par tous les temps. Avec\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eKLICK\u003c\/span\u003e fix se fixe, il se clipse sans effort sur n'importe quel porte-bagages arrière Tern, et comme tout le matériel de montage est rangé sous le sac, c'est un plaisir de le transporter également lorsque vous n'êtes pas sur le vélo. Il est soudé par ultrasons, 100 % étanche et peut contenir jusqu'à 11,2 L (683,5 pouces cubes) d'équipement et d'épicerie.\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eDesign roll-top 100 % étanche avec coutures soudées par ultrasons.\u003c\/li\u003e\n\n \u003cli data-mce-fragment=\"1\"\u003eSe verrouille en toute sécurité sur tous les Tern et\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003ePorte-bagages arrière compatibles \u003cspan data-mce-fragment=\"1\"\u003eKLICK\u003c\/span\u003e fix\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eExcellent comme sac autonome, grâce à sa sangle de messager confortable et ses parois latérales souples\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003ePoche extérieure étanche facile d'accès pour téléphone, clés ou portefeuille\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003ePoche extérieure en filet extensible pour un rangement rapide\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003ePeut contenir jusqu'à 11,2 L (683,5 pouces cubes) d'équipement et d'épicerie\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003ch5\u003eCaractéristiques\u003c\/h5\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cp class=\"field-color\"\u003eLa couleur noire\u003c\/p\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv title=\"Noir\"\u003e\n\n\u003cdiv class=\"field-hex-color\"\u003e\n\n\u003cdiv class=\"color_field__swatch color_field__swatch--circle border border-gray-800\"\u003eDIMENSIONS MAXIMALES (PAR UNITÉ) 200 × 340 × 300 mm (7,9 × 13,4 × 11,8 pouces)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"field-max-weight\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003eCAPACITÉ DE CHARGE 10 kg (22 lb)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"field-recommended-products\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003ePRODUITS RECOMMANDÉS\u003c\/div\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/cargo-rack\"\u003ePorte-bagages™\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/472\/loader-rack\"\u003eSupport Loader™\u003c\/a\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"field-material\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003eMATÉRIEL Nylon 1000D\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"field-weight\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003ePOIDS (PAR JEU) 0,855 kg (1,9 lb)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n \u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cp class=\"field-volume-capacity\"\u003eCAPACITÉ VOLUMIQUE 11,2 l (683,5 in³)\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":40332226297956,"sku":"87150","price":221.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bike-bag-default-title-tern-dry-goods-bag-29544342585444.jpg?v=1686866996"},{"product_id":"tern-hq-bag","title":"Sac Sterne HQ™","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003eLe sac HQ est un sac de bureau mince conçu pour contenir tous vos essentiels quotidiens et pour travailler avec brio sur ou hors du vélo. L'adaptateur encastré KLICKfix® rend le transport du sac beaucoup plus confortable car il n'y a pas de pièces saillantes. Le sac HQ se monte sur le Tern Valise Truss™ en un clic, et comprend une housse de pluie et une bandoulière réglable pour que vous puissiez l'emporter partout.\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eCompartiments rembourrés et zippés pour un ordinateur portable 13\"\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eET\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eune tablette \u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLes poches avant et les compartiments internes gardent votre technologie et vos besoins quotidiens organisés\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eConçu avec un adaptateur KlickFix® encastré pour un confort de transport\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eFabriqué en tissu indéchirable durable et résistant aux intempéries\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eComprend une housse de pluie haute visibilité\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eBandes réfléchissantes pour une visibilité nocturne\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eNécessite le treillis à bagages Tern pour être monté sur le cadre du vélo\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003ch5\u003eCaractéristiques\u003c\/h5\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cp class=\"field-color\"\u003eLa couleur noire\u003c\/p\u003e\n\n\u003cp class=\"field-color\"\u003eDIMENSIONS MAXIMALES (PAR UNITÉ) 340 × 280 × 95 mm (13,4 × 11 × 3,7 pouces)\u003c\/p\u003e\n\n\u003cp class=\"field-color\"\u003eCAPACITÉ DE CHARGE 6 kg (13,2 lb)\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n \u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-recommended-products\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003ePRODUITS RECOMMANDÉS\u003c\/div\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/luggage-truss-cmt\"\u003eValise Truss™ CMT\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/472\/luggage-truss\"\u003eValise Truss™\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003eMATIÈRE Nylon indéchirable\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003ePOIDS (PAR JEU) 1,18 kg (2,6 lb)\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003eCAPACITÉ VOLUMIQUE 10 l (610,2 in³)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":40332235210852,"sku":"82525","price":214.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bike-bag-default-title-tern-hq-bag-29544372797540.jpg?v=1686946942"},{"product_id":"tern-dog-roof-mini","title":"Sterne Chien Toit Mini","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003eLe Dog Roof Mini est une housse convertible pour le Soft Crate Mini qui permet à votre chien de rouler en toute sécurité et avec style. Ouvrez le toit pour permettre à votre chien de profiter d'une expérience de conduite en plein air ou fermez le toit avec une fermeture éclair pour empêcher la pluie d'entrer (et votre chien). Les panneaux latéraux en maille adaptés aux chiots permettent à l'air frais de circuler afin que votre chien reste heureux et en bonne santé pendant votre trajet. \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eFait partie de la \u003ca href=\"https:\/\/www.ternbicycles.com\/support\/kb\/348144\/doghouse-mini-what-it-and-how-build-it\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/support\/kb\/348144\/doghouse-mini-what-it-and-how-build-it\"\u003eDoghouse Mini\u003c\/a\u003e — une caisse souple pour animaux de compagnie pour transporter un chien de petite ou moyenne taille* jusqu'à 13,5 kg (30 lb)\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLe toit convertible dispose de deux fenêtres qui peuvent être ouvertes, enroulées et rangées pour une conduite en plein air.\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eConstruit avec des panneaux en tissu et en maille durables, conçus pour un nettoyage facile par pulvérisation\u003c\/li\u003e\n\n \u003cli data-mce-fragment=\"1\"\u003eConçu pour être utilisé avec le \u003ca href=\"https:\/\/www.ternbicycles.com\/en\/accessories\/471\/soft-crate-mini\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/en\/accessories\/471\/soft-crate-mini\"\u003eSoft Crate Mini\u003c\/a\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eNécessite le \u003ca href=\"https:\/\/www.ternbicycles.com\/en\/accessories\/471\/clubhouse-mini\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/en\/accessories\/471\/clubhouse-mini\"\u003eClubhouse Mini\u003c\/a\u003e pour l'installation\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n* Le Doghouse Mini a été conçu pour les chiens dressés de petite et moyenne taille. Si vous avez un autre animal de compagnie ou si vous n'êtes pas sûr que votre chien serait à l'aise dans le Doghouse Mini, nous vous recommandons de consulter votre vétérinaire pour obtenir des conseils.\u003c\/div\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003ch5 class=\"field-key-features\" data-mce-fragment=\"1\"\u003eCaractéristiques\u003c\/h5\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-dimensions\"\u003e\n\n \u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003eDIMENSIONS MAXIMALES (PAR UNITÉ) 482 × 506 × 183 mm (19 × 19,9 × 7,2 pouces)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-recommended-products\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003ePRODUITS RECOMMANDÉS\u003c\/div\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/dog-roof-mini\"\u003eChien Toit Mini\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/soft-crate-mini\"\u003eCaisse souple Mini\u003c\/a\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-material\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003eMATIÈRENylon\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-weight\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003ePOIDS (PAR JEU) 0,525 kg (1,2 lb)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":40332267487332,"sku":"80211","price":138.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bike-dog-cat-bag-default-title-tern-dog-roof-mini-29544444854372.jpg?v=1687055654"},{"product_id":"tern-cargo-tray","title":"Plateau de chargement Tern","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n\u003cp data-mce-fragment=\"1\"\u003eLe Cargo Tray crée une plate-forme de chargement solide et généreusement dimensionnée au-dessus du porte-bagages arrière de votre vélo. La forme en L le rend parfait pour transporter des trucs XXL qui ne rentrent pas dans une caisse ou un panier, comme une glacière pleine de boissons froides, une pile de boîtes à pizza géantes ou le nouveau micro-ondes que vous venez d'acheter. Le Cargo Tray peut transporter jusqu'à 30 kg (66 lb) de fret et a passé la norme de sécurité et de performance ISO pour les porte-bagages de vélo.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n \u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eUn plateau en forme de L lourd transforme votre vélo en une camionnette à plateau. \u003ca href=\"https:\/\/www.ternbicycles.com\/en\/support\/kb\/348146\/how-carry-cargo-hsd\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/www.ternbicycles.com\/en\/support\/kb\/348146\/how-carry-cargo-hsd\"\u003eEn savoir plus\u003c\/a\u003e sur la façon de transporter des marchandises sur le HSD.\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLa plate-forme spacieuse vous permet de transporter des articles volumineux qui ne rentrent pas dans un panier ou un plateau à quatre côtés.\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eCapacité de 30 kg (66 lb)\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eTesté pour la sécurité et la performance - Certifié ISO-11243\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eN'interfère pas avec le stationnement vertical\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eFabriqué à partir de tubes en aluminium surdimensionnés pour une durabilité légère\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eSe monte facilement sur n'importe quel vélo Tern doté du système Upper Deck\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003ch5\u003eCaractéristiques\u003c\/h5\u003e\n\n \u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cp class=\"field-color\"\u003eLa couleur noire\u003c\/p\u003e\n\n\u003cp class=\"field-color\"\u003eDIMENSIONS MAXIMALES (PAR UNITÉ) 458 × 396 × 172,5 mm (18 × 15,6 × 6,8 pouces)\u003c\/p\u003e\n\n\u003cp class=\"field-color\"\u003eCAPACITÉ DE CHARGE 30 kg (66,1 lb)\u003c\/p\u003e\n\n\u003cp class=\"field-color\"\u003ePRODUITS RECOMMANDÉS \u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/batten-straps\"\u003eSangles Batten™\u003c\/a\u003e\u003c\/p\u003e\n\n\u003cp class=\"field-color\"\u003eMATÉRIEL Aluminium\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"field-material\"\u003e\n\n\u003cdiv class=\"label pb-2 text-gray-800 text-base uppercase\"\u003ePOIDS (PAR JEU) 1,06 kg (2,3 lb)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":40332291407972,"sku":"80180","price":145.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bicycle-front-rear-racks-default-title-tern-cargo-tray-31109493260388.jpg?v=1687039890"},{"product_id":"tern-batten-straps","title":"Sangles Tern Batten™","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"body\" data-mce-fragment=\"1\"\u003e\n\n \u003cp data-mce-fragment=\"1\"\u003eUtilisez les sangles de latte pour sécuriser tout le chargement sur votre vélo. En guirlande ou individuellement, les deux sangles de 3 mètres de long sont un outil essentiel pour attacher rapidement des caisses, des bagages supplémentaires ou à peu près n'importe quel objet volumineux de forme irrégulière.\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"prose mr-2 md:mr-8\" data-mce-fragment=\"1\"\u003e\n\n\u003cdiv class=\"field-key-features\" data-mce-fragment=\"1\"\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eSécurisez facilement les caisses lourdes, les boîtes ou les objets de forme irrégulière\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLimite de charge jusqu'à 100 kg (220 lb) pour tous vos besoins de transport de marchandises\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLa boucle recouverte de plastique empêche les rayures sur votre chargement\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eL'attache velcro intégrée aide à sécuriser l'excès de sangle\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eComprend deux sangles de 3 mètres (9,8 pieds) et 1 \"de large\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eRésistant aux UV et aux intempéries\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":40332319686756,"sku":"80109","price":30.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-vehicle-bicycle-rack-accessories-default-title-tern-batten-straps-31106002387044.jpg?v=1686947624"},{"product_id":"tern-loader-rack","title":"Porte-bagages Tern Loader™","description":"\u003cdiv data-mce-fragment=\"1\" class=\"prose mt-8 pb-2 mr-2 md:mr-8\"\u003e\n\n\u003cdiv data-mce-fragment=\"1\" class=\"body\"\u003eConstruit en aluminium léger 6061 et avec une conception triangulaire pour un support renforcé, le Loader Rack transporte des charges jusqu'à 25 kg (55 lb) sans tracas. Ce porte-bagages arrière compatible KLICKfix™ prend en charge les sacs et paniers compatibles, et ses tubes latéraux inférieurs garantissent que vos sacoches latérales chargées restent toujours en place.\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv data-mce-fragment=\"1\" class=\"prose mr-2 md:mr-8\"\u003e\n\n\u003cp data-mce-fragment=\"1\" class=\"field-key-features\"\u003e\u003c\/p\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLéger, mais robuste et stable lorsqu'il est chargé\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003ePeut transporter jusqu'à 25 kg (55 lb) d'épicerie ou d'articles plus volumineux\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eLes tubes latéraux inférieurs garantissent que vos sacoches latérales chargées restent en place\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eCompatible KLICKfix™ Topklip et Rackpack, conçu pour fixer rapidement les sacs et paniers Tern\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003eSideStrap™ à double crochet vous permet de fixer facilement des charges au rack\u003c\/li\u003e\n\n \u003cli data-mce-fragment=\"1\"\u003eSupport de lumière\/réflecteur intégré avec acheminement interne des câbles pour alimenter le feu arrière\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e\u003c\/p\u003e\n\n\u003ch5\u003eCaractéristiques\u003c\/h5\u003e\n\n\u003cp\u003e\u003c\/p\u003e\n\n\u003cdiv data-mce-fragment=\"1\" class=\"field-key-features\"\u003e\n\n\u003cdiv\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n\u003cdiv class=\"field-color\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"field-color\"\u003eLa couleur noire\u003c\/div\u003e\n\n\u003cdiv class=\"field-color\"\u003eDIMENSIONS MAXIMALES (PAR UNITÉ) 534 × 160 × 278 mm (21 × 6,3 × 10,9 pouces)\u003c\/div\u003e\n\n\u003cdiv class=\"field-color\"\u003eCAPACITÉ DE CHARGE 25 kg (55,1 lb)\u003c\/div\u003e\n\n\u003cdiv class=\"field-color\"\u003ePRODUITS RECOMMANDÉS\u003c\/div\u003e\n\n\u003cdiv class=\"field-color\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/472\/bucketload-pannier\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/472\/bucketload-pannier\"\u003eSacoche Bucketload™\u003c\/a\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"pt-2 pb-8\"\u003e\n\n \u003cdiv class=\"field-recommended-products\"\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/dry-goods-bag\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/dry-goods-bag\"\u003eSac Dry Goods™\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/kontti-basket\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/kontti-basket\"\u003ePanier Kontti™\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003e\u003ca hreflang=\"en-ca\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/market-basket\" data-mce-href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/market-basket\"\u003ePanier du marché\u003c\/a\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003eMATÉRIAU Aluminium 6061\u003c\/div\u003e\n\n\u003cdiv class=\"text-sm text-gray-700\"\u003ePOIDS (PAR JEU) 0,697 kg (1,5 lb)\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":40332329156708,"sku":"85129","price":90.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-bicycle-front-rear-racks-default-title-tern-loader-rack-29544616788068.jpg?v=1711646836"},{"product_id":"tern-sidekick-footrests","title":"Repose-pieds Sidekick","description":"\u003cp\u003e\u003cspan data-mce-fragment=\"1\"\u003eLes repose-pieds Sidekick offrent un soutien confortable pour les pieds de votre passager. Ces repose-pieds plats non rétractables offrent un support solide et antidérapant et sont compatibles avec la plupart des accessoires de porte-bagages arrière.\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e\n\n\u003cp\u003eConçu pour le HSD, et\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.ternbicycles.com\/support\/compatibility-checker\"\u003ecompatible\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eavec d'autres vélos\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\n\n\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cp\u003eAide votre passager à voyager confortablement et avec style\u003c\/p\u003e\n\n\n\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cp\u003ePlate-forme en aluminium durable pour un support de pied solide\u003c\/p\u003e\n\n\n\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cp\u003eLe papier antidérapant 3M empêche les pieds de glisser et de glisser sous la pluie\u003c\/p\u003e\n\n \u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cp\u003eCompatible avec la plupart des accessoires de porte-bagages arrière, y compris les sacoches et le panier Kontti\u003c\/p\u003e\n\n\n\u003c\/li\u003e\n\n\n\u003c\/ul\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":40787456688228,"sku":"SIDE|FOO|0988","price":70.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tern-foot-rest-default-title-sidekick-footrests-31109491294308.jpg?v=1687039615"},{"product_id":"tern-transporteur-rack","title":"Tern Transporteur Rack","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Transporteur Rack\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eTransporteur Rack\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFront Cargo Rack\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e20 kg Capacity\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eEurocrate Compatible\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eAluminum\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eTern Cargo Bikes Only\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eTransporteur Rack · Front Cargo · Frame-Mounted · 20 kg · Combo Mount · Aluminum\u003c\/p\u003e\n      \u003ch1\u003eTern Transporteur Rack\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA robust front cargo carrier for Tern cargo bikes — 20 kg capacity, frame-mounted for stable handling under load, and sized for standard 300 × 400 mm Eurocrates. Accommodates crates, coolers, pet carriers, and third-party accessories.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$276\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eTern cargo bikes only — requires Combo Mount.\u003c\/strong\u003e The Transporteur Rack mounts to Tern's Combo Mount system and is not compatible with standard forks or third-party bikes. Use Tern's compatibility checker to confirm fit with your specific bike model before ordering.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e20 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eload capacity\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eFrame\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003emounted — not fork\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e2.4 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003erack weight\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Transporteur Rack mounts to the frame — not the fork — which keeps the load weight low and close to the steering axis. Under load, frame-mounted front racks handle significantly better than fork-mounted alternatives: less tendency to wander on straight sections, more predictable steering through corners, and less fork flex under heavy cargo. The rack fits standard 300 × 400 mm Eurocrates as well as beer crates, coolers, pet carriers, and any third-party accessory built to that format. Two rear-facing bottle cage mounts provide attachment points for water bottles or frame-mounted locks.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFrame-mounted — better handling under load\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eMounting to the frame rather than the fork keeps cargo weight tied to the bike's main structure. The result is significantly better steering feel under heavy loads — the fork isn't fighting the weight of the cargo, and the steering remains direct and predictable. Critical for cargo bikes where front loads can be substantial.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eEurocrate compatible — 300 × 400 mm standard\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe rack is sized for the 300 × 400 mm Eurocrate standard used across grocery, beer, and supply chain industries. Standard Eurocrates, beer crates, and any third-party cargo container built to that footprint drops straight in. No adapters or strapping needed for properly sized crates.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eModular accessory system — crates, coolers, pet carriers\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eBeyond Eurocrates, the Transporteur system accommodates coolers, pet carriers, and other third-party accessories designed to the same footprint. The rack acts as a platform — the cargo format changes, the rack stays.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eTwo rear-facing bottle cage mounts\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eBuilt-in mounting points for standard bottle cages — positioned at the rear of the rack, facing the rider. Use them for water bottles on long cargo rides or to mount a frame lock within easy reach.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eInstalls on Tern Combo Mount\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Transporteur attaches to Tern's Combo Mount — a frame-integrated attachment point on compatible Tern cargo bikes. The Combo Mount is part of the frame structure, giving the rack a rigid, integrated connection point rather than relying on clamp-on adapters.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eTransporteur Rack\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eFront cargo rack — frame-mounted\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLoad capacity\u003c\/td\u003e\n\u003ctd\u003e20 kg (44 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRack weight\u003c\/td\u003e\n\u003ctd\u003e2.4 kg (5.3 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminum\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eOuter dimensions\u003c\/td\u003e\n\u003ctd\u003e430 × 420 × 267 mm (16.9 × 16.5 × 10.5 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eInner dimensions\u003c\/td\u003e\n\u003ctd\u003e410 × 317 × 237 mm (16 × 12.4 × 9.3 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCrate compatibility\u003c\/td\u003e\n\u003ctd\u003e300 × 400 mm Eurocrate standard\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBottle cage mounts\u003c\/td\u003e\n\u003ctd\u003e2 × rear-facing\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMount system\u003c\/td\u003e\n\u003ctd\u003eTern Combo Mount (frame-integrated)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eTern cargo bikes only — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$276\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Transporteur Rack · Front Cargo · Frame-Mounted · 20 kg · Aluminum · Combo Mount\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eTransporteur Rack\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027377684580,"sku":"80106","price":276.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tn-transporteur-rack-bike-angle-cropped-0.jpg?v=1709842638"},{"product_id":"tern-luggage-truss-cmt","title":"Tern Luggage Truss CMT","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Luggage Truss CMT\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eLuggage Truss CMT\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eKLICKfix Mount\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eCombo Mount\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFrame-Mounted\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eCombo Mount Required\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eLuggage Truss CMT · KLICKfix Adapter · Combo Mount · 3.2 kg · Aluminum\u003c\/p\u003e\n      \u003ch1\u003eTern Luggage Truss CMT\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA Combo Mount version of the Luggage Truss — same KLICKfix quick-release interface and integrated lock, but attaches to the Combo Mount system found on Tern cargo bikes rather than the head tube screw holes used by the Gen 2.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$103\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eRequires Combo Mount.\u003c\/strong\u003e The Luggage Truss CMT is only compatible with Tern bikes equipped with a Combo Mount. It will not fit bikes that use head tube screw holes — for those, see the Luggage Truss Gen 2 ($97). Verify compatibility with Tern's compatibility checker before ordering.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e3.2 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eload capacity (7 lb)\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eKLICKfix\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003equick-release system\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eCombo\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003emount system\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Luggage Truss CMT serves the same purpose as the Luggage Truss Gen 2 — a lightweight front cargo adapter that brings KLICKfix bag and basket compatibility to the front of the bike — but is designed for Tern bikes equipped with the Combo Mount rather than head tube screw holes. The Combo Mount is a frame-integrated attachment system found on Tern cargo bikes, also used by the Hauler Rack and Transporteur Rack. Mounting to the frame keeps cargo weight off the fork, preserving steering feel. The KLICKfix interface and integrated lock are identical in function to the Gen 2.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eCombo Mount — cargo bike frame attachment\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eAttaches to the Tern Combo Mount — the same frame-integrated attachment point used by the Hauler Rack and Transporteur Rack. The Combo Mount is part of the frame structure on compatible cargo bikes, giving the truss a rigid, integrated connection. Not compatible with head tube screw hole mounts — see Luggage Truss Gen 2 for those bikes.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFrame weight — not fork weight\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003ePositioning cargo on the frame rather than the fork keeps load off the steering assembly. On cargo bikes where front loads can be substantial, this distinction matters — the fork remains unloaded, steering stays accurate and predictable under weight.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eKLICKfix quick-release — full ecosystem compatibility\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe KLICKfix interface clicks bags and baskets on and off in seconds without tools. Compatible with Tern's Hold 'Em Basket Gen 1, HQ Bag Gen 1, and Kanga Rack Gen 1, as well as any third-party KLICKfix accessory. The same connection standard as the Luggage Truss Gen 2.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eIntegrated locking — secured against theft and accidental release\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eA built-in lock mechanism secures KLICKfix accessories against removal without deliberately releasing the lock. Provides basic theft deterrence for unattended bags and baskets, and prevents accidental detachment on rough terrain.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eLuggage Truss Gen 2 — for head tube screw hole bikes\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eIf your Tern bike uses head tube screw holes rather than a Combo Mount, the Luggage Truss Gen 2 ($97) is the correct choice. Same KLICKfix interface and lock, different mounting system. Check your model with Tern's compatibility checker to confirm which version applies.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eLuggage Truss CMT\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eCombo Mount KLICKfix adapter\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLoad capacity\u003c\/td\u003e\n\u003ctd\u003e3.2 kg (7 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eTruss weight\u003c\/td\u003e\n\u003ctd\u003e100g (0.22 lb) per unit\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminum\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMax dimensions\u003c\/td\u003e\n\u003ctd\u003e165 × 100 × 85 mm (6.5 × 3.9 × 3.3 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMount type\u003c\/td\u003e\n\u003ctd\u003eTern Combo Mount (frame-integrated)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eConnection system\u003c\/td\u003e\n\u003ctd\u003eKLICKfix quick-release\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLocking\u003c\/td\u003e\n\u003ctd\u003eIntegrated lock mechanism\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible accessories\u003c\/td\u003e\n\u003ctd\u003eHold 'Em Basket Gen 1 · HQ Bag Gen 1 · Kanga Rack Gen 1 · all KLICKfix accessories\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eAlternative version\u003c\/td\u003e\n\u003ctd\u003eLuggage Truss Gen 2 ($97) — for head tube screw hole bikes\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eTern bikes with Combo Mount only — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$103\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Luggage Truss CMT · KLICKfix Combo Mount Adapter · 3.2 kg · Aluminum\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eLuggage Truss CMT\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027377750116,"sku":"82520","price":103.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at12.33.18PM.png?v=1709842600"},{"product_id":"tern-packrack","title":"Tern PackRack","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Pack Rack\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003ePack Rack\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFront Cargo Rack\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e7 kg Capacity\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eCombo Mount\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eTrolley Handle\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eCombo Mount Required\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003ePack Rack · Front Cargo · Combo Mount · 7 kg · Trolley Handle · KLICKfix Rackpack\u003c\/p\u003e\n      \u003ch1\u003eTern Pack Rack\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA compact frame-mounted front rack for Tern folding bikes — straps down bags and backpacks for a stable ride, and doubles as a comfortable trolley handle when the bike is folded. Combo Mount attachment, KLICKfix Rackpack compatible.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$110\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eRequires Combo Mount.\u003c\/strong\u003e The Pack Rack only fits Tern bikes equipped with a Combo Mount. Verify compatibility with Tern's compatibility checker before ordering. Quick Release CMT Gen 1 (sold separately) is recommended for tool-free removal.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e7 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eload capacity (15 lb)\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eTrolley\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ehandle when folded\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e195g\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003erack weight\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Pack Rack is designed around one specific use case: getting your bag on the bike and keeping it stable while you ride, then using the rack as a trolley handle when you fold and wheel the bike. Frame mounting via the Combo Mount keeps the load off the fork — important when carrying a loaded backpack or messenger bag that would otherwise push the front end around. Adjustable straps secure the load without needing a dedicated pannier or cargo bag. KLICKfix Rackpack compatibility adds the option to use purpose-built clip-on bags. At 195g and 280 × 255 × 128 mm, it adds negligible weight and minimal bulk.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eTrolley handle — functional when folded\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eWhen the bike is folded, the Pack Rack becomes a comfortable handle for trolleying the bike through stations, offices, and lobbies. Designed specifically to fit naturally in hand in the folded position — not an afterthought, but a primary design feature of the rack. Stays secure during folding and doesn't interfere with the fold geometry.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFrame-mounted — stable steering under load\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eAttaches to the Combo Mount on the frame, not the fork. A loaded backpack or bag sitting on a fork-mounted rack pushes the front end and makes steering feel heavy and unpredictable. Frame mounting keeps that weight tied to the main structure, leaving the fork free and steering responsive.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eAdjustable straps included — works with any bag\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eIncludes adjustable straps for securing backpacks, messenger bags, and other soft luggage directly to the rack. No specific bag format required — strap down what you already carry. Add KLICKfix Rackpack bags for a more integrated setup.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eKLICKfix Rackpack compatible\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe rack accepts KLICKfix Rackpack bags — purpose-built bags that clip directly onto the rack platform without straps. A cleaner, faster setup for riders who want a dedicated bag solution rather than strapping down an existing pack.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eStays secure through all states — riding, folding, trolleying\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe rack and its load remain secure regardless of bike state. Cargo doesn't shift or need to be removed to fold the bike — load it once, fold and unfold as needed without disturbing what's on the rack.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003ePack Rack\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eFront cargo rack — frame-mounted, folding bike\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLoad capacity\u003c\/td\u003e\n\u003ctd\u003e7 kg (15 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRack weight\u003c\/td\u003e\n\u003ctd\u003e195g (0.43 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminum\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e280 × 255 × 128 mm (11 × 10 × 5 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMount type\u003c\/td\u003e\n\u003ctd\u003eTern Combo Mount (frame-integrated)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eStraps\u003c\/td\u003e\n\u003ctd\u003eAdjustable straps included\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBag compatibility\u003c\/td\u003e\n\u003ctd\u003eKLICKfix Rackpack bags and baskets\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eFolded function\u003c\/td\u003e\n\u003ctd\u003eTrolley handle for BYB \/ folding bikes\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eQR system\u003c\/td\u003e\n\u003ctd\u003eQuick Release CMT Gen 1 compatible (sold separately)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eTern folding bikes with Combo Mount — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$110\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Pack Rack · Front Cargo · Combo Mount · 7 kg · KLICKfix Rackpack · Trolley Handle · Aluminum\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003ePack Rack\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027377848420,"sku":"82500","price":110.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tn-byb-s11-packrack-bag.jpg?v=1709842626"},{"product_id":"tern-kanga-rack","title":"Tern Kanga Rack","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Kanga Rack\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eKanga Rack\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eKLICKfix Rack\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e3.2 kg Capacity\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eQuick-Detach\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eAlloy 6061\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eLuggage Truss Required\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eKanga Rack · KLICKfix · Luggage Truss Mount · 3.2 kg · Quick-Detach · Alloy 6061\u003c\/p\u003e\n      \u003ch1\u003eTern Kanga Rack\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA KLICKfix-compatible front rack that clips onto the Luggage Truss — adjustable strap system for bags and packages of any shape, quick-detach button for tool-free removal, and frame-mounted for stable steering under load.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$124\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eRequires Luggage Truss Gen 2 or Luggage Truss CMT.\u003c\/strong\u003e The Kanga Rack mounts via KLICKfix to a Luggage Truss — it does not attach directly to the bike. You need either the Luggage Truss Gen 2 ($97, head tube mount) or the Luggage Truss CMT ($103, Combo Mount) already installed on your bike. Verify which truss your bike takes using Tern's compatibility checker.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e3.2 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eload capacity (7 lb)\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eQuick-detach\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ebutton release\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eKLICKfix\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003emounting system\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Kanga Rack is a KLICKfix-compatible rack that snaps onto an installed Luggage Truss to create a front cargo platform. Unlike bags that hang or clip directly to the truss, the Kanga Rack provides a rigid platform with an adjustable strap system — accommodating packages, lunch boxes, and cargo of varying shapes without requiring a purpose-made bag format. A quick-detach button removes the rack from the truss without tools in seconds. Mounting to the Luggage Truss keeps load on the frame, not the fork — steering stays responsive with cargo on board.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eAdjustable strap system — any bag, any shape\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Kanga Rack's strap system secures bags and packages that don't conform to a specific format. Grocery bags, lunch boxes, small backpacks, and irregular parcels all stay put. No need for dedicated panniers or cargo bags — use what you already carry.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eQuick-detach button — off in seconds, no tools\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eA single button releases the Kanga Rack from the Luggage Truss. Remove it when riding unloaded, store it separately, reattach when needed. The KLICKfix interface snaps back on just as fast — no threading, no tightening, no tools.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFrame-mounted via Luggage Truss — stable steering\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Luggage Truss mounts the entire system to the frame rather than the fork. Load weight stays on the main structure — the fork is unaffected, steering remains direct and predictable under load. The Kanga Rack inherits this advantage simply by attaching to the truss.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eKLICKfix compatible — part of a broader ecosystem\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe KLICKfix interface is a shared standard across the Tern accessory lineup and many third-party products. The same Luggage Truss that holds the Kanga Rack can also accept the HQ Bag and Hold 'Em Basket — swap between them without tools based on what you're carrying that day.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eWhich Luggage Truss do I need?\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eIf your Tern bike has head tube screw holes (hidden under the head badge), use the Luggage Truss Gen 2 ($97). If your bike has a Combo Mount, use the Luggage Truss CMT ($103). Check Tern's compatibility checker to confirm — the Kanga Rack works with either.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eKanga Rack\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eKLICKfix front rack — strap platform\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLoad capacity\u003c\/td\u003e\n\u003ctd\u003e3.2 kg (7 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRack weight\u003c\/td\u003e\n\u003ctd\u003e222g (0.489 lb) per unit\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminium 6061\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e328 × 207 × 161 mm (12.9 × 8.1 × 6.3 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eAttachment\u003c\/td\u003e\n\u003ctd\u003eKLICKfix quick-detach button\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCargo system\u003c\/td\u003e\n\u003ctd\u003eAdjustable straps — any bag or package format\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRequired mount\u003c\/td\u003e\n\u003ctd\u003eLuggage Truss Gen 2 ($97) or Luggage Truss CMT ($103)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eTern bikes with Luggage Truss installed — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$124\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Kanga Rack · KLICKfix · Luggage Truss Mount · 3.2 kg · Quick-Detach · Alloy 6061\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eKanga Rack\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027378176100,"sku":"85115","price":124.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at12.29.36PM.png?v=1709842614"},{"product_id":"tern-shortbed-tray-rear","title":"Tern Shortbed Tray","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Shortbed Tray\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .stat-sub { font-size: 9px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 2px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eShortbed Tray\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eRear Cargo Tray\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e35 kg Capacity\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eEurocrate Fit\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eDual Orientation\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eGSD \/ HSD \/ Quick Haul \/ Short Haul\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eShortbed Tray · Rear Cargo · 35 kg · Eurocrate 600×400 mm · Dual Orientation on GSD · Incl. SideStrap Bungees\u003c\/p\u003e\n      \u003ch1\u003eTern Shortbed Tray\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA heavy-duty rear cargo tray for Tern cargo bikes — 35 kg capacity, fits standard 600×400 mm Eurocrates up to 80 L, mounts perpendicular or parallel on the GSD. Designed for serious daily cargo use: groceries, crates, coolers, equipment.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$248\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eCargo bike tray — not a standard rack.\u003c\/strong\u003e The Shortbed Tray is a flat-bed cargo platform, not a traditional pannier or bag rack. It is designed for the Tern GSD, HSD, Quick Haul, and Short Haul. On the GSD, it can be mounted in perpendicular or parallel orientation; on other compatible models, perpendicular only. Verify your bike model using Tern's compatibility checker before ordering.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e35 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eload capacity (77 lb)\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eEurocrate\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003e600×400 mm fit\u003c\/span\u003e\n        \u003cspan class=\"stat-sub\"\u003eup to 80 L\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e3 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003etray weight (6.6 lb)\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Shortbed Tray is a flat-bed rear cargo platform for Tern's cargo bike range — the GSD, HSD, Quick Haul, and Short Haul. At 35 kg it carries more than any other rack in the Tern accessory lineup, and its inner dimensions (425 × 607 mm) are sized to fit the industry-standard 600 × 400 mm Eurocrate, which opens up a large ecosystem of stackable crates up to 80 litres in capacity. Two SideStrap bungees are included for securing cargo that doesn't self-contain. On the GSD, the tray can be mounted either perpendicular to the frame (conventional orientation) or parallel along the frame length, giving more flexibility for different load shapes. The tray design allows battery access without removing the cargo platform.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003e35 kg capacity — the highest-rated Tern rack\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Shortbed Tray is rated for 35 kg — 10 kg more than the Cargo Rack, Trail Rack, and Loader Rack (all 25 kg). That extra headroom matters when loading full Eurocrates of groceries, sports equipment, or heavy cargo that approaches the limit on a 25 kg rack. The cargo bike frame geometry of the GSD, HSD, Quick Haul, and Short Haul is engineered to carry this kind of load stably.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eEurocrate compatible — standard 600×400 mm crates\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe inner tray dimensions (425 × 607 mm) are sized to accept the industry-standard 600 × 400 mm Eurocrate footprint. Eurocrates are the stackable plastic crates used in grocery retail, catering, and logistics — up to 80 litres in the deepest sizes. A full-size grocery Eurocrate drops straight in and stays contained by the tray walls without straps.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003ePerpendicular or parallel orientation — GSD only\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eOn the Tern GSD, the Shortbed Tray can be mounted in two orientations: perpendicular (tray width runs across the bike, conventional orientation) or parallel (tray length runs along the frame). Parallel mounting extends the effective cargo area along the bike's wheelbase rather than across it — useful for long items or when tray width clearance is a concern. Other compatible models (HSD, Quick Haul, Short Haul) support perpendicular only.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eBattery access unobstructed\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe tray is designed around the eBike battery position on the GSD and compatible cargo models — battery removal and installation are possible without lifting or removing the tray. On a daily-use eBike cargo bike, unobstructed battery access matters: charging away from the bike, hot-swapping for range, or removing before storage should not require unloading the rack first.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eSideStrap bungees included — two in the box\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eTwo Tern SideStrap bungee cords are included. They secure cargo that doesn't self-contain within a crate — loose bags, a rolled sleeping mat, equipment that overhangs the tray edges. The SideStraps clip to the tray walls rather than running across the top, keeping cargo accessible while secured.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eCargo bike platform — designed for this use case\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Shortbed Tray is designed for bikes that are intended to carry serious cargo loads daily: the GSD (Get Shit Done), HSD, Quick Haul, and Short Haul. These are cargo bikes, not utility bikes with racks added. The Shortbed Tray's 35 kg capacity and Eurocrate compatibility are appropriate for this context — it is not a suitable add-on for standard folding bikes.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eShortbed Tray\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eRear flat-bed cargo tray\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLoad capacity\u003c\/td\u003e\n\u003ctd\u003e35 kg (77 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eTray weight\u003c\/td\u003e\n\u003ctd\u003e~3 kg (6.6 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminium\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eInner dimensions\u003c\/td\u003e\n\u003ctd\u003e425 × 607 × 60 mm (17 × 24 × 2.4 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMax outer dimensions\u003c\/td\u003e\n\u003ctd\u003e446 × 627 × 81 mm (17.6 × 24.7 × 3.2 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCrate fit\u003c\/td\u003e\n\u003ctd\u003eStandard 600×400 mm Eurocrate — up to 80 L\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eOrientation (GSD)\u003c\/td\u003e\n\u003ctd\u003ePerpendicular or parallel — two mounting options\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eOrientation (other)\u003c\/td\u003e\n\u003ctd\u003ePerpendicular only — HSD, Quick Haul, Short Haul\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBattery access\u003c\/td\u003e\n\u003ctd\u003eUnobstructed — no removal required\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eIncluded accessories\u003c\/td\u003e\n\u003ctd\u003e2× SideStrap bungee cords\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eGSD · HSD · Quick Haul · Short Haul — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$248\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Shortbed Tray · Rear Cargo · 35 kg · Eurocrate 600×400 mm · GSD \/ HSD \/ Quick Haul \/ Short Haul\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eShortbed Tray\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027378405476,"sku":"80108","price":248.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at12.42.57PM.png?v=1709842638"},{"product_id":"tern-sidekick-doublewide-decks","title":"Tern Sidekick Doublewide Decks","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Sidekick Doublewide Decks\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .stat-sub { font-size: 9px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 2px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eSidekick Doublewide Decks\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eSide Decks\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e100 kg Combined\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e50 kg Per Side\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFoldable\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eGSD Only\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eLockstand Extensions Required\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eSidekick Doublewide Decks · GSD · 50 kg Per Side · 25 cm Wide · Foldable · Cargo + Passenger\u003c\/p\u003e\n      \u003ch1\u003eTern Sidekick Doublewide Decks\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eWide foldable side decks for the Tern GSD — 50 kg per side (100 kg combined with QuadStruts), 25 cm wide for bulky cargo, keeps loads low for stability, and doubles as passenger footrests. Requires Lockstand Extensions.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$60\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eGSD only — Lockstand Extensions required.\u003c\/strong\u003e The Sidekick Doublewide Decks are designed exclusively for the Tern GSD and require Lockstand Extensions to mount — they are not optional. Combined capacity is 100 kg with Lockstand QuadStruts or 80 kg with the stock GSD kickstand. If carrying passengers on the decks, consult Tern's Passenger Guide for required safety accessories before use.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e100 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ecombined (with QuadStruts)\u003c\/span\u003e\n        \u003cspan class=\"stat-sub\"\u003e80 kg with stock kickstand\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e50 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eper side (110 lb)\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e25 cm\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003edeck width (10 in)\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Sidekick Doublewide Decks are fold-out side platforms that mount on either side of the GSD's rear axle, extending the cargo and passenger capacity of the bike laterally. Each deck is 25 cm wide — the \"Doublewide\" designation — providing a substantially larger platform than standard Sidekick decks for bulky items, groceries in bags, or a passenger's feet. At 50 kg per side (100 kg combined when paired with Lockstand QuadStruts), they are rated for serious loads. The low mounting position keeps cargo close to the ground, reducing the high centre of gravity that a loaded rear rack introduces. The decks fold flat when not in use and can stow in front of or behind Cargo Hold 52 Panniers when both are on the bike.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003e25 cm wide — the \"Doublewide\" advantage\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eAt 25 cm (10 in) per deck, the Doublewide provides a substantially wider platform than standard Sidekick decks. That extra width makes the difference for awkward cargo — shopping bags that want to tip, boxes that are too wide for a narrow rail, or a child's feet that need proper support. The full deck width is available as a flat surface, not just a rail edge.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003e100 kg combined with QuadStruts — 80 kg stock\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eCombined capacity depends on the kickstand: 80 kg with the GSD's stock kickstand, 100 kg when Lockstand QuadStruts are installed. The QuadStruts upgrade the kickstand to a four-point stance that distributes the additional load without tipping. If you're regularly loading near the 80 kg mark, QuadStruts are the safer pairing. Per-side rating is 50 kg in both configurations.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eLow mounting — cargo stays close to the ground\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe side deck position puts load at axle height — significantly lower than a rear rack platform. Lower cargo placement reduces the pendulum effect on a heavily loaded bike, keeping handling more predictable through corners and at low speeds. The GSD's frame is specifically engineered for this low-and-wide cargo loading position.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFoldable — stows flat when not in use\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe decks fold up against the bike when not carrying cargo or passengers. Stows in front of or behind Cargo Hold 52 Panniers so pannier and deck use aren't mutually exclusive. Folded, they don't add significant width to the bike footprint for storage or filtering through traffic.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003ePassenger footrests — cargo and people\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe decks serve as footrests when carrying a passenger on the GSD's rear cargo area. A child or small adult can stand or sit with feet on the Sidekick decks rather than dangling. Passenger use has additional safety requirements — Tern's Passenger Guide specifies which other accessories are required and should be read before carrying any passenger.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eLockstand Extensions — required, not optional\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eLockstand Extensions must be installed before the Sidekick Doublewide Decks can be fitted. The extensions modify the GSD's kickstand geometry to accommodate the wider deck footprint. Without them, the decks cannot be properly mounted. If ordering the decks without already having Lockstand Extensions, both must be purchased together.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eSidekick Doublewide Decks\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eFoldable side cargo \/ passenger decks\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCapacity — per side\u003c\/td\u003e\n\u003ctd\u003e50 kg (110 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCapacity — combined (QuadStruts)\u003c\/td\u003e\n\u003ctd\u003e100 kg (220 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCapacity — combined (stock kickstand)\u003c\/td\u003e\n\u003ctd\u003e80 kg (176 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSet weight\u003c\/td\u003e\n\u003ctd\u003e3.2 kg (7.1 lb) per set\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminium\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions per deck\u003c\/td\u003e\n\u003ctd\u003e550.5 × 240 × 32 mm (21.7 × 9.4 × 1.3 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDeck width\u003c\/td\u003e\n\u003ctd\u003e25 cm (10 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eFold\u003c\/td\u003e\n\u003ctd\u003eYes — stows flat; stores in front of or behind Cargo Hold 52 Panniers\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRequired accessory\u003c\/td\u003e\n\u003ctd\u003eLockstand Extensions — mandatory for installation\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eOptional upgrade\u003c\/td\u003e\n\u003ctd\u003eLockstand QuadStruts — raises combined capacity from 80 kg to 100 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003ePassenger use\u003c\/td\u003e\n\u003ctd\u003eYes — see Tern Passenger Guide for required safety accessories\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eTern GSD only\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$60\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Sidekick Doublewide Decks · GSD · 50 kg Per Side · 100 kg Combined · Foldable · Set of 2\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eSidekick Doublewide Decks\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027378471012,"sku":"80129","price":60.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/DoubleWide_Decks-above.jpg?v=1709842631"},{"product_id":"tern-sidekick-lower-deck","title":"Tern Sidekick Lower Deck","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n\n    .stat-sub { font-size: 9px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 2px; display: block; }\n\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\u003cdiv class=\"page\"\u003e\n\u003cnav class=\"breadcrumb\"\u003e\u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eSidekick Lower Decks\u003c\/nav\u003e\u003cheader class=\"product-header\"\u003e\n\u003cdiv class=\"badge-row\"\u003e\n\u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eSide Decks\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003e50 kg Combined\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eFootrest + Cargo\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eAluminium\u003c\/span\u003e \u003cspan class=\"badge-warn\"\u003eGSD Gen 1 Only\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"subtitle\"\u003eSidekick Lower Decks · Lower Shelf Pair · 25 kg Per Deck · GSD Gen 1 · Aluminium\u003c\/p\u003e\n\u003ch1\u003eTern Sidekick Lower Decks\u003c\/h1\u003e\n\u003cp class=\"tagline\"\u003eA pair of low-mounted aluminium shelves for the GSD Gen 1 — 25 kg per deck for cargo, or a solid place for a passenger to put their feet, carried low where the weight barely affects handling. Gen 1 only: later GSDs have lower decks built in.\u003c\/p\u003e\n\u003cdiv class=\"price-hero\"\u003e\n\u003cspan class=\"price\"\u003e$95\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · per pair\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/header\u003e\u003chr class=\"divider\"\u003e\n\u003cdiv class=\"notice\"\u003e\n\u003cstrong\u003eFits the GSD Gen 1 and nothing else.\u003c\/strong\u003e The GSD Gen 2 and Gen 3 already have lower decks integrated into the frame, so this pair has nowhere to mount and no job to do. If you have a Gen 2, the equivalent upgrade is the Sidekick Wide Decks ($215 per pair), which widen the built-in decks to 12 cm. For a Gen 3 or another Tern cargo bike, the Stow Decks ($234 per set) are the adjustable equivalent. Check which generation you have before ordering. Carrying a child on the decks also requires the seat, guard, and restraint accessories set out in Tern's Passenger Guide — a footrest on its own does not make a bike passenger-ready.\u003c\/div\u003e\n\u003cdiv class=\"stats\"\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e50 kg\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003ecombined — 110 lb\u003c\/span\u003e \u003cspan class=\"stat-sub\"\u003e25 kg (55 lb) per deck\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003eGSD Gen 1\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003efitment — no other bike\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e1.08 kg\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003eper pair — 2.4 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"description\"\u003eThe GSD Gen 1 has a long rear rack and no shelf beneath it, which leaves the space between the rack and the rear axle unused and a passenger's feet with nowhere to rest. The Sidekick Lower Decks fill that gap with a pair of aluminium shelves that bolt low on the frame, one per side. The design decision worth understanding is the height: everything on these decks rides close to the axle rather than up at rack level, so a heavy load changes how the bike steers far less than the same weight carried on top. That makes them the better place for the dense, awkward items — a case of drinks, a bag of tools, a sack of soil — and it is what the shelves are really for. Serving as a passenger footrest is the second job, not the first. Later GSD generations build this shelf into the frame, which is why this pair is a Gen 1 part only.\u003c\/p\u003e\n\u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n\u003cdiv class=\"features\"\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eWeight rides low, so the bike still steers like a bike\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eLoad carried high on a rack acts as a lever against the steering, and a loaded cargo bike gets noticeably twitchy at low speed and in crosswinds. Sitting the same weight down near the axle keeps the centre of mass under you. It is the single biggest handling difference between a well-packed cargo bike and a badly packed one.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eA defined place for a passenger's feet\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eA child riding with their legs dangling will eventually find the spokes or the rear wheel with a heel — the reason footrests exist on cargo bikes at all. A fixed deck gives them somewhere to brace, which also stops the constant shifting that makes a passenger feel unstable behind you. Pair it with the Sidekick Wheel Guard L (Gen 1) so the wheel itself is covered.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003e25 kg per deck is real cargo capacity, not a token shelf\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eEach deck takes 25 kg and the pair 50 kg, which covers a full grocery run or a load of building materials on its own — before anything goes on the rack above. Balance across both sides rather than loading one: an even split is what the combined figure assumes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eWorks with Cargo Hold panniers rather than against them\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThe decks are sized to sit under the Cargo Hold pannier line, so you can run panniers and still use the shelf underneath. Bulky items that will not fit in a pannier go on the deck; the pannier keeps carrying what it always did. You are not choosing between the two.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eWhich deck fits which GSD\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThree generations, three answers. GSD Gen 1 takes these Sidekick Lower Decks ($95 per pair) — it is the only generation without a built-in shelf. GSD Gen 2 has decks already, so the upgrade is the Sidekick Wide Decks ($215 per pair) at 35 kg each, widening the platform to 12 cm for bigger feet, or the folding Sidekick Doublewide Decks ($60). GSD Gen 3 and Tern's other cargo bikes take the Stow Decks ($234 per set), which add five angle positions and mount front or rear. Identify the generation first — nothing in this family crosses between them.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n\u003cdiv class=\"spec-group\"\u003e\n\u003ctable class=\"specs-table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eSidekick Lower Decks\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eLower side decks — cargo shelf and passenger footrest\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminium\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCapacity — per deck\u003c\/td\u003e\n\u003ctd\u003e25 kg (55 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCapacity — combined\u003c\/td\u003e\n\u003ctd\u003e50 kg (110 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSet weight\u003c\/td\u003e\n\u003ctd\u003e1.084 kg (2.4 lb) per pair\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions per deck\u003c\/td\u003e\n\u003ctd\u003e519 × 123 mm (20.4 × 4.8 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSold as\u003c\/td\u003e\n\u003ctd\u003ePair — both decks included\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePannier compatibility\u003c\/td\u003e\n\u003ctd\u003eCargo Hold Panniers\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePassenger use\u003c\/td\u003e\n\u003ctd\u003eAdditional accessories required — see Tern Passenger Guide\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRecommended companions\u003c\/td\u003e\n\u003ctd\u003eSidekick Wheel Guard L (Gen 1) · Sidekick Seat Pad ($90 each, Gen 1)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGSD Gen 2 equivalent\u003c\/td\u003e\n\u003ctd\u003eSidekick Wide Decks ($215 per pair) — 35 kg each, widens integrated decks to 12 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOther Tern cargo bikes\u003c\/td\u003e\n\u003ctd\u003eStow Decks ($234 per set) — 35 kg per side, 5-angle adjust, front or rear\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eSidekick Doublewide Decks ($60) — folding, GSD Gen 2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eTern GSD Gen 1 only — verify with Tern's compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"price-row\"\u003e\n\u003cspan class=\"price\"\u003e$95\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · per pair\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"sku\"\u003eTern Sidekick Lower Decks · 25 kg Per Deck · Aluminium · GSD Gen 1\u003c\/p\u003e\n\u003cdiv class=\"footer-line\"\u003e\n\u003cspan\u003eTern © 2026\u003c\/span\u003e \u003cspan\u003eSidekick Lower Decks\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027379060836,"sku":"80102","price":95.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tn-lower-deck-front-34-closeup-final-web-0.jpg?v=1709842903"},{"product_id":"tern-sidekick-flat-bars","title":"Tern Sidekick Flat Bars","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Sidekick Flat Bars Gen 3\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .stat-sub { font-size: 9px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 2px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eSidekick Flat Bars Gen 3\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003ePassenger Grab Bars\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eSeatpost Mount\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e30.9–34.9 mm\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eAdjustable Height + Angle\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eIntegrated Allen Key\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003e130 cm \/ 4'3\" Min.\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003ePassenger System\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eSidekick Flat Bars Gen 3 · Passenger Grab Bars · Seatpost Mount · 30.9–34.9 mm · Adjustable · Orox \/ GSD \/ HSD \/ Quick Haul \/ Short Haul\u003c\/p\u003e\n      \u003ch1\u003eTern Sidekick Flat Bars Gen 3\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eSeatpost-mounted grab bars for rear cargo bike passengers — adjustable height and angle, ergonomic grips, and a built-in 4\/5\/6 mm Allen key. Part of the Tern Passenger System; works with the Captain's Chair and Sidekick Seat Pad.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$125\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD · set of two\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003ePart of the Tern Passenger System — consult the Passenger Guide before use.\u003c\/strong\u003e The Sidekick Flat Bars require a compatible seatpost diameter of 30.9–34.9 mm. A low saddle height may leave insufficient exposed seatpost for proper mounting — consult Tern's seatpost-mounted handhold selection guide if saddle height is a concern. Recommended for passengers 130 cm (4'3\") or taller who can sit unaided. Carrying passengers safely requires additional accessories beyond the grab bars alone.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eSeatpost\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003e30.9–34.9 mm diameter\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eAdjustable\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eheight and angle\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e130 cm\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003epassenger minimum (4'3\")\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Sidekick Flat Bars Gen 3 give rear-seat cargo bike passengers a secure, fixed grip point — a necessity on a moving cargo bike where a passenger has nothing else to hold on to. They clamp to the seatpost and adjust in both height and angle so the grip position can be dialled to the passenger's reach and comfort. Ergonomic grips reduce hand fatigue on longer rides. A 4\/5\/6 mm Allen key is integrated into the bar — common bolt sizes for adjusting the bars themselves or other accessories without carrying a separate tool. The bars fit seatposts from 30.9 to 34.9 mm, covering the range used across the Orox, GSD, HSD, Quick Haul, and Short Haul. Compatible with both the Captain's Chair Gen 2 and the Sidekick Seat Pad for a complete passenger seating setup.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eSeatpost mount — adjustable height and angle\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe bars clamp directly to the seatpost rather than attaching to the rack or frame. Height adjustment positions the grips at the right reach for the passenger's arm length and the seating height — a child sitting on a Sidekick Seat Pad at a different height than an adult needs different bar placement. Angle adjustment lets the grips tilt forward or back for natural wrist position. Both adjustments are made with the included Allen key or the bike's own hex bolts.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eIntegrated 4\/5\/6 mm Allen key — tool in the bar\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eA multi-size Allen key (4, 5, and 6 mm) is built into the bar itself. The 4\/5\/6 mm range covers the most common bolt sizes on Tern cargo bike accessories — adjusting the flat bars, tightening seat mounts, and most rack hardware all fall in this range. The tool doesn't need to be carried separately and doesn't get lost. A small but genuinely useful detail on a bike that gets loaded and adjusted regularly.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003e30.9–34.9 mm seatpost range — fits five bike models\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe clamp accommodates seatpost diameters from 30.9 to 34.9 mm — the range that covers the Orox, GSD, HSD, Quick Haul, and Short Haul. Confirm your specific bike's seatpost diameter before ordering. Also check that the saddle height leaves enough exposed seatpost for the bars to clamp at a usable height — if the saddle is very low, there may not be enough seatpost length above the frame to mount the bars correctly.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eWorks with Captain's Chair and Sidekick Seat Pad\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Flat Bars are recommended alongside the Captain's Chair Gen 2 or the Sidekick Seat Pad — Tern's two main rear passenger seat options. The seat provides the sitting surface; the bars provide the grip. Neither the seat nor the bars alone is a complete passenger setup — both are required, along with other Passenger System accessories as specified in the Tern Passenger Guide.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003e130 cm passenger minimum — who can use these\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eTern recommends the Sidekick Flat Bars for passengers 130 cm (4'3\") or taller who can sit unaided without support. This lower threshold than the Sidekick Seat Pad (140 cm) reflects that grab bars are usable by slightly younger or shorter passengers — but the passenger must still be able to maintain their own seated position independently. The bars provide a grip point, not structural passenger support.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eSidekick Flat Bars Gen 3\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eSeatpost-mounted passenger grab bars\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminium\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions per bar\u003c\/td\u003e\n\u003ctd\u003e440 × 140 × 56.5 mm (17.3 × 5.5 × 2.2 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSet weight\u003c\/td\u003e\n\u003ctd\u003e~635g (1.4 lb) per set of two\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSeatpost diameter\u003c\/td\u003e\n\u003ctd\u003e30.9–34.9 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eAdjustment\u003c\/td\u003e\n\u003ctd\u003eHeight and angle — both adjustable\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eIntegrated tool\u003c\/td\u003e\n\u003ctd\u003e4\/5\/6 mm Allen key\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003ePassenger minimum\u003c\/td\u003e\n\u003ctd\u003e130 cm (4'3\") — must sit unaided\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRecommended seats\u003c\/td\u003e\n\u003ctd\u003eCaptain's Chair Gen 2 · Sidekick Seat Pad\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSystem\u003c\/td\u003e\n\u003ctd\u003eTern Passenger System — additional accessories required\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eOrox · GSD · HSD · Quick Haul · Short Haul — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$125\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD · set of two\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Sidekick Flat Bars Gen 3 · Passenger Grab Bars · Seatpost Mount · 30.9–34.9 mm · Adjustable · Integrated Allen Key\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eSidekick Flat Bars Gen 3\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027379093604,"sku":"81102","price":125.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/TN-SidekickFlatBar-Closeup-g2.jpg?v=1709842627"},{"product_id":"tern-sidekick-foot-pegs","title":"Tern Sidekick Foot Pegs","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\u003cdiv class=\"page\"\u003e\n\u003cnav class=\"breadcrumb\"\u003e\u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eSidekick Foot Pegs\u003c\/nav\u003e\u003cheader class=\"product-header\"\u003e\n\u003cdiv class=\"badge-row\"\u003e\n\u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003ePassenger System\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eRetractable\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eFootrest Only\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eZinc Alloy\u003c\/span\u003e \u003cspan class=\"badge-warn\"\u003eGSD Gen 1 Only\u003c\/span\u003e \u003cspan class=\"badge-warn\"\u003eNo Published Load Rating\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"subtitle\"\u003eSidekick Foot Pegs · Retractable Footrests · Pair · GSD Gen 1 · Zinc Alloy\u003c\/p\u003e\n\u003ch1\u003eTern Sidekick Foot Pegs\u003c\/h1\u003e\n\u003cp class=\"tagline\"\u003eA pair of retractable pegs that fold into the GSD Gen 1's frame and pop out with one push — the cheapest way to give a rear passenger somewhere to put their feet, with no cargo shelf and no published weight rating.\u003c\/p\u003e\n\u003cdiv class=\"price-hero\"\u003e\n\u003cspan class=\"price\"\u003e$35\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · per pair\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/header\u003e\u003chr class=\"divider\"\u003e\n\u003cdiv class=\"notice\"\u003e\n\u003cstrong\u003eFits the GSD Gen 1 only, and Tern publishes no load rating for these pegs.\u003c\/strong\u003e Later GSD generations have lower decks built into the frame and take a different part entirely. The absence of a capacity figure matters if you were thinking of resting anything heavier than feet on them — where you need a stated number, the Sidekick Lower Decks ($95 per pair) are rated at 25 kg per deck on the same bike. Foot pegs also do not make a bike ready to carry a child on their own: the seat, wheel guard, and restraints set out in Tern's Passenger Guide still apply.\u003c\/div\u003e\n\u003cdiv class=\"stats\"\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003eRetractable\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003efolds into the frame\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003eGSD Gen 1\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003efitment — no other bike\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e0.44 kg\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003eper pair — 1 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"description\"\u003eMost cargo-bike footrests are fixed platforms that stay bolted to the bike whether or not anyone is riding on the back. The Sidekick Foot Pegs take the opposite approach: each peg tucks into the GSD Gen 1's frame and swings out with a push when a passenger climbs on. That single design decision is what you are paying for. It keeps the bike clean and narrow on the days you ride alone, and it removes the two hard protrusions that a fixed footrest leaves at shin height in a crowded bike room. The trade-off is that a peg is only ever a place for a foot — it carries no cargo, works with no panniers, and Tern quotes no weight limit for it. At $35 the pair it is the least expensive entry into the Sidekick passenger system, and for a Gen 1 owner who occasionally carries one child it is often all that is needed.\u003c\/p\u003e\n\u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n\u003cdiv class=\"features\"\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eOut of the way when nobody is riding on the back\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eA fixed footrest is a permanent obstacle — it catches on doorframes and panniers, and it finds your shin every time you walk the bike past a rack. Retracting into the frame means the bike parks and manoeuvres exactly as it did before you fitted them, which for a bike that lives in a hallway or a shared garage is the main argument for pegs over decks.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eOne-push deployment, no tools and no latch to learn\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThe peg pops out with a single push, which is what you want when a child is already climbing onto the rack and you have one hand on the bars. Anything requiring two hands or a catch gets skipped when you are in a hurry, and a footrest that gets skipped is not doing its job.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eKeeps a passenger's feet clear of the rear wheel\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThis is the reason footrests exist. A child riding with their legs hanging will eventually put a heel into the spokes, and it is the classic cargo-bike injury. Giving them a fixed point to brace against also stops the constant shifting that unsettles the bike at low speed. Fit a Sidekick Wheel Guard alongside so the wheel itself is covered, not just avoided.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eZinc alloy for a part that lives in the spray\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThese sit low on the frame, directly in the rear wheel's spray path, and get kicked and scuffed by design. Zinc alloy is dense and holds a cast shape well at a small size, which suits a hinged part that has to stay tight in its pivot after a few winters of salt and grit. It is heavier than aluminium, but at 444 g the pair that is not a number anyone will feel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eFoot Pegs or Lower Decks — both fit the GSD Gen 1\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThese are the two Gen 1 footrest options and they solve different problems. The Foot Pegs ($35 per pair) are for feet and nothing else: retractable, 444 g, invisible when folded. The Sidekick Lower Decks ($95 per pair) are shelves — 25 kg per deck, 50 kg across the pair — so they carry a passenger's feet and a grocery run, work under Cargo Hold panniers, and stay out permanently. Choose pegs if you carry a child occasionally and store the bike somewhere tight; choose decks if you want the low cargo space and a broader platform underfoot. On an HSD the equivalent is the Sidekick Footrests ($69 per set); on a GSD Gen 2 the decks are already in the frame and the upgrade is the Sidekick Wide Decks ($215 per pair).\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n\u003cdiv class=\"spec-group\"\u003e\n\u003ctable class=\"specs-table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eSidekick Foot Pegs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eRetractable passenger footrests\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eZinc alloy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMounting\u003c\/td\u003e\n\u003ctd\u003eRetracts into the frame — no rack hardware\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDeployment\u003c\/td\u003e\n\u003ctd\u003eOne-push, tool-free\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSet weight\u003c\/td\u003e\n\u003ctd\u003e0.444 kg (1 lb) per pair\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions per peg\u003c\/td\u003e\n\u003ctd\u003e135 × 32 × 20 mm (5.3 × 1.3 × 0.8 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSold as\u003c\/td\u003e\n\u003ctd\u003ePair — both pegs included\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCargo use\u003c\/td\u003e\n\u003ctd\u003eNot a cargo shelf — footrest only\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePassenger use\u003c\/td\u003e\n\u003ctd\u003eAdditional accessories required — see Tern Passenger Guide\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eSidekick Lower Decks ($95 per pair) — same bike, 25 kg per deck, doubles as cargo shelf\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHSD equivalent\u003c\/td\u003e\n\u003ctd\u003eSidekick Footrests ($69 per set) — 25 kg each, aluminium 5052, 3M anti-slip\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGSD Gen 2 equivalent\u003c\/td\u003e\n\u003ctd\u003eDecks integrated in frame — upgrade with Sidekick Wide Decks ($215 per pair) or Doublewide Decks ($60)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOther Tern cargo bikes\u003c\/td\u003e\n\u003ctd\u003eStow Decks ($234 per set) — 35 kg per side, 5-angle adjust\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eTern GSD Gen 1 only — verify with Tern's compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"price-row\"\u003e\n\u003cspan class=\"price\"\u003e$35\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · per pair\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"sku\"\u003eTern Sidekick Foot Pegs · Retractable · Zinc Alloy · Pair · GSD Gen 1\u003c\/p\u003e\n\u003cdiv class=\"footer-line\"\u003e\n\u003cspan\u003eTern © 2026\u003c\/span\u003e \u003cspan\u003eSidekick Foot Pegs\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027379224676,"sku":"80110","price":35.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tn-gsd-seat-pad-rear-34.jpg?v=1709842903"},{"product_id":"tern-sidekick-wheel-guard-m","title":"Tern Sidekick Wheel Guard, M,L,XL- Protect the feet of young passengers on the HSD, QH, and SH","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Sidekick Wheel Guard M\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eSidekick Wheel Guard M\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003ePassenger Safety\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eSize M\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eThule Yepp Compatible\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eWeather-Resistant\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eHSD \/ Quick Haul \/ Short Haul\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003ePassenger System\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eSidekick Wheel Guard M · Passenger Safety · Polyester Mesh · Velcro · HSD \/ Quick Haul \/ Short Haul\u003c\/p\u003e\n      \u003ch1\u003eTern Sidekick Wheel Guard M\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA mesh wheel guard that shields rear-rack passengers from the back wheel — blocks foot and clothing contact with the spinning tyre, works with the Sidekick Seat Pad, Captain's Chair, and Thule Yepp Maxi child seats. Part of the Tern Passenger System.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$55\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD · set of two\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003ePassenger safety component — part of the Tern Passenger System.\u003c\/strong\u003e The Sidekick Wheel Guard prevents passenger feet, shoelaces, coats, and skirts from contacting the rear wheel. It is one component of a complete passenger setup. Consult Tern's Passenger Guide for all required accessories before carrying any passenger. Compatible with HSD, Quick Haul, and Short Haul — not the GSD. Verify your model with Tern's compatibility checker.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eMesh\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003epolyester — weather-resistant\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e545 mm\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eguard length per side\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eVelcro\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003estrap mount — tool-free\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Sidekick Wheel Guard M is a safety panel that fills the gap between the rear rack and the back wheel on compatible Tern cargo bikes. Without a wheel guard, a rear-rack passenger's feet, shoelaces, coat hem, or skirt can contact the spinning tyre — an entanglement hazard. The guard's polyester mesh spans this opening on both sides of the wheel, creating a physical barrier. Velcro straps mount it without tools and allow removal for access to the frame or wheel. The design allows unobstructed access to the HSD's built-in frame lock — a common concern when adding accessories around the rear end. Compatible with Tern's own Sidekick Seat Pad and Captain's Chair, and also with the Thule Yepp Maxi and Yepp Nexxt Maxi — two widely used third-party child seats.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eWheel entanglement protection — the core function\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eA rear-rack passenger's feet hang near the rear wheel. Shoelaces, coat hems, and skirts can catch in the tyre or spokes at speed — an entanglement is sudden and dangerous. The Wheel Guard spans the space between the rack and the wheel on both sides, creating a mesh barrier that blocks clothing and feet from reaching the tyre entirely. The mesh is permeable enough to not trap heat but solid enough to stop fabric from pulling through.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eThule Yepp Maxi + Yepp Nexxt Maxi compatible\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eBeyond Tern's own passenger accessories, the Wheel Guard works with the Thule Yepp Maxi and Yepp Nexxt Maxi — two of the most widely used rear-mount child seats on the market. Families who already have a Yepp seat can add the Wheel Guard to a compatible Tern cargo bike without replacing their seat. Confirm your specific Yepp model fits your Tern bike before purchasing.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eHSD frame lock access — not blocked by the guard\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe HSD has a built-in frame lock positioned near the rear wheel. The Wheel Guard's shape and mounting are designed to leave this lock accessible — a lock that can't be reached while the guard is installed would be left unlocked, defeating the purpose of having it. The guard wraps around the lock's operating position without obstructing it.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003ePolyester mesh — weather-resistant and cleanable\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003ePolyester mesh sheds water and dries quickly — the guard isn't going to hold road spray or rain against the wheel. The mesh surface wipes clean of mud, splashes, and general road grime. A guard positioned between the tyre and the passenger will collect some road debris over time; easy-clean construction means it stays presentable.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eVelcro straps — tool-free, adjustable\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eMounting is via velcro straps with no tools required. The guard can be installed or removed in a few minutes — relevant when switching between passenger and cargo configurations on the same bike. Velcro also allows minor position adjustments for the fit to different rack geometries within the compatible bike range.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eSidekick Wheel Guard M\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eRear wheel passenger safety guard\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003ePolyester mesh — weather-resistant\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMounting\u003c\/td\u003e\n\u003ctd\u003eVelcro straps — tool-free\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions per guard\u003c\/td\u003e\n\u003ctd\u003e545 × 295 × 5 mm (21.5 × 11.6 × 0.2 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSet weight\u003c\/td\u003e\n\u003ctd\u003e~227g per set (two guards)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eFrame lock access\u003c\/td\u003e\n\u003ctd\u003eHSD built-in frame lock remains accessible\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible seats\u003c\/td\u003e\n\u003ctd\u003eSidekick Seat Pad · Captain's Chair · child seats without footrest panels · Thule Yepp Maxi · Thule Yepp Nexxt Maxi\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSystem\u003c\/td\u003e\n\u003ctd\u003eTern Passenger System — additional accessories required\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eHSD · Quick Haul · Short Haul — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$55\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD · set of two\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Sidekick Wheel Guard M · Passenger Safety · Polyester Mesh · Velcro · Size M · HSD \/ Quick Haul \/ Short Haul\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eSidekick Wheel Guard M\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Medium","offer_id":48603037794404,"sku":"80103","price":55.0,"currency_code":"CAD","in_stock":true},{"title":"Large","offer_id":48603037827172,"sku":"80151","price":70.0,"currency_code":"CAD","in_stock":false},{"title":"X-Large","offer_id":48603037859940,"sku":"80142","price":103.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at1.05.04PM.png?v=1709842639"},{"product_id":"tern-sidekick-joyride-bars","title":"Tern Sidekick Joyride Bars (Gen 3)","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Sidekick Joyride Bars Gen 3\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eSidekick Joyride Bars Gen 3\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003ePassenger Handhold\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eU-Shaped\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eSeatpost Mount\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e30.9–34.9 mm\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eCabin with Captain's Chair\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003ePassenger System\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eCheck Saddle Height\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eSidekick Joyride Bars Gen 3 · U-Shaped Passenger Handhold · Seatpost Mount · 30.9–34.9 mm · Captain's Chair Pairing\u003c\/p\u003e\n      \u003ch1\u003eTern Sidekick Joyride Bars Gen 3\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA U-shaped seatpost-mounted handhold that wraps back toward the passenger — grip stays in reach while sitting further back, extended rails protect hands, and pairing with the Captain's Chair Gen 2 creates an enclosed cabin or cargo carrier.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$105\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD · set\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003ePart of the Tern Passenger System — consult the Passenger Guide before use.\u003c\/strong\u003e The Joyride Bars require a seatpost diameter of 30.9–34.9 mm. A low saddle height may leave insufficient exposed seatpost for proper mounting — consult Tern's seatpost-mounted handhold selection guide if saddle height is a concern. Designed for big kids and adult passengers who can sit unaided. Carrying passengers safely requires additional accessories beyond the handhold alone.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eU-shape\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ewraps back to passenger\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eSeatpost\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003e30.9–34.9 mm diameter\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eCabin\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ewith Captain's Chair Gen 2\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Sidekick Joyride Bars Gen 3 are a seatpost-mounted passenger handhold with a U-shaped profile — the bars sweep back toward the passenger rather than standing upright at the seatpost. That geometry is the defining difference from the Sidekick Flat Bars: a passenger seated further back on the rear deck can still reach the grip comfortably, without leaning forward. Ergonomic grips reduce hand fatigue, and the extended rails wrap far enough to shield the passenger's hands from bumps and brushes. Paired with the Captain's Chair Gen 2, the Joyride Bars close off the front of the seat to form an enclosed cabin around the passenger — or a contained carrier for boxes and crates when running a cargo configuration. The clamp fits 30.9–34.9 mm seatposts, covering the Orox, GSD, HSD, Quick Haul, and Short Haul.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eU-shaped geometry — grip without leaning forward\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eA straight handhold at the seatpost forces the passenger to sit close and lean toward it. The Joyride Bars' U-shape extends the grip rearward, toward where the passenger actually sits — especially relevant on the Captain's Chair, where the seating position is further back on the deck. The passenger sits naturally against the seat and the grip meets their hands, rather than the other way around. Bigger kids and adults, with their longer torsos, benefit most from this geometry.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eEnclosed cabin with the Captain's Chair Gen 2\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Captain's Chair provides the seat, backrest position, and side rails; the Joyride Bars close off the front. Together they surround the passenger on all sides — an enclosed cabin that gives a child a defined, contained space with grip points in every direction. In cargo mode, the same enclosure holds boxes or crates: the chair's structure at the back and sides, the Joyride Bars at the front, keeping cargo from sliding forward under braking.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eExtended rails — hand protection built in\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe rails extend beyond the grip position, so the passenger's hands sit inboard of the bar ends. In tight passages, alongside walls, or in the brush of a shared path, the rail takes the contact rather than fingers. It's the same principle as a handguard on a motorcycle lever — the structure reaches further than the hand it protects.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eSeatpost mount — 30.9–34.9 mm, saddle height matters\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe clamp fits seatposts from 30.9 to 34.9 mm — the range across the Orox, GSD, HSD, Quick Haul, and Short Haul. Because the bars clamp to the exposed seatpost below the saddle, a rider with a very low saddle position may not have enough post showing for the clamp to sit at a usable height. Tern's seatpost-mounted handhold selection guide covers this — check it if the saddle sits low on your frame.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eJoyride Bars vs Flat Bars — which handhold?\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Sidekick Flat Bars Gen 3 ($125) are a straighter, more compact handhold with an integrated 4\/5\/6 mm Allen key — well matched to the Sidekick Seat Pad and passengers who sit close to the seatpost. The Joyride Bars Gen 3 ($105) reach back further and are the natural pairing for the Captain's Chair and for bigger passengers seated further rearward. Tern publishes a comparison guide for the seatpost handhold options — consult it alongside your seat choice before ordering.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eSidekick Joyride Bars Gen 3\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eSeatpost-mounted passenger handhold — U-shaped\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminium\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e533 × 330 × 50 mm (21 × 13 × 2 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSet weight\u003c\/td\u003e\n\u003ctd\u003e~726g (1.6 lb) per set\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSeatpost diameter\u003c\/td\u003e\n\u003ctd\u003e30.9–34.9 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eGrips\u003c\/td\u003e\n\u003ctd\u003eErgonomic\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eHand protection\u003c\/td\u003e\n\u003ctd\u003eExtended rails\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003ePassengers\u003c\/td\u003e\n\u003ctd\u003eBig kids and adults — must sit unaided\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible seats\u003c\/td\u003e\n\u003ctd\u003eCaptain's Chair Gen 2 · Sidekick Seat Pad\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCabin \/ cargo mode\u003c\/td\u003e\n\u003ctd\u003eWith Captain's Chair Gen 2 ($379) — enclosed cabin or crate carrier\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eSidekick Flat Bars Gen 3 ($125) — straight profile, integrated Allen key\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSystem\u003c\/td\u003e\n\u003ctd\u003eTern Passenger System — additional accessories required\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eOrox · GSD · HSD · Quick Haul · Short Haul — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$105\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD · set\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Sidekick Joyride Bars Gen 3 · U-Shaped Passenger Handhold · Seatpost Mount · 30.9–34.9 mm · Captain's Chair Pairing\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eSidekick Joyride Bars Gen 3\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027379322980,"sku":"8110381203","price":105.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/hsd-sidekick-joyride-bars-wheelguards-seatpad-footrests.jpg?v=1709842627"},{"product_id":"tern-storm-shield","title":"Tern Storm Shield","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n\n    .stat-sub { font-size: 9px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 2px; display: block; }\n\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\u003cdiv class=\"page\"\u003e\n\u003cnav class=\"breadcrumb\"\u003e\u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eStorm Shield\u003c\/nav\u003e\u003cheader class=\"product-header\"\u003e\n\u003cdiv class=\"badge-row\"\u003e\n\u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003ePassenger System\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eTwo Passengers\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003e140 cm Max Height\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eFibreglass Poles\u003c\/span\u003e \u003cspan class=\"badge-warn\"\u003eClubhouse Required\u003c\/span\u003e \u003cspan class=\"badge-warn\"\u003eNot for Clubhouse+ on GSD Gen 1\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"subtitle\"\u003eStorm Shield Gen 3 · All-Weather Canopy · Two Passengers · 140 cm Max · Nylon\u003c\/p\u003e\n\u003ch1\u003eTern Storm Shield\u003c\/h1\u003e\n\u003cp class=\"tagline\"\u003eA one-piece weather canopy that fits over the Clubhouse and covers two passengers up to 140 cm tall, helmets included — it mounts to the Clubhouse and nothing else, and the Clubhouse generation has to match your bike.\u003c\/p\u003e\n\u003cdiv class=\"price-hero\"\u003e\n\u003cspan class=\"price\"\u003e$366\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · each\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/header\u003e\u003chr class=\"divider\"\u003e\n\u003cdiv class=\"notice\"\u003e\n\u003cstrong\u003eThe Storm Shield mounts to a Clubhouse, and on the GSD Gen 1 it must be the Clubhouse Gen 1 — not the Clubhouse+.\u003c\/strong\u003e Tern is explicit about the exception: installing it on a GSD Gen 1 with the Clubhouse+ \"results in a series of clearance issues (especially for taller riders) and may compromise basic functionalities like opening\/closing the rollup windows, or even damage the accessory.\" Later GSD generations need their own matching Clubhouse generation, so confirm the pairing with Tern's compatibility checker before ordering. A GSD Gen 1 setup also needs Sidekick Lower Decks ($95 per pair) for foot support and Cargo Hold 52 Panniers in Bucket Mode for leg protection. Carrying children requires the rest of the Passenger System regardless of canopy — see Tern's Passenger Guide.\u003c\/div\u003e\n\u003cdiv class=\"stats\"\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e2 passengers\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003eon the Clubhouse\u003c\/span\u003e \u003cspan class=\"stat-sub\"\u003eup to 140 cm (4'7\") each\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003eClubhouse\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003erequired base\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e1.6 kg\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003eweight — 3.5 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"description\"\u003eThe Storm Shield is the single-piece answer to weather on a GSD: a nylon canopy on a fibreglass tent-pole frame that goes over the Clubhouse and encloses both passengers, with enough headroom that helmets stay on. Where Tern's other canopy is a two-part system — a summer shade layer with a waterproof cover bought separately and snapped on — this is one item that does both jobs and stays on the bike. The pole structure is what makes that work: fibreglass has enough spring to hold the canopy's shape against a crosswind or the turbulence off a passing truck, which a soft cover over a bare frame does not. The trade-off is that it is a GSD accessory built around the Clubhouse, and the generation pairing is strict enough that ordering the wrong combination can damage the canopy.\u003c\/p\u003e\n\u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n\u003cdiv class=\"features\"\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eFibreglass poles hold the shape in wind\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eA canopy is a sail, and the gust off a passing truck is exactly when you want the structure over your kids to stay put. Sprung fibreglass poles keep the panels taut and stop the fabric collapsing inward onto a passenger's face, which is the failure mode of soft covers. It is the same reason tents use them rather than rigid rod.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eVentilation panel and removable sides for one canopy year-round\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eAn enclosed canopy over two children fogs fast and turns stifling the moment the sun comes out. The vent panel keeps air moving in the rain, and the side panels come off entirely on good days so the same canopy works as shade in July. Without that you would be taking the whole structure off and on with the seasons.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003e140 cm of headroom, measured with helmets on\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eTwo passengers up to 140 cm (4'7\") fit with room for their helmets, which is roughly a nine or ten year old at the top of the range. That is a realistic ceiling to plan around: a child near 140 cm today has perhaps two seasons left under this canopy, and it is worth checking their standing height on the rack before committing $366 to it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eTall riders need the seating checked, not just the canopy\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eClearance between the rider's saddle and the front of the canopy is the constraint nobody anticipates. Tern's stated fix is the Sidekick Joyride Bars and Captain's Chair combo for riders of roughly 170–190 cm (5'7\"–6'3\"). The same clearance problem is what rules out the Clubhouse+ on a GSD Gen 1 — if you are at the tall end, sort the cockpit before you order the canopy.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eStorm Shield, or Sun Shield plus Rain Shield?\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eBoth cover passengers on a Clubhouse; they differ in structure and in what Tern promises. The Storm Shield ($366) is one piece, always mounted, 1.6 kg, and Tern calls it weather-resistant without publishing a waterproof rating. The Sun Shield ($310) plus Rain Shield ($262) is $572 for the pair, but splits into a light shade layer for summer and a cover rated to 12,000 mm that folds into a pannier at 0.66 kg and only goes on when rain is forecast. Choose the Storm Shield for a GSD ridden through wet months where a permanent, wind-stable canopy earns its keep; choose the pair if you want a published waterproof figure, ride mostly dry with occasional rain, or ride an Orox or Quick Haul Long, which the Storm Shield does not cover.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n\u003cdiv class=\"spec-group\"\u003e\n\u003ctable class=\"specs-table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eStorm Shield (Gen 3)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eAll-weather passenger canopy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eNylon\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFrame\u003c\/td\u003e\n\u003ctd\u003eFibreglass tent poles\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeather protection\u003c\/td\u003e\n\u003ctd\u003eWeather-resistant — rain and UV; no waterproof rating published\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePassenger capacity\u003c\/td\u003e\n\u003ctd\u003eTwo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax passenger height\u003c\/td\u003e\n\u003ctd\u003e140 cm (4'7\") with room for helmets\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVentilation\u003c\/td\u003e\n\u003ctd\u003eVent panel; removable side panels\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e1.6 kg (3.5 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e680 × 625 × 815 mm (26.8 × 24.6 × 32.1 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSold as\u003c\/td\u003e\n\u003ctd\u003eEach — one canopy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRequired accessory\u003c\/td\u003e\n\u003ctd\u003eClubhouse — generation must match the bike, sold separately; the Clubhouse Gen 1 for the GSD Gen 1 is $260\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNot compatible with\u003c\/td\u003e\n\u003ctd\u003eClubhouse+ on the GSD Gen 1 — clearance issues and possible damage\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGSD Gen 1 setup also needs\u003c\/td\u003e\n\u003ctd\u003eSidekick Lower Decks ($95 per pair) · Cargo Hold 52 Panniers in Bucket Mode\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTall riders\u003c\/td\u003e\n\u003ctd\u003eSidekick Joyride Bars + Captain's Chair for riders ~170–190 cm (5'7\"–6'3\")\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eSun Shield ($310) + Rain Shield ($262) — two-part canopy, 12,000 mm rated, also fits Orox and Quick Haul Long\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePassenger use\u003c\/td\u003e\n\u003ctd\u003eAdditional accessories required — see Tern Passenger Guide\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eGSD Gen 1 with Clubhouse Gen 1 confirmed; later GSD generations require their matching Clubhouse — verify with Tern's compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"price-row\"\u003e\n\u003cspan class=\"price\"\u003e$366\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"sku\"\u003eTern Storm Shield Gen 3 · Two Passengers · 140 cm Max · Nylon · Clubhouse Required\u003c\/p\u003e\n\u003cdiv class=\"footer-line\"\u003e\n\u003cspan\u003eTern © 2026\u003c\/span\u003e \u003cspan\u003eStorm Shield\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027379454052,"sku":"80202","price":366.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/storm-shield-gsd-g2-fort-childseats-side-closed-web.jpg?v=1709842637"},{"product_id":"tern-storm-box","title":"Tern Storm Box","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\u003cdiv class=\"page\"\u003e\n\u003cnav class=\"breadcrumb\"\u003e\u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eStorm Box\u003c\/nav\u003e\u003cheader class=\"product-header\"\u003e\n\u003cdiv class=\"badge-row\"\u003e\n\u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003ePassenger System\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003e160 L\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003e50 kg Load\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eTarpaulin + Ripstop\u003c\/span\u003e \u003cspan class=\"badge-warn\"\u003eClubhouse + Decks Required\u003c\/span\u003e \u003cspan class=\"badge-warn\"\u003eNot for GSD Gen 1\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"subtitle\"\u003eStorm Box Gen 1 · 160 L · 50 kg Load · Two Lids · Tarpaulin \u0026amp; Ripstop Nylon\u003c\/p\u003e\n\u003ch1\u003eTern Storm Box\u003c\/h1\u003e\n\u003cp class=\"tagline\"\u003eA 160 L weatherproof rear compartment that takes 50 kg of cargo under one lid or two young children under the other — it needs a Clubhouse and a set of decks underneath it, and it does not fit the GSD Gen 1.\u003c\/p\u003e\n\u003cdiv class=\"price-hero\"\u003e\n\u003cspan class=\"price\"\u003e$262\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · each\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/header\u003e\u003chr class=\"divider\"\u003e\n\u003cdiv class=\"notice\"\u003e\n\u003cstrong\u003eThe Storm Box fits three bikes, and each needs a Clubhouse and a set of decks before the box will mount.\u003c\/strong\u003e GSD Gen 2 takes it with a Clubhouse Gen 3 or Clubhouse+ plus Sidekick Wide Decks ($215 per pair). GSD Gen 3 and Quick Haul Long Gen 1 take it with a Clubhouse Gen 3 plus Stow Decks ($234 per set). Tern also specifies that the Clubhouse or Clubhouse+ must be installed with one of the rear bars — the curved Child Seat Expansion Bar or the Flat Bar. No other Tern is listed as compatible, including the GSD Gen 1, the Orox, and the HSD. Budget the whole stack, not the box alone, and carrying children in it requires the seats and restraints in Tern's Passenger Guide.\u003c\/div\u003e\n\u003cdiv class=\"stats\"\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e160 L\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003ecargo volume\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e50 kg\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003eload capacity — 110 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003eKids or cargo\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003eswitchable — two lids\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"description\"\u003eThe Storm Box turns the open rack area of a GSD or Quick Haul Long into an enclosed compartment. What makes it unusual is that it ships with two lids and expects you to swap between them: the Cargo Lid closes the box over 160 L of shopping, tools, or kit and keeps rain off it, while the Kid Lid configures the same space to keep two young passengers warm and dry. Most cargo bikes force that choice at purchase — a box bike carries boxes, a passenger setup carries passengers. Here the box is the constant and the lid decides what it is for that week. The build reflects the double duty: a tarpaulin and ripstop nylon shell that shrugs off both weather and the abrasion of hard cargo. The catch is the mounting stack. The Storm Box is the top layer of Tern's Clubhouse Fort system, so it needs the Clubhouse and the decks below it before it has anywhere to sit.\u003c\/p\u003e\n\u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n\u003cdiv class=\"features\"\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eTwo lids in the box, so the bike changes job in a minute\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThe Cargo Lid and the Kid Lid both come with the Gen 1 — there is no second purchase to unlock the other mode, which is not true of the Storm Box Gen 2 ($366), where the Kid Lid ships alone and the Cargo Lid is a $55 add-on. That matters for the household that does a school run in the morning and a hardware run at the weekend, because the alternative is either owning two setups or stripping a passenger installation off the rack every time you need to haul something.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003e160 L is a full car boot, and 50 kg is what fills it\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eVolume and weight limits usually run out at different times: a big box rated to 20 kg is full of pillows before it is heavy. At 160 L and 50 kg the Storm Box is matched for dense loads — a fortnight of groceries, a bag of cement, a load of tools — so you can fill the space without checking the rating first.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eTarpaulin shell with a ripstop nylon build\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eTarpaulin is the waterproof, abrasion-resistant layer — the material of truck curtains and messenger bags, chosen because it survives being loaded with things that have corners. Ripstop nylon is woven so a puncture stays a puncture instead of running into a tear, which is what you want in a box that gets climbed into by children and jabbed by cargo in the same week.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eEnclosed, so the load stops being your problem in the rain\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eOpen panniers and a bare rack mean everything you carry needs its own weatherproofing and its own strapping down. A closed compartment removes both jobs: cargo goes in loose and stays dry, and a passenger sits inside the walls of the box rather than perched on top of a rack. It is also the difference between leaving the bike loaded outside a shop and carrying everything in with you.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eWhere the Storm Box sits in the Clubhouse Fort\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eTern's all-weather passenger setup stacks in layers, and the Storm Box is the middle one. Below it: a Clubhouse and either Sidekick Wide Decks ($215) on a GSD Gen 2 or Stow Decks ($234) on a GSD Gen 3 or Quick Haul Long. Above it, optionally, a canopy — the Storm Shield ($366) for a fully enclosed GSD, or the Sun Shield ($310) with the Rain Shield ($262) added when it turns wet. If you ride an Orox or a GSD Gen 1, the Storm Box is not available to you and the Sun Shield plus Rain Shield pair is the weather-protection route. If you mainly need dry cargo rather than covered passengers, Cargo Hold panniers do that for a fraction of the stack.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n\u003cdiv class=\"spec-group\"\u003e\n\u003ctable class=\"specs-table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eStorm Box (Gen 1)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eEnclosed rear compartment — cargo or passengers\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eTarpaulin and ripstop nylon\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVolume\u003c\/td\u003e\n\u003ctd\u003e160 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLoad capacity\u003c\/td\u003e\n\u003ctd\u003e50 kg (110.2 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIncluded lids\u003c\/td\u003e\n\u003ctd\u003eCargo Lid and Kid Lid — both in the box on the Gen 1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eStorm Box Gen 2 ($366) — 156 L, same 50 kg load, ships with the Kid Lid only\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eReplacement lids\u003c\/td\u003e\n\u003ctd\u003eCargo Lid Gen 2 ($55) — fits both Storm Box generations\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePassenger capacity\u003c\/td\u003e\n\u003ctd\u003eUp to two young children\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e2.2 kg (4.9 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e685 × 470 × 565 mm (27 × 18.5 × 22.2 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSold as\u003c\/td\u003e\n\u003ctd\u003eEach\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGSD Gen 2 requires\u003c\/td\u003e\n\u003ctd\u003eClubhouse Gen 3 or Clubhouse+ · Sidekick Wide Decks ($215 per pair)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGSD Gen 3 requires\u003c\/td\u003e\n\u003ctd\u003eClubhouse Gen 3 · Stow Decks ($234 per set)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eQuick Haul Long Gen 1 requires\u003c\/td\u003e\n\u003ctd\u003eClubhouse Gen 3 · Stow Decks ($234 per set)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRear bar\u003c\/td\u003e\n\u003ctd\u003eClubhouse and Clubhouse+ must be installed with the Child Seat Expansion Bar (curved) or the Flat Bar\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePassenger configurations\u003c\/td\u003e\n\u003ctd\u003eOne child with a Child Seat or Seat Pad · two children with a Child Seat plus Seat Pad, or two Seat Pads\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOptional canopy\u003c\/td\u003e\n\u003ctd\u003eStorm Shield ($366) · or Sun Shield ($310) with Rain Shield ($262)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNot listed as compatible\u003c\/td\u003e\n\u003ctd\u003eGSD Gen 1 · Orox · HSD · all other Tern models\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePassenger use\u003c\/td\u003e\n\u003ctd\u003eAdditional accessories required — see Tern Passenger Guide\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eGSD Gen 2, GSD Gen 3, Quick Haul Long Gen 1 only — verify with Tern's compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"price-row\"\u003e\n\u003cspan class=\"price\"\u003e$262\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"sku\"\u003eTern Storm Box Gen 1 · 160 L · 50 kg · Cargo Lid + Kid Lid · Tarpaulin \u0026amp; Ripstop Nylon\u003c\/p\u003e\n\u003cdiv class=\"footer-line\"\u003e\n\u003cspan\u003eTern © 2026\u003c\/span\u003e \u003cspan\u003eStorm Box\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027379519588,"sku":"304853","price":262.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/storm-box-gsd2-cargo-lid-web.jpg?v=1709842637"},{"product_id":"tern-sidekick-wide-deck","title":"Tern Sidekick Wide Deck Gen 2","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Sidekick Wide Decks Gen 2\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .stat-sub { font-size: 9px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 2px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eSidekick Wide Decks Gen 2\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eSide Decks\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e35 kg Per Deck\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e70 kg Total\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eSlotted Cargo\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eThru-Axle Cutout\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eGSD Gen 2 Only\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eSidekick Wide Decks Gen 2 · GSD Gen 2 · 35 kg Per Deck · 70 kg Total · Slotted · Thru-Axle Cutout · Corrosion-Resistant Alloy\u003c\/p\u003e\n      \u003ch1\u003eTern Sidekick Wide Decks Gen 2\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eIntegrated side deck extensions for the Tern GSD Gen 2 — widens the rear platform to 12 cm, 35 kg per deck (70 kg combined), slotted openings for cargo securing, and a left-side thru-axle cutout so the rear wheel can be removed without disassembling the decks.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$215\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD · set of two\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eGSD Gen 2 only — not compatible with other GSD generations.\u003c\/strong\u003e The Sidekick Wide Decks Gen 2 are designed specifically for the GSD Gen 2 frame geometry and mounting points. They will not fit earlier GSD models. If carrying passengers on the decks, consult Tern's Passenger Guide for all required safety accessories before use. For a fold-out deck alternative with different capacity and mounting, see the Sidekick Doublewide Decks ($60).\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e35 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eper deck (77 lb)\u003c\/span\u003e\n        \u003cspan class=\"stat-sub\"\u003e70 kg \/ 154 lb combined\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e12 cm\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eextended deck width\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e1.36 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eset weight (3 lb)\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Sidekick Wide Decks Gen 2 extend the rear side platforms of the GSD Gen 2, widening them to 12 cm — wider than the stock deck — for improved foot support for passengers and a larger cargo surface. Corrosion-resistant aluminium construction holds 35 kg per deck (70 kg for the pair) and is built for daily use in all weather. Slotted openings running along the deck surface allow bungee cords, straps, and cargo nets to be threaded through and anchored, keeping loaded cargo from shifting. A cutout on the left deck aligns with the thru-axle — rear wheel removal for flat repairs or service does not require removing the decks first. Compatible with the Captain's Chair and Clubhouse+ for passenger configurations, and with Cargo Hold 37 and Cargo Hold 52 panniers for cargo use.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eWidens rear deck to 12 cm — more surface for feet and cargo\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe GSD Gen 2 rear platform is functional but narrow for passengers sitting with feet on the sides. The Wide Decks extend each side to 12 cm — enough width for a passenger's foot to sit flat and stable rather than perching on a narrow rail edge. For cargo use, the wider deck gives bags and boxes a more stable base and fewer tipping points at the sides.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eSlotted openings — cargo securing without separate mounts\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe deck surface has slots running along it. Bungee cords, cam straps, and cargo nets thread through these slots and anchor directly to the deck structure rather than needing separate attachment hooks or rail mounts. Cargo that doesn't have panniers or a specific bag can be strapped down directly to the deck — useful for irregular items, grocery bags, or anything else that needs a flat surface with tie-down points.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eThru-axle cutout — rear wheel off without removing the decks\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eModern cargo bikes use thru-axles rather than quick-release skewers. Removing a thru-axle rear wheel requires access to the axle end on the left side of the bike. The left Wide Deck has a cutout aligned with this position — the thru-axle can be threaded out and the wheel removed while both decks remain installed. A flat tyre or wheel service doesn't require disassembling the deck setup.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eLow cargo position — stability under load\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Wide Decks sit at axle height — lower than a rear rack platform. Low cargo placement keeps the centre of gravity down, which matters on a heavily loaded cargo bike. The GSD Gen 2 is built to carry significant weight; loading that weight low and close to the axle (via side decks) rather than high (via an elevated rack) improves handling and reduces swaying under load.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eCaptain's Chair, Clubhouse+, and pannier compatible\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Wide Decks work alongside the Captain's Chair and Clubhouse+ passenger seating systems — deck width provides the foot platform while the seating accessory handles the seat itself. Cargo Hold 37 and Cargo Hold 52 panniers also run alongside the Wide Decks, with the panniers hanging from the rack rails while the decks extend beneath and to the sides. The Storm Box Gen 1 is also recommended as a compatible cargo accessory.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eWide Decks Gen 2 vs Sidekick Doublewide Decks\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eBoth are side deck accessories for GSD-family bikes, but they are different products. The Sidekick Doublewide Decks ($60) are fold-out platforms that require Lockstand Extensions and are rated at 50 kg per side (100 kg combined with QuadStruts). The Wide Decks Gen 2 ($215) are integrated fixed-position extensions for the GSD Gen 2 specifically, rated at 35 kg per deck (70 kg combined), with slotted cargo securing and thru-axle access. Verify which your GSD generation and use case requires.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eSidekick Wide Decks Gen 2\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eRear side deck extensions\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCapacity — per deck\u003c\/td\u003e\n\u003ctd\u003e35 kg (77 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCapacity — combined\u003c\/td\u003e\n\u003ctd\u003e70 kg (154 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSet weight\u003c\/td\u003e\n\u003ctd\u003e1.36 kg (3 lb) per set\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eCorrosion-resistant aluminium\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions per deck\u003c\/td\u003e\n\u003ctd\u003e538 × 161 × 35 mm (21.2 × 6.3 × 1.4 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eExtended deck width\u003c\/td\u003e\n\u003ctd\u003e12 cm per side\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCargo securing\u003c\/td\u003e\n\u003ctd\u003eSlotted openings — strap and bungee compatible\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eThru-axle access\u003c\/td\u003e\n\u003ctd\u003eLeft-side cutout — rear wheel removable without disassembly\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible seating\u003c\/td\u003e\n\u003ctd\u003eCaptain's Chair · Clubhouse+\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible panniers\u003c\/td\u003e\n\u003ctd\u003eCargo Hold 37 · Cargo Hold 52\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRecommended accessory\u003c\/td\u003e\n\u003ctd\u003eStorm Box Gen 1\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eSidekick Doublewide Decks ($60) — fold-out, 50 kg\/side, Lockstand Extensions required\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003ePassenger use\u003c\/td\u003e\n\u003ctd\u003eAdditional accessories required — see Tern Passenger Guide\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eTern GSD Gen 2 only\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$215\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD · set of two\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Sidekick Wide Decks Gen 2 · GSD Gen 2 · 35 kg Per Deck · 70 kg Combined · Slotted · Thru-Axle Cutout\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eSidekick Wide Decks Gen 2\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027379912804,"sku":"80127","price":215.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/21-TN-SidekickWideDecks-top.jpg?v=1709842638"},{"product_id":"tern-storm-box-mini","title":"Tern Storm Box Mini","description":"\u003cp\u003e\u003cspan\u003eThe Storm Box Mini transforms the rear of your bike into a roomy, weather-protected bucket for one passenger. It includes two weather-resistant lids—the lockable Cargo Lid Mini to protect your stuff from rain and prying eyes, and the Kid Lid Mini to keep little ones warm and cozy, even on bad-weather days.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCarries one kid in or out of a child seat, or up to 100 L of cargo\u003c\/li\u003e\n\u003cli\u003eMakes carrying long and odd-shaped objects easy—just toss them in\u003c\/li\u003e\n\u003cli\u003eFive inner pockets for stashing snacks, water bottles, kids' devices, and more\u003c\/li\u003e\n\u003cli\u003eRear loops for attaching safety lights to boost visibility\u003c\/li\u003e\n\u003cli\u003eRequires the\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/clubhouse-mini\"\u003eClubhouse Mini\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003efor installation\u003c\/li\u003e\n\u003cli\u003ePart of the\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/support\/kb\/348147\/clubhouse-fort-mini-what-it-and-how-build-it\"\u003eClubhouse Fort Mini\u003c\/a\u003e—an all-weather protected compartment for a child passenger.\u003c\/li\u003e\n\u003cli\u003eFind compatible bikes\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/support\/compatibility-checker\"\u003ehere\u003c\/a\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380076644,"sku":"305083","price":286.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/TN-StormBoxMini-HSD-kid-profile.jpg?v=1709842918"},{"product_id":"tern-storm-shield-mini","title":"Tern Storm Shield Mini","description":"\u003cp\u003e\u003cspan\u003eThe Storm Shield Mini is a weather-resistant canopy that keeps the elements out, the good vibes in, and your kid's complaints at bay. Protect your passenger from rain, snow, and wind—or roll up the side panels on sunny days to let your little one enjoy both fresh air and shade.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eProtects your young passenger from the elements\u003c\/li\u003e\n\u003cli\u003eFits one kid up to 140 cm (4'7\") tall (plus room for a helmet)\u003c\/li\u003e\n\u003cli\u003eInner pocket for wrangling snacks, toys, and other gear\u003c\/li\u003e\n\u003cli\u003eReflective accents and rear loops for safety lights help keep you visible\u003c\/li\u003e\n\u003cli\u003eRequires the\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/472\/clubhouse-mini\"\u003eClubhouse Mini\u003c\/a\u003e* for installation\u003c\/li\u003e\n\u003cli\u003ePart of the\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/support\/kb\/348147\/clubhouse-fort-mini-what-it-and-how-build-it\"\u003eClubhouse Fort Mini\u003c\/a\u003e—an all-weather protected compartment for a child passenger\u003c\/li\u003e\n\u003cli\u003eFind compatible bikes\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/support\/compatibility-checker\"\u003ehere\u003c\/a\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"text-sm\"\u003e*On the HSD, Quick Haul, and Short Haul, the Storm Shield Mini may be used with the\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/472\/captains-chair\"\u003eCaptain's Chair\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003e+\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/472\/sidekick-joyride-bars\"\u003eSidekick Joyride Bars\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003ecombo instead of the Clubhouse Mini, if the rider is 170 - 190 cm (5'7\" - 6'3\") tall. Otherwise, the Joyride Bars won't be at the height needed to use the Storm Shield Mini.\u003c\/p\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380109412,"sku":"80206","price":352.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/21-TN-ClubhouseFortMini-HSD-profile-kid-open_v02.jpg?v=1709842904"},{"product_id":"tern-sidekick-stirrups","title":"Tern Sidekick Stirrups","description":"\u003cp\u003e\u003cspan\u003eThe Sidekick Stirrups offer comfy and convenient foot support for your big kid passenger. Flexible material hugs the sides of the feet, and three secured points keep the passenger’s legs tucked safely against the sides of the bike.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eSuitable for passengers over 110 cm (3'7\") tall and between 18 - 45 kg (40 - 99 lb)\u003c\/li\u003e\n\u003cli\u003eA must-have for carrying a big kid on the Quick Haul and Short Haul when the\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/472\/cargo-hold-37-panniers\"\u003eCargo Hold 37 Panniers\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eor\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/471\/storm-box-mini\"\u003eStorm Box Mini\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eis not in use\u003c\/li\u003e\n\u003cli\u003eReflective accents boost visibility\u003c\/li\u003e\n\u003cli\u003eEasy to install and remove (no tools required)\u003c\/li\u003e\n\u003cli\u003eFlat fold when not in use for a slimmer profile\u003c\/li\u003e\n\u003cli\u003eCompatible with some panniers such as the\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/ca\/accessories\/472\/bucketload-pannier\"\u003eBucketload Pannier\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eor the Ortlieb® Back-Roller\u003c\/li\u003e\n\u003cli\u003eFind compatible bikes\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/support\/compatibility-checker\"\u003ehere\u003c\/a\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380174948,"sku":"80134","price":97.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/22-TN-QH-Stirrups-rear-closeup_web.jpg?v=1709842637"},{"product_id":"tern-sidekick-handle","title":"Tern Sidekick Handle","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n\n    .stat-sub { font-size: 9px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 2px; display: block; }\n\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\u003cdiv class=\"page\"\u003e\n\u003cnav class=\"breadcrumb\"\u003e\u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eSidekick Lower Decks\u003c\/nav\u003e\u003cheader class=\"product-header\"\u003e\n\u003cdiv class=\"badge-row\"\u003e\n\u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eSide Decks\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003e50 kg Combined\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eFootrest + Cargo\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eAluminium\u003c\/span\u003e \u003cspan class=\"badge-warn\"\u003eGSD Gen 1 Only\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"subtitle\"\u003eSidekick Lower Decks · Lower Shelf Pair · 25 kg Per Deck · GSD Gen 1 · Aluminium\u003c\/p\u003e\n\u003ch1\u003eTern Sidekick Lower Decks\u003c\/h1\u003e\n\u003cp class=\"tagline\"\u003eA pair of low-mounted aluminium shelves for the GSD Gen 1 — 25 kg per deck for cargo, or a solid place for a passenger to put their feet, carried low where the weight barely affects handling. Gen 1 only: later GSDs have lower decks built in.\u003c\/p\u003e\n\u003cdiv class=\"price-hero\"\u003e\n\u003cspan class=\"price\"\u003e$95\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · per pair\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/header\u003e\u003chr class=\"divider\"\u003e\n\u003cdiv class=\"notice\"\u003e\n\u003cstrong\u003eFits the GSD Gen 1 and nothing else.\u003c\/strong\u003e The GSD Gen 2 and Gen 3 already have lower decks integrated into the frame, so this pair has nowhere to mount and no job to do. If you have a Gen 2, the equivalent upgrade is the Sidekick Wide Decks ($215 per pair), which widen the built-in decks to 12 cm. For a Gen 3 or another Tern cargo bike, the Stow Decks ($234 per set) are the adjustable equivalent. Check which generation you have before ordering. Carrying a child on the decks also requires the seat, guard, and restraint accessories set out in Tern's Passenger Guide — a footrest on its own does not make a bike passenger-ready.\u003c\/div\u003e\n\u003cdiv class=\"stats\"\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e50 kg\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003ecombined — 110 lb\u003c\/span\u003e \u003cspan class=\"stat-sub\"\u003e25 kg (55 lb) per deck\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003eGSD Gen 1\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003efitment — no other bike\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e1.08 kg\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003eper pair — 2.4 lb\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"description\"\u003eThe GSD Gen 1 has a long rear rack and no shelf beneath it, which leaves the space between the rack and the rear axle unused and a passenger's feet with nowhere to rest. The Sidekick Lower Decks fill that gap with a pair of aluminium shelves that bolt low on the frame, one per side. The design decision worth understanding is the height: everything on these decks rides close to the axle rather than up at rack level, so a heavy load changes how the bike steers far less than the same weight carried on top. That makes them the better place for the dense, awkward items — a case of drinks, a bag of tools, a sack of soil — and it is what the shelves are really for. Serving as a passenger footrest is the second job, not the first. Later GSD generations build this shelf into the frame, which is why this pair is a Gen 1 part only.\u003c\/p\u003e\n\u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n\u003cdiv class=\"features\"\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eWeight rides low, so the bike still steers like a bike\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eLoad carried high on a rack acts as a lever against the steering, and a loaded cargo bike gets noticeably twitchy at low speed and in crosswinds. Sitting the same weight down near the axle keeps the centre of mass under you. It is the single biggest handling difference between a well-packed cargo bike and a badly packed one.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eA defined place for a passenger's feet\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eA child riding with their legs dangling will eventually find the spokes or the rear wheel with a heel — the reason footrests exist on cargo bikes at all. A fixed deck gives them somewhere to brace, which also stops the constant shifting that makes a passenger feel unstable behind you. Pair it with the Sidekick Wheel Guard L (Gen 1) so the wheel itself is covered.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003e25 kg per deck is real cargo capacity, not a token shelf\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eEach deck takes 25 kg and the pair 50 kg, which covers a full grocery run or a load of building materials on its own — before anything goes on the rack above. Balance across both sides rather than loading one: an even split is what the combined figure assumes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eWorks with Cargo Hold panniers rather than against them\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThe decks are sized to sit under the Cargo Hold pannier line, so you can run panniers and still use the shelf underneath. Bulky items that will not fit in a pannier go on the deck; the pannier keeps carrying what it always did. You are not choosing between the two.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eWhich deck fits which GSD\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThree generations, three answers. GSD Gen 1 takes these Sidekick Lower Decks ($95 per pair) — it is the only generation without a built-in shelf. GSD Gen 2 has decks already, so the upgrade is the Sidekick Wide Decks ($215 per pair) at 35 kg each, widening the platform to 12 cm for bigger feet, or the folding Sidekick Doublewide Decks ($60). GSD Gen 3 and Tern's other cargo bikes take the Stow Decks ($234 per set), which add five angle positions and mount front or rear. Identify the generation first — nothing in this family crosses between them.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n\u003cdiv class=\"spec-group\"\u003e\n\u003ctable class=\"specs-table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eSidekick Lower Decks\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eLower side decks — cargo shelf and passenger footrest\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eAluminium\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCapacity — per deck\u003c\/td\u003e\n\u003ctd\u003e25 kg (55 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCapacity — combined\u003c\/td\u003e\n\u003ctd\u003e50 kg (110 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSet weight\u003c\/td\u003e\n\u003ctd\u003e1.084 kg (2.4 lb) per pair\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions per deck\u003c\/td\u003e\n\u003ctd\u003e519 × 123 mm (20.4 × 4.8 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSold as\u003c\/td\u003e\n\u003ctd\u003ePair — both decks included\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePannier compatibility\u003c\/td\u003e\n\u003ctd\u003eCargo Hold Panniers\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePassenger use\u003c\/td\u003e\n\u003ctd\u003eAdditional accessories required — see Tern Passenger Guide\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRecommended companions\u003c\/td\u003e\n\u003ctd\u003eSidekick Wheel Guard L (Gen 1) · Sidekick Seat Pad ($90 each, Gen 1)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGSD Gen 2 equivalent\u003c\/td\u003e\n\u003ctd\u003eSidekick Wide Decks ($215 per pair) — 35 kg each, widens integrated decks to 12 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOther Tern cargo bikes\u003c\/td\u003e\n\u003ctd\u003eStow Decks ($234 per set) — 35 kg per side, 5-angle adjust, front or rear\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eSidekick Doublewide Decks ($60) — folding, GSD Gen 2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eTern GSD Gen 1 only — verify with Tern's compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"price-row\"\u003e\n\u003cspan class=\"price\"\u003e$95\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · per pair\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"sku\"\u003eTern Sidekick Lower Decks · 25 kg Per Deck · Aluminium · GSD Gen 1\u003c\/p\u003e\n\u003cdiv class=\"footer-line\"\u003e\n\u003cspan\u003eTern © 2026\u003c\/span\u003e \u003cspan\u003eSidekick Lower Decks\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380273252,"sku":"80113","price":90.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/TN-photo-sidekick_handle-seatpad-GSD-detail-1-web.jpg?v=1709842626"},{"product_id":"tern-sidekick-seat-belt","title":"Tern Sidekick Seat Belt","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\"\u003e\n\u003cdiv class=\"body\"\u003e\n\u003cp\u003e\u003cspan\u003eYour favorite co-pilots may have outgrown their child seats, but that shouldn't stop you from sharing cycling memories together. With an easy airplane-style buckle, the Sidekick Seat Belt helps your kids stay cozy in the passenger seat on any trip. You can rest assured they can continue happily joining your bike adventures for a few more years to come.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"prose mr-2 md:mr-8\"\u003e\n\u003cdiv class=\"field-key-features\"\u003e\n\u003cul\u003e\n\u003cli\u003eNo-fuss seat belt\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003efor your navigator's comfort, making your shared ride even more enjoyable\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eDesigned for kids who have outgrown the child seat and are between 110 cm - 140 cm and 22+ kg (49 lb)\u003c\/li\u003e\n\u003cli\u003eFeatures an airplane-style buckle for easy fastening and an adjustable strap for the right fit\u003c\/li\u003e\n\u003cli\u003eIncludes a clip to tidy up extra strap length and prevent it from hanging loose\u003c\/li\u003e\n\u003cli\u003eWhen riding a bike with room for two, use a pair of seat belts for up to two kids in the Clubhouse or Captain's Chair\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380338788,"sku":"80222","price":55.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/TN-Photo-SidekickSeatBelt-GSD-closeup_02_WEB.jpg?v=1709842626"},{"product_id":"tern-clubhouse-gen-3","title":"Tern Clubhouse Gen 3","description":"\u003cdiv\u003e\n\u003cul\u003e\n\u003cli\u003eComes with Child Seat Expansion Bar to support up to two compatible\u003ca rel=\"noopener\" href=\"https:\/\/www.ternbicycles.com\/tw\/support\/kb\/348020\/all-you-need-know-about-child-seats-gsd-gen-2\" target=\"_blank\"\u003e\u003cspan\u003e \u003cstrong\u003erack- mounted child seats\u003c\/strong\u003e\u003c\/span\u003e\u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eConverts into a cozy hangout for two big kids from 5 - 10 years old, 110 - 140 cm tall (3'7\" - 4'7\") when paired with the \u003cspan\u003e\u003ca href=\"https:\/\/buy.ternbicycles.com\/products\/clubhouse-backrest\"\u003eClubhouse Backrest\u003c\/a\u003e \u003c\/span\u003eand two\u003cspan\u003e\u003ca href=\"https:\/\/buy.ternbicycles.com\/products\/clubhouse-seat-pad\"\u003e Clubhouse Seat Pads\u003c\/a\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003eModular design allows you to mix and match seating configurations for setups tailored to your family’s current and future needs\u003c\/li\u003e\n\u003cli\u003eDesigned with extended side rails for added hand protection\u003c\/li\u003e\n\u003cli\u003eFits a 600 X 400 mm Eurocrate to haul all your groceries\u003c\/li\u003e\n\u003cli\u003eIncludes four bottle mounts for water bottles, coffee mugs, and locks\u003c\/li\u003e\n\u003cli\u003eSupports vertical parking when Flat Bar is used\u003c\/li\u003e\n\u003cli\u003eClubhouse Gen 3 does not include Clubhouse Backrest or Clubhouse Seat Pad.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cspan\u003eNote on dimensions and weight: The Clubhouse measures 684 × 551 × 230 mm and 2.73 kg with the Flat Bar, and 795 × 551 × 230 mm and 2.80 kg with the Child Seat Expansion Bar.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e*This product is designed to carry either passengers or cargo.\n\u003cp data-mce-fragment=\"1\"\u003e*If carrying passengers, additional accessories are required for safety. Check out our Passenger Guide to learn more: \u003cspan\u003e\u003ca rel=\"noopener\" href=\"https:\/\/www.ternbicycles.com\/tw\/tern-passenger-guide\" data-mce-fragment=\"1\" target=\"_blank\"\u003ePassenger Guide \u003c\/a\u003el\u003ca rel=\"noopener\" href=\"https:\/\/www.ternbicycles.com\/tw\/tern-cargo-guide\" data-mce-fragment=\"1\" target=\"_blank\"\u003e Cargo Guide\u003c\/a\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380371556,"sku":"80124","price":359.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at12.06.06PM.png?v=1709842600"},{"product_id":"tern-clubhouse-seat-pad","title":"Tern Clubhouse Seat Pad","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Clubhouse Seat Pad\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .stat-sub { font-size: 9px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 2px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eClubhouse Seat Pad\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eChild Seat Pad\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eAges 5–10\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eWaterproof\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eClubhouse System\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eClubhouse Carrier Required\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003ePassenger System\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eClubhouse Seat Pad · Child Passenger · Ages 5–10 · 110–140 cm · Waterproof PU · Clubhouse Gen 3 \/ Mini Gen 1\u003c\/p\u003e\n      \u003ch1\u003eTern Clubhouse Seat Pad\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA waterproof padded seat for young passengers riding on a Clubhouse carrier — ergonomically sized for children ages 5–10 (110–140 cm), quick to install and remove, and compatible with the Clubhouse Gen 3, Clubhouse Mini Gen 1, and Clubhouse Backrest Gen 1.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$55\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD · per pad\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eRequires a Clubhouse carrier — part of the Tern Passenger System.\u003c\/strong\u003e The Clubhouse Seat Pad mounts to a Clubhouse carrier (Gen 3 or Mini Gen 1), not directly to the bike rack. A compatible Clubhouse carrier must already be installed. This pad is sized for children 110–140 cm tall (approximately ages 5–10). For older or taller passengers (140 cm+), see the Sidekick Seat Pad ($90). Consult Tern's Passenger Guide for all required safety accessories before carrying any child.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eAges 5–10\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003e110–140 cm passenger\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eWaterproof\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ePU construction\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e270 mm\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eseat length (6.7 in wide)\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Clubhouse Seat Pad is a cushioned seat pad for children riding as passengers on a Tern cargo bike equipped with a Clubhouse carrier. It is sized and shaped for younger children — the 270 × 170 mm seat surface suits the smaller proportions of children aged 5 to 10 (approximately 110–140 cm tall). Polyurethane construction is fully waterproof: the pad does not absorb rain, road spray, or spills, and wipes clean without drying time. Installation and removal are tool-free, making it straightforward to switch the Clubhouse carrier between child and cargo configurations. The pad is part of the modular Clubhouse ecosystem — it combines with the Clubhouse Backrest Gen 1 for back support, and multiple pads can be configured on the Clubhouse Gen 3 for side-by-side seating.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eSized for ages 5–10 — not the Sidekick Seat Pad\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Clubhouse Seat Pad (270 × 170 mm) is designed for children 110–140 cm tall, roughly ages 5–10. The Sidekick Seat Pad ($90, 305 × 185 mm) is for passengers 140 cm and over — approximately age 10 and up. The two products cover adjacent age bands: Clubhouse Seat Pad for younger children on a Clubhouse carrier, Sidekick Seat Pad for older passengers on the rear rack. If your child is approaching 140 cm, consider which product matches their current size and which they'll grow into sooner.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFully waterproof PU — not just water-resistant\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003ePolyurethane is non-porous — it does not absorb water. Rain, road spray, and spills stay on the surface and wipe off rather than soaking in and saturating a foam layer underneath. A wet seat pad that a child sits on immediately is more comfortable than one that has absorbed water. The waterproof rating also means the pad doesn't take on moisture weight or develop odour from trapped dampness over time.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eClubhouse Gen 3 + Mini Gen 1 compatible\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe pad mounts to the Clubhouse Gen 3 and Clubhouse Mini Gen 1 carriers. The Clubhouse Gen 3 is the full-size Clubhouse carrier; the Mini Gen 1 is a compact version for bikes with tighter rear deck space. The pad fits both, though carrier capacity — and whether multiple pads can be configured — varies by carrier model.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003ePairs with Clubhouse Backrest Gen 1\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Clubhouse Backrest Gen 1 attaches to the Clubhouse carrier to give the child a backrest — important for longer rides and for children who may lean back when tired. The Seat Pad and Backrest are separate purchases and are used together as part of a complete Clubhouse passenger setup. The modular design means you can add the backrest separately without replacing the pad.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eTool-free install — cargo and passenger in one carrier\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Clubhouse carrier is designed to switch between carrying cargo and carrying a child passenger. The Seat Pad installs and removes without tools — when you need to carry cargo instead of a child, the pad comes off and the carrier functions as a cargo platform. No disassembly, no stored hardware, no tools needed at the rack.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eClubhouse Seat Pad\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eChild passenger seat pad\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003ePolyurethane (PU) — fully waterproof\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e270 × 170 × 35 mm (10.6 × 6.7 × 1.4 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e~161g per pad (~363g per set of two)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMounting\u003c\/td\u003e\n\u003ctd\u003eTool-free — Clubhouse carrier interface\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003ePassenger age\u003c\/td\u003e\n\u003ctd\u003eApprox. 5–10 years\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003ePassenger height\u003c\/td\u003e\n\u003ctd\u003e110–140 cm (3'7\"–4'7\")\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible carriers\u003c\/td\u003e\n\u003ctd\u003eClubhouse Gen 3 · Clubhouse Mini Gen 1\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible accessories\u003c\/td\u003e\n\u003ctd\u003eClubhouse Backrest Gen 1 — adds back support\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eOlder passengers\u003c\/td\u003e\n\u003ctd\u003eSidekick Seat Pad ($90) — for 140 cm+ \/ age 10+\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSystem\u003c\/td\u003e\n\u003ctd\u003eTern Passenger System — additional accessories required\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatibility\u003c\/td\u003e\n\u003ctd\u003eVerify bike and carrier fit with Tern's compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$55\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD · per pad\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Clubhouse Seat Pad · Child Passenger · Ages 5–10 · 110–140 cm · Waterproof PU · Clubhouse Gen 3 \/ Mini Gen 1\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eClubhouse Seat Pad\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380502628,"sku":"80223","price":55.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at12.08.30PM.png?v=1709842615"},{"product_id":"tern-clubhouse-backrest","title":"Tern Clubhouse Backrest","description":"\u003ch4 data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eTern Clubhouse Backrest: Ultimate Comfort and Safety for Your Young Adventurer\u003c\/strong\u003e\u003c\/h4\u003e\n\u003cp data-mce-fragment=\"1\"\u003eElevate your family biking experiences with the Tern Clubhouse Backrest, the perfect complement to the\u003cspan\u003e \u003c\/span\u003e\u003ca rel=\"noopener noreferrer\" title=\"Tern Clubhouse Seat Pad\" href=\"https:\/\/scooteretti.com\/products\/tern-clubhouse-seat-pad\" target=\"_blank\"\u003eClubhouse Seat Pad\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003efor a fully cushioned, reclining seat that your child will love. Designed specifically for all Clubhouse passenger systems, this backrest ensures that after a day full of activities, your big kid has a comfortable spot to lean back and enjoy the ride home. Ideal for children approximately 5 to 10 years old or 110 to 140 cm (3'7\" - 4'7\") tall, it's an essential upgrade for any family on the move.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eErgonomic Design for Ultimate Comfort\u003c\/strong\u003e: Tailored to fit small backs perfectly, the Clubhouse Backrest is ergonomically designed to provide the utmost comfort for your child. Its thoughtful design supports a natural sitting posture, ensuring a comfortable ride from start to finish.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eSeamless Transition Between Activities\u003c\/strong\u003e: With a tool-free, easy-on, easy-off design, the Clubhouse Backrest allows for lightning-fast transitions between carrying your kids and converting the space for cargo. This means more time enjoying your adventures and less time fussing with gear.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eEnhanced Safety Features\u003c\/strong\u003e: Safety is paramount when it comes to family biking, and the Clubhouse Backrest has been designed with this in mind. Reflective accents on the backrest improve your bike's visibility on the road, ensuring a safer ride for you and your family, no matter the time of day.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eAll-Weather Durability\u003c\/strong\u003e: The Clubhouse Backrest is waterproof, ensuring that it's ready for all-weather use. Rain or shine, your child will have a dry, comfortable spot to lean back on, making every ride enjoyable regardless of the weather conditions.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eThe Perfect Pairing\u003c\/strong\u003e: When combined with the Clubhouse Seat Pad, this backrest creates the ultimate backseat setup for your child, providing a cozy, reclining spot on your bike. Whether you're off on a family adventure or simply running errands, your child can ride in comfort and style.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe Tern Clubhouse Backrest is more than just a seat accessory; it's a commitment to your child's comfort and safety on every ride. By providing a soft, secure place to lean back and relax, combined with the ease of installation and weatherproof features, it ensures that your family's biking adventures are always a joy. Upgrade your biking setup today with the Tern Clubhouse Backrest and give your child the comfort they deserve on every journey.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan\u003eThis product is part of the Tern Passenger System. See what additional accessories are required to safely carry passengers on your bike with the \u003c\/span\u003e\u003ca rel=\"noopener\" href=\"https:\/\/www.ternbicycles.com\/en\/explore\/product-safety\/tern-passenger-guide\" title=\"Tern Passenger Guide\" target=\"_blank\"\u003eTern Passenger Guide\u003c\/a\u003e\u003cspan\u003e.\u003c\/span\u003e\u003c\/p\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380535396,"sku":"80224","price":62.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at12.05.00PM.png?v=1709842600"},{"product_id":"tern-hold-em-basket","title":"Tern Hold 'Em Basket","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\"\u003e\n\u003cdiv class=\"body\"\u003e\n\u003cp\u003eOur Hold ’Em Basket is a stout front basket that mounts on your frame when paired with the Luggage Truss or Luggage Truss\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eCMT\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003efor stable steering in the city. It’s big enough to carry a bag of groceries or a backpack and, thanks to the cinch-cover, it holds everything in place. It attaches and detaches in seconds from any bike that uses the KLICKfix® Handlebar Adapter System, making it the perfect shopping companion for urban life.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"prose mr-2 md:mr-8\"\u003e\n\u003cdiv class=\"field-key-features\"\u003e\n\u003cul\u003e\n\u003cli\u003eStout frame-mounted basket for stable cargo-carrying\u003c\/li\u003e\n\u003cli\u003eWater-resistant cinch-top cover to hold groceries and backpacks securely inside\u003c\/li\u003e\n\u003cli\u003eDurable and easy-to-clean for all-seasons use\u003c\/li\u003e\n\u003cli\u003eDetaches and attaches in seconds—the perfect shopping companion\u003c\/li\u003e\n\u003cli\u003eMounts to a Luggage Truss on the frame of your bicycle so it doesn’t affect steering\u003c\/li\u003e\n\u003cli\u003eCompatible with the KLICKfix® Handlebar Adapter System\u003c\/li\u003e\n\u003cli\u003eFind compatible bikes\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/support\/compatibility-checker\"\u003ehere\u003c\/a\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380600932,"sku":"87106","price":103.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tn-luggagetruss-w-holdem-side-v02-web.jpg?v=1709842603"},{"product_id":"tern-kontti-rear-basket","title":"Tern Kontti Rear Basket","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\"\u003e\n\u003cdiv class=\"body\"\u003e\n\u003cp\u003eThe Tern Kontti Basket is a lightweight, spacious, and virtually indestructible bike basket. It clips onto your rear rack quickly and easily with Ortlieb® pannier mounts, and sports a rugged handle for running errands in the city.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"prose mr-2 md:mr-8\"\u003e\n\u003cdiv class=\"field-key-features\"\u003e\n\u003cul\u003e\n\u003cli\u003eOne-handed mounting\/dismounting\u003c\/li\u003e\n\u003cli\u003eSpacious and light weight\u003c\/li\u003e\n\u003cli\u003eEasy to wash and keep clean\u003c\/li\u003e\n\u003cli\u003eGenuine Ortlieb® pannier mounts\u003c\/li\u003e\n\u003cli\u003eReflective strips for all-around visibility\u003c\/li\u003e\n\u003cli\u003eFind compatible bikes\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/support\/compatibility-checker\"\u003ehere\u003c\/a\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027380994148,"sku":"87110","price":103.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at12.31.10PM.png?v=1709842604"},{"product_id":"tern-cargo-hold-52-panniers","title":"Tern Cargo Hold 52 Panniers","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Cargo Hold 52 Panniers Gen 2\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .stat-sub { font-size: 9px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 2px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eCargo Hold 52 Panniers Gen 2\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003ePanniers — Pair\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e52 L Each \/ 104 L Total\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFidlock Magnetic\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e3 Modes\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e2 Child Seats\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eBluesign 1000D\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003ePannier Adapter Gen 2 Required\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eCargo Hold 52 Gen 2 · Panniers · Pair · 52 L Each · 104 L Total · 1000D Nylon · Fidlock · 2-Passenger Cargo Bikes\u003c\/p\u003e\n      \u003ch1\u003eTern Cargo Hold 52 Panniers Gen 2\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eThe largest Cargo Hold panniers — 52 litres each, 104 litres combined, Fidlock magnetic buckles, three conversion modes, compatible alongside up to two child seats simultaneously. Designed for two-passenger Tern cargo bikes. Requires Pannier Adapter Gen 2.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$421\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD · pair\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eRequires Pannier Adapter Gen 2 — sold separately.\u003c\/strong\u003e The Cargo Hold 52 Gen 2 mounts via the Pannier Adapter Gen 2, which is not included and must be purchased and installed separately. Confirm the adapter is available for your bike before ordering. Price is for a pair. If using alongside child seats, consult Tern's Passenger Guide for required safety accessories.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e52 L\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eper pannier\u003c\/span\u003e\n        \u003cspan class=\"stat-sub\"\u003e104 L combined\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e3 modes\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eBucket · Rolltop · FlatFold\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e~6.8 kg\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eload limit per pannier\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Cargo Hold 52 Gen 2 are the largest panniers in the Cargo Hold range — 52 litres per pannier and 104 litres combined, in Bluesign-certified 1000D nylon with full waterproofing. Like the Cargo Hold 37 Gen 3, they offer three conversion modes: Rolltop for weather sealing, Bucket Mode for wide-open loading of bulky items, and FlatFold for compact storage when empty. Fidlock magnetic buckles close the rolltop one-handed. The 52s are specifically designed for two-passenger Tern cargo bikes and are rated to coexist with up to two child seats mounted simultaneously — the pannier length and profile are shaped around the geometry of bikes like the GSD that carry both cargo and two passengers. A Pannier Adapter Gen 2 is required for mounting and is sold separately.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003e104 L combined — the largest Cargo Hold configuration\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eAt 52 L per pannier and 104 L combined, the Cargo Hold 52s offer 41% more volume than the Cargo Hold 37 pair (74 L combined) and nearly four times the volume of a single Cargo Hold 28 (28 L). The 6.8 kg (15 lb) per-pannier load limit is the binding constraint for dense cargo — heavy items will hit the weight limit well before filling the volume. For lighter bulky cargo like clothing, soft goods, or large grocery runs, the full 104 L is usable.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eTwo child seats simultaneously — 2-passenger cargo bike design\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Cargo Hold 52 Gen 2 is the only Cargo Hold pannier explicitly rated for use alongside two child seats at once. The 600 mm length and profile of each pannier are shaped to fit the rear section of two-passenger cargo bikes — where both panniers must coexist with two seats, two sets of footrests, and the associated hardware. The Cargo Hold 37 accommodates child seats but is not specifically designed for the two-passenger configuration. If running a GSD or similar with two child passengers and needing panniers simultaneously, the 52 is the appropriate choice.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eThree modes — Bucket, Rolltop, FlatFold\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eSame three-mode system as the Cargo Hold 37 Gen 3. Rolltop Mode seals the bag against rain with a rolled-and-buckled closure. Bucket Mode opens the top fully for drop-in loading of large or irregular items — a full grocery bag, a large jacket, a sleeping bag. FlatFold Mode collapses the empty pannier flat for storage when removed from the bike. The three modes address the main tension in pannier design: weather sealing vs. loading convenience vs. compact storage when not in use.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003ePannier Adapter Gen 2 — required, not included\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Cargo Hold 52 Gen 2 does not hang on conventional K-style pannier hooks — it mounts via the Pannier Adapter Gen 2, which attaches to the bike's rear rack and provides the specific interface the panniers clip to. The adapter must be purchased separately and installed before the panniers can be used. Confirm the Pannier Adapter Gen 2 is available for your specific bike model before ordering the panniers.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFidlock magnetic buckle — one-handed rolltop closure\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eFidlock's magnetic-assist buckle snaps shut when the two halves are brought within range, without needing precise manual alignment. On a fully loaded cargo bike with two panniers, a child seat, and whatever else is in hand, closing a rolltop one-handed is practically useful rather than just convenient. The buckle holds securely under vibration and releases with a deliberate directional pull.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eCargo Hold range — choosing between 28, 37, and 52\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Cargo Hold 28 ($138 each, sold individually) is for bikes that take a single pannier or where the smaller size fits the rack geometry — NBD, HSD, Quick Haul, Short Haul. The Cargo Hold 37 Gen 3 ($317\/pair, 74 L combined) suits most cargo bikes needing panniers alongside occasional passenger use. The Cargo Hold 52 Gen 2 ($421\/pair, 104 L combined) is specifically designed for two-passenger cargo bikes where maximum volume is needed alongside two child seats. Size up only if the two-passenger use case applies — the 52s are physically larger and the extra volume requires weight limits to be respected.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eCargo Hold 52 Panniers Gen 2\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eRolltop panniers — pair\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eVolume\u003c\/td\u003e\n\u003ctd\u003e52 L per pannier \/ 104 L combined\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLoad limit\u003c\/td\u003e\n\u003ctd\u003e~6.8 kg (15 lb) per pannier\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBag weight\u003c\/td\u003e\n\u003ctd\u003e~1.32 kg (2.92 lb) per pannier\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eNylon 1000D — Bluesign certified\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eWaterproofing\u003c\/td\u003e\n\u003ctd\u003eWaterproof construction\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eClosure\u003c\/td\u003e\n\u003ctd\u003eRolltop + Fidlock magnetic buckle (one-handed)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModes\u003c\/td\u003e\n\u003ctd\u003eBucket Mode · Rolltop Mode · FlatFold Mode\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eInternal pockets\u003c\/td\u003e\n\u003ctd\u003eYes — organisation pockets\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions per pannier\u003c\/td\u003e\n\u003ctd\u003e600 × 200 × 310 mm (23.6 × 7.9 × 12.2 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSold as\u003c\/td\u003e\n\u003ctd\u003ePair — two panniers\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRequired adapter\u003c\/td\u003e\n\u003ctd\u003ePannier Adapter Gen 2 — sold separately, mandatory\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eChild seat use\u003c\/td\u003e\n\u003ctd\u003eCompatible alongside up to 2 child seats simultaneously\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDesigned for\u003c\/td\u003e\n\u003ctd\u003eTwo-passenger Tern cargo bikes\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eCargo Hold 37 Gen 3 ($317\/pair · 74 L) · Cargo Hold 28 ($138 each · 28 L)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eTern cargo bikes — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$421\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD · pair\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Cargo Hold 52 Panniers Gen 2 · 52 L Each \/ 104 L Total · 1000D Bluesign · Fidlock · 3 Modes · Pannier Adapter Gen 2 Required\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eCargo Hold 52 Panniers Gen 2\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027381289060,"sku":"80218","price":421.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at11.59.24AM.png?v=1709842622"},{"product_id":"tern-weathertop-bag","title":"Tern WeatherTop Bag","description":"\u003cp\u003e\u003cspan\u003eYou can stop searching for the perfect bag for your Transporteur or Hauler Rack—the WeatherTop Bag is it. It's a rugged and waterproof 45L carryall made to go from your rack to your shoulder in seconds (and look good doing it). Secure Fidlock® magnetic buckles keep the bag in place while you ride and are easy to detach. Roll down the top for waterproofing and extendable volume, or tuck the top portion into the bag to create a roomy toss-and-go bucket.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreated to fit your\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/accessories\/471\/transporteur-rack\"\u003eTransporteur\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eor\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/accessories\/471\/hauler-rack\"\u003eHauler Rack\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eperfectly\u003c\/li\u003e\n\u003cli\u003eAttaches and detaches with secure, easy-to-operate Fidlock® magnetic buckles\u003c\/li\u003e\n\u003cli\u003eRecycled waterproof PET with ultrasonically welded seams keep water out\u003c\/li\u003e\n\u003cli\u003eRoll-Top Mode keeps your stuff dry in wet weather and provides extendable volume\u003c\/li\u003e\n\u003cli\u003eBuilt-in drainage system prevents water accumulation in Roll-Top Mode\u003c\/li\u003e\n\u003cli\u003eTuck the top portion into the bag to activate toss-and-go Bucket Mode\u003c\/li\u003e\n\u003cli\u003eComfy tote-style straps for strolling your farmers' market or grocery store\u003c\/li\u003e\n\u003cli\u003eInternal zipper pocket holds your wallet, keys, or phone \u003c\/li\u003e\n\u003cli\u003eFind compatible bikes\u003cspan\u003e \u003c\/span\u003e\u003ca data-kmt=\"1\" href=\"https:\/\/www.ternbicycles.com\/support\/compatibility-checker\"\u003ehere\u003c\/a\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"TERN","offers":[{"title":"New","offer_id":43033429344356,"sku":"82530","price":290.0,"currency_code":"CAD","in_stock":true},{"title":"Floor Model - USED LIKE NEW","offer_id":43033429377124,"sku":"82530","price":125.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/21-TN-WeatherTopBag-HSD-front34-closeup_0.jpg?v=1709842641"},{"product_id":"tern-glovebox","title":"Tern Glovebox","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern GloveBox\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eGloveBox\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFrame Bag\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e1.9 L\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eEVA Construction\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eWater-Resistant\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eVelcro Divider\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eQuick Haul + Short Haul Only\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eGloveBox · Frame-Mounted Bag · 1.9 L · EVA · Water-Resistant · Velcro Divider · Quick Haul \/ Short Haul\u003c\/p\u003e\n      \u003ch1\u003eTern GloveBox\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA frame-mounted storage case that fills the unused space inside the Quick Haul or Short Haul frame triangle — 1.9 L of water-resistant EVA construction, bolt-on fit, detachable velcro divider, and internal pockets for wallet, keys, lock, and ride essentials.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$90\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eQuick Haul and Short Haul only — frame geometry specific.\u003c\/strong\u003e The GloveBox bolts directly to the Quick Haul and Short Haul frame and is shaped to fit the triangle formed by those bikes' top tube, down tube, and seat tube. It is not compatible with other Tern models. Verify your specific model using Tern's compatibility checker before ordering.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e1.9 L\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003estorage volume\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eFrame\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ebolt-on triangle mount\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eEVA\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ewater-resistant shell\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern GloveBox is a compact storage case that bolts into the frame triangle of the Quick Haul and Short Haul, using space that would otherwise be empty. At 1.9 litres, it is not a cargo bag — it is a dedicated essentials compartment: wallet, keys, phone, a folding lock, an emergency puncture kit, a multi-tool. Items that need to stay on the bike regardless of what else is being carried, and that benefit from being instantly accessible rather than buried in a pannier. EVA (ethylene-vinyl acetate) construction gives the case a semi-rigid, water-resistant shell without the weight of a hard case. A detachable velcro divider allows the interior to be divided into two sections or left open as a single compartment. Internal pockets provide additional organisation within the main space.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFrame triangle mount — uses space that's already there\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Quick Haul and Short Haul frame has a triangle formed by the top tube, down tube, and seat tube that is otherwise unused. The GloveBox is shaped to fit this specific triangle — bolts directly to the frame using existing mounting points without adding a separate cage or adapter. The result is storage that doesn't change the bike's footprint, doesn't hang off a rack, and doesn't require a pannier hook. It integrates with the frame rather than adding to it.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eEVA shell — semi-rigid, water-resistant, lightweight\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eEthylene-vinyl acetate is a closed-cell foam material used in waterproof cases, wetsuit boots, and equipment padding — it doesn't absorb water and maintains its shape under moderate compression. The GloveBox's EVA construction gives it more structure than a soft bag (contents don't get crushed by a pannier leaning against it) without the rigidity of a hard case. At around 120g, it adds almost nothing to the bike's weight.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eDetachable velcro divider — two sections or one\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe interior divider separates the GloveBox into two compartments when installed — useful for keeping a phone away from keys, or a repair kit separated from a wallet. Remove the velcro divider entirely for a single open compartment that accommodates larger single items. The divider stores in the case itself so it doesn't get lost between configurations.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eAccessible while riding\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eFrame-mounted placement puts the GloveBox between the rider's knees — reachable without dismounting. Pulling out a transit card, retrieving a phone, or grabbing a key at a stop doesn't require stopping and digging through a pannier. For items that need to be retrieved frequently, the frame position is more convenient than any rack-mounted bag. The bolt-on fit keeps the case stable with no movement or bounce during the ride.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eWhat fits — and what doesn't\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003e1.9 litres accommodates: a wallet, a phone, a folding or cable lock, a multi-tool, a patch kit, a couple of tyre levers, a spare tube, earbuds, and keys — not all simultaneously, but any selection of these items. It does not accommodate: a U-lock, a water bottle, a full-size lock, a laptop, or anything requiring substantial volume. The GloveBox is an essentials compartment, not a cargo solution. It works alongside panniers and rack bags, not instead of them.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eGloveBox\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eFrame-mounted storage case\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eEVA — water-resistant, semi-rigid\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eVolume\u003c\/td\u003e\n\u003ctd\u003e1.9 L\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLoad limit\u003c\/td\u003e\n\u003ctd\u003e~2 kg (4.4 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e~120g (0.264 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e305 × 124 × 115 mm (12 × 4.9 × 4.5 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMounting\u003c\/td\u003e\n\u003ctd\u003eBolt-on — frame triangle (top tube \/ down tube \/ seat tube)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDivider\u003c\/td\u003e\n\u003ctd\u003eDetachable velcro — one or two interior compartments\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eInternal pockets\u003c\/td\u003e\n\u003ctd\u003eYes\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eWeather resistance\u003c\/td\u003e\n\u003ctd\u003eWater-resistant EVA construction\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eQuick Haul · Short Haul only — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$90\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern GloveBox · Frame Bag · 1.9 L · EVA · Water-Resistant · Velcro Divider · Quick Haul \/ Short Haul\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eGloveBox\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027381452900,"sku":"80119","price":90.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/21-TN-Glovebox-QH-top-open-2.jpg?v=1709842615"},{"product_id":"tern-carryall-trunk","title":"Tern Carryall Trunk","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern Carryall Trunk\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 08px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eCarryall Trunk\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eRear Trunk Bag\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e5.5 L\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eEVA Construction\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFidlock Magnetic Lid\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eVelcro Divider\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eShort Haul Only\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eCarryall Trunk · Short Haul Rear Section · 5.5 L · EVA · Fidlock Magnetic Lid · Velcro Divider\u003c\/p\u003e\n      \u003ch1\u003eTern Carryall Trunk\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA 5.5-litre trunk bag that fits inside the Short Haul's built-in rear compartment — water-resistant EVA shell, Fidlock magnetic lid for one-handed access, velcro divider, and a zipper mesh pocket. Contents stay hidden; panniers and rear rack stay free.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$124\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eShort Haul only — rear compartment specific.\u003c\/strong\u003e The Carryall Trunk is shaped for the enclosed rear section of the Short Haul cargo bike and is not compatible with other Tern models including the Quick Haul. Verify your bike is the Short Haul using Tern's compatibility checker before ordering.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e5.5 L\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003estorage volume\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eFidlock\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003emagnetic lid — one-handed\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eHidden\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003econtents out of sight\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern Carryall Trunk is a purpose-fitted storage bag for the Short Haul's built-in rear compartment — a covered section of the bike's rear section that sits below the rack platform. The Carryall Trunk is shaped to fill this space, turning unused enclosed frame volume into organised, accessible storage. Contents sit out of view inside the compartment and are accessed via a Fidlock magnetic lid that opens one-handed. The EVA construction is water-resistant and wipe-clean. A velcro divider separates the interior into two sections; a zipper mesh pocket provides additional organisation within the main compartment. Running the Carryall Trunk alongside panniers and rear rack cargo means a separate, secure compartment for personal items — wallet, keys, phone, sunglasses — without digging through a pannier.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eShort Haul rear compartment — built-in space, fully used\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Short Haul has an enclosed rear section below the rack platform — a cavity that exists in the frame design regardless of what accessories are fitted. Without the Carryall Trunk, this space goes unused. The trunk is specifically shaped to fill it: the dimensions match the compartment geometry so the bag sits securely inside rather than floating with excess space. It's not a generic bag attached to the bike; it's a liner for a space that's already there.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eContents hidden — personal items out of sight\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe trunk sits inside the enclosed rear compartment of the Short Haul, so its contents are not visible from outside the bike. A wallet, keys, or phone left in an open pannier are visible and accessible to anyone walking past a parked bike; the same items in the Carryall Trunk are out of sight inside the frame section. The Fidlock lid adds a positive closure on top of the concealment.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFidlock magnetic lid — single-buckle one-handed access\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Fidlock magnetic buckle on the lid opens with a pull and snaps shut when the lid is pressed closed — the same magnetic-assist mechanism used on the Cargo Hold pannier closures. Opening the trunk one-handed while standing over the bike is straightforward; no unclipping, unzipping, or two-handed operation required. The magnetic element ensures the lid snaps shut reliably rather than flopping open if not fully closed.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eVelcro divider + zipper mesh pocket\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe velcro divider separates the 5.5-litre interior into two zones — one for bulkier items, one for smaller ones — or removes entirely for a single open compartment. The zipper mesh pocket on the interior provides a separate secure section for flat items: cards, cash, folded documents, or a spare key that needs to stay separate from other contents. Both organising features are accessible from a single lid opening.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003ePanniers and rack remain free\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe Carryall Trunk fits inside the frame section and does not occupy rack space or pannier rails. A Short Haul running the Carryall Trunk plus panniers plus rear rack cargo has all three storage systems operating simultaneously — the trunk holds personal items, the panniers hold groceries or gear, the rack platform holds anything that doesn't fit elsewhere. The three systems are complementary rather than competing for the same space.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eEVA — water-resistant, lightweight, wipe-clean\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eEVA (ethylene-vinyl acetate) is a closed-cell foam\/polymer material that does not absorb water — rain and spills bead on the surface. The Carryall Trunk's EVA construction makes it resistant to the moisture that accumulates in a rear compartment from road spray and condensation. At ~244g it adds almost nothing to the bike's weight. Cleaning is a wipe with a damp cloth rather than hand-washing or air-drying fabric.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eCarryall Trunk\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eFrame rear-section trunk bag\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eEVA — water-resistant\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eVolume\u003c\/td\u003e\n\u003ctd\u003e5.5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e~244g (0.538 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e395 × 260 × 123 mm (15.6 × 10.2 × 4.8 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLid closure\u003c\/td\u003e\n\u003ctd\u003eFidlock magnetic buckle — one-handed\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDivider\u003c\/td\u003e\n\u003ctd\u003eDetachable velcro — one or two interior sections\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eInternal pocket\u003c\/td\u003e\n\u003ctd\u003eZipper mesh pocket\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRack interference\u003c\/td\u003e\n\u003ctd\u003eNone — panniers and rear rack remain fully usable\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eContents visibility\u003c\/td\u003e\n\u003ctd\u003eHidden inside enclosed rear compartment\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eRelated product\u003c\/td\u003e\n\u003ctd\u003eGloveBox ($90) — frame triangle bag for Quick Haul \/ Short Haul (1.9 L)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eTern Short Haul only — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$124\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern Carryall Trunk · Short Haul · 5.5 L · EVA · Fidlock Magnetic Lid · Velcro Divider · Rear Section\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eCarryall Trunk\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027381518436,"sku":"80499","price":124.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at12.00.56PM.png?v=1709842615"},{"product_id":"tern-ridepouch","title":"Tern RidePouch - mini bike trunk","description":"\u003cdiv class=\"prose mt-8 pb-2 mr-2 md:mr-8\"\u003e\n\u003cdiv class=\"body\"\u003eThe RidePouch is like a mini trunk for your bike. Stash here your ride essentials, such as your chain lock or flat tire kit—or you could even use it as a snack holder when you're in a hurry for work or on a school run. Rest assured, you'll save time knowing that your to-go stuff is in one place and within quick reach.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"prose mr-2 md:mr-8\"\u003e\n\u003cdiv class=\"field-key-features\"\u003e\n\u003cul\u003e\n\u003cli\u003eOne roomy bag with a wide opening for convenient access and zero-fuss storage\u003c\/li\u003e\n\u003cli\u003eStores heavier items such as your chain lock or water bottle\u003c\/li\u003e\n\u003cli\u003eHolds multiple smaller items, like a flat tire kit or some snacks for the trip\u003c\/li\u003e\n\u003cli\u003eAttaches to standard bottle cage mounts on some Tern accessories, so it won't take up space on the handlebar or handlepost\u003c\/li\u003e\n\u003cli\u003eTwo bottom drainage holes to let water out in rainy weather\u003c\/li\u003e\n\u003cli\u003eMade of water-resistant recycled PET fabric\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027381583972,"sku":"87107","price":55.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/TN-photo-NBD-RidePouch-Hauler-Rack_3-4-close-up_web.jpg?v=1709842626"},{"product_id":"tern-cargo-hold-28-pannier","title":"Tern Cargo Hold 28 Pannier","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\u003cdiv class=\"page\"\u003e\n\u003cnav class=\"breadcrumb\"\u003e\u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eCargo Hold 28 Pannier\u003c\/nav\u003e\u003cheader class=\"product-header\"\u003e\n\u003cdiv class=\"badge-row\"\u003e\n\u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003ePannier\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003e28 L\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eFidlock Magnetic\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eRolltop + Bucket Mode\u003c\/span\u003e \u003cspan class=\"badge-alt\"\u003eBluesign\u003c\/span\u003e \u003cspan class=\"badge-warn\"\u003eSold Individually\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"subtitle\"\u003eCargo Hold 28 · Pannier · 28 L · 1000D Nylon · Waterproof Liner · Fidlock · Rolltop · NBD \/ HSD \/ Quick Haul \/ Short Haul\u003c\/p\u003e\n\u003ch1\u003eTern Cargo Hold 28 Pannier\u003c\/h1\u003e\n\u003cp class=\"tagline\"\u003eA 28-litre rolltop pannier in 1000D nylon with a waterproof liner — Fidlock magnetic buckle for one-handed closure, a Bucket Mode for easy loading of bulky items, reflective detailing, and Bluesign certified fabric. Sold individually.\u003c\/p\u003e\n\u003cdiv class=\"price-hero\"\u003e\n\u003cspan class=\"price\"\u003e$138\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · each\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/header\u003e\u003chr class=\"divider\"\u003e\n\u003cdiv class=\"notice\"\u003e\n\u003cstrong\u003eSold individually — price is per pannier.\u003c\/strong\u003e The Cargo Hold 28 is priced and sold as a single pannier, not a pair. Most riders use two; budget $276 for a matched set. Load limit is 4 kg (9 lb) per pannier. Verify rack compatibility with your specific bike using Tern's compatibility checker — designed for the NBD, HSD, Quick Haul, and Short Haul.\u003c\/div\u003e\n\u003cdiv class=\"stats\"\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e28 L\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003evolume per pannier\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e4 kg\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003eload limit per pannier\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-value\"\u003e490 g\u003c\/span\u003e \u003cspan class=\"stat-label\"\u003ebag weight each\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"description\"\u003eThe Tern Cargo Hold 28 Pannier is a 28-litre rolltop bag in 1000-denier nylon with a waterproof internal liner, designed for the rear racks of the NBD, HSD, Quick Haul, and Short Haul. The rolltop closure gives variable volume — roll down further for a smaller, lighter load; roll less for a fully stuffed 28 litres. Opening the top wide converts the bag to Bucket Mode: a wide open container that makes loading bulky or irregular items easier than threading them through a smaller opening. A Fidlock magnetic buckle locks the rolled top shut with one hand — no fumbling with clips while wearing gloves or managing other cargo. Bluesign certified 1000D nylon means the fabric meets sustainability standards for dye and manufacturing processes. Reflective decals on the exterior improve rear visibility at night.\u003c\/p\u003e\n\u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n\u003cdiv class=\"features\"\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eRolltop + Bucket Mode — two opening configurations\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eThe rolltop closure seals the bag for weather protection and security — roll the top down multiple times and clip the Fidlock to close. Opening the top and folding it back converts the pannier to Bucket Mode: a wide-open rectangular container with no top restriction. Bucket Mode makes it straightforward to drop in a grocery bag, a change of shoes, or anything that's hard to feed through the tighter rolltop opening. The two modes address the trade-off between access convenience and weather sealing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eFidlock magnetic buckle — one-handed closure\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eFidlock makes magnetic-assisted buckle systems used in cycling, outdoor, and marine gear. The magnetic element guides the two buckle halves together when brought close — they snap shut without needing to visually align a male\/female connector. One-handed closure is the practical result: useful when the other hand is holding cargo, a lock, or a phone. The buckle releases with a pull in the correct direction and resists accidental opening under load.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003e1000D nylon + waterproof liner — durable and dry\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003e1000 denier (1000D) nylon is the standard for high-durability panniers — the same weight used in motorcycle luggage and heavy-duty cycling bags. The thick weave resists abrasion from rack contact, road debris, and general handling. The waterproof internal liner is a separate sealed layer inside the bag body — rain that penetrates the outer fabric is stopped at the liner, keeping contents dry without relying on the outer nylon to be fully waterproof under sustained rain.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eBluesign certified fabric — sustainable production\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eBluesign is an independent certification for textile manufacturing that covers chemical use, water consumption, energy use, and worker safety in the dyeing and finishing process. Bluesign certified fabric means the nylon was produced to verified environmental and safety standards — relevant for buyers who consider the supply chain alongside the product itself. The certification applies to the fabric, not the bag as a whole.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eChild seat compatible — stays closed alongside passenger\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eOn HSD, Quick Haul, and Short Haul bikes equipped with a child seat, the Cargo Hold 28 can remain mounted and closed while the child seat is in use. The pannier positioning on these bikes is designed to allow both simultaneously — the bag doesn't need to be removed when switching to passenger mode. Confirm this with Tern's compatibility checker for your specific bike and child seat combination.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"feature\"\u003e\n\u003cdiv class=\"feature-accent\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"feature-content\"\u003e\n\u003cp class=\"feature-title\"\u003eReflective decals — rear visibility at night\u003c\/p\u003e\n\u003cp class=\"feature-desc\"\u003eReflective elements on the pannier exterior return light from vehicle headlights when riding at night. A loaded pannier on the rear of the bike is directly in the sightline of following traffic — reflective detailing on the bag itself contributes to overall rear visibility independent of the bike's dedicated rear light. The reflective areas are positioned on the most visible faces of the pannier when mounted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n\u003cdiv class=\"spec-group\"\u003e\n\u003ctable class=\"specs-table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eCargo Hold 28 Pannier\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eRolltop pannier\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVolume\u003c\/td\u003e\n\u003ctd\u003e28 L per pannier\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLoad limit\u003c\/td\u003e\n\u003ctd\u003e4 kg (9 lb) per pannier\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBag weight\u003c\/td\u003e\n\u003ctd\u003e~490g (1.08 lb) per pannier\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eNylon 1000D — Bluesign certified\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWaterproofing\u003c\/td\u003e\n\u003ctd\u003eWaterproof internal liner + weather-resistant exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eClosure\u003c\/td\u003e\n\u003ctd\u003eRolltop + Fidlock magnetic buckle (one-handed)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBucket Mode\u003c\/td\u003e\n\u003ctd\u003eYes — wide-open loading configuration\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eReflective\u003c\/td\u003e\n\u003ctd\u003eYes — exterior reflective decals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e330 × 200 × 310 mm (13 × 7.9 × 12.2 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSold as\u003c\/td\u003e\n\u003ctd\u003eIndividually — one pannier per purchase\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eChild seat use\u003c\/td\u003e\n\u003ctd\u003eCompatible alongside child seats — HSD · Quick Haul · Short Haul\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eNBD · HSD · Quick Haul · Short Haul — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"price-row\"\u003e\n\u003cspan class=\"price\"\u003e$138\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eCAD · each\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"sku\"\u003eTern Cargo Hold 28 Pannier · 28 L · 1000D Nylon · Fidlock · Rolltop + Bucket Mode · Bluesign · Sold Individually\u003c\/p\u003e\n\u003cdiv class=\"footer-line\"\u003e\n\u003cspan\u003eTern © 2026\u003c\/span\u003e \u003cspan\u003eCargo Hold 28 Pannier\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027381715044,"sku":"80130","price":138.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at11.57.56AM.png?v=1709842614"},{"product_id":"tern-weathertop-cooler","title":"Tern WeatherTop Cooler","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern WeatherTop Cooler\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eWeatherTop Cooler\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eInsulated Cooler Bag\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e26 L\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eAirtight Zipper\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eUltrasonic Seams\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFDA + BPA-Free\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eOn + Off Bike\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eVerify Rack Compatibility\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eWeatherTop Cooler · 26 L · TPU Nylon · Ultrasonic Welded · Airtight Zipper · FDA-Compliant Liner · Transporteur \/ Hauler \/ Captain's Chair Gen 2\u003c\/p\u003e\n      \u003ch1\u003eTern WeatherTop Cooler\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA 26-litre insulated cooler bag for Tern cargo bike racks — TPU-coated nylon, ultrasonic welded seams, airtight zipper, and an FDA-compliant BPA-free food liner. Keeps cold things cold on the bike; usable as a standalone cooler off it. Wraps with reflective decals for visibility.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$372\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eVerify rack compatibility before ordering.\u003c\/strong\u003e The WeatherTop Cooler mounts via built-in straps and quick-release buckles to the Transporteur Rack, Hauler Rack, and Captain's Chair Gen 2. Confirm your rack model and mounting geometry using Tern's compatibility checker. Maximum load is 6.8 kg (15 lb).\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e26 L\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ecooler volume\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eAirtight\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ezipper + ultrasonic seams\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eFDA\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eBPA-free food liner\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern WeatherTop Cooler is a purpose-built insulated bag for cargo bike racks — not a soft cooler strapped down as an afterthought, but a bag engineered around the rack mounting systems of the Transporteur, Hauler, and Captain's Chair Gen 2. TPU-coated nylon and ultrasonic welded seams replace stitched construction at all seam points — stitching creates needle holes through which water and warm air enter; ultrasonic welding fuses the material without puncturing it. An airtight zipper seals the main compartment. Inside, an FDA-compliant, BPA-free food-contact liner makes the cooler safe for raw food, produce, drinks, and anything else that needs to stay cold and hygienic. Wraparound reflective decals maintain rear visibility when the cooler is the most prominent object on the back of the bike. The bag detaches quickly and functions as a standalone cooler off the bike — at the market, at the beach, or at a trailhead.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eUltrasonic welded seams — no needle holes\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eConventional bag construction stitches panels together, leaving tiny needle holes at every stitch point through which water and warm air can slowly enter. Ultrasonic welding fuses TPU-coated nylon panels together using high-frequency vibration — no needles, no thread, no holes in the seam line. The result is a seam that is genuinely airtight and waterproof rather than just water-resistant. For a cooler where thermal retention depends on the seal quality, this construction method matters.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eAirtight zipper — keeps cold in\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eAn airtight zipper maintains the cold compartment seal when closed. Standard zippers allow air exchange at the teeth — acceptable for a regular bag, but counter to the purpose of a cooler where keeping cold air inside is the goal. The airtight zipper works with the welded seams to make the cooler function as a sealed thermal environment rather than a loosely insulated bag.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eFDA-compliant, BPA-free food liner\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe internal liner meets FDA food-contact standards — it's safe for direct contact with raw food, produce, loose groceries, drinks, and anything else that shouldn't touch a generic bag interior. BPA-free construction means no bisphenol A in the liner material. For a cooler used to carry groceries directly from the store, the food-safety specification of the liner is as relevant as the thermal performance.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eTPU-coated nylon — waterproof inside and out\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThermoplastic polyurethane (TPU) coating bonds to the nylon fabric and makes it impermeable to water and most liquids. The coating is applied to both interior and exterior surfaces — road spray, rain, and condensation from cold contents stay where they belong. The EVA base layer provides additional structure and insulation at the bottom where contents rest. Together, the materials make the cooler cleanable with a wipe or rinse rather than requiring hand washing.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eOn-bike and off-bike use\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe WeatherTop Cooler mounts to compatible Tern racks via built-in quick-release buckle straps and detaches in seconds. Off the bike, it functions as a standalone soft cooler — handles allow it to be carried to a picnic, beach, or campsite. The same thermal performance that keeps groceries cold during a 20-minute bike ride keeps drinks cold for hours in a static setting. The two use cases share one bag without compromise or conversion.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eWraparound reflective decals — visibility when loaded\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eWhen the WeatherTop Cooler is mounted on a rear rack, it is the largest object at the back of the bike — and the most visible to following traffic. Reflective decals wrap around the cooler's exterior, returning light from vehicle headlights at night. The wraparound coverage means the cooler is reflective from any rearward angle, not just directly behind.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eWeatherTop Cooler\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eInsulated soft cooler bag — on + off bike\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eVolume\u003c\/td\u003e\n\u003ctd\u003e26 L\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eLoad limit\u003c\/td\u003e\n\u003ctd\u003e6.8 kg (15 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e~660g (1.46 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eExterior material\u003c\/td\u003e\n\u003ctd\u003eTPU-coated nylon\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBase material\u003c\/td\u003e\n\u003ctd\u003eEVA\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eSeam construction\u003c\/td\u003e\n\u003ctd\u003eUltrasonic welded — no needle holes\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eZipper\u003c\/td\u003e\n\u003ctd\u003eAirtight\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eInterior liner\u003c\/td\u003e\n\u003ctd\u003eFDA-compliant · BPA-free food-contact material\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCleaning\u003c\/td\u003e\n\u003ctd\u003eRinse and wipe\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eReflective\u003c\/td\u003e\n\u003ctd\u003eYes — wraparound exterior decals\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e320 × 670 × 370 mm (12.6 × 26.4 × 14.6 in)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMounting\u003c\/td\u003e\n\u003ctd\u003eBuilt-in straps + quick-release buckles\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible racks\u003c\/td\u003e\n\u003ctd\u003eTransporteur Rack · Hauler Rack · Captain's Chair Gen 2 — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$372\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern WeatherTop Cooler · 26 L · TPU Nylon · Ultrasonic Welded · Airtight Zipper · FDA + BPA-Free · Transporteur \/ Hauler \/ Captain's Chair Gen 2\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eWeatherTop Cooler\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027382075492,"sku":"82531","price":372.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/TN-weathertopcooler_HSD_R34-web.jpg?v=1709842638"},{"product_id":"tern-carryon-cover-2-0","title":"Tern CarryOn Cover","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern CarryOn Cover\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003eCarryOn Cover\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFolded Bike Cover\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eCover Without Lifting\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eShoulder Carry\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eMounts On Bike\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e~202g\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eVerify Bike Compatibility\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003eCarryOn Cover · Folded Bike Cover · Nylon · Shoulder Carry · Self-Storing · Most Tern Folding Bikes\u003c\/p\u003e\n      \u003ch1\u003eTern CarryOn Cover\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA lightweight nylon cover for a folded Tern bike — wraps around the bike without lifting it, straps secure for shoulder carry, and the cover stores on the bike between uses via seatpost, stem, rack, or under-seat mounting. Keeps grease off transit seats and surroundings.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$90\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eA cover, not an enclosing bag.\u003c\/strong\u003e The CarryOn Cover wraps around and over a folded bike — it does not enclose it in a zipper-sealed bag like the Stow Bag Gen 2. For transit systems or airlines that require full enclosure, the Stow Bag Gen 2 ($248) is the appropriate choice. For everyday transit coverage that keeps grease off surroundings, the CarryOn Cover is the lighter, faster, and lower-cost option. Verify compatibility with your Tern folding bike using Tern's compatibility checker.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e~202g\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ecover weight (0.446 lb)\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eNo lift\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ecover without lifting bike\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eSelf-stores\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003emounts on the bike\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern CarryOn Cover is a lightweight nylon cover designed to wrap around a folded Tern bike for transit use — preventing the bike's chain, tyres, and frame from transferring grease and grime to train seats, bus floors, office carpets, and anyone standing nearby. The key design choice is covering without lifting: the cover goes over the folded bike while it stands or sits on the ground, then internal quick-fasten straps secure it and allow it to be carried over the shoulder. At around 202g, it adds almost nothing to the bike's travelling weight. When not in use on transit, the cover stows directly on the bike via a built-in pouch that mounts to the seatpost, handlebar stem, rack, or under the saddle — always there when needed.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eCover without lifting — fold, cover, go\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eA folded Tern bike weighs 10–15+ kg depending on the model. Lifting the folded bike to thread it through a bag is awkward on a platform, in a carriage doorway, or in a narrow corridor. The CarryOn Cover drapes over the bike while it sits on the ground — no lifting required to get the cover on. Once the internal straps are fastened, the carrying handle and shoulder strap allow the covered bike to be lifted and moved normally.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eQuick-fasten internal straps — secure and carriable\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eInternal straps underneath the cover wrap around the folded bike's frame and secure the cover in place. Once fastened, the bike and cover move as a unit — the cover doesn't slip off when the bike is lifted. The padded shoulder component distributes the weight of the covered bike across the shoulder for carrying through stations and up stairs. The strap system is designed for speed: covering and securing takes seconds, not minutes.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eStores on the bike — always available\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe CarryOn Cover packs into its own integrated pouch, which mounts directly to the bike via seatpost, handlebar stem, rack, or under-seat attachment. The cover travels with the bike and is always available at the moment it's needed — getting off at a transit station, entering an office building, or loading into a car. There is no separate bag to remember, no pouch left at home. The non-slip surface on the pouch keeps it in place at the mount point without shifting during the ride.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eTransit grease protection — bike and surroundings\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eA folded bike's chain, tyres, and frame sit at an angle that puts greasy surfaces against whatever is nearby — a fellow passenger's coat, a fabric train seat, a carpeted office floor. The CarryOn Cover keeps all of these surfaces contained. Transit systems in many cities require bikes to be covered during restricted hours; the CarryOn Cover is designed specifically for this use case rather than being adapted from a generic bike bag.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eCarryOn Cover vs Stow Bag Gen 2 — which one?\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe CarryOn Cover ($90, ~202g) is a wrap-and-carry cover — fast to deploy, lightweight, stores on the bike, no full enclosure. The Stow Bag Gen 2 ($248, ~620g) is a fully enclosed zipper bag with padded lining and metal hardware — more protection, full enclosure, internal pockets. For daily transit use where speed and weight matter, the CarryOn Cover is the practical choice. For flying, long train journeys where full enclosure is required, or wherever the bike needs more protection, the Stow Bag is the appropriate option.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eCarryOn Cover\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eFolded bike cover — wrap style\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eNylon\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e1,100 × 1,005 mm (43.3 × 39.6 in) — flat\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e~202g (0.446 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCarry capacity\u003c\/td\u003e\n\u003ctd\u003e18 kg (39.7 lb) bike weight supported\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCarry system\u003c\/td\u003e\n\u003ctd\u003ePadded shoulder strap + quick-fasten internal straps\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDeployment\u003c\/td\u003e\n\u003ctd\u003eCovers without lifting — drape over folded bike\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eStorage\u003c\/td\u003e\n\u003ctd\u003ePacks into integrated pouch — mounts to bike\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003ePouch mounts\u003c\/td\u003e\n\u003ctd\u003eSeatpost · handlebar stem · rack · under seat\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eStow Bag Gen 2 ($248) — full enclosure, padded, metal zippers\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eMost Tern folding bikes — verify with Tern compatibility checker\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$90\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern CarryOn Cover · Folded Bike Cover · Nylon · Shoulder Carry · Self-Storing · No-Lift Deployment\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003eCarryOn Cover\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027382894692,"sku":"88109","price":90.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/Screenshot2024-03-06at12.03.23PM.png?v=1709842614"},{"product_id":"tern-quickcover-large","title":"Tern QuickCover, Large","description":"\u003cp\u003eThe QuickCover lets you roll, store, or carry your bike while covered. Its unique design shrouds the bike, yet leaves the bottom open—so your bike is ready to roll, and your cover is extra quick to take on and off. Best of all, since it’s light and stuffs down small, you can keep it with you so you’re always ready to bring your bike on trains and buses.\u003cbr\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eZips on and off in seconds—so you can roll, store, and carry your covered bike\u003c\/li\u003e\n\u003cli\u003eLightweight with integrated stuff-sack for always-available convenience\u003c\/li\u003e\n\u003cli\u003eUnique design covers the bike, but leaves the bottom open—so it’s ready to roll\u003c\/li\u003e\n\u003cli\u003eDrawstring closure for a snug fit\u003c\/li\u003e\n\u003cli\u003eRipstop construction, for durability and water-resistance\u003c\/li\u003e\n\u003cli\u003eFits 20” (M), 24”, and 26” (L) Tern bikes, even with racks and fenders\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027382960228,"sku":"88113","price":45.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/21-TN-LockstandQuadstruts-open-34rear_web-v03_fff4adfb-9814-4135-8cc3-b4f61e91f263.jpg?v=1709842626"},{"product_id":"tern-pop-cover","title":"Tern Pop Cover","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eTern PopCover\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600\u0026amp;family=DM+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --black: #111110; --white: #fafaf8; --gray-100: #f5f5f3; --gray-200: #e8e8e5;\n      --gray-400: #a8a8a4; --gray-600: #6b6b67; --accent: #d95f2b; --accent-light: #f5e8e0;\n      --font-sans: 'DM Sans', sans-serif; --font-mono: 'DM Mono', monospace;\n    }\n    body { font-family: var(--font-sans); background: var(--white); color: var(--black); min-height: 100vh; padding: 0; }\n    .page { max-width: 760px; margin: 0 auto; padding: 3rem 2rem 5rem; }\n    .breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); margin-bottom: 2.5rem; letter-spacing: 0.02em; flex-wrap: wrap; }\n    .breadcrumb span { color: var(--gray-200); }\n    .product-header { margin-bottom: 2rem; }\n    .badge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 0.75rem; }\n    .badge { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--accent-light); color: var(--accent); border: 1px solid #e8c4ae; border-radius: 3px; padding: 3px 8px; }\n    .badge-alt { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: var(--gray-100); color: var(--gray-600); border: 1px solid var(--gray-200); border-radius: 3px; padding: 3px 8px; }\n    .badge-warn { display: inline-block; font-size: 10px; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; background: #fff8e1; color: #b45309; border: 1px solid #fde68a; border-radius: 3px; padding: 3px 8px; }\n    h1 { font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 0.35rem; letter-spacing: -0.025em; }\n    .subtitle { font-size: 13px; font-family: var(--font-mono); color: var(--gray-400); letter-spacing: 0.04em; margin-bottom: 0.5rem; }\n    .tagline { font-size: 16px; color: var(--gray-600); line-height: 1.5; }\n    .price-hero { display: flex; align-items: baseline; gap: 10px; margin-top: 1rem; }\n    .price-hero .price { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-hero .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .divider { border: none; border-top: 1px solid var(--gray-200); margin: 2rem 0; }\n    .description { font-size: 15px; line-height: 1.75; color: #333332; margin-bottom: 2rem; }\n    .notice { background: #fff8e1; border: 1px solid #fde68a; border-radius: 8px; padding: 0.9rem 1.1rem; font-size: 13px; color: #92400e; margin-bottom: 2rem; line-height: 1.5; }\n    .notice strong { font-weight: 600; }\n    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-200); border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .stat { background: var(--white); padding: 1.1rem 0.75rem; text-align: center; }\n    .stat-value { font-size: 17px; font-weight: 600; color: var(--black); letter-spacing: -0.02em; display: block; }\n    .stat-label { font-size: 10px; color: var(--gray-400); font-family: var(--font-mono); margin-top: 4px; display: block; }\n    .section-label { font-size: 13px; font-family: var(--font-sans); font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--accent); display: inline-block; }\n    .features { display: flex; flex-direction: column; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }\n    .feature { display: grid; grid-template-columns: 3px 1fr; border-bottom: 1px solid var(--gray-200); transition: background 0.15s; }\n    .feature:last-child { border-bottom: none; }\n    .feature:hover { background: var(--gray-100); }\n    .feature-accent { background: transparent; transition: background 0.15s; }\n    .feature:hover .feature-accent { background: var(--accent); }\n    .feature-content { padding: 1.1rem 1.25rem; }\n    .feature-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 3px; }\n    .feature-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; }\n    .spec-group { margin-bottom: 1.75rem; }\n    .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; font-size: 13px; }\n    .specs-table tr { border-bottom: 1px solid var(--gray-200); }\n    .specs-table tr:last-child { border-bottom: none; }\n    .specs-table tr:hover td { background: var(--gray-100); }\n    .specs-table td { padding: 9px 14px; background: var(--white); transition: background 0.1s; vertical-align: top; }\n    .specs-table td:first-child { color: var(--gray-600); font-family: var(--font-mono); font-size: 11px; width: 42%; letter-spacing: 0.01em; }\n    .specs-table td:last-child { color: var(--black); font-weight: 500; }\n    .price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 0.4rem; }\n    .price { font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--black); }\n    .price-note { font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); }\n    .sku { font-size: 11px; color: var(--gray-400); font-family: var(--font-mono); letter-spacing: 0.04em; margin-bottom: 2rem; }\n    .footer-line { border-top: 1px solid var(--gray-200); padding-top: 1.5rem; font-size: 12px; color: var(--gray-400); font-family: var(--font-mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }\n    @media (max-width: 560px) { h1 { font-size: 26px; } .stats { grid-template-columns: repeat(2, 1fr); } .page { padding: 2rem 1.25rem 4rem; } }\n  \u003c\/style\u003e\n\n\n  \u003cdiv class=\"page\"\u003e\n\n    \u003cnav class=\"breadcrumb\"\u003e\n      \u003cspan\u003eaccessories\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003e\u003cspan\u003etern\u003c\/span\u003e\u003cspan\u003e\/\u003c\/span\u003ePopCover\n    \u003c\/nav\u003e\n\n    \u003cheader class=\"product-header\"\u003e\n      \u003cdiv class=\"badge-row\"\u003e\n        \u003cspan class=\"badge\"\u003eTern\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eFolded Bike Cover\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003ePops Open Instantly\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eDual Mode\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003eWater-Resistant\u003c\/span\u003e\n        \u003cspan class=\"badge-alt\"\u003e~195g\u003c\/span\u003e\n        \u003cspan class=\"badge-warn\"\u003eBYB Only\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"subtitle\"\u003ePopCover · BYB · Pop-Open Cover · Dual Mode · Water-Resistant Nylon · Metro Transit Rack Storage\u003c\/p\u003e\n      \u003ch1\u003eTern PopCover\u003c\/h1\u003e\n      \u003cp class=\"tagline\"\u003eA pop-open cover built for the Tern BYB — slips over the folded bike in seconds, works in both fully-folded and handlebars-raised configurations, and stores in a flat pouch that attaches to the Metro Transit Rack. Roll the covered BYB through stations without exposing others to grease.\u003c\/p\u003e\n      \u003cdiv class=\"price-hero\"\u003e\n        \u003cspan class=\"price\"\u003e$90\u003c\/span\u003e\n        \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003chr class=\"divider\"\u003e\n\n    \u003cdiv class=\"notice\"\u003e\n      \u003cstrong\u003eTern BYB only.\u003c\/strong\u003e The PopCover is engineered specifically for the BYB's folded geometry and stores in a pouch that attaches to the BYB's Metro Transit Rack. It is not compatible with other Tern folding bike models. For most other Tern folding bikes, see the CarryOn Cover ($90).\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"stats\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eSeconds\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003eto deploy — pops open\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003eDual\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003emode — folded or bars up\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n        \u003cspan class=\"stat-value\"\u003e~195g\u003c\/span\u003e\n        \u003cspan class=\"stat-label\"\u003ecover weight (0.43 lb)\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"description\"\u003e\n      The Tern PopCover is a transit cover designed around the BYB's specific fold profile. It opens like a pop-up structure and slips over the folded bike — the cover expands into shape rather than requiring the bike to be threaded through an opening. Two modes are supported: fully folded (the BYB's most compact configuration) and handlebars-raised (a common intermediate position used for rolling through stations). In either mode, the cover contains the BYB's chain, tyres, and drivetrain to prevent grease transfer to transit seats, fellow passengers, and floors. At around 195g, the cover adds almost nothing to the bike's travelling weight. When not needed, it twists down and packs into a flat pouch that clips directly to the BYB's Metro Transit Rack — within reach the moment the bike enters a transit system.\n    \u003c\/p\u003e\n\n    \u003cp class=\"section-label\"\u003eHighlights\u003c\/p\u003e\n    \u003cdiv class=\"features\"\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003ePop-open deployment — cover in seconds\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe PopCover opens automatically when released from its pouch — the nylon structure pops into shape rather than needing to be shaken out or spread. Slipping it over the folded BYB takes seconds: open the pouch, release the cover, slide it over the bike. The speed matters at a transit entry point where there's a gate to pass through, a crowd behind, and a train to catch. A cover that takes 30 seconds to deploy is effectively not used; one that takes 5 seconds gets used every time.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eDual mode — fully folded or handlebars raised\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe BYB has two useful transit configurations: fully folded (smallest footprint, typically carried) and handlebars-raised (taller but allows the bike to be rolled on its wheels rather than carried). The PopCover accommodates both — the same cover fits in either position without needing adjustment or a different product. Rolling a covered BYB through a station on its wheels is significantly easier than carrying it, and the PopCover's handlebars-raised mode makes this possible while keeping the bike covered.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eMetro Transit Rack storage — always on the bike\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe PopCover's flat storage pouch attaches directly to the BYB's Metro Transit Rack — the rack that comes with or is fitted to the BYB for transit use. The cover is always on the bike, not in a separate bag or at home. At transit entry, it comes off the rack, pops open, and goes over the bike without any additional steps. When the covered stage ends, the cover twists back into its flat pouch and re-attaches to the rack before riding continues.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003eWater-resistant — handles rain at transit entrances\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eThe nylon cover is water-resistant — light rain at transit station entrances and covered outdoor platforms won't soak through immediately. The primary function is grease containment, not waterproofing, but the water-resistant fabric means the cover stays functional in the typical British or West Coast Canadian rain encountered while moving between transit modes.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"feature\"\u003e\n        \u003cdiv class=\"feature-accent\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"feature-content\"\u003e\n          \u003cp class=\"feature-title\"\u003ePopCover vs CarryOn Cover — BYB owners\u003c\/p\u003e\n          \u003cp class=\"feature-desc\"\u003eBoth covers are $90 and made from nylon. The PopCover is BYB-specific — shaped for the BYB's fold, stores on the Metro Transit Rack, and supports the handlebars-raised rolling mode. The CarryOn Cover ($90) fits most other Tern folding bikes, covers without lifting, and stores via seatpost, stem, rack, or under-seat attachment. If you have a BYB, the PopCover is the purpose-built choice. For any other Tern folding bike, the CarryOn Cover is the appropriate option.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"section-label\"\u003eSpecifications\u003c\/p\u003e\n    \u003cdiv class=\"spec-group\"\u003e\n      \u003ctable class=\"specs-table\"\u003e\n        \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eTern\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003ePopCover\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003ePop-open folded bike cover\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eNylon — water-resistant\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e580 × 280 × 770 mm (22.8 × 11 × 30.3 in) deployed\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e~195g (0.43 lb)\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eDeployment\u003c\/td\u003e\n\u003ctd\u003ePop-open — slips over folded bike in seconds\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eModes\u003c\/td\u003e\n\u003ctd\u003eFully folded · handlebars raised\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eStorage\u003c\/td\u003e\n\u003ctd\u003eFlat pouch — attaches to Metro Transit Rack\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003ePrimary use\u003c\/td\u003e\n\u003ctd\u003eTransit grease containment — trains, buses, stations\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eAlso available\u003c\/td\u003e\n\u003ctd\u003eCarryOn Cover ($90) — most other Tern folding bikes\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003ctd\u003eCompatible bikes\u003c\/td\u003e\n\u003ctd\u003eTern BYB only\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"price-row\"\u003e\n      \u003cspan class=\"price\"\u003e$90\u003c\/span\u003e\n      \u003cspan class=\"price-note\"\u003eCAD\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"sku\"\u003eTern PopCover · BYB · Pop-Open · Dual Mode · Water-Resistant Nylon · Metro Transit Rack Storage\u003c\/p\u003e\n\n    \u003cdiv class=\"footer-line\"\u003e\n      \u003cspan\u003eTern © 2026\u003c\/span\u003e\n      \u003cspan\u003ePopCover\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/body\u003e","brand":"TERN","offers":[{"title":"Default Title","offer_id":43027383025764,"sku":"82510","price":90.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0264\/2421\/3557\/files\/tn-byb-popcover-trolleying-hp-0.jpg?v=1709842626"}],"url":"https:\/\/powerinmotion.ca\/fr\/collections\/tern-accessories.oembed?page=9","provider":"Power in Motion","version":"1.0","type":"link"}