{"title":"Used BMW F800 ST Parts","description":"\u003cp\u003eGenuine used parts for the BMW F800 ST, 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 F800 ST parts are added as bikes come in.\u003c\/p\u003e","products":[{"product_id":"bmw-f800-st-2006-2010-air-temp-sensor-genuine-oem-65816936953-01","title":"OEM Air Temp Sensor BMW F800 ST 2006 - 2010","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\"\u003eAir Temp Sensor\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\"\u003e65816936953-01\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 good condition as shown on the pictures!\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58880291111237,"sku":"1B-1","price":9.44,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmst4opdi006804l7hz9qmhxj.jpg?v=1786723118"},{"product_id":"bmw-f800-st-2006-2010-rear-light-brake-wiring-loom-genuine-oem-7680876-02","title":"OEM Rear Light Brake Wiring Loom BMW F800 ST 2006 - 2010","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 Light Brake Wiring Loom\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\"\u003e7680876-02\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 good condition as shown on the pictures!\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58880291504453,"sku":"1C-1","price":9.44,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmst4oq5n006x04l7dyo2vgh1.png?v=1786723127"},{"product_id":"bmw-f800-st-2006-2010-rear-brake-caliper-genuine-oem","title":"OEM Rear Brake Caliper BMW F800 ST 2006 - 2010","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 Brake Caliper\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 good condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58880552599877,"sku":"4B-7","price":18.89,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmst5xfl3007k04jsi886s3pa.png?v=1786726954"},{"product_id":"bmw-f800-st-2006-2010-bottom-yoke-genuine-oem","title":"Bottom Yoke BMW F800 ST 2006 - 2010","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\"\u003eBottom Yoke\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 good condition as shown on the pictures!\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881092223301,"sku":"3B-1","price":9.44,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmsta5pgb006n05l3w12zb882.png?v=1786732421"},{"product_id":"bmw-f800-st-2006-2010-cylinder-head-bolts-genuine-oem","title":"Cylinder Head Bolts BMW F800 ST 2006 - 2010","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\"\u003eCylinder Head Bolts\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 good condition as pictured\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881153990981,"sku":"U3-E1","price":7.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstapqbi011104l83usxxppv.jpg?v=1786733313"},{"product_id":"bmw-f800-st-2006-2010-abs-pump-wiring-loom-genuine-oem-7680878-02","title":"OEM ABS Pump Wiring Loom BMW F800 ST 2006 - 2010","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\"\u003eABS Pump Wiring Loom\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\"\u003e7680878-02\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 good condition as shown on the pictures!\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881163395397,"sku":"2A-1","price":18.89,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstap6ir00la04l8imbb2nbr.jpg?v=1786733514"},{"product_id":"bmw-f800-st-2006-2010-front-left-foot-peg-hanger-bracket-genuine-oem-7678669","title":"Front Left Foot Peg \u0026 Hanger Bracket BMW F800 ST 2006 - 2010","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\"\u003eFront Left Foot Peg \u0026amp; Hanger Bracket\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\"\u003e7678669\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 good condition, rubber peg is coming off as shown on the pictures!\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881168638277,"sku":"4B-7","price":22.04,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstap3j600i604l8p3x9y6rx.jpg?v=1786733616"},{"product_id":"bmw-f800-st-2006-2010-tyre-pressure-control-system-unit-genuine-oem-7702720","title":"Tyre Pressure Control System Unit BMW F800 ST 2006 - 2010","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\"\u003eTyre Pressure Control System Unit\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\"\u003e7702720\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 good condition as shown on the pictures!\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881196392773,"sku":"1B-1","price":18.89,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstaovfo00ag04l8eqzw0767.jpg?v=1786733785"},{"product_id":"bmw-f800-st-2006-2010-front-wheel-spindle-genuine-oem","title":"Front Wheel Spindle BMW F800 ST 2006 - 2010","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\"\u003eFront Wheel Spindle\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 good condition as shown on the pictures!\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881207828805,"sku":"4B-7","price":10.07,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstaopxs006j04l8r2xlknsb.png?v=1786733893"},{"product_id":"bmw-f800-st-2006-2010-rear-left-fairing-panel-genuine-oem-46627678607","title":"OEM Rear Left Fairing Panel BMW F800 ST 2006 - 2010","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 Left Fairing Panel\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\"\u003e46627678607\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 good condition as shown on the pictures!\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881218773317,"sku":"1B-10","price":12.59,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstaom2v003b04l8og8vsgyx.png?v=1786733973"},{"product_id":"bmw-f800-st-2006-2010-water-pump-cover-housing-genuine-oem","title":"Water Pump Cover Housing BMW F800 ST 2006 - 2010","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\"\u003eWater Pump Cover Housing\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 good condition as pictured\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881343390021,"sku":"U3-E1","price":7.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstboosg00bu0akgniyvghcl.jpg?v=1786735864"},{"product_id":"bmw-f800-st-2006-2010-starter-idle-gears-guides-genuine-oem","title":"Starter Idle Gears Guides BMW F800 ST 2006 - 2010","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\"\u003eStarter Idle Gears Guides\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 good condition as pictured\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881361477957,"sku":"U3-E1","price":7.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstbo868006h04lapnc061uw.jpg?v=1786736123"},{"product_id":"bmw-f800-st-2006-2010-timing-chain-sliders-guides-genuine-oem","title":"Timing Chain Sliders Guides BMW F800 ST 2006 - 2010","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\"\u003eTiming Chain Sliders Guides\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 good condition as pictured\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58881383760197,"sku":"U3-E1","price":7.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstbo48e002604la7nh01wcf.jpg?v=1786736178"},{"product_id":"front-abs-sensor-bmw-f800-st-2008-2006-2010","title":"Front ABS Sensor BMW F800 ST 2008 (2006 - 2010)","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\"\u003eFront ABS Sensor\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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886431211845,"sku":"M2C-9","price":13.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdsav100qc04jmj6dmo1us.png?v=1786789582"},{"product_id":"rear-number-plate-holder-bmw-f800-st-2008-2006-2010","title":"Rear Number Plate Holder BMW F800 ST 2008 (2006 - 2010)","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 Number Plate Holder\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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886432719173,"sku":"M2C-9","price":13.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstds6gu00mo04jmlbnajmb4.jpg?v=1786789621"},{"product_id":"rear-subframe-tank-bmw-f800-s-st-2008-2006-2010","title":"Rear Subframe \u0026 Tank BMW F800 S ST 2008 (2006 - 2010)","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 Subframe \u0026amp; Tank S\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 on the pictures\u003c\/li\u003e\n\u003cli\u003eFuel tank will need a clean from old fuel.\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886433636677,"sku":"M2A","price":32.39,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstds22800ip04jmud0owvef.jpg?v=1786789640"},{"product_id":"2x-oem-tyre-pressure-monitor-sensor-tpm-bmw-f800-s-st-2008-2006-2010","title":"2x OEM Tyre Pressure Monitor Sensor TPM BMW F800 S ST 2008 (2006 - 2010)","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\"\u003e2x OEM Tyre Pressure Monitor Sensor TPM S\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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886440911173,"sku":"M2C-9","price":22.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdrv6e00dn04jmipc8ys9c.jpg?v=1786789849"},{"product_id":"radiator-fan-bmw-f800-s-st-2008-2006-2010","title":"Radiator + Fan BMW F800 S ST 2008 (2006 - 2010)","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\"\u003eRadiator + Fan S\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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886441337157,"sku":"3H","price":49.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdrsde00b404jmkrswicow.jpg?v=1786789883"},{"product_id":"tuel-cap-seat-lock-set-bmw-f800-s-st-2008-2006-2010","title":"Fuel Cap \u0026 Seat Lock Set BMW F800 S ST 2008 (2006 - 2010)","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\"\u003eFuel Cap \u0026amp; Seat Lock Set S\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\"\u003eIn used, good working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886443729221,"sku":"M2C-9","price":58.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdrqzz009h04jme2ieqtby.jpg?v=1786789926"},{"product_id":"left-switchgear-bmw-f800-st-2008-2006-2010","title":"Left Switchgear BMW F800 ST 2008 (2006 - 2010)","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 Switchgear\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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886447530309,"sku":"M2C-9","price":26.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdrr55009o04jmuq9nzp6y.jpg?v=1786789936"},{"product_id":"exhaust-header-downpipes-bmw-f800-s-st-2008-2006-2010","title":"Exhaust Header Downpipes BMW F800 S ST 2008 (2006 - 2010)","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 Header Downpipes S\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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886447628613,"sku":"2C-1","price":24.29,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdrmtl006o04jmqmb47fux.jpg?v=1786789947"},{"product_id":"front-brake-calipers-bmw-f800-st-2008-2006-2010","title":"Front Brake Calipers BMW F800 ST 2008 (2006 - 2010)","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\"\u003eFront Brake Calipers\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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886448349509,"sku":"M2C-9","price":71.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdrn2u006y04jma2o46128.png?v=1786789958"},{"product_id":"horn-bmw-f800-st-2008-2006-2010","title":"Horn BMW F800 ST 2008 (2006 - 2010)","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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886448382277,"sku":"M2C-9","price":8.09,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdrmav006204jmk5llno3q.png?v=1786789960"},{"product_id":"rear-brake-master-cylinder-bmw-f800-st-2008-2006-2010","title":"Rear Brake Master Cylinder BMW F800 ST 2008 (2006 - 2010)","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 Brake Master Cylinder\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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886449332549,"sku":"M2C-9","price":26.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdrmgc006904jm1zmiv9t2.png?v=1786789993"},{"product_id":"front-abs-ring-bmw-f800-st-2008-2006-2010","title":"Front ABS Ring BMW F800 ST 2008 (2006 - 2010)","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\"\u003eFront ABS Ring\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\"\u003eIn used, working condition as shown on the pictures\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\"\u003eBMW F800 ST\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\"\u003e2006-2010\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\"\u003eGermany\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":"BMW","offers":[{"title":"Default Title","offer_id":58886449496389,"sku":"M2C-9","price":8.09,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1074\/4558\/4197\/files\/cmstdrjct003404jmk2r8w2ll.png?v=1786790024"}],"url":"https:\/\/rrmoto.co.uk\/collections\/used-bmw-f800-st-parts.oembed","provider":"RRMoto","version":"1.0","type":"link"}