>
>
p class="result__title">
a href="{{ it.product.url }}">{{ it.product.title }}div class="result__image" data-aspectratio="{{ it.product.image.aspectRatio }}" data-product-image>
>
>
div class="product__tag{{ it.product.badgeClasses }}">
li class="result result--full">
>
{{/if}}
>
>
>
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "ProjektRide","sameAs": [
null,
null,
null,
null,
null,
null,
null
],
"url": "https:\/\/projektride.co.uk"
}
RIDE CONFIDENT
>
console.log("pr-product-page");
SELL
#ProductTemplate--template--15326745395426__main { background: #ffffff; }
.shop-pay-terms { --payment-terms-background-color: #ffffff }
p class="result__title">{{ it.item.text }}
Large - £65.00 GBP
Quantity:
Tyres
img src="//projektride.co.uk/cdn/shop/files/ycb25arccfcob_1_2048x2048.webp?v=1741953587" alt="Yeti Cycles ARC C-Series C2 Factory 29" Bike" class="mfp-zoom-in-cur" id="64739625664895">
1+
Maxxis Assegai MTB Tyre 27.5 / 650b / 2.5''BUY
BUY
Increase quantity
img src="//projektride.co.uk/cdn/shop/files/ycb25arccfred_2048x2048.webp?v=1741953587" alt="Yeti Cycles ARC C-Series C2 Factory 29" Bike" class="mfp-zoom-in-cur" id="64739625730431">
Dual Comp EXO WT 2.5
input type="number" name="quantity" id="quantity--template--15326745395426__main" value="1" min="1">
RIDE CONFIDENT
img src="//projektride.co.uk/cdn/shop/files/ycb25arccfcob_1_98x.webp?v=1741953587" alt="" class="product-single__thumbnail-img">
img src="//projektride.co.uk/cdn/shop/files/DomaneSLR7AXS-26-57915-B-Primary_small.avif?v=1764351489" alt="Trek - Domane SLR 7 AXS Gen 4" class="mfp-zoom-in-cur" id="68886749479295">
3C Maxx Terra EXO WT 2.5
Shimano Steps battery, 500Wh, frame integrated down tube mount - BT-E8020
Select variant dropdown
£599.99img src="//projektride.co.uk/cdn/shop/files/ycb25arccfred_98x.webp?v=1741953587" alt="" class="product-single__thumbnail-img">
Home
/
ALTURA NEVIS NIGHTVISION MEN'S JACKET
SKU: YCB25ARCTMDPCBFAC024300
Colour
Large zippered chest pocket plus 2 side-zip pockets
100% PolyesterIf any more information is needed, please don't hesitate to get in touch with one of the team:
T- 01313745324
1+Medium / Red - £4,399.00 GBP£0.00
Extra Large / Blue - £4,399.00 GBP
Hire Ortlieb 40L Pannier Bags
>
£0.00
3
span class="visually-hidden">Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
82 Newington Road, EH91QN, Edinburgh.> Questions and answers
.site-footer { --bg: #1f2324; --text: #ffffff; --text-alpha-15: rgba(255, 255, 255, 0.15); --text-alpha-60: rgba(255, 255, 255, 0.6); --text-alpha-85: rgba(255, 255, 255, 0.85); } .footer-content__logo__image { width: 170px; }
HIRE - BIKE PACKING BUNDLEProduct Details
I'm looking to find out more information about a product, where can I find this?| #FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; } ProjektRide Bike Shop EdinburghContact Us | BlogDOWN COUNTRY,QUICK LINKS Frameset Track Service ProgressDONE DIFFERENT | Building Your Bike From the Box
| Blog> Cookie Policy | Track Service Progress FrameIf the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. Terms of ServiceBuilding Your Bike From the Box Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.Refund policySIZE GUIDE | Insure Your Bike We also have a physical store, if you are local please pop in -
| < Servicing | < Workshop PricesSMALL | 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 FAQFork Cycle to Work&& 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 .site-footer { --bg: #1f2324; --text: #ffffff; --text-alpha-15: rgba(255, 255, 255, 0.15); --text-alpha-60: rgba(255, 255, 255, 0.6); --text-alpha-85: rgba(255, 255, 255, 0.85); } .footer-content__logo__image { width: 170px; } | Domane SLR carbon, tapered carbon steerer, internal brake routing, mudguard mounts, flat-mount disc, carbon dropouts, 12x100 mm thru axleINFORMATION | I'm looking to find out more information about a product, where can I find this?
| Please get in touch with a member of the team either by phone ( | 01313745324 Working Hours) or email ( QUICK LINKS 5'5" - 5'11" | [email protected] Mon - Fri: 09:00 - 18:30
| Blog | Track Service ProgressBuilding Your Bike From the Box LARGE | I'm looking to buy this product, when will it arrive and how much does postage cost?WeightInsure Your BikeTel
| 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. Terms of Service 5'10" - 6'3" | Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.Weight limitRefund policyWe also have a physical store, if you are local please pop in - | ProjektRide Bike Shop EdinburghThis bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 125 kg (275 lb). Location
| ServicingEdinburgh | Workshop PricesEH9 1QNCycle to Work | Delivery & Returns
| INFORMATION [email protected] | Battery |
| [email protected]Working Hours | QUICK LINKSSRAM AXS battery pack (with charger)Mon - Fri: 09:00 - 18:30 SPECIFICATION | Sat: 9:00 - 16:00About Us
| Track Service Progress ProjektRide | Building Your Bike From the Box .TelInsure Your Bike | Privacy Policy Website by FORK
| . Refund policy | Website by Location | Juan Borges Designs SERVICESShifter TYRE (F)
| EH9 1QNWorkshop Prices _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 | Cycle to WorkSRAM Force AXS E1 rt 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_showDelivery & Returns adge_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_s | TYRE (R) 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) :
| [email protected]abled":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 agINFORMATION 003e \u003c\/p\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003eHigh quality, long lasting integrated frame mounting lithium-ion battery pack for Shimano STEPS systems\u003c\/li\u003e\n\u003cli\u003eIn normal mode the riding distance could exceed 100 km\u003c\/li\u003e\n\u003cli\u003eWaterproof design as well as impact and vibration resistant\u003c\/li\u003e\n\u003cli\u003e1000 charge cycles without significant power loss\u003c\/li\u003e\n\u003cli\u003eApproximately five hours charge time\u003c\/li\u003e\n\u003cli\u003eCharge level display with error signal info and on\/off switch\u003c\/li\u003e\n\u003cli\u003eCharging port\u003c\/li\u003e\n\u003cli\u003eLock system for off bike security\u003c\/li\u003e\n\u003cli\u003eHigh 500Wh capacity (36V, 14Ah)\u003c\/li\u003e\n\u003cli\u003eAverage weight 2650g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul class=\"attributesSpecification\"\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eColour\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eBla | 00000","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: ","deliv window._RestockRocketConfig.variantsShippingTextForMarket = {45767301726434 : null,}; window._RestockRocketConfig.selected_variant_id = 45767301726434; 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/019cd40b-736e-74a5-adbe-431365bfd910/restockrocket-1-465/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019cd40b-736e-74a5-adbe-431365bfd910/restockrocket-1-465/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 minled":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 agre < | 000","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; },SRAM Force AXS, braze-on ROTOR (F)<
| n fibre and painted surfaces.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproves braking performance\u003c\/li\u003e\n\u003cli\u003eTreats pads and rotors to reduce brake squeal\u003c\/li\u003e\n\u003cli\u003eProlongs disc pad and rotor life\u003c\/li\u003e\n\u003cli\u003eRapidly removes oil, grease, brake fluid and grime\u003c\/li\u003e\n\u003cli\u003eRehydrating formula to preserve braking components\u003c\/li\u003e\n\u003c\/ul\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {42133857042658 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {42133857042658 : parseInt("7"),}; window._RestockRocketConfig.variantsPreorderCount = {42133857042658 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {42133857042658 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {42133857042658 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {42133857042658 : null,}; window._RestockRocketCon !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 | ETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds 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 Rear derailleur Mon - Fri: 09:00 - 18:30 && 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.S0) { 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 Sat: 9:00 - 16:00 hedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketCon | = 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 ROTOR (R) Sun: Closed led for ${window._RestockRocketConfig.pageType}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:inventory-data-loaded event const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } }
| .]; 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 .restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:14px;font-weight:500;text-align:center;text-transform:capitalize;opacity:.7}@media (max-width:768px){.restock-rocket-preorder-countdown-timer{padding:14px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:55px;padding:14px 10px;font-size:26px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:100%;gap:10px}.restock-rocket-preorder-countdown-timer .countdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}.restock-rocket-preorder-progress-bar{padding:12px 15px;margin-bottom:20px;font-family:inherit;}.restock-rocket-preorder-progress-bar .preorder-progress-text{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;} | 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 Tel- Website by fig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enab SRAM RIVAL 1, clutch, long cage | *CrankHEADSET0131 374 5324
| Front hub | Size: LocationSram Rival XPLR eTap AXS, clutch, medium cage HUNT ADVENTURE SPORT sealed hub, centerlock disc | 47, 50WHEELSET82 Newington Road
| Front hub _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* Rear hub | erend","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,4393469Bombtrack Tau sealed hub, 6-bolt disc 258,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,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698, HUNT ADVENTURE SPORT sealed hub, 11-speed, centerlock disc, XD cassette body | Size:BBiantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-03-10T00:46:52Z","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-03-10T00:45:21Z","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_desEmail
| Rear hub 0.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_atThrough axle | SRAM Force AXS with power meter, 46/33, DUB, 170 mm length e_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 > 0Bombtrack Tau sealed hub, XD driver, 6-bolt disc chedData.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.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,"12 x 100 mm / 12 x 142 mm | =\"1\"\u003e142mm x 280mm\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eWeight 283 grams\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003ePerfect for bike packing, touring, and gravel bike adventures! Available online or from our bike shop in Edinburgh\u003c\/span\u003e\u003c\/p\u003e","published_at":"2025-01-07T16:36:34+00:00","created_at":"2021-12-16T12:42:20+00:00","vendor":"Flux","type":"","tags":["Saddles","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":3999,"price_min":3999,"price_max":3999,"available":true,"price_varies":false,"compare_at_price":3999,"compare_at_price_min":3999,"compare_at_price_max":3999,"compare_at_price_varies":false,"variants":[{"id":42165834744034,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"NP4014","requires_shipping":true,"taxable":true,"featured_image":{"id":36795281506530,"product_id":7475996557538,GRIPS
| Through axle iant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019cd40b-736e-74a5-adbe-431365bfd910/restockrocket-1-465/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019cd40b-736e-74a5-adbe-431365bfd910/restockrocket-1-465/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 milliseconds 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 (!liquid Front rim | 58, 60, 62<12 x 100 mm / 12 x 142 mm < HUNT ADVENTURE SPORT double wall asymmetric rim, TLC, i20, 28h | SRAM Force AXS with power meter, 46/33, DUB, 172.5 mm lengthtranslation 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 BAR © 2026,
| Front rim && 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 Rear rim | Bottom brackethedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketCon Website byWTB ST Light i25 double wall, TCS 2.0, 32h led for ${window._RestockRocketConfig.pageType}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:inventory-data-loaded event const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } HUNT ADVENTURE SPORT double wall asymmetric rim, TLC, i20, 28hJuan Borges Designs | STEM .
| Rear rim Saddle | WTB ST Light i23 double wall, TCS 2.0, 32h BOMBTRACK COMP saddle | CassetteCRANK 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 = 1773105340;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,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,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,55569712447871,55569712480639,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-03-10T00:45:26Z","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-03-10T00:46:52Z","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-03-10T00:45:21Z","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.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":7485533651170,"title":"Maxxis Assegai MTB Tyre 27.5 \/ 650b \/ 2.5''","handle":"maxxis-assegai-mtb-tyre-27-5-650b-2-5","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003eWhat do you get when you combine attributes from legendary Maxxis treads like the Minion DHR II, High Roller, and Shorty? You get the Assegai, the new signature tyre from the mind of Greg Minnaar! The tall knobs punch through dust and loam to find traction, but also offer support and confidence on wet roots and rocks\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003e\u003cstrong\u003eSpecification\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003e\u003cstrong\u003eWorld Cup Champion Greg Minnaar's signature tyre\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBest for\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003eLoose, Loose\/Hard, Medium, Wet\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCornering Control\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e: 1 2 3 [4]\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRolling Efficiency\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e: 1 2 [3] 4\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCompound\u003c\/strong\u003e: Dual Compound \u0026amp; MaxxTerra Technology\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBreaker\u003c\/strong\u003e: EXO or EXO+ Puncture Protection\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMax PSI\u003c\/strong\u003e: 50\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBead Type\u003c\/strong\u003e: Folding\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTubeless Tyre\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTPI\u003c\/strong\u003e: 60\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eDual Compound\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eTwo compounds used within the tread of select tyres to offer lower rolling resistance and increased cornering grip\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eMaxxTerra Compound\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eAn intermediate compound configuration used in select mountain tyres. 3C MaxxTerra is softer and offers more traction than 3C MaxxSpeed, yet provides better treadwear and less rolling resistance than MaxxGrip\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eEXO\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eAn extremely cut-resistant and abrasion-resistant material added to the sidewalls of select mountain tyres. This densely woven fabric is also lightweight and highly flexible, ensuring that the performance of the tyre remains unaffected. Choose EXO Protection for exceptionally rocky, treacherous trails where the chance of sidewall cuts and abrasions is high\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eEXO+\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eOur EXO+ construction combines two of our best puncture protection materials: SilkShield and EXO. The SilkShield layer runs from bead-to-bead with a layer of EXO along the sidewalls. Combined, these two materials create EXO+ which improves tread puncture protection by 27%; sidewall durability by 51%; and resistance to pinch flats by 28%\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eTubeless Ready\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eTubeless tyres provide the rider with many benefits: the ability to run lower air pressures, which improves traction; lower rolling resistance when compared to a tube-type tyre; and less chance of flatting since there is no tube. Liquid sealants should only be used in the following types of tyres: Tubeless Road, Tubular, and Tubeless Ready. The use of liquid sealants in any other Maxxis tyre will void the warranty\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eWide Trail\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eWide Trail (WT) construction optimises the tyre's tread layout and profile on today's modern, wider rims. Traditional tyres are designed around older, narrower rims and can create an overly square tyre profile, leading to less than optimal performance. WT tyres are optimised for a 35mm inner rim width but are proven to work over a range from 30-35mm inner rim widths, depending on the rider's preference\u003c\/span\u003e\n\u003cul class=\"attributesSpecification\"\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eBead Type\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eFolding\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eDiscipline\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eMTB\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eFeature\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eTubeless Ready\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eProduct Type\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eBicycle Tyre\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","published_at":"2025-01-07T16:36:39+00:00","created_at":"2021-12-27T13:11:09+00:00","vendor":"Maxxis","type":"","tags":["spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled","tyres"],"price":5499,"price_min":5499,"price_max":8499,"available":false,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42207174328546,"title":"Dual Comp EXO WT 2.5","option1":"Dual Comp EXO WT 2.5","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Maxxis Assegai MTB Tyre 27.5 \/ 650b \/ 2.5'' - Dual Comp EXO WT 2.5","public_title":"Dual Comp EXO WT 2.5","options":["Dual Comp EXO WT 2.5"],"price":5499,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42207174361314,"title":"Folding DD WT 2.5","option1":"Folding DD WT 2.5","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Maxxis Assegai MTB Tyre 27.5 \/ 650b \/ 2.5'' - Folding DD WT 2.5","public_title":"Folding DD WT 2.5","options":["Folding DD WT 2.5"],"price":8499,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42207174394082,"title":"MaxxTerra EXO+ WT 2.5","option1":"MaxxTerra EXO+ WT 2.5","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Maxxis Assegai MTB Tyre 27.5 \/ 650b \/ 2.5'' - MaxxTerra EXO+ WT 2.5","public_title":"MaxxTerra EXO+ WT 2.5","options":["MaxxTerra EXO+ WT 2.5"],"price":7499,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42207174426850,"title":"3C Maxx Terra EXO WT 2.5","option1":"3C Maxx Terra EXO WT 2.5","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Maxxis Assegai MTB Tyre 27.5 \/ 650b \/ 2.5'' - 3C Maxx Terra EXO WT 2.5","public_title":"3C Maxx Terra EXO WT 2.5","options":["3C Maxx Terra EXO WT 2.5"],"price":6999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2021-12-27at13.06.54.png?v=1640610671"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2021-12-27at13.06.54.png?v=1640610671","options":["Material"],"media":[{"alt":null,"id":28918230024418,"position":1,"preview_image":{"aspect_ratio":0.997,"height":1176,"width":1172,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2021-12-27at13.06.54.png?v=1640610671"},"aspect_ratio":0.997,"height":1176,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2021-12-27at13.06.54.png?v=1640610671","width":1172}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003eWhat do you get when you combine attributes from legendary Maxxis treads like the Minion DHR II, High Roller, and Shorty? You get the Assegai, the new signature tyre from the mind of Greg Minnaar! The tall knobs punch through dust and loam to find traction, but also offer support and confidence on wet roots and rocks\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003e\u003cstrong\u003eSpecification\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003e\u003cstrong\u003eWorld Cup Champion Greg Minnaar's signature tyre\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBest for\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003eLoose, Loose\/Hard, Medium, Wet\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCornering Control\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e: 1 2 3 [4]\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRolling Efficiency\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e: 1 2 [3] 4\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCompound\u003c\/strong\u003e: Dual Compound \u0026amp; MaxxTerra Technology\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBreaker\u003c\/strong\u003e: EXO or EXO+ Puncture Protection\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMax PSI\u003c\/strong\u003e: 50\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBead Type\u003c\/strong\u003e: Folding\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTubeless Tyre\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTPI\u003c\/strong\u003e: 60\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eDual Compound\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eTwo compounds used within the tread of select tyres to offer lower rolling resistance and increased cornering grip\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eMaxxTerra Compound\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eAn intermediate compound configuration used in select mountain tyres. 3C MaxxTerra is softer and offers more traction than 3C MaxxSpeed, yet provides better treadwear and less rolling resistance than MaxxGrip\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eEXO\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eAn extremely cut-resistant and abrasion-resistant material added to the sidewalls of select mountain tyres. This densely woven fabric is also lightweight and highly flexible, ensuring that the performance of the tyre remains unaffected. Choose EXO Protection for exceptionally rocky, treacherous trails where the chance of sidewall cuts and abrasions is high\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eEXO+\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eOur EXO+ construction combines two of our best puncture protection materials: SilkShield and EXO. The SilkShield layer runs from bead-to-bead with a layer of EXO along the sidewalls. Combined, these two materials create EXO+ which improves tread puncture protection by 27%; sidewall durability by 51%; and resistance to pinch flats by 28%\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eTubeless Ready\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eTubeless tyres provide the rider with many benefits: the ability to run lower air pressures, which improves traction; lower rolling resistance when compared to a tube-type tyre; and less chance of flatting since there is no tube. Liquid sealants should only be used in the following types of tyres: Tubeless Road, Tubular, and Tubeless Ready. The use of liquid sealants in any other Maxxis tyre will void the warranty\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cli\u003e\u003cstrong\u003eWide Trail\u003c\/strong\u003e\u003c\/li\u003e\n\u003cspan\u003eWide Trail (WT) construction optimises the tyre's tread layout and profile on today's modern, wider rims. Traditional tyres are designed around older, narrower rims and can create an overly square tyre profile, leading to less than optimal performance. WT tyres are optimised for a 35mm inner rim width but are proven to work over a range from 30-35mm inner rim widths, depending on the rider's preference\u003c\/span\u003e\n\u003cul class=\"attributesSpecification\"\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eBead Type\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eFolding\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eDiscipline\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eMTB\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eFeature\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eTubeless Ready\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv class=\"label\"\u003eProduct Type\u003c\/div\u003e\n\u003cdiv class=\"value\"\u003eBicycle Tyre\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {42207174328546 : "deny",42207174361314 : "deny",42207174394082 : "deny",42207174426850 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {42207174328546 : parseInt("0"),42207174361314 : parseInt("0"),42207174394082 : parseInt("0"),42207174426850 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {42207174328546 : parseInt(""),42207174361314 : parseInt(""),42207174394082 : parseInt(""),42207174426850 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {42207174328546 : null,42207174361314 : null,42207174394082 : null,42207174426850 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {42207174328546 : parseInt(""),42207174361314 : parseInt(""),42207174394082 : parseInt(""),42207174426850 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {42207174328546 : null,42207174361314 : null,42207174394082 : null,42207174426850 : null,}; window._RestockRocketConfig.variantsShippingText = {42207174328546 : "",42207174361314 : "",42207174394082 : "",42207174426850 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {42207174328546 : null,42207174361314 : null,42207174394082 : null,42207174426850 : null,}; window._RestockRocketConfig.selected_variant_id = 42207174328546; 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/019cd40b-736e-74a5-adbe-431365bfd910/restockrocket-1-465/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019cd40b-736e-74a5-adbe-431365bfd910/restockrocket-1-465/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 milliseconds 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
| 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 Saddle Seat postage = Date.now() - updatedAt.getTime(); if (age | < SRAM Force XG-1270, 10-36, 12-speed 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[keyBombtrack Dart saddle BOMBTRACK YEW 27.2 mm x 300 mm]; 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 SADDLE 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
| .restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:14px;font-weight:500;text-align:center;text-transform:capitalize;opacity:.7}@media (max-width:768px){.restock-rocket-preorder-countdown-timer{padding:14px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:55px;padding:14px 10px;font-size:26px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:100%;gap:10px}.restock-rocket-preorder-countdown-timer .countdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transfBombtrack Yew aluminium seatpost, 27.2 mm x 300 mm BOMBTRACK PRIME 31.8 mmorm:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}.restock-rocket-preorder-progress-bar{padding:12px 15px;margin-bottom:20px;font-family:inherit;}.restock-rocket-preorder-progress-bar .preorder-progress-text{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-p | |
| Seat clamp Front tire | Max. chainring sizeBombtrack Prime 29.8 mm WTB VENTURE TCS LIGHT 27.5'' x 2.0'', tubeless ready | 1x: 48T, 2x: 52/36DERAILLEUR
| Front tire Rear tire | WTB Ranger TCS Light / Fast Rolling 27.5'' x 2.0'', tubeless ready WTB VENTURE TCS LIGHT 27.5'' x 2.0'', tubeless ready | CASSETTE
| Rear tire Fender | WTB Ranger TCS Light / Fast Rolling 27.5'' x 2.0'', tubeless ready - | Wheel frontCHAIN
| Fender Rack | Bontrager Aeolus Pro 51, OCLV Carbon, Tubeless Ready, 100x12 mm thru axle- - | SHIFTER
| Rack Light | -Bontrager Aeolus Pro 51, OCLV Carbon, Tubeless Ready, Shimano 11/12-speed freehub, 142x12 mm thru axle - | SEATPOST
| Kickstand Weight | - Bontrager Switch thru-axle9.4 kg (size M) |
| Light Weight frameset | -GEOMETRYBontrager Switch thru-axle, removable lever1260 frame (size M, incl. TA, hanger, cable guides) / 600 g fork (300 mm steerer, incl. TA) |
| Weight Maximum rider weight | 12.1 (size M) 105 kg incl. luggage | Bontrager Kwaremont RSL TLR, tubeless ready, folding bead, Race Dual-Compound, 320 tpi, 700x32 mm
| Weight frameset ASTM riding condition | 130MM FORK Tyre part2710 g frame (size L, incl. TA, hanger) / 550 g fork (300 mm steerer, incl. TA) 2 | SM
| Maximum rider weight | LG|