{"title":"Used Royal Enfield Motorcycle Parts","description":"\u003cp\u003eGenuine used Royal Enfield motorcycle parts, stripped from real bikes in our workshop. Every part is photographed individually — what you see is the exact item you receive — and graded for condition. Stock changes daily as bikes are dismantled, so check back or search for your model.\u003c\/p\u003e","products":[{"product_id":"royal-enfield-classic-350-rider-seat-genuine-oem-kxh00025-e","title":"Royal Enfield Classic 350 Rider Seat Genuine OEM KXH00025\/E","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\"\u003eRider Seat\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003ePART NO.\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eKXH00025\/E\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eCONDITION\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eGood used black rider saddle in good condition; please see the last two images.\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\"\u003eRoyal Enfield Classic 350\u003c\/span\u003e\n\u003c\/div\u003e\n    \n    \n    \n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eMADE IN\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eIndia\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":"Royal Enfield","offers":[{"title":"Default Title","offer_id":58866212471109,"sku":"1C-9","price":53.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmsrgcppl000704l2iir3zi4z.jpg?v=1786621615"},{"product_id":"royal-enfield-interceptor-650-2019-2024-2022-left-right-exhaust-silencer","title":"Royal Enfield Interceptor 650 2022 Left \u0026 Right Exhaust Silencer","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\"\u003eLeft \u0026amp; Right Exhaust Silencer\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\"\u003eUsed, in working condition, with expected wear and tear.\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\"\u003eRoyal Enfield Interceptor 650 2022\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\"\u003e2019-2024\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\"\u003eUnited Kingdom\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":"Royal Enfield","offers":[{"title":"Default Title","offer_id":58881996783941,"sku":"2E-2","price":58.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmsteeusx01re04kvammmftdz.jpg?v=1786748070"},{"product_id":"royal-enfield-continental-gt650-2019-2024-interceptor-exhaust-silencer","title":"Royal Enfield Continental GT650 \u0026 Interceptor Exhaust Silencer","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\"\u003eInterceptor Exhaust Silencer\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003ePART NO.\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eRLX00456\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rrd__spec\"\u003e\n\u003cspan class=\"rrd__k\"\u003eCONDITION\u003c\/span\u003e\u003cspan class=\"rrd__v\"\u003eUsed, in working condition, with expected wear and tear.\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\"\u003eRoyal Enfield Continental GT650\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\"\u003e2019-2024\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\"\u003eIndia\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":"Royal Enfield","offers":[{"title":"Default Title","offer_id":58882024603973,"sku":"2E-2","price":80.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmsteaadb00ei04jlkz7y096d.jpg?v=1786749269"}],"url":"https:\/\/rrmoto.co.uk\/collections\/used-royal-enfield-motorcycle-parts.oembed","provider":"RRMoto","version":"1.0","type":"link"}