Mon - Fri: 09:00 - 18:30
Edinburgh
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.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-11-11T14:27:02.312Z","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":{},"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_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":tENVE M5 Pro MTB Wheelsetrue,"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 restoc
ked 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,"market_setup_type":"single_market","shop
trong\u003eCare\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eHand wash, using a mild diluted soap if necessary. Afterwards, let the Frame bag air dry.\u003cbr\u003eDo not machine wash, machine dry, or iron.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","published_at":"2023-06-25T09:58:32+01:00","created_at":"2023-06-25T09:58:32+01:00","vendor":"ProjektRide","type":"bag","tags":["Apidura","Bags and Transportation","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":9300,"price_min":9300,"price_max":10200,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":44140279791842,"title":"3L","option1":"3L","option2":null,"option3":null,"sku":"MWS","requires_shipping":true,"taxable":true,"featured_image":{"id":39357223141602,"product_id":8108866765026,"position":5,"created_at":"2023-06-25T09:59:14+01:00","updated_at":"2023-06-25T09:59:14+01:00","alt":null,"width":1258,"height":9
58,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at09.59.08.png?v=1687683554","variant_ids":[44140279791842]},"available":true,"name":"EXPEDITION FRAME PACK - 3L","public_title":"3L","options":["3L"],"price":9300,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31960223121634,"position":5,"preview_image":{"aspect_ratio":1.313,"height":958,"width":1258,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at09.59.08.png?v=1687683554"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44140279824610,"title":"4.5L","option1":"4.5L","option2":null,"option3":null,"sku":"MWM","requires_shipping":true,"taxable":true,"featured_image":{"id":39357223174370,"product_id":8108866765026,"position":6,"created_at":"2023-06-25T09:59:29+01:00","updated_at":"2023-06-25T09:59:29+01:00","alt":null,"width":1258,"height":958,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at09.59.23.pn
bike.\u003c\/b\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003c\/h3\u003e\n\u003ch3\u003eTECHNICAL\u003c\/h3\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterials\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe frame bag is cut from a three-layer laminate fabric that was developed specifically for Apidura. The material is lightweight, and is highly resistant to tears and abrasion. Notably, it’s welded together at the seams, creating a watertight seal that ensures complete waterproofing.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eCare\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eHand wash, using a mild diluted soap if necessary. Afterwards, let the Frame bag air dry.\u003cbr\u003eDo not machine wash, machine dry, or iron.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {44140279791842 : "continue",44140279824610 : "continue",44140279857378 : "continue",44140279890146 : "continue",44140279922914 : "continue",};
window._RestockRocketConfig.variantsInventoryQuantity = {44140279791842 : parseInt("1"),44140279824610 : parseInt("1"),44140279857378 : parseInt("1"),44140279890146 : parseInt("1"),44140279922914 : parseInt("1"),};
window._RestockRocketConfig.variantsPreorderCount = {44140279791842 : parseInt(""),44140279824610 : parseInt(""),44140279857378 : parseInt(""),44140279890146 : parseInt(""),44140279922914 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {44140279791842 : null,44140279824610 : null,44140279857378 : null,44140279890146 : null,44140279922914 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {44140279791842 : parseInt(""),44140279824610 : parseInt(""),44140279857378 : parseInt(""),44140279890146 : parseInt(""),44140279922914 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {44140279791842 : null,44140279824610 : null,44140279857378 : null,44140279890146 : null,44140279922914 : null,};
window._RestockRocketCo
nfig.variantsShippingText = {44140279791842 : "",44140279824610 : "",44140279857378 : "",44140279890146 : "",44140279922914 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {44140279791842 : null,44140279824610 : null,44140279857378 : null,44140279890146 : null,44140279922914 : null,};
window._RestockRocketConfig.selected_variant_id = 44140279791842;
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/019afd95-59d1-7fb0-bcc3-df824a322e94/restock-rocket-shopify-403/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019afd95-59d1-7fb0-bcc3-df824a322e94/restock-rocket-shopify-403/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptHost = window._RestockRockeg?v=1687683569","variant_ids":[44140279824610]},"available":true,"name":"EXPEDITION FRAME PACK - 4.5L","public_title":"4.5L","options":["4.5L"],"price":9500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31960223154402,"position":6,"preview_image":{"aspect_ratio":1.313,"height":958,"width":1258,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at09.59.23.png?v=1687683569"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44140279857378,"title":"5.3L","option1":"5.3L","option2":null,"option3":null,"sku":"MWL","requires_shipping":true,"taxable":true,"featured_image":{"id":39357223207138,"product_id":8108866765026,"position":7,"created_at":"2023-06-25T09:59:43+01:00","updated_at":"2023-06-25T09:59:43+01:00","alt":null,"width":1258,"height":958,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at09.59.37.png?v=1687683583","variant_ids":[44140279857378]},"available":true,"name":"EXPEDITI
ON FRAME PACK - 5.3L","public_title":"5.3L","options":["5.3L"],"price":9700,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31960223187170,"position":7,"preview_image":{"aspect_ratio":1.313,"height":958,"width":1258,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at09.59.37.png?v=1687683583"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44140279890146,"title":"5L","option1":"5L","option2":null,"option3":null,"sku":"RWM","requires_shipping":true,"taxable":true,"featured_image":{"id":39357223239906,"product_id":8108866765026,"position":8,"created_at":"2023-06-25T10:00:16+01:00","updated_at":"2023-06-25T10:00:16+01:00","alt":null,"width":1258,"height":958,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at10.00.10.png?v=1687683616","variant_ids":[44140279890146]},"available":true,"name":"EXPEDITION FRAME PACK - 5L","public_title":"5L","options":["5L"],"price":9700,"weight":0,"com
pare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31960223219938,"position":8,"preview_image":{"aspect_ratio":1.313,"height":958,"width":1258,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at10.00.10.png?v=1687683616"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44140279922914,"title":"6.5L","option1":"6.5L","option2":null,"option3":null,"sku":"RWL","requires_shipping":true,"taxable":true,"featured_image":{"id":39357223272674,"product_id":8108866765026,"position":9,"created_at":"2023-06-25T10:00:28+01:00","updated_at":"2023-06-25T10:00:28+01:00","alt":null,"width":1258,"height":958,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at10.00.23.png?v=1687683628","variant_ids":[44140279922914]},"available":true,"name":"EXPEDITION FRAME PACK - 6.5L","public_title":"6.5L","options":["6.5L"],"price":10200,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_medi
a":{"alt":null,"id":31960223252706,"position":9,"preview_image":{"aspect_ratio":1.313,"height":958,"width":1258,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at10.00.23.png?v=1687683628"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at09.51.18.png?v=1687683515","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at09.51.27.png?v=1687683515","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at09.51.44.png?v=1687683514","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at09.52.01.png?v=1687683514","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at09.59.08.png?v=1687683554","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at09.59.23.png?v=1687683569","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at09.59.37.png?v=1687683583","\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-06-25at10.00.10.png?v=1687683616<
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 || ENVE M5 Pro MTB Wheelset!settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debug('STOQ - No translations found, skipping translation');
return settings;
}
const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
const translations = settings.translations;
if (!normalizedLocale) {
// No matching locale has translations; drop payload to save memory
console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
delete settings.translations;
return settings;
}
console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
const translatedFields = translations[normalizedLocale];
if (translatedFields && typeof translatedFields === 'object') {
Object.keys(translatedFields).forEach(function(key) {
const value = translatedFields[key];
if (value !== null && value !== undefined && value !== '') {
settings[key] = value;
}
});
} else {
console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
}
delete settings.translations;
return settings;
} catch (e) {
console.debug('STOQ - error applying translations:', e);
return settings;
}
}
// 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.Shopify.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(cachedSettings);
} else {
console.error('STOQ - failed to load settings:', error);
}
})
.catch(function(e) {
console.error(e)
})
}
function initializeScripts(settings) {
£2,500.00 settings = applyTranslations(settings);
window._RestockRocketConfig.settings = settings;
console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
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._RestockRocketConfig.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 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._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);
});
} else if (attempt
ENVE M6 Mountain Handlebar - 31.8mm
.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-countdo
wn-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-roc