{"product_id":"tesway-front-basket","title":"TESWAY Front Basket","description":"\u003c!-- =====================================================================\n  SEO FIELDS — TESWAY Front Basket\n  =====================================================================\n  PAGE TITLE:        TESWAY Front Basket | Zeus eBikes Canada\n  META DESCRIPTION:  Handlebar-mounted front cargo basket for Tesway eBikes. Quick-access storage for groceries, bags, and daily essentials. Ships from Canada.\n  URL HANDLE:        tesway-front-basket\n  PRODUCT TYPE:      Accessories\n  VENDOR:            Tesway\n  SHOPIFY PRODUCT TAGS: tesway front basket, ebike front basket, tesway accessories, ebike cargo basket, front basket electric bike, zeus ebikes\n  OG IMAGE ALT TEXT: TESWAY front cargo basket mounted on an eBike handlebar — sturdy black mesh design for daily errands\n  ===================================================================== --\u003e\n\n\u003cscript type=\"application\/ld+json\"\u003e\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Product\",\n  \"name\": \"TESWAY Front Basket\",\n  \"brand\": {\n    \"@type\": \"Brand\",\n    \"name\": \"Tesway\"\n  },\n  \"description\": \"Handlebar-mounted front cargo basket for Tesway eBikes. Quick-access storage for groceries, bags, and daily essentials.\",\n  \"sku\": \"TW-FrontBasket\"\n}\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n\/* =====================================================================\n   ZEUS eBIKES — ARTICLE STYLES  (zeus-article.css)\n   Version: 2.0 | February 2026 — Premium Editorial Redesign\n\n   DESIGN LANGUAGE: High-end editorial magazine. Inspired by Bloomberg,\n   Monocle, and Robb Report. Rich typography, generous whitespace,\n   warm charcoal + champagne gold accent palette. Every element earns\n   its space.\n\n   All selectors scoped under .zeus-article. No globals. No inheritance.\n   ===================================================================== *\/\n\n\n\/* =================================================================\n   WRAPPER\n   ================================================================= *\/\n.zeus-article {\n  color: #2a2a2a;\n  line-height: 1.85;\n  font-size: 17.5px;\n  letter-spacing: -.005em;\n  max-width: 100%;\n  overflow-x: hidden;\n  font-family: 'Georgia', 'Times New Roman', 'Noto Serif', serif;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n\n\/* =================================================================\n   TYPOGRAPHY\n   ================================================================= *\/\n.zeus-article h1 {\n  font-size: 2.6em;\n  line-height: 1.12;\n  margin: 0 0 24px;\n  color: #0d0d0d;\n  font-weight: 700;\n  letter-spacing: -.035em;\n  font-family: 'Georgia', 'Times New Roman', 'Noto Serif', serif;\n}\n.zeus-article h2 {\n  font-size: 1.55em;\n  line-height: 1.2;\n  margin: 64px 0 24px;\n  color: #0d0d0d;\n  font-weight: 700;\n  letter-spacing: -.025em;\n  padding-bottom: 16px;\n  border-bottom: 1px solid #c8a86e;\n  font-family: 'Georgia', 'Times New Roman', 'Noto Serif', serif;\n}\n.zeus-article h3 {\n  font-size: 1.15em;\n  margin: 32px 0 14px;\n  color: #1a1a1a;\n  font-weight: 700;\n  letter-spacing: -.01em;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n.zeus-article h4 {\n  font-size: .95em;\n  margin: 24px 0 10px;\n  color: #1a1a1a;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: .08em;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n.zeus-article p {\n  margin: 16px 0;\n  color: #2a2a2a;\n}\n.zeus-article a {\n  color: #1a1a1a;\n  text-decoration: none;\n  border-bottom: 1px solid #c8a86e;\n  transition: border-color .25s ease, color .25s ease;\n}\n.zeus-article a:hover {\n  color: #0d0d0d;\n  border-bottom-color: #0d0d0d;\n}\n.zeus-article strong {\n  color: #0d0d0d;\n  font-weight: 700;\n}\n.zeus-article em {\n  color: #555;\n  font-style: italic;\n}\n.zeus-article hr {\n  border: none;\n  height: 1px;\n  background: linear-gradient(90deg, transparent, #c8a86e 20%, #c8a86e 80%, transparent);\n  margin: 56px 0;\n}\n.zeus-article ul, .zeus-article ol {\n  padding-left: 24px;\n  margin: 16px 0;\n}\n.zeus-article li {\n  margin: 8px 0;\n  color: #2a2a2a;\n  line-height: 1.7;\n}\n\n\n\/* =================================================================\n   TABLES — refined editorial\n   ================================================================= *\/\n.zeus-article table {\n  width: 100%;\n  border-collapse: separate;\n  border-spacing: 0;\n  margin: 28px 0;\n  font-size: .88em;\n  border-radius: 4px;\n  overflow: hidden;\n  border: 1px solid #e2ddd5;\n  color: #2a2a2a;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n.zeus-article thead th {\n  background: #1a1a1a;\n  color: #e8e0d4;\n  padding: 14px 18px;\n  text-align: left;\n  font-weight: 600;\n  font-size: .78em;\n  text-transform: uppercase;\n  letter-spacing: .1em;\n}\n.zeus-article tbody td {\n  padding: 13px 18px;\n  border-bottom: 1px solid #ece8e1;\n  color: #2a2a2a;\n  vertical-align: top;\n  background: #fdfcfa;\n}\n.zeus-article tbody tr:nth-child(even) td {\n  background: #f7f5f1;\n}\n.zeus-article tbody tr:last-child td {\n  border-bottom: none;\n}\n.zeus-article tbody tr:hover td {\n  background: #f0ece4;\n}\n.zeus-article tbody td strong {\n  color: #0d0d0d;\n}\n.zeus-article tbody td a {\n  color: #1a1a1a;\n  border-bottom-color: #c8a86e;\n}\n\n\n\/* =================================================================\n   HERO IMAGE\n   ================================================================= *\/\n.zeus-hero-image {\n  width: 100%;\n  border-radius: 4px;\n  margin: 28px 0 0;\n  box-shadow: 0 12px 48px rgba(0,0,0,.15), 0 2px 6px rgba(0,0,0,.08);\n}\n.zeus-hero-image-video {\n  width: 100%;\n  border-radius: 4px;\n  margin: 28px 0 0;\n  box-shadow: 0 12px 48px rgba(0,0,0,.15), 0 2px 6px rgba(0,0,0,.08);\n  display: block;\n}\n\n\/* =================================================================\n   HERO CREDIBILITY BAR\n   ================================================================= *\/\n.zeus-hero-stats {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 1px;\n  margin: 36px 0 40px;\n  border-radius: 4px;\n  overflow: hidden;\n  background: #c8a86e;\n  box-shadow: 0 4px 20px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.06);\n}\n.zeus-hero-stat {\n  text-align: center;\n  padding: 28px 16px;\n  background: #1a1a1a;\n}\n.zeus-hero-stat .num {\n  font-size: 1.7em;\n  font-weight: 700;\n  display: block;\n  line-height: 1.15;\n  color: #c8a86e;\n  font-family: 'Georgia', 'Times New Roman', 'Noto Serif', serif;\n}\n.zeus-hero-stat .label {\n  font-size: .68em;\n  color: #8a8a8a;\n  margin-top: 8px;\n  display: block;\n  text-transform: uppercase;\n  letter-spacing: .12em;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n\n\n\/* =================================================================\n   TABLE OF CONTENTS\n   ================================================================= *\/\n.zeus-toc {\n  background: #fdfcfa;\n  border: 1px solid #e2ddd5;\n  border-top: 3px solid #c8a86e;\n  border-radius: 0 0 4px 4px;\n  padding: 30px 34px;\n  margin: 32px 0;\n}\n.zeus-toc h3 {\n  margin: 0 0 16px;\n  font-size: .78em;\n  color: #c8a86e;\n  text-transform: uppercase;\n  letter-spacing: .14em;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  font-weight: 600;\n}\n.zeus-toc ol {\n  margin: 0;\n  padding-left: 22px;\n  columns: 2;\n  column-gap: 40px;\n}\n.zeus-toc li {\n  margin: 8px 0;\n  font-size: .88em;\n  break-inside: avoid;\n  color: #555;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n.zeus-toc a {\n  color: #1a1a1a;\n  border-bottom: 1px solid transparent;\n}\n.zeus-toc a:hover {\n  border-bottom-color: #c8a86e;\n}\n\n\n\/* =================================================================\n   CALLOUT BOXES\n   ================================================================= *\/\n.zeus-callout {\n  border-left: 3px solid #c8a86e;\n  background: #fdfcfa;\n  padding: 24px 28px;\n  margin: 32px 0;\n  border-radius: 0 4px 4px 0;\n  color: #2a2a2a;\n}\n.zeus-callout strong { color: #0d0d0d; }\n.zeus-callout-green  { border-left-color: #3d8b5e; background: #f6faf7; }\n.zeus-callout-amber  { border-left-color: #b8860b; background: #fdfaf3; }\n.zeus-callout-red    { border-left-color: #a63d40; background: #fdf5f5; }\n.zeus-callout strong:first-child {\n  display: block;\n  margin-bottom: 10px;\n  font-size: .72em;\n  text-transform: uppercase;\n  letter-spacing: .12em;\n  color: #9a8560;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  font-weight: 600;\n}\n.zeus-callout-green strong:first-child { color: #3d8b5e; }\n.zeus-callout-amber strong:first-child { color: #b8860b; }\n.zeus-callout-red strong:first-child   { color: #a63d40; }\n\n\n\/* =================================================================\n   VERDICT BOX — premium dark with gold accent\n   ================================================================= *\/\n.zeus-verdict {\n  background: #1a1a1a;\n  color: #d4d0c8;\n  padding: 28px 32px;\n  border-radius: 4px;\n  margin: 36px 0;\n  border-top: 2px solid #c8a86e;\n  box-shadow: 0 4px 16px rgba(0,0,0,.1);\n}\n.zeus-verdict strong { color: #c8a86e; }\n.zeus-verdict p      { color: #b5b0a6; }\n.zeus-verdict a      { color: #c8a86e; border-bottom-color: rgba(200,168,110,.4); }\n.zeus-verdict a:hover { border-bottom-color: #c8a86e; }\n\n\n\/* =================================================================\n   TAKEAWAY BOX\n   ================================================================= *\/\n.zeus-takeaway {\n  background: #fdfcfa;\n  border: 1px solid #e2ddd5;\n  border-left: 3px solid #c8a86e;\n  border-radius: 0 4px 4px 0;\n  padding: 24px 28px;\n  margin: 36px 0;\n  color: #2a2a2a;\n}\n.zeus-takeaway strong:first-child {\n  display: block;\n  margin-bottom: 10px;\n  font-size: .72em;\n  text-transform: uppercase;\n  letter-spacing: .12em;\n  color: #c8a86e;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  font-weight: 600;\n}\n.zeus-takeaway strong { color: #0d0d0d; }\n\n\n\/* =================================================================\n   FEATURED SNIPPET BOX — AI Overview target\n   ================================================================= *\/\n.zeus-snippet {\n  background: #fdfcfa;\n  border: 1px solid #d4cec2;\n  border-top: 3px solid #1a1a1a;\n  border-radius: 0 0 4px 4px;\n  padding: 28px 32px;\n  margin: 32px 0;\n  color: #2a2a2a;\n  box-shadow: 0 2px 12px rgba(0,0,0,.04);\n}\n.zeus-snippet strong:first-child {\n  display: block;\n  margin-bottom: 12px;\n  font-size: .72em;\n  text-transform: uppercase;\n  letter-spacing: .14em;\n  color: #9a8560;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  font-weight: 600;\n}\n.zeus-snippet strong { color: #0d0d0d; }\n\n\n\/* =================================================================\n   METHODOLOGY \/ E-E-A-T BOX\n   ================================================================= *\/\n.zeus-methodology {\n  background: #f9f7f3;\n  border: 1px solid #e2ddd5;\n  border-radius: 4px;\n  padding: 24px 28px;\n  margin: 36px 0;\n  color: #444;\n  font-size: .92em;\n}\n.zeus-methodology strong:first-child {\n  display: block;\n  margin-bottom: 10px;\n  font-size: .76em;\n  text-transform: uppercase;\n  letter-spacing: .12em;\n  color: #9a8560;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  font-weight: 600;\n}\n\n\n\/* =================================================================\n   VIDEO SECTIONS — cinematic dark panels\n   ================================================================= *\/\n.zeus-video-section {\n  background: #1a1a1a;\n  border-radius: 4px;\n  padding: 36px;\n  margin: 40px 0;\n  border-top: 2px solid #c8a86e;\n}\n.zeus-video-section h3 {\n  color: #f0ece4;\n  margin: 0 0 4px;\n  font-size: 1.15em;\n  font-family: 'Georgia', 'Times New Roman', 'Noto Serif', serif;\n}\n.zeus-video-section h4 {\n  color: #e8e0d4;\n  margin: 24px 0 8px;\n}\n.zeus-video-section p       { color: #8a8a8a; }\n.zeus-video-section strong  { color: #c8a86e; }\n.zeus-video-section a       { color: #c8a86e; border-bottom-color: rgba(200,168,110,.4); }\n.zeus-video-section .zeus-video-subtitle {\n  color: #777;\n  font-size: .9em;\n  margin: 0 0 24px;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n.zeus-video-section .zeus-video-label {\n  color: #666;\n  font-size: .82em;\n  font-style: italic;\n  margin: 10px 0 0;\n}\n\n\/* Video badge pill *\/\n.zeus-video-badge {\n  display: inline-block;\n  background: #c8a86e;\n  color: #1a1a1a;\n  font-size: .68em;\n  font-weight: 700;\n  padding: 5px 16px;\n  border-radius: 2px;\n  text-transform: uppercase;\n  letter-spacing: .12em;\n  margin-bottom: 14px;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n\n\/* 16:9 responsive video wrapper *\/\n.zeus-video-wrap {\n  position: relative;\n  padding-bottom: 56.25%;\n  height: 0;\n  overflow: hidden;\n  border-radius: 4px;\n  box-shadow: 0 8px 30px rgba(0,0,0,.3);\n  background: #000;\n}\n.zeus-video-wrap iframe,\n.zeus-video-wrap video {\n  position: absolute;\n  top: 0; left: 0;\n  width: 100%; height: 100%;\n  border: 0;\n  border-radius: 4px;\n  object-fit: cover;\n}\n\n\/* Short (9:16) vertical video wrapper *\/\n.zeus-video-short-wrap {\n  position: relative;\n  width: 200px;\n  height: 356px;\n  overflow: hidden;\n  border-radius: 4px;\n  box-shadow: 0 6px 20px rgba(0,0,0,.2);\n  display: inline-block;\n  vertical-align: top;\n  background: #000;\n}\n.zeus-video-short-wrap iframe {\n  position: absolute;\n  top: 0; left: 0;\n  width: 100%; height: 100%;\n  border: 0;\n  border-radius: 4px;\n}\n\n\/* Hero video *\/\n.zeus-hero-video {\n  position: relative;\n  padding-bottom: 56.25%;\n  height: 0;\n  overflow: hidden;\n  border-radius: 4px;\n  box-shadow: 0 12px 48px rgba(0,0,0,.25);\n  margin: 22px 0 0;\n  background: #000;\n}\n.zeus-hero-video iframe {\n  position: absolute;\n  top: 0; left: 0;\n  width: 100%; height: 100%;\n  border: 0;\n  border-radius: 4px;\n}\n\n\/* 2-up video grid *\/\n.zeus-video-grid {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 16px;\n  margin: 16px 0;\n}\n.zeus-video-grid .zeus-video-wrap {\n  flex: 1 1 calc(50% - 8px);\n  min-width: 260px;\n  margin: 0;\n}\n\n\/* Video label outside dark sections *\/\n.zeus-article \u003e .zeus-video-label,\n.zeus-article section \u003e .zeus-video-label {\n  font-size: .82em;\n  color: #888;\n  margin: 8px 0 16px;\n  font-style: italic;\n}\n\n\/* Shorts row *\/\n.zeus-shorts-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 14px;\n  margin: 18px 0;\n  justify-content: center;\n}\n\n\n\/* =================================================================\n   VS COMPARISON BOXES\n   ================================================================= *\/\n.zeus-vs-box {\n  display: flex;\n  gap: 20px;\n  margin: 32px 0;\n  flex-wrap: wrap;\n}\n.zeus-vs-box \u003e div {\n  flex: 1;\n  min-width: 260px;\n  padding: 26px;\n  border-radius: 4px;\n}\n.zeus-vs-box p      { color: #2a2a2a; }\n.zeus-vs-box strong { color: #0d0d0d; }\n.zeus-vs-box h3     { color: #0d0d0d; }\n\n\/* Left option *\/\n.zeus-vs-hub {\n  background: #fdfcfa;\n  border: 1px solid #e2ddd5;\n  border-top: 3px solid #4a6fa5;\n}\n\/* Right option *\/\n.zeus-vs-mid {\n  background: #fdfcfa;\n  border: 1px solid #e2ddd5;\n  border-top: 3px solid #3d8b5e;\n}\n\n\n\/* =================================================================\n   PRODUCT RECOMMENDATION CARD — structured premium layout\n   ================================================================= *\/\n.zeus-recommend {\n  background: #1a1a1a;\n  color: #b5b0a6;\n  border-radius: 8px;\n  margin: 44px 0;\n  overflow: hidden;\n  box-shadow: 0 8px 32px rgba(0,0,0,.14), 0 2px 8px rgba(0,0,0,.06);\n  border: 1px solid rgba(200,168,110,.12);\n}\n.zeus-recommend strong { color: #c8a86e; }\n.zeus-recommend a      { color: #c8a86e; border-bottom-color: rgba(200,168,110,.4); }\n.zeus-recommend a:hover { border-bottom-color: #c8a86e; color: #e0cc9a; }\n.zeus-recommend p      { color: #b5b0a6; }\n\n\/* Badge strip *\/\n.zeus-recommend-badge {\n  display: inline-block;\n  background: #c8a86e;\n  color: #1a1a1a;\n  font-size: .62em;\n  font-weight: 700;\n  padding: 7px 20px;\n  text-transform: uppercase;\n  letter-spacing: .14em;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n\n\/* Header — product name + price *\/\n.zeus-recommend-header {\n  padding: 24px 32px 0;\n}\n.zeus-recommend-header h3 {\n  margin: 0 0 6px;\n  font-size: 1.3em;\n  color: #f0ece4;\n  font-weight: 700;\n  letter-spacing: -.02em;\n  font-family: 'Georgia', 'Times New Roman', 'Noto Serif', serif;\n  line-height: 1.25;\n}\n.zeus-recommend-header h3 a {\n  color: #f0ece4;\n  border-bottom: 1px solid rgba(200,168,110,.3);\n}\n.zeus-recommend-header h3 a:hover {\n  color: #c8a86e;\n  border-bottom-color: #c8a86e;\n}\n.zeus-recommend-price {\n  display: inline-block;\n  font-size: 1.35em;\n  color: #c8a86e;\n  font-weight: 700;\n  font-family: 'Georgia', 'Times New Roman', 'Noto Serif', serif;\n  line-height: 1.4;\n}\n.zeus-recommend-price-old {\n  font-size: .7em;\n  color: #666;\n  text-decoration: line-through;\n  margin-left: 8px;\n  font-weight: 400;\n}\n\n\/* Spec grid *\/\n.zeus-recommend-specs {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));\n  gap: 1px;\n  background: rgba(200,168,110,.08);\n  margin: 20px 24px;\n  border-radius: 6px;\n  overflow: hidden;\n}\n.zeus-recommend-spec {\n  background: #222;\n  padding: 14px 12px;\n  text-align: center;\n}\n.zeus-recommend-spec .val {\n  display: block;\n  color: #f0ece4;\n  font-weight: 700;\n  font-size: .88em;\n  line-height: 1.3;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n.zeus-recommend-spec .lbl {\n  display: block;\n  color: #666;\n  font-size: .62em;\n  text-transform: uppercase;\n  letter-spacing: .1em;\n  margin-top: 5px;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n\n\/* Body editorial text *\/\n.zeus-recommend-body {\n  padding: 4px 32px 0;\n}\n.zeus-recommend-body p {\n  color: #b5b0a6;\n  font-size: .94em;\n  line-height: 1.75;\n}\n\n\/* Footer with CTA + links *\/\n.zeus-recommend-footer {\n  padding: 16px 32px 28px;\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 14px;\n}\n.zeus-recommend-footer a.zeus-recommend-link {\n  color: #888;\n  font-size: .78em;\n  border-bottom: 1px solid transparent;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n.zeus-recommend-footer a.zeus-recommend-link:hover {\n  color: #c8a86e;\n  border-bottom-color: #c8a86e;\n}\n\n\/* CTA Button — universal gold *\/\n.zeus-cta-btn {\n  display: inline-block !important;\n  background: #c8a86e !important;\n  color: #1a1a1a !important;\n  padding: 12px 26px !important;\n  border-radius: 4px;\n  font-weight: 700;\n  font-size: .74em;\n  text-transform: uppercase;\n  letter-spacing: .08em;\n  text-decoration: none !important;\n  border-bottom: none !important;\n  border: none !important;\n  transition: background .25s ease, transform .15s ease, box-shadow .25s ease;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  box-shadow: 0 2px 8px rgba(200,168,110,.2);\n  margin-top: 16px;\n}\n.zeus-cta-btn:hover {\n  background: #d4b87a !important;\n  color: #1a1a1a !important;\n  border-bottom: none !important;\n  border: none !important;\n  transform: translateY(-1px);\n  box-shadow: 0 4px 16px rgba(200,168,110,.3);\n}\n.zeus-cta-btn.zeus-cta-btn-outline {\n  background: transparent !important;\n  color: #c8a86e !important;\n  border: 2px solid #c8a86e !important;\n  box-shadow: none;\n}\n.zeus-cta-btn.zeus-cta-btn-outline:hover {\n  background: #c8a86e !important;\n  color: #1a1a1a !important;\n  border: 2px solid #c8a86e !important;\n  box-shadow: 0 4px 16px rgba(200,168,110,.3);\n  transform: translateY(-1px);\n}\n\n\n\/* =================================================================\n   CTA BLOCK — premium conversion strip\n   ================================================================= *\/\n.zeus-cta-inline {\n  background: linear-gradient(135deg, #1a1a1a 0%, #252018 100%);\n  color: #d4d0c8;\n  padding: 36px 32px;\n  border-radius: 8px;\n  margin: 48px 0;\n  text-align: center;\n  border: 1px solid rgba(200,168,110,.15);\n  box-shadow: 0 4px 20px rgba(0,0,0,.08);\n}\n.zeus-cta-inline p { color: #b5b0a6; margin: 0 0 16px; }\n.zeus-cta-inline p:last-child { margin-bottom: 0; }\n.zeus-cta-inline strong { color: #f0ece4; font-size: 1.05em; }\n.zeus-cta-inline a:not(.zeus-cta-btn) {\n  color: #c8a86e;\n  border-bottom: 1px solid rgba(200,168,110,.5);\n  font-weight: 600;\n}\n.zeus-cta-inline a:not(.zeus-cta-btn):hover {\n  border-bottom-color: #c8a86e;\n  color: #e0cc9a;\n}\n.zeus-cta-inline .zeus-cta-btn { margin: 4px 6px; }\n\n\n\/* =================================================================\n   FAQ SECTION\n   ================================================================= *\/\n.zeus-article #faq h3 {\n  font-size: 1.05em;\n  color: #1a1a1a;\n  margin: 30px 0 10px;\n  padding-top: 24px;\n  border-top: 1px solid #e2ddd5;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n}\n.zeus-article #faq h3:first-of-type {\n  border-top: none;\n  padding-top: 0;\n}\n\n\n\/* =================================================================\n   INTERNAL LINKS BLOCK\n   ================================================================= *\/\n.zeus-article .zeus-callout a {\n  color: #1a1a1a;\n  border-bottom-color: #c8a86e;\n  display: inline;\n}\n.zeus-article .zeus-callout a:hover {\n  border-bottom-color: #0d0d0d;\n}\n\n\n\/* =================================================================\n   HERO VIDEO — native \u003cvideo\u003e element\n   ================================================================= *\/\n.zeus-hero-video-native {\n  max-width: 100%;\n  max-height: 560px;\n  border-radius: 6px;\n  margin: 28px auto 0;\n  box-shadow: 0 16px 56px rgba(0,0,0,.2), 0 3px 8px rgba(0,0,0,.08);\n  display: block;\n  background: #000;\n}\n\n\n\/* =================================================================\n   EDITORIAL PHOTO BREAKS — magazine-style mid-article images\n   ================================================================= *\/\n.zeus-editorial-photo {\n  width: 100%;\n  border-radius: 6px;\n  margin: 48px 0 8px;\n  box-shadow: 0 16px 56px rgba(0,0,0,.14), 0 3px 8px rgba(0,0,0,.06);\n  display: block;\n}\n.zeus-editorial-caption {\n  text-align: center;\n  font-size: .76em;\n  color: #888;\n  margin: 10px 0 48px;\n  font-style: italic;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  letter-spacing: .02em;\n}\n\n\n\/* =================================================================\n   RESPONSIVE\n   ================================================================= *\/\n@media (max-width: 768px) {\n  .zeus-article           { font-size: 16px; }\n  .zeus-article h1        { font-size: 1.9em; }\n  .zeus-article h2        { font-size: 1.3em; margin: 48px 0 18px; }\n  .zeus-hero-stats        { grid-template-columns: repeat(2, 1fr); }\n  .zeus-toc ol            { columns: 1; }\n  .zeus-video-grid .zeus-video-wrap { flex: 1 1 100%; }\n  .zeus-vs-box            { flex-direction: column; }\n  .zeus-video-short-wrap  { width: 150px; height: 267px; }\n  .zeus-video-section     { padding: 22px; }\n  .zeus-article table     { font-size: .82em; }\n  .zeus-article thead th  { padding: 11px 14px; font-size: .74em; }\n  .zeus-article tbody td  { padding: 10px 14px; }\n  .zeus-hero-video-native { max-height: 420px; }\n  .zeus-editorial-photo   { margin: 36px 0 6px; border-radius: 4px; }\n  .zeus-editorial-caption { margin: 8px 0 36px; font-size: .74em; }\n  .zeus-section-break      { margin: 48px 0 0; }\n  .zeus-section-break img  { aspect-ratio: 21 \/ 9; }\n  .zeus-section-break-label { font-size: .58em; bottom: 16px; left: 20px; }\n  .zeus-hero-cinematic-caption { font-size: .68em; bottom: 14px; left: 18px; right: 18px; }\n  .zeus-recommend            { padding: 22px 22px; }\n  .zeus-recommend .zeus-product-img { float: none; max-width: 100%; margin: 0 0 16px; }\n  .zeus-directory-grid       { grid-template-columns: 1fr; }\n  .zeus-recommend-specs      { grid-template-columns: repeat(3, 1fr); }\n  .zeus-recommend-spec       { padding: 10px 8px; }\n  .zeus-recommend-spec .val  { font-size: .78em; }\n  .zeus-recommend-spec .lbl  { font-size: .55em; }\n  .zeus-cta-inline           { padding: 28px 22px; }\n  .zeus-cta-btn              { padding: 12px 22px; font-size: .72em; }\n}\n@media (max-width: 480px) {\n  .zeus-hero-stats           { grid-template-columns: 1fr 1fr; }\n  .zeus-hero-stat            { padding: 18px 10px; }\n  .zeus-hero-stat .num       { font-size: 1.3em; }\n  .zeus-video-short-wrap     { width: 130px; height: 231px; }\n  .zeus-article h1           { font-size: 1.55em; }\n  .zeus-hero-video-native    { max-height: 340px; border-radius: 4px; }\n  .zeus-editorial-photo      { margin: 28px 0 4px; }\n  .zeus-editorial-caption    { margin: 6px 0 28px; font-size: .72em; }\n  .zeus-section-break        { margin: 36px 0 0; }\n  .zeus-section-break img    { aspect-ratio: 16 \/ 9; }\n  .zeus-section-break-label  { font-size: .54em; padding: 5px 12px; bottom: 12px; left: 14px; }\n  .zeus-hero-cinematic-caption { font-size: .64em; bottom: 10px; left: 14px; right: 14px; }\n  .zeus-recommend-specs      { grid-template-columns: repeat(2, 1fr); }\n  .zeus-recommend-header h3  { font-size: 1.05em; }\n  .zeus-recommend-header     { flex-direction: column; gap: 4px; }\n  .zeus-recommend-price      { font-size: 1em; }\n  .zeus-recommend-footer     { flex-direction: column; align-items: stretch; gap: 10px; }\n  .zeus-cta-btn              { width: 100%; text-align: center; }\n}\n\n\n\/* =================================================================\n   CINEMATIC HERO — full-bleed cover with gradient overlay\n   ================================================================= *\/\n.zeus-hero-cinematic {\n  position: relative;\n  margin: 28px 0 0;\n  border-radius: 6px;\n  overflow: hidden;\n  box-shadow: 0 20px 64px rgba(0,0,0,.22), 0 4px 12px rgba(0,0,0,.1);\n}\n.zeus-hero-cinematic img {\n  width: 100%;\n  height: auto;\n  display: block;\n}\n.zeus-hero-cinematic::after {\n  content: '';\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  height: 40%;\n  background: linear-gradient(to top, rgba(26,26,26,.7) 0%, transparent 100%);\n  pointer-events: none;\n}\n.zeus-hero-cinematic-caption {\n  position: absolute;\n  bottom: 20px;\n  left: 28px;\n  right: 28px;\n  z-index: 2;\n  color: rgba(255,255,255,.85);\n  font-size: .74em;\n  font-style: italic;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  letter-spacing: .02em;\n}\n.zeus-hero-cinematic-caption strong {\n  color: #c8a86e;\n  font-weight: 600;\n}\n\n\n\/* =================================================================\n   SECTION BREAK — cinematic editorial photo dividers\n   ================================================================= *\/\n.zeus-section-break {\n  position: relative;\n  margin: 72px 0 0;\n  overflow: hidden;\n  border-radius: 0;\n  box-shadow: none;\n  max-width: 100%;\n}\n.zeus-section-break img {\n  width: 100%;\n  aspect-ratio: 21 \/ 9;\n  object-fit: cover;\n  object-position: center center;\n  display: block;\n  border-radius: 0;\n}\n.zeus-section-break::after {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(\n    to bottom,\n    rgba(26,26,26,.15) 0%,\n    transparent 30%,\n    transparent 60%,\n    rgba(26,26,26,.5) 100%\n  );\n  pointer-events: none;\n}\n.zeus-section-break-label {\n  position: absolute;\n  bottom: 24px;\n  left: 32px;\n  z-index: 2;\n  font-size: .62em;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: .18em;\n  color: #c8a86e;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  background: rgba(26,26,26,.75);\n  padding: 6px 16px;\n  border-radius: 2px;\n  backdrop-filter: blur(8px);\n  -webkit-backdrop-filter: blur(8px);\n}\n\n\n\/* =================================================================\n   PRODUCT IMAGE — inside recommend boxes\n   ================================================================= *\/\n.zeus-product-img {\n  width: 100%;\n  max-width: 360px;\n  height: auto;\n  border-radius: 4px;\n  margin: 0 0 18px;\n  display: block;\n  box-shadow: 0 4px 16px rgba(0,0,0,.25);\n  background: #111;\n}\n.zeus-recommend .zeus-product-img {\n  float: right;\n  margin: 0 0 16px 24px;\n  max-width: 280px;\n}\n\n\n\/* =================================================================\n   DIRECTORY GRID — card-based guide navigation\n   ================================================================= *\/\n.zeus-directory-grid {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 16px;\n  margin: 28px 0;\n}\n.zeus-directory-card {\n  background: #fdfcfa;\n  border: 1px solid #e2ddd5;\n  border-radius: 4px;\n  padding: 20px 22px;\n  transition: border-color .25s ease, box-shadow .25s ease;\n}\n.zeus-directory-card:hover {\n  border-color: #c8a86e;\n  box-shadow: 0 4px 16px rgba(200,168,110,.12);\n}\n.zeus-directory-card h4 {\n  margin: 0 0 10px;\n  font-size: .72em;\n  text-transform: uppercase;\n  letter-spacing: .1em;\n  color: #c8a86e;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  font-weight: 600;\n}\n.zeus-directory-card ul {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n.zeus-directory-card li {\n  margin: 6px 0;\n  font-size: .86em;\n  line-height: 1.5;\n}\n.zeus-directory-card a {\n  color: #1a1a1a;\n  border-bottom: 1px solid transparent;\n}\n.zeus-directory-card a:hover {\n  border-bottom-color: #c8a86e;\n}\n\n\n\/* =================================================================\n   PHOTO GRID — editorial 3-up image layout\n   ================================================================= *\/\n.zeus-photo-grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 12px;\n  margin: 36px 0;\n  align-items: start;\n}\n.zeus-photo-grid span {\n  display: block;\n  overflow: hidden;\n  border-radius: 6px;\n  box-shadow: 0 4px 20px rgba(0,0,0,.18);\n  transition: box-shadow .4s ease;\n}\n.zeus-photo-grid span:hover {\n  box-shadow: 0 10px 40px rgba(0,0,0,.32);\n}\n.zeus-photo-grid img {\n  width: 100%;\n  height: auto;\n  display: block;\n  transition: transform .4s ease;\n  cursor: zoom-in;\n}\n.zeus-photo-grid span:hover img {\n  transform: scale(1.04);\n}\n@media (max-width: 768px) { .zeus-photo-grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 480px) { .zeus-photo-grid { grid-template-columns: 1fr; } }\n\n\n\/* =================================================================\n   LIGHTBOX — fullscreen image viewer\n   ================================================================= *\/\n#zeus-lb {\n  position: fixed;\n  inset: 0;\n  background: rgba(0,0,0,.93);\n  z-index: 9999;\n  display: none;\n  align-items: center;\n  justify-content: center;\n  cursor: zoom-out;\n  padding: 24px;\n  box-sizing: border-box;\n}\n#zeus-lb.open { display: flex; }\n#zeus-lb img {\n  max-width: 100%;\n  max-height: 100%;\n  object-fit: contain;\n  border-radius: 6px;\n  box-shadow: 0 24px 96px rgba(0,0,0,.6);\n  cursor: default;\n}\n#zeus-lb-close {\n  position: fixed;\n  top: 20px;\n  right: 24px;\n  color: #fff;\n  font-size: 32px;\n  line-height: 1;\n  cursor: pointer;\n  opacity: .7;\n  font-family: sans-serif;\n  font-weight: 300;\n  transition: opacity .2s;\n  z-index: 10000;\n}\n#zeus-lb-close:hover { opacity: 1; }\n\n\n\/* =================================================================\n   MUTE TOGGLE — autoplay video control button\n   ================================================================= *\/\n.zeus-mute-btn {\n  position: absolute;\n  bottom: 12px;\n  right: 12px;\n  background: rgba(26,26,26,.82);\n  color: #c8a86e;\n  border: 1px solid rgba(200,168,110,.5);\n  border-radius: 3px;\n  padding: 5px 13px;\n  font-size: .68em;\n  font-weight: 700;\n  letter-spacing: .1em;\n  text-transform: uppercase;\n  cursor: pointer;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;\n  transition: background .2s, border-color .2s;\n  z-index: 10;\n  backdrop-filter: blur(6px);\n  -webkit-backdrop-filter: blur(6px);\n  user-select: none;\n}\n.zeus-mute-btn:hover {\n  background: rgba(26,26,26,.97);\n  border-color: #c8a86e;\n}\n\n\n\/* =================================================================\n   NATIVE VIDEO — escape iframe aspect-ratio hack for \u003cvideo\u003e elements\n   ================================================================= *\/\n.zeus-video-wrap:has(video) {\n  padding-bottom: 0;\n  height: auto;\n}\n.zeus-video-wrap video {\n  position: static;\n  width: 100%;\n  height: auto;\n  display: block;\n  border-radius: 4px;\n}\n.zeus-hero-video:has(video) {\n  padding-bottom: 0;\n  height: auto;\n  background: transparent;\n  box-shadow: none;\n}\n.zeus-hero-video video {\n  position: static;\n  width: 100%;\n  height: auto;\n  display: block;\n  border-radius: 8px;\n  box-shadow: 0 16px 64px rgba(0,0,0,.28);\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"zeus-article\"\u003e\n\n\u003ch2\u003eFront-Load Your Errands — The TESWAY Front Basket\u003c\/h2\u003e\n\n\u003cp\u003eThere’s a reason seasoned eBike commuters prefer front-mounted cargo: you can see everything. Your groceries aren’t bouncing behind you out of sight. Your bag isn’t sliding off the rear rack while you navigate a pothole. The TESWAY Front Basket mounts directly to your handlebars and puts your essentials where they belong — right in front of you, visible and secure.\u003c\/p\u003e\n\n\u003cp\u003eWe carry this basket because it solves the most common complaint we hear from Tesway owners: \u003cstrong\u003e“I love the bike, but I need somewhere to put my stuff.”\u003c\/strong\u003e A backpack works for short rides. For daily errands — the coffee run, the pharmacy stop, the farmers’ market haul — a front basket changes the equation entirely. Load it, glance down, ride.\u003c\/p\u003e\n\n\u003cp\u003eThe mounting system is designed specifically for Tesway handlebar geometry, so you’re not dealing with universal clamps that rattle loose after a week. It fits, it stays, and it carries what you need without interfering with your controls or cables.\u003c\/p\u003e\n\n\u003ch2\u003eKey Features\u003c\/h2\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eHandlebar-mounted design\u003c\/strong\u003e — keeps cargo visible and within reach while riding\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTesway-specific fitment\u003c\/strong\u003e — engineered for Tesway handlebar dimensions, no jury-rigging required\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eQuick-access open top\u003c\/strong\u003e — drop items in and pull them out without unclipping or unzipping anything\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSturdy construction\u003c\/strong\u003e — built to handle daily grocery runs, bags, and small parcels without flexing\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eClean installation\u003c\/strong\u003e — mounts without drilling or permanent modification to the bike\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eCompatibility\u003c\/h2\u003e\n\n\u003cp\u003eThe TESWAY Front Basket is designed for the following Tesway eBikes available at Zeus eBikes Canada:\u003c\/p\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"\/products\/tesway-x9-awd-4000w\"\u003eTESWAY X9 AWD 4000W\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"\/products\/tesway-x7-awd-dual-motor\"\u003eTesway X7 AWD Dual Motor\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"\/products\/tesway-x5-awd-dual-motor-step-thru\"\u003eTESWAY X5 AWD Dual Motor Step-Thru\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"\/products\/tesway-x7-pro-foldable-fat-tire-ebike\"\u003eTESWAY X7 PRO Foldable Fat Tire\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cdiv class=\"zeus-callout zeus-callout-amber\"\u003e\n  \u003cstrong\u003eFitment Note\u003c\/strong\u003e\n  If you’re unsure whether this basket fits your specific Tesway model or year, \u003ca href=\"\/pages\/contact-us\"\u003econtact our team\u003c\/a\u003e before ordering. We’ll confirm compatibility for your exact setup.\n\u003c\/div\u003e\n\n\u003ch2\u003eWhat’s Included\u003c\/h2\u003e\n\n\u003cul\u003e\n  \u003cli\u003e1 × TESWAY Front Basket\u003c\/li\u003e\n  \u003cli\u003eHandlebar mounting hardware (bolts, brackets, clamps)\u003c\/li\u003e\n  \u003cli\u003eInstallation instructions\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eFrequently Asked Questions\u003c\/h2\u003e\n\n\u003cdiv id=\"faq\"\u003e\n\n\u003ch3\u003eWill this basket affect my steering or handling?\u003c\/h3\u003e\n\u003cp\u003eFront baskets add weight ahead of the steering axis, so you’ll notice a slight difference when the basket is fully loaded. For everyday loads — a bag of groceries, a purse, a small parcel — the effect is minimal. We recommend keeping heavier items centred in the basket rather than stacked to one side.\u003c\/p\u003e\n\n\u003ch3\u003eCan I use this basket with a phone mount or headlight on my handlebars?\u003c\/h3\u003e\n\u003cp\u003eYes. The basket mounts to the handlebar area without blocking the centre bar space where most phone mounts and lights attach. Check your specific accessory positions before installing to confirm clearance.\u003c\/p\u003e\n\n\u003ch3\u003eIs this basket weatherproof?\u003c\/h3\u003e\n\u003cp\u003eThe basket itself handles rain, snow, and road spray without issue. It’s an open-top design, so your cargo isn’t protected from precipitation — you’ll want a waterproof bag or liner if you’re riding in wet conditions.\u003c\/p\u003e\n\n\u003ch3\u003eDo I need tools to install this basket?\u003c\/h3\u003e\n\u003cp\u003eBasic hand tools (typically an Allen key set) are all you need. Installation takes approximately 10–15 minutes. No drilling, no permanent modifications to your Tesway frame or handlebars.\u003c\/p\u003e\n\n\u003ch3\u003eCan I remove the basket quickly when I don’t need it?\u003c\/h3\u003e\n\u003cp\u003eThe basket can be removed by reversing the installation hardware. It’s not a quick-release system — you’ll need your tools — but removal and reinstallation are straightforward.\u003c\/p\u003e\n\n\u003c\/div\u003e\n\n\u003chr\u003e\n\n\u003cdiv class=\"zeus-callout\"\u003e\n  \u003cstrong\u003eMore From Zeus eBikes Canada\u003c\/strong\u003e\n  Explore our full \u003ca href=\"\/collections\/accessories\"\u003eaccessories collection\u003c\/a\u003e to outfit your Tesway for daily riding. Looking for rear cargo instead? Check the \u003ca href=\"\/products\/tesway-rear-basket\"\u003eTESWAY Large Rear Basket\u003c\/a\u003e for serious hauling capacity. For guidance on choosing the right eBike for your commute, read our \u003ca href=\"\/blogs\/news\/best-electric-bikes-canada-2026\"\u003ebest electric bikes in Canada guide\u003c\/a\u003e.\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n","brand":"TESWAY","offers":[{"title":"Default Title","offer_id":47880795750644,"sku":null,"price":79.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/0709\/1700\/files\/3db082f80337d919b69d22040ead8f79.jpg?v=1774071447","url":"https:\/\/zeusebikes.ca\/products\/tesway-front-basket","provider":"Zeus Ebikes Canada ","version":"1.0","type":"link"}