• Workshop Prices<
  • Book a Service

  • <
  • <
    • Open cartEnve
      Shop All New Bikes
      • Hybrid / City BikesComplete Brakes
      • Mountain BikesBrake Rotors
      Electric BikesBrake Pads
      <
    • <
  • n/a
  • Cockpit
  • HandlebarsCHAIN SRAM PC1110
  • SRAM PG1130 11-42t 11spd
    Headsets
    My Account n/aBrakes

    Brake Pads
    R/D
    Brake Spares
    Header Image

    Website by
    mits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2025-12-15T03:15:16Z","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":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,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
    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 {{ discou
    0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/en1000g272003312061_1_zbs3cl.webp?v=1741442534","width":1600},{"alt":null,"id":64620326977919,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/en1000g272003312061_2_vaz8ro.webp?v=1741442543"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/en1000g272003312061_2_vaz8ro.webp?v=1741442543","width":1600},{"alt":null,"id":64620328550783,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/en1000g272003312061_3_wm9uyn.webp?v=1741442550"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/en1000g272003312061_3_wm9uyn.webp?v=1741442550","width":1600}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cdiv class=\"wrapper\"\u003e\n\u003cdiv class=\"product-flex\"\u003
    on between rim and tyre.\u003c\/p\u003e\n\u003cp\u003eAnother ENVE hallmark is the moulded spoke holes which, unlike with drilled holes, maximise the strength of the carbon, since it's never cut. The quality of this design is down to ENVE's in-house expertise, with all rims being made by hand at ENVE HQ in Ogden, Utah, USA.\u003c\/p\u003e\n\u003cp\u003eThe ENVE G27 650b Gravel Wheelset comes with ENVE's leading Factory Limited Warranty and Incidental Damage Protection. The Factory Limited Warranty protects buyers for five years from defects in material and workmanship, while the Incidental Damage Protection gives protection from damage caused to their wheels while riding, crashing or transporting bikes.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFor use on gravel\u003c\/li\u003e\n\u003cli\u003e27mm inner rim width\u003c\/li\u003e\n\u003cli\u003eRecommended tyre size of between 42c and 2.25 inches\u003c\/li\u003e\n\u003cli\u003eOptimised for tubeless use, though compatible with tubes\u003c\/li\u003e\n\u003c._RestockRocketConfig.variantsPreorderCountForMarket = {55177580085631 : null,55177580118399 : null,55177580151167 : null,55177580183935 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {55177580085631 : parseInt(""),55177580118399 : parseInt(""),55177580151167 : parseInt(""),55177580183935 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {55177580085631 : null,55177580118399 : null,55177580151167 : null,55177580183935 : null,}; window._RestockRocketConfig.variantsShippingText = {55177580085631 : "",55177580118399 : "",55177580151167 : "",55177580183935 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {55177580085631 : null,55177580118399 : null,55177580151167 : null,55177580183935 : null,}; window._RestockRocketConfig.selected_variant_id = 55177580085631; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRourn null; } // Check if translations are enabled but missing from cache // This handles the backfill period where DB has translations but metafield doesn't if (settings.multi_language_enabled) { if (!settings.translations) { // Translations enabled but no translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } <!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 tockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`); } // Check and update cart selling plans after scripts are loaded if (settings.preorder_enabled) { updateCartSellingPlans(); } // Dispatch custom event when app is loaded const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } function updateCartSellingPlans() { // Wait for the API to be available with retries const maxRetries = 10; const retryDelay = 500; function attemptCartCheck(attempt = 1) { if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._Re { 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); }); } else if (attempt button type="submit" class="btn">Filter< attemptCartCheck(attempt + 1), retryDelay); } else { console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check'); } } attemptCartCheck(); }
    .restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!impor
    n: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;}.restoc
    -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
    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:tran

    • Comfortable and efficient pedalling with patented Frog cranks <
    • a class="product__media product__media--featured" href="/collections/surly/products/surly-disc-trucker-black" title="Surly Disc Trucker Frameset - Black" aria-label="Surly Disc Trucker Frameset - Black" style="background-image: url(//projektride.co.uk/cdn/shop/products/Screenshot2023-01-02at18.44.03_600x.png?v=1672685079)"> <
    • span class="visually-hidden">Surly Disc Trucker Frameset - BlackYouth-specific 9-speed gear shifters featuring FrogFit Technology®5'9"-6'0">
    • Suitable for 6 to 7 years with a recommended inside leg of 52cm-63cm76-84cm<
    • div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/products/Screenshot2023-01-02at17.04.36_ceee1897-4efd-4a9f-a62f-c7fd6afffcce_600x.png?v=1672685079)">

      Surly Ogre 29'' Frameset - Champagne Supernova

      a class="product__media product__media--featured" href="/collections/surly/products/surly-ogre-29-frameset-champagne-supernova" title="Surly Ogre 29'' Frameset - Champagne Supernova" aria-label="Surly Ogre 29'' Frameset - Champagne Supernova" style="background-image: url(//projektride.co.uk/cdn/shop/products/Screenshot2023-03-22at21.54.41_600x.png?v=1679522087)">

      span class="visually-hidden">Surly Ogre 29'' Frameset - Champagne Supernova

      >

      >

      Surly Ogre 29'' Frameset - Champagne Supernova

      £950.00

      Small

      Medium

      Large

      Extra Large

      Surly Preamble Frameset - horfrost White

      div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/products/Screenshot2022-10-14at20.42.11_1296x_6cd10f9e-da7d-409b-b103-fec76fb87fa6_600x.webp?v=1679167729)">

    INSEAM/INCHESINSEAM/METRIC
    ALL MOUNTAIN/ENDURO< Medium, Largea class="product__media product__media--featured" href="/collections/surly/products/surly-straggler-frameset-black" title="Surly Straggler Frameset - Black 700c" aria-label="Surly Straggler Frameset - Black 700c" style="background-image: url(//projektride.co.uk/cdn/shop/products/Screenshot2022-10-14at20.39.15_600x.png?v=1665776448)">
    < span class="visually-hidden">Surly Straggler Frameset - Black 700c

    • <
    <