window.appBlockPlacements ||= [];
if (window.klarnaAppBlocksManager) {
window.klarnaAppBlocksManager.push({
productVariants: [{"id":55175522648447,"title":"27.2mm post - 400mm length - 25mm offset","option1":"27.2mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510127240","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 27.2mm post - 400mm length - 25mm offset","public_title":"27.2mm post - 400mm length - 25mm offset","options":["27.2mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522681215,"title":"30.9mm post - 400mm length - 25mm offset","option1":"30.9mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510130940","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 25mm offset","public_title":"30.9mm post - 400mm length - 25mm offset","options":["30.9mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522713983,"title":"31.6mm post - 400mm length - 25mm offset","option1":"31.6mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510131640","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 31.6mm post - 400mm length - 25mm offset","public_title":"31.6mm post - 400mm length - 25mm offset","options":["31.6mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522746751,"title":"25.4mm post - 400mm length - 25mm offset","option1":"25.4mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN512625440","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 25.4mm post - 400mm length - 25mm offset","public_title":"25.4mm post - 400mm length - 25mm offset","options":["25.4mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522779519,"title":"27.2mm post - 400mm length - 0 degrees offset","option1":"27.2mm post - 400mm length - 0 degrees offset","option2":null,"option3":null,"sku":"EN512627240","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 27.2mm post - 400mm length - 0 degrees offset","public_title":"27.2mm post - 400mm length - 0 degrees offset","options":["27.2mm post - 400mm length - 0 degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522812287,"title":"30.9mm post - 400mm length - 0 degrees offset","option1":"30.9mm post - 400mm length - 0 degrees offset","option2":null,"option3":null,"sku":"EN512630940","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 0 degrees offset","public_title":"30.9mm post - 400mm length - 0 degrees offset","options":["30.9mm post - 400mm length - 0 degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522845055,"title":"31.6mm post - 400mm length - 0-degrees offset","option1":"31.6mm post - 400mm length - 0-degrees offset","option2":null,"option3":null,"sku":"EN512631640","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 31.6mm post - 400mm length - 0-degrees offset","public_title":"31.6mm post - 400mm length - 0-degrees offset","options":["31.6mm post - 400mm length - 0-degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],
templateName: 'product',
dataKey: 'top-strip-promotion-badge',
storefrontCurrency: 'GBP',
storefrontCountry: 'GB',
storefrontLanguage: 'en',
shopLocale: 'en',
shopDomain: 'projektride.co.uk',
variantPrice: '33000',
cartPrice: '0',
selector: 'shopify-osm-AZkxmY3VSTnFmNnNiW__klarna_on_site_messaging_app_block_k6rYHt',
topPadding: '0',
bottomPadding: '0',
});
} else {
window.appBlockPlacements.push({
productVariants: [{"id":55175522648447,"title":"27.2mm post - 400mm length - 25mm offset","option1":"27.2mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510127240","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 27.2mm post - 400mm length - 25mm offset","public_title":"27.2mm post - 400mm length - 25mm offset","options":["27.2mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522681215,"title":"30.9mm post - 400mm length - 25mm offset","option1":"30.9mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510130940","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 25mm offset","public_title":"30.9mm post - 400mm length - 25mm offset","options":["30.9mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522713983,"title":"31.6mm post - 400mm length - 25mm offset","option1":"31.6mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510131640","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 31.6mm post - 400mm length - 25mm offset","public_title":"31.6mm post - 400mm length - 25mm offset","options":["31.6mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522746751,"title":"25.4mm post - 400mm length - 25mm offset","option1":"25.4mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN512625440","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 25.4mm post - 400mm length - 25mm offset","public_title":"25.4mm post - 400mm length - 25mm offset","options":["25.4mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522779519,"title":"27.2mm post - 400mm length - 0 degrees offset","option1":"27.2mm post - 400mm length - 0 degrees offset","option2":null,"option3":null,"sku":"EN512627240","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 27.2mm post - 400mm length - 0 degrees offset","public_title":"27.2mm post - 400mm length - 0 degrees offset","options":["27.2mm post - 400mm length - 0 degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522812287,"title":"30.9mm post - 400mm length - 0 degrees offset","option1":"30.9mm post - 400mm length - 0 degrees offset","option2":null,"option3":null,"sku":"EN512630940","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 0 degrees offset","public_title":"30.9mm post - 400mm length - 0 degrees offset","options":["30.9mm post - 400mm length - 0 degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522845055,"title":"31.6mm post - 400mm length - 0-degrees offset","option1":"31.6mm post - 400mm length - 0-degrees offset","option2":null,"option3":null,"sku":"EN512631640","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 31.6mm post - 400mm length - 0-degrees offset","public_title":"31.6mm post - 400mm length - 0-degrees offset","options":["31.6mm post - 400mm length - 0-degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],
templateName: 'product',
shopLocale: 'en',
dataKey: 'top-strip-promotion-badge',
storefrontCurrency: 'GBP',
storefrontCountry: 'GB',
storefrontLanguage: 'en',
shopDomain: 'projektride.co.uk',
variantPrice: '33000',
cartPrice: '0',
selector: 'shopify-osm-AZkxmY3VSTnFmNnNiW__klarna_on_site_messaging_app_block_k6rYHt',
topPadding: '0',
bottomPadding: '0',
});
}
Product details
The ENVE M9 Mountain Handlebar is a race-proven DH bar built to win on the world's toughest tracks thanks to a downhill-tuned flex profile that sets the standard for others to follow.
Dedicated to downhill, the M9 bar is built to take the planet's best racers down the gnarliest trails at the fastest possible speeds. Redefining the potential of carbon DH bars, the M9 has been on the DH World Cup podium over 75 times.This 400mm ENVE Carbon Seatpost with 25mm offset is a weight-saving performance upgrade for your bike with a patented twin-bolt clamp design for easy, accurate saddle adjustment.
Part of ENVE's eight-bar M Series range, which provides a bar for every riding style, the M9 is available in 30 and 50mm rise options with a 31.8mm clamp diameter. Both versions have an eight-degree sweep and four-degree tip to help you find your perfect fit.Expertly constructed from uninterrupted uni-directional carbon fibre, ENVE has created a high strength, low weight seatpost with ride-enhancing vibration absorption. The post is also compatible with electronic drivetrain batteries.
With the M9 bar, ENVE's unparalleled carbon know-how has realigned the performance expectations of downhill bars. Thanks to the brand's expert uni-directional carbon construction, the M9 delivers a high-strength, low-weight bar that boasts confidence-inspiring handling, fatigue reduction and unmatched ride feel.The patented twin-bolt clamp design secures your saddle thanks to its method of compressing a horizontally-opposed wedge system to clamp the rails. As you tighten the front or rear bolt while loosening the other, the wedge tilts the saddle up or down, making micro adjustments of the angle easy.
At 810mm wide the M9 is the widest in the M Series range to give maximum control. If you prefer things a little narrower, ENVE has provided trim marks that allow you to cut the bar down to 780mm without compromising that all-important ride feel or strength.Another benefit to the clamp is its narrow rail supports, which allow maximum fore and aft saddle adjustment, helping to perfect your bike fit. Two upper cradles are also supplied to cater for standard and oversized rails.
The M9 bar comes with a full pack of decals (see image gallery) so you can match your bar decal with the rest of your setup.Available in 27.2, 30.9 and 31.6mm, the seatpost is compatible with the majority of bikes.
30mm or 50mm rise with 8° sweep and 4° tipContinuous uni-directional carbon construction
Coverage for the original owner against defects in materials and workmanship for the period of five years from the original purchase date. Product registration is required within 60 days of purchase. Second-hand owners are covered from the product's date of manufacture.
5-year Factory Limited Warranty and Incidental Damage Protection Programme
Coverage for the original owner against defects in materials and workmanship for the period of five years from the original purchase date. Product registration is required within 60 days of purchase. Second-hand owners are covered from the product's date of manufacture.This program provides a no-charge replacement for your first three years of ownership and a prorated replacement thereafter for damage inflicted when racing, riding, or transporting your bicycle. Original owners only. Product registration is required within 60 days of purchase to be eligible for this program.
This program provides a no-charge replacement for your first three years of ownership and a prorated replacement thereafter for damage inflicted when racing, riding, or transporting your bicycle. Original owners only. Product registration is required within 60 days of purchase to be eligible for this program.
Width Maximum (as supplied)Saddle Angle Adjustment
810mm0-27-degrees
Width Minimum (cut)Offset
780mm25mm
Clamp DiameterLength
31.8400mm
Clamp zoneSaddle Rail Compatibility
7x9mm Carbon Rails, 7mm Round Alloy Rails
Rise
+30mmMinimum Insertion
75mm
Sweep
8 degreesTorque Spec: Saddle Rail Clamp Bolts
5.5Nm
Tip
4 degreesTorque Spec: Seatpost Collar
As determined by the frame manufacturer
Torque Spec: Face Plate
5.5Nm
[]
Torque Spec: Controls
{"@context":"http:\/\/schema.org\/","@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset#product","@type":"ProductGroup","brand":{"@type":"Brand","name":"Enve"},"category":"Bicycle Seatposts","description":"Product details\n\nThis 400mm ENVE Carbon Seatpost with 25mm offset is a weight-saving performance upgrade for your bike with a patented twin-bolt clamp design for easy, accurate saddle adjustment.\nExpertly constructed from uninterrupted uni-directional carbon fibre, ENVE has created a high strength, low weight seatpost with ride-enhancing vibration absorption. The post is also compatible with electronic drivetrain batteries.\nThe patented twin-bolt clamp design secures your saddle thanks to its method of compressing a horizontally-opposed wedge system to clamp the rails. As you tighten the front or rear bolt while loosening the other, the wedge tilts the saddle up or down, making micro adjustments of the angle easy.\nAnother benefit to the clamp is its narrow rail supports, which allow maximum fore and aft saddle adjustment, helping to perfect your bike fit. Two upper cradles are also supplied to cater for standard and oversized rails.\nAvailable in 27.2, 30.9 and 31.6mm, the seatpost is compatible with the majority of bikes.\n\nContinuous uni-directional carbon construction\nPatented twin-bolt clamp design\nCompatible with standard and oversized rails\nReversible lower cradles for 0-18° or 9-27° of angle adjustment\nTitanium bolts\n5-year Factory Limited Warranty and Incidental Damage Protection Programme\n\nENVE Factory Limited Warranty\nCoverage for the original owner against defects in materials and workmanship for the period of five years from the original purchase date. Product registration is required within 60 days of purchase. Second-hand owners are covered from the product's date of manufacture.\nhttps:\/\/www.enve.com\/support\/warranty-terms\/\nENVE Incidental Damage Protection\nThis program provides a no-charge replacement for your first three years of ownership and a prorated replacement thereafter for damage inflicted when racing, riding, or transporting your bicycle. Original owners only. Product registration is required within 60 days of purchase to be eligible for this program.\nhttps:\/\/www.enve.com\/support\/incidental-damage-protection-terms\/\n \n\n\n\n\nENVE Carbon Seatpost - 25mm Offset\n\n\n\nMaterial\nCarbon fibre\n\n\nWeight\n204g\n\n\nDiameter\n27.2 30.9, 31.6\n\n\nSaddle Angle Adjustment\n0-27-degrees\n\n\nOffset\n25mm\n\n\nLength\n400mm\n\n\nSaddle Rail Compatibility\n7x9mm Carbon Rails, 7mm Round Alloy Rails\n\n\nMinimum Insertion\n75mm\n\n\nTorque Spec: Saddle Rail Clamp Bolts\n5.5Nm\n\n\nTorque Spec: Seatpost Collar\nAs determined by the frame manufacturer\n\n\n\n","hasVariant":[{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522648447#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086\u0026width=1920","name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 27.2mm post - 400mm length - 25mm offset","offers":{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522648447#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"330.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522648447"},"sku":"EN510127240"},{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522681215#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086\u0026width=1920","name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 25mm offset","offers":{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522681215#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"330.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522681215"},"sku":"EN510130940"},{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522713983#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086\u0026width=1920","name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 31.6mm post - 400mm length - 25mm offset","offers":{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522713983#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"330.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522713983"},"sku":"EN510131640"},{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522746751#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086\u0026width=1920","name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 25.4mm post - 400mm length - 25mm offset","offers":{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522746751#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"330.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522746751"},"sku":"EN512625440"},{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522779519#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086\u0026width=1920","name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 27.2mm post - 400mm length - 0 degrees offset","offers":{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522779519#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"330.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522779519"},"sku":"EN512627240"},{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522812287#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086\u0026width=1920","name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 0 degrees offset","offers":{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522812287#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"330.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522812287"},"sku":"EN512630940"},{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522845055#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086\u0026width=1920","name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 31.6mm post - 400mm length - 0-degrees offset","offers":{"@id":"\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522845055#offer","@type":"Offer","availability":"http:\/\/schema.org\/OutOfStock","price":"330.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/enve-400mm-carbon-seatpost-25mm-offset?variant=55175522845055"},"sku":"EN512631640"}],"name":"ENVE 400mm Carbon Seatpost - 25mm Offset","productGroupID":"14971784429951","url":"https:\/\/projektride.co.uk\/products\/enve-400mm-carbon-seatpost-25mm-offset"}
I'm looking to find out more information about a product, where can I find this?
MaterialPlease get in touch with a member of the team either by phone (
01313745324
Carbon fibre) or email (
[email protected]
) where on of the team will be more than happy to help.
ProjektRide Bike Shop Edinburgh
Weight
265g
I'm looking to buy this product, when will it arrive and how much does postage cost?
Width Maximum (as supplied)If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item.
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
810mmWe also have a physical store, if you are local please pop in -
Buy, sell and ride in confidence on ProjektRide’s premium bikes
Quick Links
Track Service Progress
Frequently Asked Questions
Building Your Bike From the Box
Insure Your Bike
Privacy Policy
Please get in touch with a member of the team either by phone (
01313745324
) or email (Cookie Policy[email protected]
) where on of the team will be more than happy to help.
ProjektRide Bike Shop EdinburghTerms of Service
Refund policy
If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. Service
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
We also have a physical store, if you are local please pop in -
window._RestockRocketConfig = window._RestockRocketConfig || {}
// Helper function to normalize locale format from hyphen to underscore (e.g., 'en-US' -> 'en_us')
// This matches the backend's Mobility.normalize_locale behavior
// Returns empty string if locale is empty or invalid (matches original behavior)
function normalizeLocale(locale) {
if (!locale || locale.trim() === '') {
return '';
}
return locale.toString().toLowerCase().replace(/-/g, '_');
}
window._RestockRocketConfig.locale = 'en';
window._RestockRocketConfig.normalizedLocale = normalizeLocale('en');
window._RestockRocketConfig.shop = 'projektride.myshopify.com';
window._RestockRocketConfig.pageType = 'product';
window._RestockRocketConfig.liquidRenderedAt = 1775391885;window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom';
window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-12-28T14:44:23.508Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":null,"insert_button_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"This item needs to be purchased separately. Please check out or clear your cart before adding this item.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2026-01-08T16:12:13.364Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,43936124141794,43936124174562,43936129941730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,43936152092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936333103330,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392773346,43981392806114,43981392838882,43981392904418,43981392937186,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140279791842,44140279824610,44140279857378,44140279890146,44140279922914,44140292047074,44140292079842,44140292112610,44140293685474,44140302336226,44140302434530,44140302500066,44140302532834,44140302565602,44140302598370,44140302631138,44140302827746,44140302893282,44140302926050,44140306301154,44140315050210,44140317016290,44140321636578,44140335792354,44140335825122,44140335857890,44140339953890,44140339986658,44140340150498,44140340248802,44140340281570,44140340543714,44140340707554,44140340740322,44140340773090,44140345065698,44140352438498,44140388155618,44140388188386,44140397756642,44140404441314,44140404474082,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712415103,55569712447871,55569712480639,55570017616255,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814967167,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-04-05T12:10:31Z","market_locations_enabled":false,"market_id":382140642,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-04-05T12:05:22Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2026-04-05T12:14:49Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569712382335,55569712415103,55569712480639,55570017616255,55570017550719,55569712447871,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}];(function() {
const cachedData = {"plans":[{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569712382335,55569712415103,55569712480639,55570017616255,55570017550719,55569712447871,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}],"disabled_plan_ids":[713813721471,713176482175],"cached_at":"2026-02-18T08:36:42Z"};
if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) {
// Find the maximum updated_at from all items in old array
const oldPlans = window._RestockRocketConfig.sellingPlans;
const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0
? oldPlans.reduce(function(max, plan) {
// Parse dates for proper comparison (handles mixed ISO formats)
if (plan.updated_at) {
const planDate = new Date(plan.updated_at);
const maxDate = max ? new Date(max) : null;
return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max;
}
return max;
}, '')
: null;
// Use cached if old array is empty/has no timestamps, or cached is newer
// Parse dates for comparison to handle format differences (+00:00 vs .000Z)
const cachedDate = new Date(cachedData.cached_at);
const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null;
const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate));
if (useCached) {
if (Array.isArray(cachedData.plans)) {
window._RestockRocketConfig.sellingPlans = cachedData.plans;
// Only use disabled_plan_ids when using cached plans
window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || [];
console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')');
}
} else {
// When using old format (stale cache), don't
trust disabled_plan_ids
window._RestockRocketConfig.disabledSellingPlanIds = [];
console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')');
}
}
})();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._
RestockRocketConfig.product = {"id":14971784429951,"title":"ENVE 400mm Carbon Seatpost - 25mm Offset","handle":"enve-400mm-carbon-seatpost-25mm-offset","description":"\u003ch2 class=\"des-title\"\u003eProduct details\u003c\/h2\u003e\n\u003cdiv class=\"product-description rte\"\u003e\n\u003cp\u003eThis 400mm ENVE Carbon Seatpost with 25mm offset is a weight-saving performance upgrade for your bike with a patented twin-bolt clamp design for easy, accurate saddle adjustment.\u003c\/p\u003e\n\u003cp\u003eExpertly constructed from uninterrupted uni-directional carbon fibre, ENVE has created a high strength, low weight seatpost with ride-enhancing vibration absorption. The post is also compatible with electronic drivetrain batteries.\u003c\/p\u003e\n\u003cp\u003eThe patented twin-bolt clamp design secures your saddle thanks to its method of compressing a horizontally-opposed wedge system to clamp the rails. As you tighten the front or rear bolt while loosening the other, the wedge tilts the saddle up or down, makin
g micro adjustments of the angle easy.\u003c\/p\u003e\n\u003cp\u003eAnother benefit to the clamp is its narrow rail supports, which allow maximum fore and aft saddle adjustment, helping to perfect your bike fit. Two upper cradles are also supplied to cater for standard and oversized rails.\u003c\/p\u003e\n\u003cp\u003eAvailable in 27.2, 30.9 and 31.6mm, the seatpost is compatible with the majority of bikes.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eContinuous uni-directional carbon construction\u003c\/li\u003e\n\u003cli\u003ePatented twin-bolt clamp design\u003c\/li\u003e\n\u003cli\u003eCompatible with standard and oversized rails\u003c\/li\u003e\n\u003cli\u003eReversible lower cradles for 0-18° or 9-27° of angle adjustment\u003c\/li\u003e\n\u003cli\u003eTitanium bolts\u003c\/li\u003e\n\u003cli\u003e5-year Factory Limited Warranty and Incidental Damage Protection Programme\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch5\u003eENVE Factory Limited Warranty\u003c\/h5\u003e\n\u003cp\u003eCoverage for the original owner against defects in materials and workmanship for the period of five years from the original purchase date. Product registration is required within 60 days of purchase. Second-hand owners are covered from the product's date of manufacture.\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.enve.com\/support\/warranty-terms\/\"\u003ehttps:\/\/www.enve.com\/support\/warranty-terms\/\u003c\/a\u003e\u003c\/p\u003e\n\u003ch5\u003eENVE Incidental Damage Protection\u003c\/h5\u003e\n\u003cp\u003eThis program provides a no-charge replacement for your first three years of ownership and a prorated replacement thereafter for damage inflicted when racing, riding, or transporting your bicycle. Original owners only. Product registration is required within 60 days of purchase to be eligible for this program.\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.enve.com\/support\/incidental-damage-protection-terms\/\"\u003ehttps:\/\/www.enve.com\/support\/incidental-damage-protection-terms\/\u003c\/a\u003e
\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003ch5\u003eENVE Carbon Seatpost - 25mm Offset\u003c\/h5\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eCarbon fibre\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e204g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDiameter\u003c\/td\u003e\n\u003ctd\u003e27.2 30.9, 31.6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSaddle Angle Adjustment\u003c\/td\u003e\n\u003ctd\u003e0-27-degrees\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOffset\u003c\/td\u003e\n\u003ctd\u003e25mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLength\u003c\/td\u003e\n\u003ctd\u003e400mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSaddle Rail Compatibility\u003c\/td\u003e\n\u003ctd\u003e7x9mm Carbon Rails,
7mm Round Alloy Rails\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMinimum Insertion\u003c\/td\u003e\n\u003ctd\u003e75mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque Spec: Saddle Rail Clamp Bolts\u003c\/td\u003e\n\u003ctd\u003e5.5Nm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque Spec: Seatpost Collar\u003c\/td\u003e\n\u003ctd\u003eAs determined by the frame manufacturer\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e","published_at":"2025-03-07T14:40:38+00:00","created_at":"2025-03-07T14:40:38+00:00","vendor":"Enve","type":"components","tags":["seatpost","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":33000,"price_min":33000,"price_max":33000,"available":false,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":55175522648447,"title":"27.2mm post - 400mm length - 25mm
offset","option1":"27.2mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510127240","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 27.2mm post - 400mm length - 25mm offset","public_title":"27.2mm post - 400mm length - 25mm offset","options":["27.2mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522681215,"title":"30.9mm post - 400mm length - 25mm offset","option1":"30.9mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510130940","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 25mm offset","public_title":"30.9mm post - 400mm length - 25mm offset","options":["30.9mm post - 400mm length - 25mm offset"],"price":3
3000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522713983,"title":"31.6mm post - 400mm length - 25mm offset","option1":"31.6mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN510131640","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 31.6mm post - 400mm length - 25mm offset","public_title":"31.6mm post - 400mm length - 25mm offset","options":["31.6mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522746751,"title":"25.4mm post - 400mm length - 25mm offset","option1":"25.4mm post - 400mm length - 25mm offset","option2":null,"option3":null,"sku":"EN512625440","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name
":"ENVE 400mm Carbon Seatpost - 25mm Offset - 25.4mm post - 400mm length - 25mm offset","public_title":"25.4mm post - 400mm length - 25mm offset","options":["25.4mm post - 400mm length - 25mm offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522779519,"title":"27.2mm post - 400mm length - 0 degrees offset","option1":"27.2mm post - 400mm length - 0 degrees offset","option2":null,"option3":null,"sku":"EN512627240","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 27.2mm post - 400mm length - 0 degrees offset","public_title":"27.2mm post - 400mm length - 0 degrees offset","options":["27.2mm post - 400mm length - 0 degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522812287,"title":"30.9mm post - 400mm length - 0 degrees offset","option1":"30.9mm post - 400mm length - 0 degrees offset","option2":null,"option3":null,"sku":"EN512630940","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 30.9mm post - 400mm length - 0 degrees offset","public_title":"30.9mm post - 400mm length - 0 degrees offset","options":["30.9mm post - 400mm length - 0 degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55175522845055,"title":"31.6mm post - 400mm length - 0-degrees offset","option1":"31.6mm post - 400mm length - 0-degrees offset","option2":null,"option3":null,"sku":"EN512631640","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE 400mm Carbon Seatpost - 25mm Offset - 31.6mm post - 400mm length - 0-degrees offset","public_title":"31.6mm post - 400mm length -
0-degrees offset","options":["31.6mm post - 400mm length - 0-degrees offset"],"price":33000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086","options":["Size"],"media":[{"alt":null,"id":64606051434879,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/en510127240_7.webp?v=1741358086","width":1600}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch2 class=\"des-title\"\u003eProduct details\u003c\/h2\u003e\n\u003cdiv class=\"product-description rte\"\u003e\n\u003cp\u003eThis 400mm ENVE Carbon Seatpost with 25mm offset is a weight-saving performance upgrade for your bike with a patented twin-bolt clamp design for easy, accurate saddle adjustment.\u003c\/p\u003e\n\u003cp\u003eExpertly constructed from uninterrupted uni-directional carbon fibre, ENVE has created a high strength, low weight seatpost with ride-enhancing vibration absorption. The post is also compatible with electronic drivetrain batteries.\u003c\/p\u003e\n\u003cp\u003eThe patented twin-bolt clamp design secures your saddle thanks to its method of compressing a horizontally-opposed wedge system to clamp the rails. As you tighten the front or rear bolt while loosening the other, the wedge tilts the saddle up or down, making micro adjustments of the angle easy.\u003c\/p\u003e\n\u003cp\u003eAnother benefit to the clamp is its narrow rail supports, which allow maximum fore and aft saddle adjustment, helping to perfect your bike fit. Two upper cradles are also supplied to cater for standard and oversized rails.\u003c\/p\u003e\n\u003cp\u003eAvailable in 27.2, 30.9
and 31.6mm, the seatpost is compatible with the majority of bikes.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eContinuous uni-directional carbon construction\u003c\/li\u003e\n\u003cli\u003ePatented twin-bolt clamp design\u003c\/li\u003e\n\u003cli\u003eCompatible with standard and oversized rails\u003c\/li\u003e\n\u003cli\u003eReversible lower cradles for 0-18° or 9-27° of angle adjustment\u003c\/li\u003e\n\u003cli\u003eTitanium bolts\u003c\/li\u003e\n\u003cli\u003e5-year Factory Limited Warranty and Incidental Damage Protection Programme\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch5\u003eENVE Factory Limited Warranty\u003c\/h5\u003e\n\u003cp\u003eCoverage for the original owner against defects in materials and workmanship for the period of five years from the original purchase date. Product registration is required within 60 days of purchase. Second-hand owners are covered from the product's date of manufacture.\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.enve.com\/support\/warranty-terms\/\" : null,55175522779519 : null,55175522812287 : null,55175522845055 : null,};
window._RestockRocketConfig.selected_variant_id = 55175522648447;
window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019d4564-8f2b-76f2-bacb-5853de1a7cf8/restockrocket-1-475/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019d4564-8f2b-76f2-bacb-5853de1a7cf8/restockrocket-1-475/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
window._RestockRocketConfig.host = 'https://app.restockrocket.io'
const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in millis
econds
const LIQUID_CACHE_MAX_AGE = 2 * 60 * 60; // 2 hours in seconds
// Calculate Liquid cache freshness once at initialization
const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt;
// Validate timestamp and calculate cache age
if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
const now = Math.floor(Date.now() / 1000); // Current time in seconds
const liquidCacheAge = now - liquidRenderedAt; // Age in seconds
// Handle client clock ahead of server
if (liquidCacheAge <
0) {
console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else if (liquidCacheAge <
= LIQUID_CACHE_MAX_AGE) {
console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`);
window._RestockRocketConfig.isLiquidCacheFresh = false;
}
}
function checkSettingsExpiry(settings) {
try {
if (!settings || !settings.updated_at) {
console.debug('STOQ - Invalid settings data structure');
return null;
}
if (!settings.cache) {
console.debug('STOQ - settings caching disabled');
return null;
}
// Check if translations are enabled but missing from cache
// This handles the backfill period where DB has translations but metafield doesn't
if (settings.multi_language_enabled) {
if (!settings.translations) {
// Translations enabled but no translation data in metafield
// Metafield hasn't been backfilled yet - force refresh
console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh');
return null;
}
// Translations object exists in metafield - cache is valid
// If current locale isn't translated, applyTranslations will gracefully use default locale from base fields
if (window._RestockRocketConfig.normalizedLocale &&
!Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) {
console.debug('STOQ - locale not explicitly translated, will use default language from cache');
}
// Don't return null - continue using cache even for untranslated locales
}
const updatedAt = new Date(settings.updated_at);
if (isNaN(updatedAt.getTime())) {
console.debug('STOQ - Invalid updated_at date format in settings');
return null;
}
const
age = Date.now() - updatedAt.getTime();
if (age <
SETTINGS_CACHE_DURATION) {
console.debug('STOQ - settings changed recently, skipping cache');
return null;
}
return settings;
} catch (error) {
console.debug('STOQ - Error checking settings cache:', error);
return null;
}
}
function createRestockRocketContainer() {
const restockRocketContainer = document.createElement('div');
restockRocketContainer.id = 'restock-rocket';
document.body.appendChild(restockRocketContainer);
}
function createRestockRocketScript(scriptUrl) {
const restockRocketScriptElement = document.createElement('script');
restockRocketScriptElement.setAttribute('defer', 'defer');
restockRocketScriptElement.src = scriptUrl;
document.body.appendChild(restockRocketScriptElement);
}
createRestockRocketContainer()
console.debug('STOQ - extension activated')
function applyTranslations(settings) {
try {
// Skip translation logic entirely if multi-language is not enabled
if (!settings || !settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debug('STOQ - No translations found, skipping translation');
return settings;
}
const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
const translations = settings.translations;
if (!normalizedLocale) {
// No matching locale has translations; drop payload to save memory
console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
delete settings.translations;
return settings;
}
console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
const translatedFields = translations[normalizedLocale];
if (translatedFields && typeof translatedFields === 'object') {
Object.keys(translatedFields).forEach(function(key) {
const value = translatedFields[key
];
if (value !== null && value !== undefined && value !== '') {
settings[key] = value;
}
});
} else {
console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
}
delete settings.translations;
return settings;
} catch (e) {
console.debug('STOQ - error applying translations:', e);
return settings;
}
}
// Setup event listener for cart selling plan updates
// This must be called before any scripts are loaded to avoid race conditions
function setupCartSellingPlanUpdater(settings) {
// Setup listener regardless - updateCartSellingPlans has its own guards
// This ensures cleanup happens even when preorders are disabled globally
// Listen for stoq:inventory-data-loaded event dispatched by api.js
window.addEventListener('stoq:inventory-data-loaded', function(event) {
console.debug('STOQ - Inventory data loaded, updating cart selling plans');
if (window._RestockRocket
&& window._RestockRocket.updateCartSellingPlans) {
window._RestockRocket.updateCartSellingPlans()
.then(hasUpdates => {
if (hasUpdates) {
console.debug('STOQ - cart selling plans updated successfully');
} else {
console.debug('STOQ - no cart selling plan updates needed');
}
})
.catch(error => {
console.error('STOQ - error updating cart selling plans:', error);
});
}
});
}
// First try to get settings from metafields with expiry check
const cachedSettings = window._RestockRocketConfig.cachedSettings;
const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null;
if (validCachedSettings) {
console.debug('STOQ - using cached settings');
initializeScripts(validCachedSettings);
} else {
console.debug('STOQ - fetching fresh settings');
const headers = {
'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.S
hopify.shop,
'ngrok-skip-browser-warning': 'skip'
};
if (window.Shopify?.theme?.role === 'main') {
headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name;
headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version;
headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id;
}
fetch(
`${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`,
{ headers }
)
.then(function(response) {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(function(settings) {
initializeScripts(settings);
})
.catch(function(error) {
// If request failed and we have cached settings (even if expired), use them as fallback
if (cachedSettings) {
console.debug('STOQ - using expired cached settings as fallback');
initializeScripts(cac