{"title":"Used Kawasaki EX300 ABS Ninja Parts","description":"\u003cp\u003eGenuine used parts for the Kawasaki EX300 ABS Ninja, removed from real bikes and photographed individually. Condition graded, exact-item photos, fast UK delivery. One-off stock — when a part sells it's gone, but new EX300 ABS Ninja parts are added as bikes come in.\u003c\/p\u003e","products":[{"product_id":"kawasaki-ex300-abs-ninja-2013-2017-exhaust-downpipes-headers-ex-300-genuine-oem","title":"Exhaust Downpipes Headers Kawasaki EX 300 Ninja ABS 2013 - 2017","description":"\u003c!--\n  RRMoto — WEBSITE description template.\n\n  This file is the VERSION-CONTROLLED SOURCE. The live copy is the\n  description_template column on the \"default-website-template\" row in\n  listing_templates (edited in the admin at Settings → Listing templates).\n  Install it with:  npx tsx scripts\/set-website-description-template.mts --apply\n\n  It renders the SAME spec block as the redesigned product page section\n  (shopify-theme\/sections\/rrmoto-product.liquid), matched value for value —\n  paper ground, 9px mono labels on a 110px column, 12.5px Archivo values,\n  hairline rules, and the red-edged compatibility notice. Two differences are\n  deliberate: this is self-contained (it lands in Shopify's body_html, outside\n  the theme, so it cannot use the theme's CSS variables and hardcodes the\n  literals), and every selector is scoped under .rrd so it can never leak into\n  the theme.\n\n  Rows are in the SAME ORDER the product page renders them, so the two read\n  as one thing: PART, PART NO., CONDITION, REMOVED FROM, FITMENT, ALSO FITS,\n  WEIGHT, MADE IN.\n\n  Empty variables drop their whole row — no orphan labels, no empty rules.\n--\u003e\n\u003cdiv class=\"rrd\"\u003e\n  \u003cdiv class=\"rrd__head\"\u003e\n    \u003cspan class=\"rrd__cond\"\u003eCondition: \u003cb\u003eUsed\u003c\/b\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rrd__specs\"\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003ePART\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eExhaust Downpipes Headers EX 300\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eCONDITION\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e\u003cul\u003e\n\u003cli\u003eIn used good condition as pictured!\u003c\/li\u003e\n\u003cli\u003eClean, no structural rust, complete as shown.\u003c\/li\u003e\n\u003cli\u003eRemoved from 2015 30th Anniversary Edition with only 11k miles on the clocks\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eREMOVED FROM\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eKawasaki EX300 ABS Ninja\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eFITMENT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e2013-2017\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eWEIGHT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e1.0 kg\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eMADE IN\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eJapan\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cp class=\"rrd__warn\"\u003e\u003cb\u003eCheck compatibility before purchasing\u003c\/b\u003e — the photographs form a critical part of the item description.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .rrd, .rrd * { box-sizing: border-box; }\n  .rrd {\n    background: #F4F2EE;\n    color: #111;\n    font-family: Archivo, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n    \/* No padding by default: on the product page this sits inside the buy\n       column, which already carries the page inset, and an extra inset here\n       would indent the rows away from the price and buttons above them.\n       Standalone surfaces (the admin preview, Shopify's admin, a feed) add\n       their own — see .rrd--boxed below. *\/\n    padding: 0;\n    margin: 0;\n    \/* The product page renders this inside its buy column, which measures\n       523px at a 1440 viewport. Capping here keeps the block the same width\n       wherever else it is shown — the admin preview, Shopify's own admin, a\n       feed — instead of stretching to the full width of its container and\n       looking like a different design. *\/\n    max-width: 540px;\n  }\n\n  \/* NO brand lockup here by design: on the website this block sits inside a\n     page that already carries the RRMoto header, so a second logo is just\n     repetition. The eBay template keeps its lockup because that description\n     stands alone with no site around it. *\/\n  .rrd__head {\n    display: flex; justify-content: flex-end;\n    padding-bottom: 14px; border-bottom: 2px solid #111;\n  }\n  .rrd__cond {\n    font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace;\n    letter-spacing: .1em; text-transform: uppercase; color: #fff;\n    background: #0A0A0B; padding: 5px 10px;\n  }\n  .rrd__cond b { color: #FF3B30; font-weight: 600; }\n\n  \/* Spec rows — matched to the product section's .rr-pd__spec \/ __k \/ __vv. *\/\n  .rrd__specs { display: flex; flex-direction: column; margin-top: 4px; }\n  .rrd__spec { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid #E4E1DA; }\n  .rrd__spec:last-child { border-bottom: 0; }\n  .rrd__k { font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace; letter-spacing: .08em; color: #888; width: 110px; flex: none; }\n  .rrd__v { font: 600 12.5px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #111; min-width: 0; }\n\n  .rrd__warn {\n    background: #FBEAE9; border-left: 3px solid #E10600;\n    padding: 13px 15px; margin: 20px 0 0;\n    font: 400 12px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #7A1512;\n  }\n  .rrd__warn b { font-weight: 700; }\n\n  \/* Standalone: anywhere this is shown OUTSIDE the product page it needs its\n     own frame — the admin preview, Shopify's admin, a feed. *\/\n  .rrd--boxed { padding: 20px 22px 22px; background: #F4F2EE; }\n\n  @media (max-width: 600px) {\n    .rrd--boxed { padding: 16px; }\n    \/* The 110px label column leaves too little for the value on a phone, so\n       the row stacks rather than squeezing. *\/\n    .rrd__spec { flex-direction: column; gap: 3px; }\n    .rrd__k { width: auto; }\n  }\n\u003c\/style\u003e","brand":"Kawasaki","offers":[{"title":"Default Title","offer_id":58881305084229,"sku":"2E-2","price":50.39,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstbpuuu01ca0ajev5wcsjd0.jpg?v=1786735308"},{"product_id":"kawasaki-ex300-abs-ninja-2013-2017-clutch-lever-bracket-genuine-oem","title":"Clutch Lever Bracket Kawasaki EX300 Ninja ABS 2013 - 2017","description":"\u003c!--\n  RRMoto — WEBSITE description template.\n\n  This file is the VERSION-CONTROLLED SOURCE. The live copy is the\n  description_template column on the \"default-website-template\" row in\n  listing_templates (edited in the admin at Settings → Listing templates).\n  Install it with:  npx tsx scripts\/set-website-description-template.mts --apply\n\n  It renders the SAME spec block as the redesigned product page section\n  (shopify-theme\/sections\/rrmoto-product.liquid), matched value for value —\n  paper ground, 9px mono labels on a 110px column, 12.5px Archivo values,\n  hairline rules, and the red-edged compatibility notice. Two differences are\n  deliberate: this is self-contained (it lands in Shopify's body_html, outside\n  the theme, so it cannot use the theme's CSS variables and hardcodes the\n  literals), and every selector is scoped under .rrd so it can never leak into\n  the theme.\n\n  Rows are in the SAME ORDER the product page renders them, so the two read\n  as one thing: PART, PART NO., CONDITION, REMOVED FROM, FITMENT, ALSO FITS,\n  WEIGHT, MADE IN.\n\n  Empty variables drop their whole row — no orphan labels, no empty rules.\n--\u003e\n\u003cdiv class=\"rrd\"\u003e\n  \u003cdiv class=\"rrd__head\"\u003e\n    \u003cspan class=\"rrd__cond\"\u003eCondition: \u003cb\u003eUsed\u003c\/b\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rrd__specs\"\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003ePART\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eClutch Lever Bracket\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eCONDITION\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e\u003cul\u003e\n\u003cli\u003eIn used working condition, lever is scuffed as shown in the pictures\u003c\/li\u003e\n\u003cli\u003eRemoved from 2015 30th Anniversary Edition with only 11k miles on the clocks\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eREMOVED FROM\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eKawasaki EX300 ABS Ninja\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eFITMENT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e2013-2017\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eWEIGHT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e1.0 kg\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eMADE IN\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eJapan\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cp class=\"rrd__warn\"\u003e\u003cb\u003eCheck compatibility before purchasing\u003c\/b\u003e — the photographs form a critical part of the item description.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .rrd, .rrd * { box-sizing: border-box; }\n  .rrd {\n    background: #F4F2EE;\n    color: #111;\n    font-family: Archivo, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n    \/* No padding by default: on the product page this sits inside the buy\n       column, which already carries the page inset, and an extra inset here\n       would indent the rows away from the price and buttons above them.\n       Standalone surfaces (the admin preview, Shopify's admin, a feed) add\n       their own — see .rrd--boxed below. *\/\n    padding: 0;\n    margin: 0;\n    \/* The product page renders this inside its buy column, which measures\n       523px at a 1440 viewport. Capping here keeps the block the same width\n       wherever else it is shown — the admin preview, Shopify's own admin, a\n       feed — instead of stretching to the full width of its container and\n       looking like a different design. *\/\n    max-width: 540px;\n  }\n\n  \/* NO brand lockup here by design: on the website this block sits inside a\n     page that already carries the RRMoto header, so a second logo is just\n     repetition. The eBay template keeps its lockup because that description\n     stands alone with no site around it. *\/\n  .rrd__head {\n    display: flex; justify-content: flex-end;\n    padding-bottom: 14px; border-bottom: 2px solid #111;\n  }\n  .rrd__cond {\n    font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace;\n    letter-spacing: .1em; text-transform: uppercase; color: #fff;\n    background: #0A0A0B; padding: 5px 10px;\n  }\n  .rrd__cond b { color: #FF3B30; font-weight: 600; }\n\n  \/* Spec rows — matched to the product section's .rr-pd__spec \/ __k \/ __vv. *\/\n  .rrd__specs { display: flex; flex-direction: column; margin-top: 4px; }\n  .rrd__spec { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid #E4E1DA; }\n  .rrd__spec:last-child { border-bottom: 0; }\n  .rrd__k { font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace; letter-spacing: .08em; color: #888; width: 110px; flex: none; }\n  .rrd__v { font: 600 12.5px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #111; min-width: 0; }\n\n  .rrd__warn {\n    background: #FBEAE9; border-left: 3px solid #E10600;\n    padding: 13px 15px; margin: 20px 0 0;\n    font: 400 12px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #7A1512;\n  }\n  .rrd__warn b { font-weight: 700; }\n\n  \/* Standalone: anywhere this is shown OUTSIDE the product page it needs its\n     own frame — the admin preview, Shopify's admin, a feed. *\/\n  .rrd--boxed { padding: 20px 22px 22px; background: #F4F2EE; }\n\n  @media (max-width: 600px) {\n    .rrd--boxed { padding: 16px; }\n    \/* The 110px label column leaves too little for the value on a phone, so\n       the row stacks rather than squeezing. *\/\n    .rrd__spec { flex-direction: column; gap: 3px; }\n    .rrd__k { width: auto; }\n  }\n\u003c\/style\u003e","brand":"Kawasaki","offers":[{"title":"Default Title","offer_id":58881518469445,"sku":"M2D-6","price":12.23,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstci01a00bk04jv8vqlbxxh.png?v=1786737950"},{"product_id":"kawasaki-ex300-abs-ninja-2013-2017-rear-panel-fairing-genuine-oem","title":"Rear Panel Fairing Kawasaki EX300 Ninja ABS 2013 - 2017","description":"\u003c!--\n  RRMoto — WEBSITE description template.\n\n  This file is the VERSION-CONTROLLED SOURCE. The live copy is the\n  description_template column on the \"default-website-template\" row in\n  listing_templates (edited in the admin at Settings → Listing templates).\n  Install it with:  npx tsx scripts\/set-website-description-template.mts --apply\n\n  It renders the SAME spec block as the redesigned product page section\n  (shopify-theme\/sections\/rrmoto-product.liquid), matched value for value —\n  paper ground, 9px mono labels on a 110px column, 12.5px Archivo values,\n  hairline rules, and the red-edged compatibility notice. Two differences are\n  deliberate: this is self-contained (it lands in Shopify's body_html, outside\n  the theme, so it cannot use the theme's CSS variables and hardcodes the\n  literals), and every selector is scoped under .rrd so it can never leak into\n  the theme.\n\n  Rows are in the SAME ORDER the product page renders them, so the two read\n  as one thing: PART, PART NO., CONDITION, REMOVED FROM, FITMENT, ALSO FITS,\n  WEIGHT, MADE IN.\n\n  Empty variables drop their whole row — no orphan labels, no empty rules.\n--\u003e\n\u003cdiv class=\"rrd\"\u003e\n  \u003cdiv class=\"rrd__head\"\u003e\n    \u003cspan class=\"rrd__cond\"\u003eCondition: \u003cb\u003eUsed\u003c\/b\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rrd__specs\"\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003ePART\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eRear Panel Fairing\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eCONDITION\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e\u003cul\u003e\n\u003cli\u003eIn used good condition as shown in the pictures\u003c\/li\u003e\n\u003cli\u003eRemoved from 2015 30th Anniversary Edition with only 11k miles on the clocks\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eREMOVED FROM\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eKawasaki EX300 ABS Ninja\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eFITMENT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e2013-2017\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eWEIGHT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e1.0 kg\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eMADE IN\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eJapan\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cp class=\"rrd__warn\"\u003e\u003cb\u003eCheck compatibility before purchasing\u003c\/b\u003e — the photographs form a critical part of the item description.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .rrd, .rrd * { box-sizing: border-box; }\n  .rrd {\n    background: #F4F2EE;\n    color: #111;\n    font-family: Archivo, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n    \/* No padding by default: on the product page this sits inside the buy\n       column, which already carries the page inset, and an extra inset here\n       would indent the rows away from the price and buttons above them.\n       Standalone surfaces (the admin preview, Shopify's admin, a feed) add\n       their own — see .rrd--boxed below. *\/\n    padding: 0;\n    margin: 0;\n    \/* The product page renders this inside its buy column, which measures\n       523px at a 1440 viewport. Capping here keeps the block the same width\n       wherever else it is shown — the admin preview, Shopify's own admin, a\n       feed — instead of stretching to the full width of its container and\n       looking like a different design. *\/\n    max-width: 540px;\n  }\n\n  \/* NO brand lockup here by design: on the website this block sits inside a\n     page that already carries the RRMoto header, so a second logo is just\n     repetition. The eBay template keeps its lockup because that description\n     stands alone with no site around it. *\/\n  .rrd__head {\n    display: flex; justify-content: flex-end;\n    padding-bottom: 14px; border-bottom: 2px solid #111;\n  }\n  .rrd__cond {\n    font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace;\n    letter-spacing: .1em; text-transform: uppercase; color: #fff;\n    background: #0A0A0B; padding: 5px 10px;\n  }\n  .rrd__cond b { color: #FF3B30; font-weight: 600; }\n\n  \/* Spec rows — matched to the product section's .rr-pd__spec \/ __k \/ __vv. *\/\n  .rrd__specs { display: flex; flex-direction: column; margin-top: 4px; }\n  .rrd__spec { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid #E4E1DA; }\n  .rrd__spec:last-child { border-bottom: 0; }\n  .rrd__k { font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace; letter-spacing: .08em; color: #888; width: 110px; flex: none; }\n  .rrd__v { font: 600 12.5px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #111; min-width: 0; }\n\n  .rrd__warn {\n    background: #FBEAE9; border-left: 3px solid #E10600;\n    padding: 13px 15px; margin: 20px 0 0;\n    font: 400 12px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #7A1512;\n  }\n  .rrd__warn b { font-weight: 700; }\n\n  \/* Standalone: anywhere this is shown OUTSIDE the product page it needs its\n     own frame — the admin preview, Shopify's admin, a feed. *\/\n  .rrd--boxed { padding: 20px 22px 22px; background: #F4F2EE; }\n\n  @media (max-width: 600px) {\n    .rrd--boxed { padding: 16px; }\n    \/* The 110px label column leaves too little for the value on a phone, so\n       the row stacks rather than squeezing. *\/\n    .rrd__spec { flex-direction: column; gap: 3px; }\n    .rrd__k { width: auto; }\n  }\n\u003c\/style\u003e","brand":"Kawasaki","offers":[{"title":"Default Title","offer_id":58881518993733,"sku":"M2D-6","price":7.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstchqci007z04jvv2b553n8.png?v=1786737974"},{"product_id":"kawasaki-ex300-ninja-abs-2015-main-frame-chassis-2013-genuine-oem","title":"Main Frame Chassis Kawasaki EX300 (2015) 2013 - 2017","description":"\u003c!--\n  RRMoto — WEBSITE description template.\n\n  This file is the VERSION-CONTROLLED SOURCE. The live copy is the\n  description_template column on the \"default-website-template\" row in\n  listing_templates (edited in the admin at Settings → Listing templates).\n  Install it with:  npx tsx scripts\/set-website-description-template.mts --apply\n\n  It renders the SAME spec block as the redesigned product page section\n  (shopify-theme\/sections\/rrmoto-product.liquid), matched value for value —\n  paper ground, 9px mono labels on a 110px column, 12.5px Archivo values,\n  hairline rules, and the red-edged compatibility notice. Two differences are\n  deliberate: this is self-contained (it lands in Shopify's body_html, outside\n  the theme, so it cannot use the theme's CSS variables and hardcodes the\n  literals), and every selector is scoped under .rrd so it can never leak into\n  the theme.\n\n  Rows are in the SAME ORDER the product page renders them, so the two read\n  as one thing: PART, PART NO., CONDITION, REMOVED FROM, FITMENT, ALSO FITS,\n  WEIGHT, MADE IN.\n\n  Empty variables drop their whole row — no orphan labels, no empty rules.\n--\u003e\n\u003cdiv class=\"rrd\"\u003e\n  \u003cdiv class=\"rrd__head\"\u003e\n    \u003cspan class=\"rrd__cond\"\u003eCondition: \u003cb\u003eUsed\u003c\/b\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rrd__specs\"\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003ePART\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eMain Frame Chassis\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eCONDITION\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e\u003cul\u003e\n\u003cli\u003eIn good used and clean condition as shown on the pictures.\u003c\/li\u003e\n\u003cli\u003eStraight, all threads are good.\u003c\/li\u003e\n\u003cli\u003eHPI checked on 25\/01\/2024 shows experian clear, 3 previous owners.\u003c\/li\u003e\n\u003cli\u003eLast recorded MOT Mileage: 10,587 miles\u003c\/li\u003e\n\u003cli\u003eColour of the original bike: Green\u003c\/li\u003e\n\u003cli\u003eV5 will need to be applied for with V62, we will supply HPI certificate.\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eREMOVED FROM\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eKawasaki EX300 Ninja ABS\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eFITMENT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e2013-2017\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eALSO FITS\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eKawasaki EX300 ABS Ninja 2013-2017\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eWEIGHT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e90.0 kg\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eMADE IN\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eJapan\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cp class=\"rrd__warn\"\u003e\u003cb\u003eCheck compatibility before purchasing\u003c\/b\u003e — the photographs form a critical part of the item description.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .rrd, .rrd * { box-sizing: border-box; }\n  .rrd {\n    background: #F4F2EE;\n    color: #111;\n    font-family: Archivo, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n    \/* No padding by default: on the product page this sits inside the buy\n       column, which already carries the page inset, and an extra inset here\n       would indent the rows away from the price and buttons above them.\n       Standalone surfaces (the admin preview, Shopify's admin, a feed) add\n       their own — see .rrd--boxed below. *\/\n    padding: 0;\n    margin: 0;\n    \/* The product page renders this inside its buy column, which measures\n       523px at a 1440 viewport. Capping here keeps the block the same width\n       wherever else it is shown — the admin preview, Shopify's own admin, a\n       feed — instead of stretching to the full width of its container and\n       looking like a different design. *\/\n    max-width: 540px;\n  }\n\n  \/* NO brand lockup here by design: on the website this block sits inside a\n     page that already carries the RRMoto header, so a second logo is just\n     repetition. The eBay template keeps its lockup because that description\n     stands alone with no site around it. *\/\n  .rrd__head {\n    display: flex; justify-content: flex-end;\n    padding-bottom: 14px; border-bottom: 2px solid #111;\n  }\n  .rrd__cond {\n    font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace;\n    letter-spacing: .1em; text-transform: uppercase; color: #fff;\n    background: #0A0A0B; padding: 5px 10px;\n  }\n  .rrd__cond b { color: #FF3B30; font-weight: 600; }\n\n  \/* Spec rows — matched to the product section's .rr-pd__spec \/ __k \/ __vv. *\/\n  .rrd__specs { display: flex; flex-direction: column; margin-top: 4px; }\n  .rrd__spec { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid #E4E1DA; }\n  .rrd__spec:last-child { border-bottom: 0; }\n  .rrd__k { font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace; letter-spacing: .08em; color: #888; width: 110px; flex: none; }\n  .rrd__v { font: 600 12.5px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #111; min-width: 0; }\n\n  .rrd__warn {\n    background: #FBEAE9; border-left: 3px solid #E10600;\n    padding: 13px 15px; margin: 20px 0 0;\n    font: 400 12px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #7A1512;\n  }\n  .rrd__warn b { font-weight: 700; }\n\n  \/* Standalone: anywhere this is shown OUTSIDE the product page it needs its\n     own frame — the admin preview, Shopify's admin, a feed. *\/\n  .rrd--boxed { padding: 20px 22px 22px; background: #F4F2EE; }\n\n  @media (max-width: 600px) {\n    .rrd--boxed { padding: 16px; }\n    \/* The 110px label column leaves too little for the value on a phone, so\n       the row stacks rather than squeezing. *\/\n    .rrd__spec { flex-direction: column; gap: 3px; }\n    .rrd__k { width: auto; }\n  }\n\u003c\/style\u003e","brand":"Kawasaki","offers":[{"title":"Default Title","offer_id":58881519059269,"sku":"M6B - YO15 RZB - O1C#33","price":251.28,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstchkcv004604jvklw6gl35.jpg?v=1786737975"},{"product_id":"kawasaki-ex300-abs-ninja-2013-2017-horn-genuine-oem","title":"Horn Kawasaki EX300 Ninja ABS 2013 - 2017","description":"\u003c!--\n  RRMoto — WEBSITE description template.\n\n  This file is the VERSION-CONTROLLED SOURCE. The live copy is the\n  description_template column on the \"default-website-template\" row in\n  listing_templates (edited in the admin at Settings → Listing templates).\n  Install it with:  npx tsx scripts\/set-website-description-template.mts --apply\n\n  It renders the SAME spec block as the redesigned product page section\n  (shopify-theme\/sections\/rrmoto-product.liquid), matched value for value —\n  paper ground, 9px mono labels on a 110px column, 12.5px Archivo values,\n  hairline rules, and the red-edged compatibility notice. Two differences are\n  deliberate: this is self-contained (it lands in Shopify's body_html, outside\n  the theme, so it cannot use the theme's CSS variables and hardcodes the\n  literals), and every selector is scoped under .rrd so it can never leak into\n  the theme.\n\n  Rows are in the SAME ORDER the product page renders them, so the two read\n  as one thing: PART, PART NO., CONDITION, REMOVED FROM, FITMENT, ALSO FITS,\n  WEIGHT, MADE IN.\n\n  Empty variables drop their whole row — no orphan labels, no empty rules.\n--\u003e\n\u003cdiv class=\"rrd\"\u003e\n  \u003cdiv class=\"rrd__head\"\u003e\n    \u003cspan class=\"rrd__cond\"\u003eCondition: \u003cb\u003eUsed\u003c\/b\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rrd__specs\"\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003ePART\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eHorn\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eCONDITION\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e\u003cul\u003e\n\u003cli\u003eIn used good condition as shown in the pictures\u003c\/li\u003e\n\u003cli\u003eRemoved from 2015 30th Anniversary Edition with only 11k miles on the clocks\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eREMOVED FROM\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eKawasaki EX300 ABS Ninja\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eFITMENT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e2013-2017\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eWEIGHT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e1.0 kg\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eMADE IN\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eJapan\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cp class=\"rrd__warn\"\u003e\u003cb\u003eCheck compatibility before purchasing\u003c\/b\u003e — the photographs form a critical part of the item description.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .rrd, .rrd * { box-sizing: border-box; }\n  .rrd {\n    background: #F4F2EE;\n    color: #111;\n    font-family: Archivo, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n    \/* No padding by default: on the product page this sits inside the buy\n       column, which already carries the page inset, and an extra inset here\n       would indent the rows away from the price and buttons above them.\n       Standalone surfaces (the admin preview, Shopify's admin, a feed) add\n       their own — see .rrd--boxed below. *\/\n    padding: 0;\n    margin: 0;\n    \/* The product page renders this inside its buy column, which measures\n       523px at a 1440 viewport. Capping here keeps the block the same width\n       wherever else it is shown — the admin preview, Shopify's own admin, a\n       feed — instead of stretching to the full width of its container and\n       looking like a different design. *\/\n    max-width: 540px;\n  }\n\n  \/* NO brand lockup here by design: on the website this block sits inside a\n     page that already carries the RRMoto header, so a second logo is just\n     repetition. The eBay template keeps its lockup because that description\n     stands alone with no site around it. *\/\n  .rrd__head {\n    display: flex; justify-content: flex-end;\n    padding-bottom: 14px; border-bottom: 2px solid #111;\n  }\n  .rrd__cond {\n    font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace;\n    letter-spacing: .1em; text-transform: uppercase; color: #fff;\n    background: #0A0A0B; padding: 5px 10px;\n  }\n  .rrd__cond b { color: #FF3B30; font-weight: 600; }\n\n  \/* Spec rows — matched to the product section's .rr-pd__spec \/ __k \/ __vv. *\/\n  .rrd__specs { display: flex; flex-direction: column; margin-top: 4px; }\n  .rrd__spec { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid #E4E1DA; }\n  .rrd__spec:last-child { border-bottom: 0; }\n  .rrd__k { font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace; letter-spacing: .08em; color: #888; width: 110px; flex: none; }\n  .rrd__v { font: 600 12.5px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #111; min-width: 0; }\n\n  .rrd__warn {\n    background: #FBEAE9; border-left: 3px solid #E10600;\n    padding: 13px 15px; margin: 20px 0 0;\n    font: 400 12px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #7A1512;\n  }\n  .rrd__warn b { font-weight: 700; }\n\n  \/* Standalone: anywhere this is shown OUTSIDE the product page it needs its\n     own frame — the admin preview, Shopify's admin, a feed. *\/\n  .rrd--boxed { padding: 20px 22px 22px; background: #F4F2EE; }\n\n  @media (max-width: 600px) {\n    .rrd--boxed { padding: 16px; }\n    \/* The 110px label column leaves too little for the value on a phone, so\n       the row stacks rather than squeezing. *\/\n    .rrd__spec { flex-direction: column; gap: 3px; }\n    .rrd__k { width: auto; }\n  }\n\u003c\/style\u003e","brand":"Kawasaki","offers":[{"title":"Default Title","offer_id":58881524236613,"sku":"M2D-6","price":7.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstch9nh00k404jsle7uw5i1.jpg?v=1786738016"},{"product_id":"kawasaki-ex300-abs-ninja-2013-2017-lock-set-genuine-oem","title":"Lock Set Kawasaki EX300 Ninja ABS 2013 - 2017","description":"\u003c!--\n  RRMoto — WEBSITE description template.\n\n  This file is the VERSION-CONTROLLED SOURCE. The live copy is the\n  description_template column on the \"default-website-template\" row in\n  listing_templates (edited in the admin at Settings → Listing templates).\n  Install it with:  npx tsx scripts\/set-website-description-template.mts --apply\n\n  It renders the SAME spec block as the redesigned product page section\n  (shopify-theme\/sections\/rrmoto-product.liquid), matched value for value —\n  paper ground, 9px mono labels on a 110px column, 12.5px Archivo values,\n  hairline rules, and the red-edged compatibility notice. Two differences are\n  deliberate: this is self-contained (it lands in Shopify's body_html, outside\n  the theme, so it cannot use the theme's CSS variables and hardcodes the\n  literals), and every selector is scoped under .rrd so it can never leak into\n  the theme.\n\n  Rows are in the SAME ORDER the product page renders them, so the two read\n  as one thing: PART, PART NO., CONDITION, REMOVED FROM, FITMENT, ALSO FITS,\n  WEIGHT, MADE IN.\n\n  Empty variables drop their whole row — no orphan labels, no empty rules.\n--\u003e\n\u003cdiv class=\"rrd\"\u003e\n  \u003cdiv class=\"rrd__head\"\u003e\n    \u003cspan class=\"rrd__cond\"\u003eCondition: \u003cb\u003eUsed\u003c\/b\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rrd__specs\"\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003ePART\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eLock Set\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eCONDITION\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e\u003cul\u003e\n\u003cli\u003eIn used working condition as shown in the pictures\u003c\/li\u003e\n\u003cli\u003eRemoved from 2015 30th Anniversary Edition with only 11k miles on the clocks\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eREMOVED FROM\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eKawasaki EX300 ABS Ninja\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eFITMENT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e2013-2017\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eWEIGHT\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003e1.0 kg\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eMADE IN\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eJapan\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cp class=\"rrd__warn\"\u003e\u003cb\u003eCheck compatibility before purchasing\u003c\/b\u003e — the photographs form a critical part of the item description.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .rrd, .rrd * { box-sizing: border-box; }\n  .rrd {\n    background: #F4F2EE;\n    color: #111;\n    font-family: Archivo, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n    \/* No padding by default: on the product page this sits inside the buy\n       column, which already carries the page inset, and an extra inset here\n       would indent the rows away from the price and buttons above them.\n       Standalone surfaces (the admin preview, Shopify's admin, a feed) add\n       their own — see .rrd--boxed below. *\/\n    padding: 0;\n    margin: 0;\n    \/* The product page renders this inside its buy column, which measures\n       523px at a 1440 viewport. Capping here keeps the block the same width\n       wherever else it is shown — the admin preview, Shopify's own admin, a\n       feed — instead of stretching to the full width of its container and\n       looking like a different design. *\/\n    max-width: 540px;\n  }\n\n  \/* NO brand lockup here by design: on the website this block sits inside a\n     page that already carries the RRMoto header, so a second logo is just\n     repetition. The eBay template keeps its lockup because that description\n     stands alone with no site around it. *\/\n  .rrd__head {\n    display: flex; justify-content: flex-end;\n    padding-bottom: 14px; border-bottom: 2px solid #111;\n  }\n  .rrd__cond {\n    font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace;\n    letter-spacing: .1em; text-transform: uppercase; color: #fff;\n    background: #0A0A0B; padding: 5px 10px;\n  }\n  .rrd__cond b { color: #FF3B30; font-weight: 600; }\n\n  \/* Spec rows — matched to the product section's .rr-pd__spec \/ __k \/ __vv. *\/\n  .rrd__specs { display: flex; flex-direction: column; margin-top: 4px; }\n  .rrd__spec { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid #E4E1DA; }\n  .rrd__spec:last-child { border-bottom: 0; }\n  .rrd__k { font: 600 9px \"IBM Plex Mono\", ui-monospace, Menlo, Consolas, monospace; letter-spacing: .08em; color: #888; width: 110px; flex: none; }\n  .rrd__v { font: 600 12.5px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #111; min-width: 0; }\n\n  .rrd__warn {\n    background: #FBEAE9; border-left: 3px solid #E10600;\n    padding: 13px 15px; margin: 20px 0 0;\n    font: 400 12px\/1.5 Archivo, Helvetica, Arial, sans-serif; color: #7A1512;\n  }\n  .rrd__warn b { font-weight: 700; }\n\n  \/* Standalone: anywhere this is shown OUTSIDE the product page it needs its\n     own frame — the admin preview, Shopify's admin, a feed. *\/\n  .rrd--boxed { padding: 20px 22px 22px; background: #F4F2EE; }\n\n  @media (max-width: 600px) {\n    .rrd--boxed { padding: 16px; }\n    \/* The 110px label column leaves too little for the value on a phone, so\n       the row stacks rather than squeezing. *\/\n    .rrd__spec { flex-direction: column; gap: 3px; }\n    .rrd__k { width: auto; }\n  }\n\u003c\/style\u003e","brand":"Kawasaki","offers":[{"title":"Default Title","offer_id":58881530167621,"sku":"1C-3","price":82.79,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstch0t400cy04jsuxvqa67c.jpg?v=1786738097"}],"url":"https:\/\/rrmoto.co.uk\/collections\/used-kawasaki-ex300-abs-ninja-parts.oembed","provider":"RRMoto","version":"1.0","type":"link"}