1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17<!doctype html> 18 19<html lang="en" dir="ltr"> 20 <head> 21 22
22<script type="text/javascript" async src="https://na.shgcdn3.com/pixel-collector.js"></script>
22 23 <meta charset="utf-8"> 24 <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=5.0"> 25 26 <title> 27 Search 28 </title><meta name="description" content="We pick film merch."><link rel="canonical" href="https://mubi-shop.com/en-us/search"><link rel="shortcut icon" href="//mubi-shop.com/cdn/shop/files/mubi-apple-touch-icon.png?v=1784745053&width=96"> 29 <link rel="apple-touch-icon" href="//mubi-shop.com/cdn/shop/files/mubi-apple-touch-icon.png?v=1784745053&width=180"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><link rel="preload" href="//mubi-shop.com/cdn/fonts/instrument_sans/instrumentsans_n4.db86542ae5e1596dbdb28c279ae6c2086c4c5bfa.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//mubi-shop.com/cdn/fonts/nunito/nunito_n4.fc49103dc396b42cae9460289072d384b6c6eb63.woff2" as="font" type="font/woff2" crossorigin><meta property="og:type" content="website"> 30 <meta property="og:title" content="Search"><meta property="og:description" content="We pick film merch."><meta property="og:url" content="https://mubi-shop.com/en-us/search"> 31<meta property="og:site_name" content="MUBI SHOP"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Search"> 32 <meta name="twitter:description" content="We pick film merch.">
32<script type="application/ld+json"> 33 { 34 "@context": "https://schema.org", 35 "@type": "BreadcrumbList", 36 "itemListElement": [{ 37 "@type": "ListItem", 38 "position": 1, 39 "name": "Home", 40 "item": "https://mubi-shop.com" 41 }] 42 } 43</script>
43<style>/* Typography (heading) */ 44 @font-face { 45 font-family: "Instrument Sans"; 46 font-weight: 400; 47 font-style: normal; 48 font-display: fallback; 49 src: url("//mubi-shop.com/cdn/fonts/instrument_sans/instrumentsans_n4.db86542ae5e1596dbdb28c279ae6c2086c4c5bfa.woff2") format("woff2"), 50 url("//mubi-shop.com/cdn/fonts/instrument_sans/instrumentsans_n4.510f1b081e58d08c30978f465518799851ef6d8b.woff") format("woff"); 51} 52 53@font-face { 54 font-family: "Instrument Sans"; 55 font-weight: 400; 56 font-style: italic; 57 font-display: fallback; 58 src: url("//mubi-shop.com/cdn/fonts/instrument_sans/instrumentsans_i4.028d3c3cd8d085648c808ceb20cd2fd1eb3560e5.woff2") format("woff2"), 59 url("//mubi-shop.com/cdn/fonts/instrument_sans/instrumentsans_i4.7e90d82df8dee29a99237cd19cc529d2206706a2.woff") format("woff"); 60} 61 62/* Typography (body) */ 63 @font-face { 64 font-family: Nunito; 65 font-weight: 400; 66 font-style: normal; 67 font-display: fallback; 68 src: url("//mubi-shop.com/cdn/fonts/nunito/nunito_n4.fc49103dc396b42cae9460289072d384b6c6eb63.woff2") format("woff2"), 69 url("//mubi-shop.com/cdn/fonts/nunito/nunito_n4.5d26d13beeac3116db2479e64986cdeea4c8fbdd.woff") format("woff"); 70} 71 72@font-face { 73 font-family: Nunito; 74 font-weight: 400; 75 font-style: italic; 76 font-display: fallback; 77 src: url("//mubi-shop.com/cdn/fonts/nunito/nunito_i4.fd53bf99043ab6c570187ed42d1b49192135de96.woff2") format("woff2"), 78 url("//mubi-shop.com/cdn/fonts/nunito/nunito_i4.cb3876a003a73aaae5363bb3e3e99d45ec598cc6.woff") format("woff"); 79} 80 81@font-face { 82 font-family: Nunito; 83 font-weight: 700; 84 font-style: normal; 85 font-display: fallback; 86 src: url("//mubi-shop.com/cdn/fonts/nunito/nunito_n7.37cf9b8cf43b3322f7e6e13ad2aad62ab5dc9109.woff2") format("woff2"), 87 url("//mubi-shop.com/cdn/fonts/nunito/nunito_n7.45cfcfadc6630011252d54d5f5a2c7c98f60d5de.woff") format("woff"); 88} 89 90@font-face { 91 font-family: Nunito; 92 font-weight: 700; 93 font-style: italic; 94 font-display: fallback; 95 src: url("//mubi-shop.com/cdn/fonts/nunito/nunito_i7.3f8ba2027bc9ceb1b1764ecab15bae73f86c4632.woff2") format("woff2"), 96 url("//mubi-shop.com/cdn/fonts/nunito/nunito_i7.82bfb5f86ec77ada3c9f660da22064c2e46e1469.woff") format("woff"); 97} 98 99:root { 100 /* Container */ 101 --container-max-width: 100%; 102 --container-xxs-max-width: 27.5rem; /* 440px */ 103 --container-xs-max-width: 42.5rem; /* 680px */ 104 --container-sm-max-width: 61.25rem; /* 980px */ 105 --container-md-max-width: 71.875rem; /* 1150px */ 106 --container-lg-max-width: 78.75rem; /* 1260px */ 107 --container-xl-max-width: 85rem; /* 1360px */ 108 --container-gutter: 1rem; 109 110 --section-vertical-spacing: 2rem; 111 --section-vertical-spacing-tight:2rem; 112 113 --section-stack-gap:1.5rem; 114 --section-stack-gap-tight:1.5rem; 115 116 /* Form settings */ 117 --form-gap: 1.25rem; /* Gap between fieldset and submit button */ 118 --fieldset-gap: 1rem; /* Gap between each form input within a fieldset */ 119 --form-control-gap: 0.625rem; /* Gap between input and label (ignored for floating label) */ 120 --checkbox-control-gap: 0.75rem; /* Horizontal gap between checkbox and its associated label */ 121 --input-padding-block: 0.65rem; /* Vertical padding for input, textarea and native select */ 122 --input-padding-inline: 0.8rem; /* Horizontal padding for input, textarea and native select */ 123 --checkbox-size: 0.875rem; /* Size (width and height) for checkbox */ 124 125 /* Other sizes */ 126 --sticky-area-height: calc(var(--announcement-bar-is-sticky, 0) * var(--announcement-bar-height, 0px) + var(--header-is-sticky, 0) * var(--header-is-visible, 1) * var(--header-height, 0px)); 127 128 /* RTL support */ 129 --transform-logical-flip: 1; 130 --transform-origin-start: left; 131 --transform-origin-end: right; 132 133 /** 134 * --------------------------------------------------------------------- 135 * TYPOGRAPHY 136 * --------------------------------------------------------------------- 137 */ 138 139 /* Font properties */ 140 --heading-font-family: "Instrument Sans", sans-serif; 141 --heading-font-weight: 400; 142 --heading-font-style: normal; 143 --heading-text-transform: uppercase; 144 --heading-letter-spacing: -0.01em; 145 --text-font-family: Nunito, sans-serif;
146 --text-font-weight: 400; 147 --text-font-style: normal; 148 --text-letter-spacing: 0.0em; 149 --button-font: var(--text-font-style) var(--text-font-weight) var(--text-sm) / 1.65 var(--text-font-family); 150 --button-text-transform: normal; 151 --button-letter-spacing: 0.0em; 152 153 /* Font sizes */--text-heading-size-factor: 1; 154 --text-h1: max(0.75rem, clamp(1.375rem, 1.146341463414634rem + 0.975609756097561vw, 2rem) * var(--text-heading-size-factor)); 155 --text-h2: max(0.75rem, clamp(1.25rem, 1.0670731707317074rem + 0.7804878048780488vw, 1.75rem) * var(--text-heading-size-factor)); 156 --text-h3: max(0.75rem, clamp(1.125rem, 1.0335365853658536rem + 0.3902439024390244vw, 1.375rem) * var(--text-heading-size-factor)); 157 --text-h4: max(0.75rem, clamp(1rem, 0.9542682926829268rem + 0.1951219512195122vw, 1.125rem) * var(--text-heading-size-factor)); 158 --text-h5: max(0.70rem, calc(0.875rem * var(--text-heading-size-factor))); 159 --text-h6: max(0.70rem, calc(0.75rem * var(--text-heading-size-factor))); 160/* ============================================================ 161 CUSTOM ADDITION â added [16. July 2026] by [OH] 162 Purpose: Font sizes for our own 7-level type scale (Microtext, 163 Caption, Body, Body-Regular, Subheadline, H2, H1). Independent 164 from the theme's default --text-h1..h6 above. Used by the 165 .text-custom-* classes in theme.css, which are selectable via 166 the "style" dropdown in blocks/heading.liquid. 167 168 FLUID CLAMP TOGGLE (Microtext/Caption/Body/Body-Regular only): 169 currently OFF (fixed px size). Subheadline/H2/H1 are always 170 fluid (clamp). 171 To turn a variable ON (fluid): comment out its "OFF" line and 172 uncomment its "ON" line below it. 173 ============================================================ */ 174 175/* Subheadline â 19.8px, fluid */ 176--text-mubi-subheadline: max(0.75rem, clamp(1rem, 0.9131097561rem + 0.3707317073vw, 1.2375rem)); 177 178/* H2 â 39.6px, fluid */ 179--text-mubi-h2: max(0.75rem, clamp(1.75rem, 1.484756098rem + 1.131707317vw, 2.475rem)); 180 181/* H1 â 90px, fluid */ 182--text-mubi-h1: max(0.75rem, clamp(3rem, 2.039634146rem + 4.097560976vw, 5.625rem)); 183 184/* Microtext â 10.8px */ 185--text-mubi-microtext: 0.675rem; /* OFF: fixed size */ 186/* --text-mubi-microtext: max(0.6rem, clamp(0.5rem, 0.4368rem + 0.2531vw, 0.675rem)); ON: fluid clamp */ 187 188/* Caption â 14.4px */ 189--text-mubi-caption: 0.9rem; /* OFF: fixed size */ 190/* --text-mubi-caption: max(0.65rem, clamp(0.7rem, 0.6118rem + 0.3512vw, 0.9rem)); ON: fluid clamp */ 191 192/* Body â 18px */ 193--text-mubi-body: 1.125rem; /* OFF: fixed size */ 194/* --text-mubi-body: max(0.75rem, clamp(0.9rem, 0.7817rem + 0.4634vw, 1.125rem)); ON: fluid clamp */ 195 196/* Body-Regular â 18px */ 197--text-mubi-body-regular: 1.125rem; /* OFF: fixed size */ 198/* --text-mubi-body-regular: max(0.75rem, clamp(0.9rem, 0.7817rem + 0.4634vw, 1.125rem)); ON: fluid clamp */ 199 200/* ============================================================ 201 CUSTOM ADDITION END 202 ============================================================ */ 203 --text-xs: 0.875rem; 204 --text-sm: 0.9375rem; 205 --text-base: 1.0rem; 206 --text-lg: 1.125rem; 207 --text-xl: 1.25rem; 208 209 /* Rounded variables (used for border radius) */ 210 --rounded-full: 9999px; 211 --button-border-radius: 0.25rem; 212 --input-border-radius: 0.25rem; 213 214 /* Box shadow */ 215 --shadow-sm: 0 2px 8px rgb(0 0 0 / 0.05); 216 --shadow: 0 5px 15px rgb(0 0 0 / 0.05); 217 --shadow-md: 0 5px 30px rgb(0 0 0 / 0.05); 218 --shadow-block: px px px rgb(var(--text-primary) / 0.0); 219 220 /* Product card */--product-card-text-transform: uppercase;/** 221 * --------------------------------------------------------------------- 222 * OTHER 223 * --------------------------------------------------------------------- 224 */ 225 226 --checkmark-svg-url: url(//mubi-shop.com/cdn/shop/t/17/assets/checkmark.svg?v=5588600397216680941783513212); 227 --cursor-zoom-in-svg-url: url(//mubi-shop.com/cdn/shop/t/17/assets/cursor-zoom-in.svg?v=69569546938607672931784745288); 228 } 229 230 [dir="rtl"]:root { 231 /* RTL support */ 232 --transform-logical-flip: -1; 233 --transform-origin-start: right;
234 --transform-origin-end: left; 235 } 236 237 @media screen and (min-width: 700px) { 238 :root { 239 /* Typography (font size) */ 240 --text-xs: 1.0rem; 241 --text-sm: 1.0625rem; 242 --text-base: 1.125rem; 243 --text-lg: 1.25rem; 244 --text-xl: 1.375rem; 245 246 /* Spacing settings */ 247 --container-gutter: 1.25rem; 248 } 249 } 250 251 @media screen and (min-width: 1000px) { 252 :root { 253 /* Spacing settings */ 254 --container-gutter: 1.25rem; 255 256 --section-vertical-spacing: 3rem; 257 --section-vertical-spacing-tight: 3rem; 258 259 --section-stack-gap:2.25rem; 260 --section-stack-gap-tight:2.25rem; 261 } 262 }:root {/* Overlay used for modal */ 263 --page-overlay: 0 0 0 / 0.6; 264--page-overlay-blur: 32px; 265 266 /* Carousel navigation arrows */ 267 --carousel-arrows-gap-to-image: 12px; 268 --carousel-arrows-gap-between: 20px; 269 --carousel-arrows-circle-size: 20px; 270 --carousel-arrows-icon-size: 12px; 271 --carousel-arrows-icon-stroke-width: 2px; 272 --carousel-arrows-mobile-scale: 0.8; 273 --carousel-arrows-active-circle-color: 0 0 0; 274 --carousel-arrows-active-icon-color: 255 255 255; 275 --carousel-arrows-inactive-circle-color: 217 217 217; 276 --carousel-arrows-inactive-icon-color: 255 255 255; 277 --carousel-arrows-default-opacity: 1; 278 279 /* We use the first scheme background as default */ 280 --page-background: ; 281 282 /* Product colors */ 283 --on-sale-text: 0 26 175; 284 --on-sale-badge-background: 0 26 175; 285 --on-sale-badge-text: 255 255 255; 286 --sold-out-badge-background: 0 20 137; 287 --sold-out-badge-text: 255 255 255; 288 --custom-badge-background: 0 26 175; 289 --custom-badge-text: 255 255 255; 290 --star-color: 0 26 175; 291 292 /* 293 CUSTOM ADDITION â added [23. July 2026] by [OH] 294 Purpose: New settings for the product card sold-out badge 295 position/appearance overlay (alignment, offset from bottom, 296 background color, corner radius), configured in the 297 "Product card" theme settings. 298*/ 299--sold-out-badge-overlay-alignment: left; 300--sold-out-badge-overlay-bottom-offset: 16px; 301--sold-out-badge-overlay-background: 0 26 175; 302--sold-out-badge-overlay-border-radius: 2px; 303--sold-out-badge-overlay-font-size: var(--text-mubi-microtext); 304--sold-out-badge-overlay-text-transform: inherit; 305--product-card-image-background: 234 234 234; 306 307/* CUSTOM ADDITION â added 14. August 2026 by OH 308 Purpose: Position the Stoq preorder badge on product cards 309 using the same alignment setting as the sold-out badge 310 (settings.sold_out_badge_alignment), since the preorder badge 311 is injected by a third-party app and can't use our 312 data-alignment attribute approach. */--preorder-badge-left: 1rem; 313--preorder-badge-right: auto; 314--preorder-badge-transform: none; 315 316 /* Status colors */ 317 --success-background: 201 207 238; 318 --success-text: 0 26 175; 319 --warning-background: 253 241 224; 320 --warning-text: 237 138 0; 321 --error-background: 247 202 202; 322 --error-text: 221 35 35; 323 324 /* Modal scheme */ 325 --modal-scheme-background: 242 241 241; 326 --modal-scheme-background-gradient: ; 327 --modal-scheme-text-color: 28 28 28; 328 }.color-scheme--scheme-1 { 329 /* Color settings */--accent: 28 28 28; 330 --text-color: 28 28 28; 331 --background: 242 241 241 / 1.0; 332 --background-without-opacity: 242 241 241; 333 --background-gradient: ;--border-color: 210 209 209;/* Button colors */ 334 --button-background: 28 28 28; 335 --button-text-color: 255 255 255; 336 337 /* Circled buttons */ 338 --circle-button-background: 255 255 255; 339 --circle-button-text-color: 28 28 28; 340 }.shopify-section:has(.section-spacing.color-scheme--bg-c389f4f753aec2c3821b04015f2a778e) + .shopify-section:has(.section-spacing.color-scheme--bg-c389f4f753aec2c3821b04015f2a778e:not(.bordered-section)) .section-spacing { 341 padding-block-start: 0; 342 }.color-scheme--scheme-2 { 343 /* Color settings */--accent: 28 28 28; 344 --text-color: 28 28 28; 345 --background: 242 241 241 / 1.0; 346 --background-without-opacity: 242 241 241; 347 --background-gradient: ;--border-color: 210 209 209;/* Button colors */ 348 --button-background: 28 28 28; 349 --button-text-color: 242 241 241; 350 351 /* Circled buttons */ 352 --circle-button-background: 242 241 241; 353 --circle-button-text-color: 28 28 28; 354 }.shopify-section:has(.section-spacing.color-scheme--bg-c389f4f753aec2c3821b04015f2a778e) + .shopify-section:has(.section-spacing.color-scheme--bg-c389f4f753aec2c3821b04015f2a778e:not(.bordered-section)) .section-spacing { 355 padding-block-start: 0; 356 }.color-scheme--scheme-3 { 357 /* Color settings */--accent: 255 255 255; 358 --text-color: 255 255 255; 359 --background: 28 28 28 / 1.0; 360 --background-without-opacity: 28 28 28; 361 --background-gradient: ;--border-color: 62 62 62;/* Button colors */ 362 --button-background: 255 255 255; 363 --button-text-color: 28 28 28; 364 365 /* Circled buttons */ 366 --circle-button-background: 255 255 255; 367 --circle-button-text-color: 28 28 28; 368 }.shopify-section:has(.section-spacing.color-scheme--bg-c1f8cb21047e4797e94d0969dc5d1e44) + .shopify-section:has(.section-spacing.color-scheme--bg-c1f8cb21047e4797e94d0969dc5d1e44:not(.bordered-section)) .section-spacing { 369 padding-block-start: 0; 370 }.color-scheme--scheme-4 { 371 /* Color settings */--accent: 242 241 241; 372 --text-color: 242 241 241; 373 --background: 28 28 28 / 1.0; 374 --background-without-opacity: 28 28 28; 375 --background-gradient: ;--border-color: 60 60 60;/* Button colors */ 376 --button-background: 242 241 241; 377 --button-text-color: 28 28 28; 378 379 /* Circled buttons */ 380 --circle-button-background: 242 241 241; 381 --circle-button-text-color: 28 28 28; 382 }.shopify-section:has(.section-spacing.color-scheme--bg-c1f8cb21047e4797e94d0969dc5d1e44) + .shopify-section:has(.section-spacing.color-scheme--bg-c1f8cb21047e4797e94d0969dc5d1e44:not(.bordered-section)) .section-spacing { 383 padding-block-start: 0; 384 }.color-scheme--scheme-5 { 385 /* Color settings */--accent: 255 255 255; 386 --text-color: 255 255 255; 387 --background: 0 0 0 / 0.0; 388 --background-without-opacity: 0 0 0; 389 --background-gradient: ;--border-color: 255 255 255;/* Button colors */ 390 --button-background: 255 255 255; 391 --button-text-color: 28 28 28; 392 393 /* Circled buttons */ 394 --circle-button-background: 255 255 255; 395 --circle-button-text-color: 28 28 28; 396 }.shopify-section:has(.section-spacing.color-scheme--bg-3671eee015764974ee0aef1536023e0f) + .shopify-section:has(.section-spacing.color-scheme--bg-3671eee015764974ee0aef1536023e0f:not(.bordered-section)) .section-spacing { 397 padding-block-start: 0; 398 }.color-scheme--scheme-77a6f54a-a713-4aec-a990-08e45bcb8657 { 399 /* Color settings */--accent: 242 241 241; 400 --text-color: 242 241 241; 401 --background: 0 20 137 / 1.0; 402 --background-without-opacity: 0 20 137; 403 --background-gradient: ;--border-color: 36 53 153;/* Button colors */ 404 --button-background: 242 241 241; 405 --button-text-color: 0 20 137; 406 407 /* Circled buttons */ 408 --circle-button-background: 242 241 241; 409 --circle-button-text-color: 28 28 28; 410 }.shopify-section:has(.section-spacing.color-scheme--bg-56d456675c6022a94f34c86ae1730876) + .shopify-section:has(.section-spacing.color-scheme--bg-56d456675c6022a94f34c86ae1730876:not(.bordered-section)) .section-spacing { 411 padding-block-start: 0; 412 }.color-scheme--dialog { 413 /* Color settings */--accent: 28 28 28; 414 --text-color: 28 28 28; 415 --background: 242 241 241 / 1.0; 416 --background-without-opacity: 242 241 241; 417 --background-gradient: ;--border-color: 210 209 209;/* Button colors */ 418 --button-background: 28 28 28; 419 --button-text-color: 242 241 241; 420 421 /* Circled buttons */ 422 --circle-button-background: 242 241 241; 423 --circle-button-text-color: 28 28 28; 424 }</style>
425<script> 426 // This allows to expose several variables to the global scope, to be used in scripts 427 window.themeVariables = { 428 settings: { 429 showPageTransition: false, 430 pageType: "search", 431 moneyFormat: "${{amount}}", 432 moneyWithCurrencyFormat: "${{amount}} USD", 433 currencyCodeEnabled: true, 434 cartType: "drawer", 435 staggerMenuApparition: false 436 }, 437 438 strings: { 439 addedToCart: "Added to your cart!", 440 addedToCartWithTitle: "{{ product_title }} added to cart.", 441 closeGallery: "Close gallery", 442 zoomGallery: "Zoom picture", 443 errorGallery: "Image cannot be loaded", 444 shippingEstimatorNoResults: "Sorry, we do not ship to your address.", 445 shippingEstimatorOneResult: "There is one shipping rate for your address:", 446 shippingEstimatorMultipleResults: "There are several shipping rates for your address:", 447 shippingEstimatorError: "One or more error occurred while retrieving shipping rates:", 448 next: "Next", 449 previous: "Previous" 450 }, 451 452 mediaQueries: { 453 'sm': 'screen and (min-width: 700px)', 454 'md': 'screen and (min-width: 1000px)', 455 'lg': 'screen and (min-width: 1150px)', 456 'xl': 'screen and (min-width: 1400px)', 457 '2xl': 'screen and (min-width: 1600px)', 458 'sm-max': 'screen and (max-width: 699px)', 459 'md-max': 'screen and (max-width: 999px)', 460 'lg-max': 'screen and (max-width: 1149px)', 461 'xl-max': 'screen and (max-width: 1399px)', 462 '2xl-max': 'screen and (max-width: 1599px)', 463 'motion-safe': '(prefers-reduced-motion: no-preference)', 464 'motion-reduce': '(prefers-reduced-motion: reduce)', 465 'supports-hover': 'screen and (pointer: fine)', 466 'supports-touch': 'screen and (hover: none)' 467 } 468 };</script>
vendor: 1 bytes, line 468
468
469<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 469
469
470<script type="importmap">{ 471 "imports": { 472 "vendor": "//mubi-shop.com/cdn/shop/t/17/assets/vendor.min.js?v=53886175772894603331783513200", 473 "theme": "//mubi-shop.com/cdn/shop/t/17/assets/theme.js?v=13968561988284492361783513200", 474 "photoswipe": "//mubi-shop.com/cdn/shop/t/17/assets/photoswipe.min.js?v=13374349288281597431783513200" 475 } 476 } 477 </script>
477 478 479
479<script type="module" src="//mubi-shop.com/cdn/shop/t/17/assets/vendor.min.js?v=53886175772894603331783513200"></script>
479 480
480<script type="module" src="//mubi-shop.com/cdn/shop/t/17/assets/theme.js?v=13968561988284492361783513200"></script>
480<script src="//mubi-shop.com/cdn/shop/t/17/assets/preorder-badge-position.js?v=21368589820037264021786686237" defer></script>
480 481 482 483
483<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
483<meta name="facebook-domain-verification" content="du5v93wvdnud11qqdcs2et5fuz0swm"> 484<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/50970034350/digital_wallets/dialog"> 485<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://mubi-shop.com/search"> 486<link rel="alternate" hreflang="en" href="https://mubi-shop.com/search"> 487<link rel="alternate" hreflang="it" href="https://mubi-shop.com/it/search"> 488<link rel="alternate" hreflang="fr" href="https://mubi-shop.com/fr/search"> 489<link rel="alternate" hreflang="nl" href="https://mubi-shop.com/nl/search"> 490<link rel="alternate" hreflang="de" href="https://mubi-shop.com/de/search"> 491<link rel="alternate" hreflang="es" href="https://mubi-shop.com/es/search"> 492<link rel="alternate" hreflang="en-US" href="https://mubi-shop.com/en-us/search"> 493<link rel="alternate" hreflang="en-CO" href="https://mubi-shop.com/en-co/search"> 494<link rel="alternate" hreflang="es-CO" href="https://mubi-shop.com/es-co/search"> 495<link rel="alternate" hreflang="en-CA" href="https://mubi-shop.com/en-ca/search"> 496<link rel="alternate" hreflang="fr-CA" href="https://mubi-shop.com/fr-ca/search"> 497<link rel="alternate" hreflang="en-CL" href="https://mubi-shop.com/en-cl/search"> 498<link rel="alternate" hreflang="es-CL" href="https://mubi-shop.com/es-cl/search"> 499<link rel="alternate" hreflang="en-AR" href="https://mubi-shop.com/en-ar/search"> 500<link rel="alternate" hreflang="es-AR" href="https://mubi-shop.com/es-ar/search"> 501<link rel="alternate" hreflang="en-AU" href="https://mubi-shop.com/en-au/search"> 502<link rel="alternate" hreflang="en-BR" href="https://mubi-shop.com/en-br/search"> 503<link rel="alternate" hreflang="en-DE" href="https://mubi-shop.com/en-de/search"> 504<link rel="alternate" hreflang="de-DE" href="https://mubi-shop.com/de-de/search"> 505<link rel="alternate" hreflang="en-ES" href="https://mubi-shop.com/en-es/search"> 506<link rel="alternate" hreflang="es-ES" href="https://mubi-shop.com/es-es/search"> 507<link rel="alternate" hreflang="en-FR" href="https://mubi-shop.com/en-fr/search"> 508<link rel="alternate" hreflang="fr-FR" href="https://mubi-shop.com/fr-fr/search"> 509<link rel="alternate" hreflang="en-IE" href="https://mubi-shop.com/en-ie/search"> 510<link rel="alternate" hreflang="en-IT" href="https://mubi-shop.com/en-it/search"> 511<link rel="alternate" hreflang="it-IT" href="https://mubi-shop.com/it-it/search"> 512<link rel="alternate" hreflang="en-MX" href="https://mubi-shop.com/en-mx/search"> 513<link rel="alternate" hreflang="es-MX" href="https://mubi-shop.com/es-mx/search"> 514<link rel="alternate" hreflang="en-NL" href="https://mubi-shop.com/en-nl/search"> 515<link rel="alternate" hreflang="nl-NL" href="https://mubi-shop.com/nl-nl/search">
516<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
516 517<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
518<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=50970034350" crossorigin="anonymous"></script>
vendor: 1 bytes, line 518
518
519<script id="shopify-features" type="application/json">{"accessToken":"99eb149cef1288fa8b9bd8a6258afc6d","betas":["rich-media-storefront-analytics"],"domain":"mubi-shop.com","predictiveSearch":true,"shopId":50970034350,"locale":"en"}</script>
vendor: 1 bytes, line 519
519
520<script>var Shopify = Shopify || {}; 521Shopify.shop = "mubi-shop-2020.myshopify.com"; 522Shopify.locale = "en"; 523Shopify.currency = {"active":"USD","rate":"1.0"}; 524Shopify.country = "US"; 525Shopify.theme = {"name":"SHOP | Prestige v1 CAMP MIASMA ","id":153326616750,"schema_name":"Prestige","schema_version":"11.4.0","theme_store_id":855,"role":"main"}; 526Shopify.theme.handle = "null"; 527Shopify.theme.style = {"id":null,"handle":null}; 528Shopify.cdnHost = "mubi-shop.com/cdn"; 529Shopify.routes = Shopify.routes || {}; 530Shopify.routes.root = "/en-us/"; 531Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 532Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 533Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 534Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 534
534
535<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 535
535
536<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 536
536
537<script> 538 window.ShopifyPay = window.ShopifyPay || {}; 539 window.ShopifyPay.apiHost = "shop.app\/pay"; 540 window.ShopifyPay.redirectState = null; 541</script>
vendor: 1 bytes, line 541
541
542<script> 543 window.Shopify = window.Shopify || {}; 544 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 545 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 546 window.Shopify.SignInWithShop.eligible = true; 547</script>
vendor: 1 bytes, line 547
547
548<script id="shop-js-analytics" type="application/json">{"pageType":"search"}</script>
vendor: 1 bytes, line 548
548
549<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 549
549
550<script type="module"> 551 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 552 553 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 554 555</script>
vendor: 1 bytes, line 555
555
556<script> 557 window.Shopify = window.Shopify || {}; 558 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 559 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 560</script>
vendor: 1 bytes, line 560
560
561<script id="__st">var __st={"a":50970034350,"offset":0,"reqid":"55e0ecc4-e6f0-485c-8baf-a441a1a165c5-1791084538","pageurl":"mubi-shop.com\/en-us\/search","u":"3b0ccef3a116","p":"searchresults"};</script>
vendor: 1 bytes, line 561
561
562<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 562
562
563<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 563
563
564<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//mubi-shop.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 564
564
565<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//mubi-shop.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
565<script crossorigin="anonymous" defer="defer" src="//mubi-shop.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 565
565
566<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 566
566
567<script> 568 window.Shopify = window.Shopify || {}; 569 window.Shopify.MCP = window.Shopify.MCP || {}; 570 window.Shopify.MCP.enabled = true; 571 window.Shopify.MCP.shop = "mubi-shop-2020.myshopify.com"; 572 window.Shopify.MCP.mcpEndpoint = "https:\/\/mubi-shop.com\/api\/mcp"; 573 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 574</script>
vendor: 1 bytes, line 574
574
575<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/mubi-shop.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 576</script>
vendor: 1 bytes, line 576
576
577<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://mubi-shop.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 578</script>
vendor: 1 bytes, line 578
578
579<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 580 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 581</script>
vendor: 1 bytes, line 581
581
582<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 583</script>
583 584<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://mubi-shop.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 585<style id="shopify-accelerated-checkout-cart"> 586 #shopify-buyer-consent { 587 margin-top: 1em; 588 display: inline-block; 589 width: 100%; 590} 591 592#shopify-buyer-consent.hidden { 593 display: none; 594} 595 596#shopify-subscription-policy-button { 597 background: none; 598 border: none; 599 padding: 0; 600 text-decoration: underline; 601 font-size: inherit; 602 cursor: pointer; 603} 604 605#shopify-subscription-policy-button::before { 606 box-shadow: none; 607} 608 609 </style> 610
611<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
611 612 613 614 615 616 617 618
618<script type="text/javascript"> 619 620 window.__shgMoneyFormat = window.__shgMoneyFormat || {"ARS":{"currency":"ARS","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"AUD":{"currency":"AUD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BRL":{"currency":"BRL","currency_symbol":"R$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"CAD":{"currency":"CAD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"CLP":{"currency":"CLP","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"COP":{"currency":"COP","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"EUR":{"currency":"EUR","currency_symbol":"â¬","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"GBP":{"currency":"GBP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MXN":{"currency":"MXN","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}; 621 622 window.__shgCurrentCurrencyCode = window.__shgCurrentCurrencyCode || { 623 currency: "USD", 624 currency_symbol: "$", 625 decimal_separator: ".", 626 thousands_separator: ",", 627 decimal_places: 2, 628 currency_symbol_location: "left" 629 }; 630 </script>
630 631 632 633 634<link href="//mubi-shop.com/cdn/shop/t/17/assets/theme.css?v=183362547206947029751787292686" rel="stylesheet" type="text/css" media="all" /> 635
636<script type="text/javascript"> 637 638 window.SHG_CUSTOMER = null; 639 640</script>
640 641 642 643 644 645 646 647 648<!-- BEGIN app block: shopify://apps/t-lab-ai-language-translate/blocks/custom_translations/b5b83690-efd4-434d-8c6a-a5cef4019faf --><!-- BEGIN app snippet: custom_translation_scripts -->
648<script> 649var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(r){for(var n,t=1,e=arguments.length;t<e;t++)for(var a in n=arguments[t])Object.prototype.hasOwnProperty.call(n,a)&&(r[a]=n[a]);return r}).apply(this,arguments)},__spreadArray=this&&this.__spreadArray||function(r,n,t){if(t||2===arguments.length)for(var e,a=0,i=n.length;a<i;a++)!e&&a in n||((e=e||Array.prototype.slice.call(n,0,a))[a]=n[a]);return r.concat(e||Array.prototype.slice.call(n))};(()=>{var C=/\([0-9]+?\)$/,G=/\r?\n|\r|\t|\xa0|\u200B|\u200E| | /g,t=/<\/?[a-z][\s\S]*>/i,p=/^(https?:\/\/|\/\/)[^\s/$.?#].[^\s]*$/i,J=/\{\{\s*([a-zA-Z_]\w*)\s*\}\}/g,g=/\{\{\s*([a-zA-Z_]\w*)\s*\}\}/,tr=/\{\{\s*[a-zA-Z_]\w*\s*\}\}/g,l=/^(https:)?\/\/cdn\.shopify\.com\/(.+)\.(png|jpe?g|gif|webp|svgz?|bmp|tiff?|ico|avif)/i,m=/^(https:)?\/\/cdn\.shopify\.com/i,s=/\b(?:https?|ftp)?:?\/\/?[^\s\/]+\/[^\s]+\.(?:png|jpe?g|gif|webp|svgz?|bmp|tiff?|ico|avif)\b/i,h=/url\(['"]?(.*?)['"]?\)/,d="__label:",n=document.createElement("textarea"),o=new DOMParser,z=new Set(["SCRIPT","IFRAME","OBJECT","EMBED","LINK","META","BASE"]),W=/^(on\w+|srcdoc)$/i,F=/(expression|javascript:|@import|url\s*\()/i,q=new Set(["href","action","formaction","xlink:href"]),er=/^(?:javascript|vbscript|data):/i,ar=document.createElement("template"),O={t:"a",i:"button",u:"div",o:"iframe",l:"img",v:"input",p:"p",g:"picture",m:"section",h:"source",T:"span",S:"textarea",_:"video"},x={M:["src","data-src","data-source","data-href","data-zoom","data-master","data-bg","base-src"],A:"src",k:"data-src",I:["srcset","data-srcset"],R:"srcset",C:"data-srcset",O:["alt"],N:["href","data-href"],D:["href","data-href","data-src","data-zoom"],L:["src","data-src","data-bg"],P:["data-bgset"],H:["data-href"],U:["src"],j:["srcset","data-srcset"],W:["src"],F:["src"],q:["poster"],G:"value",J:"type",$:"value",B:["placeholder"],V:["placeholder"],Y:["data-label","title"],Z:["data-tooltip"],X:"class",K:"href"},k=Array.from(new Set(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],x.M,!0),x.I,!0),x.F,!0),x.q,!0),x.O,!0),["style"],!1),x.P,!0))),ir=new Set(k),ur=new Set([O.l,O.g,O.i,O.p,O.t,O.v]),or=new Set([O.l,O.g,O.u,O.m,O._]),I=new Set([O.l,O.h]),fr=new Set([O.g,O._]),R=[O.l,O.g,O.h].join(", "),N=[O._,"".concat(O.u,"[data-bg]"),"".concat(O.u,"[data-src]"),"".concat(O.u,"[data-bgset]"),"".concat(O.m,"[data-bg]"),"".concat(O.m,"[data-src]"),"".concat(O.m,"[data-bgset]")].join(", "),u=R+", "+N,cr=16.67,lr=500,D=function(r){return r.nodeType===Node.ELEMENT_NODE},L=function(r){return r.nodeType===Node.TEXT_NODE};function P(r){return r&&"none"!==r&&(r=r.match(h))&&r[1]?r[1]:null}function H(r){r=r.trim();return l.test(r)||s.test(r)}function U(r){return t.test(r)}function j(r){r=r.trim();return"/"===r[0]&&"/"!==r[1]}var $=function(r){return!r||0===r.trim().length};function B(r){return r.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function V(t){var e=new Map;return{get:function(r){var n;if(e.has(r))return n=e.get(r),e.delete(r),e.set(r,n),n},set:function(r,n){e.has(r)?e.delete(r):e.size>=t&&e.delete(e.keys().next().value),e.set(r,n)}}}function Y(r,n){var t=r.get(n);return t||r.set(n,t=[]),t}function Z(r){return-1===r.indexOf("&")?r:(n.innerHTML=r,n.value)}function v(r){return X(Z(r))}function X(r){return r.trim().replace(C,"").replace(G,"").trim()}var b=1e3;function K(r){var n=r.length>b;return{key:n?gr(r):r,rr:n,nr:r.length}}function Q(r){return K(r.trim().replace(G,"").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/&/g,"&").trim())}function rr(r){return Q(r).key}var w=/<\s*([a-z][\w:-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*>/gi,f="__IGNORED__";function r(r){return new RegExp("(\\s)(".concat(r,")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s\"'=<>]+)"),"i")}var a,i,c=[{name:x.X,pattern:r(x.X)},{name:x.K,pattern:r(x.K),tr:O.t}];function sr(r){return r.replace(w,function(r,n){for(var t,e=n.toLowerCase(),a=r,i=0;i<c.length;i++){var u=c[i];void 0!==u.tr&&u.tr!==e||(t=a,u=u.pattern,a=t.replace(u,function(r,n,t){return"".concat(n).concat(t,'="').concat(f,'"')}))}return a})}function dr(r){for(var n,t=[],e=/<\s*(\/?)\s*([a-z][\w:-]*)\b/gi;null!==(n=e.exec(r));)t.push(n[1]+n[2].toLowerCase());return t.join("|")}function vr(r){for(var r=o.parseFromString(r,"text/html"),i=r.body.querySelectorAll("*"),n=function(r){for(var a=i[r],n=Array.from(a.attributes).map(function(r){var n,t,e=r.name.toLowerCase();return{name:e,value:(n=a.localName,t=e,c.some(function(r){return r.name===t&&(void 0===r.tr||r.tr===n)})?f:r.value)}}).sort(function(r,n){return r.name.localeCompare(n.name)||r.value.localeCompare(n.value)});0<a.attributes.length;)a.removeAttribute(a.attributes[0].name);for(var t=0;t<n.length;t++){var e=n[t];a.setAttribute(e.name,e.value)}},t=0;t<i.length;t++)n(t);return r.body.innerHTML}function T(r,n,t){r=r.getAttribute(t);null===r?n.removeAttribute(t):n.setAttribute(t,r)}function pr(r,n){var r=o.parseFromString(r,"text/html"),n=o.parseFromString(n,"text/html"),t=r.body.querySelectorAll("*"),e=n.body.querySelectorAll("*");if(((r,n)=>{if(r.length===n.length){for(var t=0;t<r.length;t++)if(r[t].localName!==n[t].localName)return;return 1}})(t,e))for(var a=0;a<t.length;a++)T(t[a],e[a],x.X);var i=r.body.querySelectorAll(O.t),u=n.body.querySelectorAll(O.t);if(i.length!==u.length)return null;for(a=0;a<i.length;a++)T(i[a],u[a],x.K);return n.body.innerHTML}function nr(r){return r.trim().toLowerCase().replace(/^https:/i,"")}function gr(r){for(var n=5381,t=0;t<r.length;t++)n=(n<<5)+n^r.charCodeAt(t);return(n>>>0).toString(36)}function mr(r,n,t){void 0===t&&(t=20);for(var e=r,a=0;e&&e.parentElement&&a<t;){for(var i=e.parentElement,u=0,o=n;u<o.length;u++)for(var f=o[u],c=0,l=f.er;c<l.length;c++){var s=l[c];switch(s.type){case"class":for(var d=0,v=i.classList;d<v.length;d++){var p=v[d];if(s.value.test(p))return f.label}break;case"id":if(i.id&&s.value.test(i.id))return f.label;break;case"attribute":if(i.hasAttribute(s.name)){if(!s.value)return f.label;var g=i.getAttribute(s.name);if(g&&s.value.test(g))return f.label}}}e=i,a++}return"unknown"}function hr(){var l=/([^\s]+)\.(png|jpe?g|gif|webp|svgz?|bmp|tiff?|ico|avif)$/i,s=/_(\{width\}x*|\{width\}x\{height\}|\d{3,4}x\d{3,4}|\d{3,4}x|x\d{3,4}|pinco|icon|thumb|small|compact|medium|large|grande|original|master)(_crop_\w+)*(@[2-3]x)*(.progressive)*$/i,d=/^(https?|ftp|file):\/\//i;function t(r){var n,t="".concat(r.path).concat(r.ar).concat(null!=(t=r.size)?t:"",".").concat(r.ir);return r.ur&&(t="".concat(r.path).concat(r.ur,"/").concat(r.ar).concat(null!=(n=r.size)?n:"",".").concat(r.ir)),r.host&&(t="".concat(null!=(n=r.protocol)?n:"","//").concat(r.host).concat(t)),r.cr&&(t+=r.cr),t}return{lr:function(r){var n,t=!0,e=(d.test(r)||r.startsWith("//")||(t=!1,r="https://example.com"+r),t);r.startsWith("//")&&(e=!1,r="https:"+r);try{n=new URL(r)}catch(r){return null}var a,i,u,o,f,c,r=n.pathname.split("/").filter(function(r){return r});return r.length<1||(i=r.pop(),a=null!=(a=r.pop())?a:null,null===(i=i.match(l)))?null:(c=i[1],i=i[2],u=c.match(s),o=c,(f=null)!==u&&(o=c.substring(0,u.
649index),f=u[0]),c=0<r.length?"/"+r.join("/")+"/":"/",{protocol:e?n.protocol:null,host:t?n.host:null,path:c,cr:n.search,ur:a,ar:o,size:f,ir:i,version:n.searchParams.get("v"),width:n.searchParams.get("width")})},sr:t,dr:function(r){var n=r.ur?"/".concat(r.ur):"";return"".concat(n,"/").concat(r.ar,".").concat(r.ir)},vr:function(r,n){return t(__assign(__assign({},n),{size:r.size}))}}}function y(p,r){var u={},o={},f=new Map,c=[],l=new Map,s=new Map,d=new Map,v=new Map,i=new Map,a=new Map,t=new Map,g=function(r){return r.toLowerCase().replace(/[\s\W_]+/g,"")},m=new Set(r.pr.map(g)),h=0,b=0,w=0,T=!1,y=!1,S=!0,_=[],M=new Set,A=/\w/;function E(r){if(!u[r])for(var n=0;n<_.length;n++){var t=_[n];if(!(r===t||r.length>t.length))for(var e=t.indexOf(r);-1!==e;){var a=0<e?t[e-1]:null,i=e+r.length<t.length?t[e+r.length]:null;if(!(null!==a&&A.test(a)||null!==i&&A.test(i)))return u[r]=t,void((a=f.get(r))&&(o[r]=X(a)));e=t.indexOf(r,e+1)}}}var k=hr();function I(r,n,t){return r&&n&&!(0<m.size&&m.has(g(r)))&&(t.set(r,n),T=!0)}function R(r){var n=k.dr(r);return["".concat(n,"?v=").concat(r.version||"0").toLowerCase(),n.toLowerCase()]}function H(r){var n=[nr(r)],r=k.lr(r);if(r)for(var t=0,e=R(r);t<e.length;t++){var a=e[t];n.push(a)}return n}var U=16;function C(r,f,c,i,n){if(0!==f.size){var l=new Set,s=[];f.forEach(function(r,n){for(var t=new Set,e=r;e;){var a=c(e);if(-1!==a.indexOf(n))return void s.push(n);if(a.some(function(r){return t.has(r)}))break;for(var i=0,u=a;i<u.length;i++){var o=u[i];t.add(o)}e=(r=>{for(var n=0,t=c(r);n<t.length;n++){var e=t[n];if(l.has(e))return null!=(e=f.get(e))?e:null}return null})(e)}l.add(n)});for(var t=0,e=s;t<e.length;t++){var a=e[t];f.delete(a),null!=n&&n(a,null)}var u=[];f.forEach(function(r,n){for(var t=r,e=U;0<e;e--){var a=i(t);if(!a)break;t=a}t!==r&&u.push([n,t])});for(var o=0,d=u;o<d.length;o++){var v=d[o],a=v[0],v=v[1];f.set(a,v),null!=n&&n(a,v)}(0<s.length||0<u.length)&&p.log("dictionary","Cycles resolved in ".concat(r,". Dropped:"),s,"Collapsed:",u)}}var e=new Map;function j(r,n){r=e.get(r);r&&(null===n?f.delete(r):f.set(r,n))}function z(r,n){var t,e;return $(r)||0===f.size&&0===c.length?null:(t=X(r),S||M.has(t)||!f.has(t)||(M.add(t),E(t)),(e=u[t])&&(p.log("dictionary",'Overlapping text: "'.concat(r,'" related to html: "').concat(e,'"')),n)&&(r=>{if(r&&!D(r.textContent))for(var n=x(r.outerHTML),t=n.gr,e=(n.mr||(t=0),r.parentElement),a=0;e&&a<5;){if(D(e.textContent))return;var i=x(e.outerHTML),u=i.mr,i=i.gr;if(u){if(p.log("dictionary","Ancestor depth ".concat(a,": overlap score=").concat(i.toFixed(3),", base=").concat(t.toFixed(3))),t<i)return 1;if(i<t&&0<t)return}e=e.parentElement,a++}})(n)?(p.log("dictionary",'Skipping text translation for "'.concat(r,'" because an ancestor HTML translation exists')),null):f.get(t)||($(e=r)||0===c.length?null:(e=e.trim(),void 0===(n=N.get(e))&&(n=(r=>{for(var n,t,e=r.replace(/\s+/g,""),a=0;a<c.length;a++){var i=c[a];if(!i.hr||-1!==e.indexOf(i.hr)){var u=r.match(i.br);if(u&&1<u.length){n=i.mr,t=u;break}}}if(n&&t){var o=t.slice(1),f=n.match(J);if(f&&f.length===o.length)return f.reduce(function(r,n,t){return r.replace(n,function(){return o[t]})},n)}return null})(e),N.set(e,n)),n)))}var O=V(500);function x(r){if($(r)||0===l.size)return{mr:null,gr:0};var r=Q(r),t=r.key;if(t.length>b)return{mr:null,gr:0};var e=null,a=0,n=l.get(t);if(null!=n)return{mr:n,gr:1};if(r.rr)return{mr:null,gr:0};n=O.get(t);if(n)return n;l.forEach(function(r,n){-1!==n.indexOf(t)&&(n=t.length/n.length,a<n)&&(a=n,e=r)});r={mr:e,gr:a};return O.set(t,r),r}var N=V(1e3);function D(r){var n=w;if(r&&!(r.length<=n))for(var t=0,e=0;e<r.length;e++){var a=r.charCodeAt(e);if(32!==a&&9!==a&&10!==a&&13!==a&&160!==a&&8203!==a&&8206!==a&&++t>n)return!0}return!1}function W(r){if($(r)||0===l.size)return null;var n=l.get(rr(r));if(null!=n)return n;if(0===s.size)return null;if(-1===r.indexOf("<"))return null;var n=dr(r),t=v.get(n);if(!t||0===t.length)return null;var e,n=sr(r),n=d.get(n);if(n&&0<n.length)return e=n[0].mr,n.some(function(r){return r.mr!==e})?null:pr(r,e);for(var a=vr(r),i=null,u=0;u<t.length;u++){var o=t[u];
649if(null!=o.wr||(o.wr=vr(o.Tr)),a===o.wr){if(i&&i.mr!==o.mr)return null;i=o}}return i?pr(r,i.mr):null}function L(r){if(!$(r)&&0!==i.size){var n=i.get(nr(r));if(n)return n;n=k.lr(r);if(n)for(var t=0,e=R(n);t<e.length;t++){var a=e[t],a=i.get(a);if(a)return a}}return null}function P(r){return!$(r)&&0!==a.size&&null!=(r=a.get(nr(r)))?r:null}function F(r){var n;return!$(r)&&0!==t.size&&null!=(n=null!=(n=t.get(X(r)))?n:t.get(rr(r)))?n:null}function q(){var r={yr:f,Sr:c.map(function(r){return{pattern:r.br.source,mr:r.mr}}),_r:l,Mr:i,Ar:a,Er:t,kr:T,Ir:0<i.size,Rr:h,Cr:o};return JSON.stringify(r,function(r,n){var t;return n instanceof Map?(t={},n.forEach(function(r,n){t[String(n)]=r}),t):n})}return{Or:function(r,n){I(r,n,f)},Nr:function(r,n){if(r&&n&&!(0<m.size&&m.has(g(r)))){var r=r.trim(),t=r.match(J);if(t&&0!==t.length){var e,a=B(r);t.forEach(function(r){a=a.replace(B(r),function(){return"([\\s\\S]*)"})}),a="\\s*"+(a=a.replace(/\s+/g,"\\s+"))+"\\s*";try{e=new RegExp("^"+a+"$")}catch(r){return void p.log("dictionary","Skipping invalid string template pattern",a,String(r))}for(var i=r.split(tr).map(function(r){return r.replace(/\s+/g,"")}),u="",o=0;o<i.length;o++)i[o].length>u.length&&(u=i[o]);c.push({br:e,mr:n,hr:u}),T=!0}}},Dr:function(r,n){var t,e,a;r!==n&&I(e=(t=K(Z(r).trim().replace(G,"").trim())).key,n,l)&&((a=s.get(r))?(a.mr=n,a.wr=void 0):(a={mr:n,Tr:sr(r)},s.set(r,a),Y(d,a.Tr).push(a),Y(v,dr(r)).push(a)),h=Math.max(h,r.length),b=Math.max(b,e.length),w=Math.max(w,t.nr))},Lr:function(r,n){if(I(r,n,i),r=k.lr(r))for(var t=0,e=R(r);t<e.length;t++)I(e[t],n,i)},Pr:function(r,n){I(r,n,a)},Hr:function(r,n,t){I(r,t,a),I(n,t,f),e.set(r,n)},Ur:function(r,n){y=!0,I(r,n,t)},jr:function(){var n,t,e;return C("images",i,H,L),C("links",a,function(r){return[nr(r)]},P,j),p.log("dictionary","Translation dictionaries: ",q),0<l.size&&0<f.size&&(n=Array.from(f.keys()),_=Array.from(l.keys()),S=!1,t=0,(e=function(){for(var r=performance.now();t<n.length;)if(E(n[t++]),8<=performance.now()-r)return void window.setTimeout(e,0);S=!0,p.log("dictionary","appliedTextTranslations: ",function(){return JSON.stringify(o)}),p.log("dictionary","overlappingTexts: ",function(){return JSON.stringify(u)})})()),{kr:T,Ir:0<i.size,zr:y,Wr:D,Fr:z,qr:W,Gr:L,Jr:P,$r:F}}}}function S(r,n,t){function l(r,n){n=r.split(n);return 2===n.length?n[1].trim()?n:[n[0]]:[r]}var s=y(t,n);return r.forEach(function(r){if(r){var f,c=r.name,r=r.value;if(c&&r){if("string"==typeof r)try{f=JSON.parse(r)}catch(r){return void t.log("dictionary","Invalid metafield JSON for "+c,function(){return String(r)})}else f=r;f&&Object.keys(f).forEach(function(e){if(e){var r,n,a=f[e];if(a)if(e!==a)if(c.includes("judge"))r=v(e),s.Ur(r,a);else if(e.startsWith("[img-src]"))n=nr(e.replace("[img-src]","")),s.Lr(n,a);else if(U(e))s.Dr(e,a);else if(H(e))n=nr(e),s.Lr(n,a);else if(r=(r=e).trim(),p.test(r)||m.test(r))n=nr(e),s.Pr(n,a);else if(j(e))n=nr(e),o=v(e),s.Hr(n,o,a);else if(g.test(e))s.Nr(e,a);else if(e.startsWith(d))n=a.replace(d,""),o=e.replace(d,""),s.Or(v(o),n);else{if("product_tags"===c)for(var t=0,i=["_",":"];t<i.length;t++){var u=(r=>{if(e.includes(r)){var n=l(e,r),t=l(a,r);if(n.length===t.length)return n.forEach(function(r,n){r!==t[n]&&(s.Or(v(r),t[n]),s.Or(v("".concat(r,":")),"".concat(t[n],":")))}),{value:void 0}}})(i[t]);if("object"==typeof u)return u.value}var o=v(e);o!==a&&s.Or(o,a)}}})}}}),s.jr()}function _(u,a){var e=[{label:"judge-me",er:[{type:"class",value:/jdgm/i},{type:"class",value:/^jm-review/i},{type:"id",value:/judge-me/i},{type:"attribute",name:"data-widget-name",value:/review_widget/i}]}],f=hr(),n=new Set(a.Br),i=0,o=new WeakMap;function c(r){var n,t=r.parentElement;return t?(n=o.get(t))&&n.Vr===i?n.Yr:(n=mr(r,e,5),o.set(t,{Vr:i,Yr:n}),n):mr(r,e,5)}var l=new WeakMap;function s(r,n,t){r.getAttribute(n)!==t&&r.setAttribute(n,t);var e=l.get(r);e||l.set(r,e={}),e[n]=t}function d(r,n,t){r=l.get(r);return r&&r[n]===t}function v(r,n,t){if(r.hasAttributes())for(var e=0;e<n.length;e++){var a=n[e],i=r.getAttribute(a);!i||d(r,a,i)||(i=t(a,i))&&s(r,a,i)}}function p(r,n,t){v(r,n,function(r,n){return r.includes("href")&&null!=(r=t.Jr(n))?r:t.Fr(n)})}function g(r,n,t){v(r,n,function(r,n){return t.Jr(n)})}function m(r,n,t){v(r,[n],function(r,n){return t.Fr(n)})}function h(r,n,t){for(var e,a,i,u,o,f=0;f<n.length;f++)a=n[f],i=t,o=u=void 0,(o=(e=r).getAttribute(a))&&!d(e,a,o)&&(o=nr(o.split("&")[0]),(u=S(o,i))?s(e,a,u):(u=i.Jr(o))&&s(e,a,u))}function b(r,n,t){for(var e,a,i,u,o=0;o<n.length;o++)a=n[o],i=t,u=void 0,(u=(e=r).getAttribute(a))&&!d(e,a,u)&&(u=((r,n)=>{if(0!==(r=r.split(",").filter(function(r){return r&&""!==r.trim()}).map(y)).length){var t=r[0].url,t=S(t=r[0].version?"".concat(t,"?").concat(r[0].version):t,n);if(t){var u=f.lr(t);if(u)return r.map(function(r){var n,t,e=u,a=r.url,i=f.lr(a);return i&&(a=f.vr(i,e)),r.Zr&&(i=r.Zr.split("&"),n=i.map(function(r){return r.split("=")[0]}),e=a.indexOf("?"),t=-1===e?[]:a.slice(e+1).split("&").filter(function(r){return-1===n.indexOf(r.split("=")[0])}),e=-1===e?a:a.slice(0,e),a="".concat(e,"?").concat(t.concat(i).join("&"))),a=r.size?"".concat(a," ").concat(r.size):a}).join(",")}}})(u,i))&&s(e,a,u)}function w(r,n){for(var t=r.childNodes,e=0;e<t.length;e++){var a=t[e],i=a.localName?n[a.localName]:null;i&&i(a)}}function T(r){return(r=r&&(null==(r=r.split(",")[0])?void 0:r.trim()))&&r.split(/\s+/)[0]||null}function y(r){var r=r.trim().split(/\s+/),n=r[0].split("?"),t=n[0],n=n[1],n=n?n.split("&"):[];
649return{url:t,version:((r,n)=>{for(var t=0;t<r.length;t++)if(n(r[t]))return r[t];return null})(n,function(r){return r.startsWith("v=")}),Zr:n.filter(function(r){return!r.startsWith("v=")}).join("&"),size:r[1]}}function S(r,n){var t=f.lr(r);return null===t?null:(r=n.Gr(r))?null===(r=f.lr(r))?null:f.vr(t,r):(r=f.dr(t),null===(n=n.Gr(r))||null===(r=f.lr(n))?null:f.vr(t,r))}function _(r,n,t){var e,a;if(e=x.D,a=n,v(r,e,function(r,n){return H(n)?a.Gr(n):a.Jr(n)}),t.Xr)for(var i=r,u=x.N,o=t.Kr,f=0;f<u.length;f++){var c,l=u[f],s=i.getAttribute(l);s&&(c=s===o||s.startsWith(o+"/")||s.startsWith(o+"?")||s.startsWith(o+"#"),j(s))&&!c&&(c="".concat(o).concat(s),i.setAttribute(l,c))}}function M(r,n){((r,n)=>{if(r instanceof HTMLImageElement&&!r.getAttribute(x.A))for(var t=[r.currentSrc,r.getAttribute(x.k),T(r.getAttribute(x.R)),T(r.getAttribute(x.C))],e=0;e<t.length;e++){var a=t[e];if(a){a=S(a,n);if(a)return s(r,x.A,a)}}})(r,n),h(r,x.M,n),b(r,x.I,n),p(r,x.O,n)}function A(r,n){h(r,x.U,n),b(r,x.j,n)}function E(r,n){g(r,x.U,n)}function k(r,n){var n=u.Gr(n);return!!n&&(n='url("'.concat(n,'")'),r.style.backgroundImage!==n)&&(r.style.backgroundImage=n,!0)}function I(r){var n,t,e,a,i;switch(r.localName){case O.l:M(r,u);break;case O.g:i=u,w(a=r,((a={})[O.h]=function(r){return A(r,i)},a[O.l]=function(r){return M(r,i)},a));break;case O.u:case O.m:a=u,(e=P((t=r).style.backgroundImage||t.getAttribute("data-bg")||""))&&k(t,e),h(t,x.L,a),b(t,x.P,a),p(t,x.H,a);break;case O._:n=u,g(e=r,x.F,n),h(e,x.q,n),w(e,((e={})[O.h]=function(r){return E(r,n)},e));break;case O.h:((null==(t=r.parentElement)?void 0:t.localName)===O._?E:A)(r,u)}}function R(r,n){n=(r=>{var n=ar;
649try{n.innerHTML=r;for(var t=[],e=document.createTreeWalker(n.content,NodeFilter.SHOW_ELEMENT),a=e.nextNode();a;a=e.nextNode()){var i=a;if(z.has(i.nodeName))t.push(i);else{for(var u,o=i.attributes.length-1;0<=o;--o){var f,c=i.attributes[o].name;W.test(c)?i.removeAttribute(c):q.has(c.toLowerCase())&&(f=(i.attributes[o].value||"").replace(/[\u0000-\u0020]+/g,""),er.test(f))&&i.removeAttribute(c)}i.hasAttribute("style")&&(u=i.getAttribute("style")||"",F.test(u))&&i.removeAttribute("style")}}for(o=0;o<t.length;o++)t[o].remove();return n.innerHTML}finally{n.innerHTML=""}})(n);return r.innerHTML!==n&&(r.innerHTML=n,1)}return{Qr:function(r){return!(!r||!D(r)||n.has((r=r).localName)||r.classList.contains("tl-switcher-container")||(r=r.parentNode)&&["SCRIPT","STYLE"].includes(r.nodeName.toUpperCase()))},rn:function(r){if(L(r)&&null!=(n=r.textContent)&&n.trim()){if(u.zr)if("judge-me"===c(r)){var n=u.$r(r.textContent);if(n)return void(r.textContent=Z(n))}var t=u.Fr(r.textContent,r.parentElement||void 0);t&&(U(t)?(n=r.parentElement)&&1===n.childNodes.length&&R(n,t):(n=r.textContent.trim().replace(C,"").trim(),r.textContent=Z(r.textContent.replace(n,function(){return t}))))}},nn:function(r){if(!!$(r.textContent)||!r.innerHTML)return!1;if(u.zr&&"judge-me"===c(r)){var n=null!=(n=u.$r(r.innerHTML))?n:u.$r(r.textContent);if(n&&R(r,n))return!0}n=u.Wr(r.textContent)?null:u.qr(r.innerHTML);return!(!n||!R(r,n))},tn:function(r){switch(p(r,x.Y,u),r.localName){case O.T:p(r,x.Z,u);break;case O.t:_(r,u,a);break;case O.v:t=u,!(e=(n=r).getAttribute(x.J))||"submit"!==e&&"button"!==e||m(n,x.$,t),p(n,x.B,t);break;case O.S:p(r,x.V,u);break;case O.l:case O.g:case O.u:case O.m:case O._:I(r);break;case O.i:m(r,x.G,u);break;case O.o:g(r,x.W,u)}var n,t,e},en:I,an:k,un:function(r){var n;return!!r&&(n=r.localName,!!or.has(n)||n===O.h&&!!r.parentElement&&fr.has(r.parentElement.localName))},on:function(r){return u.zr||!u.Wr(r.textContent)},zr:function(){return u.zr},fn:function(){i++},Ir:function(){return u.Ir},getImageTranslation:function(r){return S(r,u)}}}function e(n){var t=[],e=0;function a(){0!==e&&(e===t.length?e=t.length=0:64<e&&t.length<=2*e&&(t.splice(0,e),e=0))}
649return{cn:function(r){return!(n<=t.length-e||(a(),t.push(r),0))},ln:function(){var r;return t.length<=e?(a(),null):(r=t[e++],a(),r)},sn:function(){return e<t.length}}}function br(r,t){var n=new Map([["high",0],["normal",1],["deferred",2]]);function u(r){return null!=(r=n.get(r))?r:1}var o=[e(r),e(r),e(r)],f=new WeakMap;function i(r){var n=navigator.scheduling;return n&&"function"==typeof n.isInputPending&&n.isInputPending()||performance.now()-r>=t}function c(){return o[0].sn()||o[1].sn()||o[2].sn()}function l(r,n,t,e){if(void 0===e&&(e=!1),r.sn()){if(!e&&i(n))return!1;e=r.ln();e&&e.isActive&&((n=f.get(e.node))&&n[e.kind]===e&&delete n[e.kind],t(e))}return!0}return{dn:function(r,n,t,e){var a=f.get(r),i=null!=(i=null==a?void 0:a[n])?i:null;return i&&u(e)>=u(i.priority)?"deduped":(t={node:r,kind:n,source:t,priority:e,isActive:!0},o[u(e)].cn(t)?(i&&(i.isActive=!1),a?a[n]=t:f.set(r,((e={})[n]=t,e)),"enqueued"):"dropped")},vn:c,pn:function(r){var n=performance.now();if(c()){for(var t=0;t<o.length;t++)l(o[t],n,r,!0);for(;!i(n);){for(var e=!1,t=0;t<o.length;t++){var a=o[t];if(a.sn()){e=!0;if(!l(a,n,r))return}}if(!e)break}}}}}function wr(v,t){var p=new WeakSet,g=new WeakMap,m=new WeakSet;function e(r,n){return!(!r.isConnected||!v.un(r)||(v.en(r),t.log("media","Processed media attributes immediately",n,r),0))}function a(r,n){for(var t=0;t<r.length;t++)e(r[t],n)}function i(r,n,t){D(r)&&(e(r,n),I.has(r.localName)||a(r.querySelectorAll(t),n))}function n(){if(v.Ir()){for(var r=document.querySelectorAll('[style*="background"]'),n=0;n<r.length;n++)s(r[n]);for(var t=[],e=document.styleSheets,n=0;n<e.length;n++){var a=e[n];if(!p.has(a)){var i=void 0;try{i=a.cssRules}catch(r){p.add(a);continue}var u=g.get(a);if(u&&u.gn===i.length)for(var o=0;o<u.mn.length;o++)t.push(u.mn[o]);else{var f=[];d(i,f),g.set(a,{gn:i.length,mn:f});for(o=0;o<f.length;o++)t.push(f[o])}}}if(0<t.length)for(var c=0;c<t.length;c+=200)for(var l=document.querySelectorAll(t.slice(c,c+200).join(", ")),n=0;n<l.length;n++)s(l[n])}function s(r){var n;m.has(r)||(n=P(getComputedStyle(r).backgroundImage))&&v.an(r,n)&&m.add(r)}function d(r,n){for(var t=0;t<r.length;t++){var e,a=r[t];a.type===CSSRule.STYLE_RULE?((r,n)=>{var t;if(null!=(t=r.style)&&t.backgroundImage&&r.selectorText){try{document.documentElement.matches(r.selectorText)}catch(r){return}n.push(r.selectorText)}})(a,n):(e=void 0,(e=(a=a).type===CSSRule.MEDIA_RULE?(e=a,"function"!=typeof window.matchMedia||window.matchMedia(e.conditionText).matches?e.cssRules:null):"cssRules"in a?a.cssRules:null)&&d(e,n))}}}return{hn:e,bn:function(r,n){i(r,n,u)},wn:function(r,n){i(r,n,N)},Tn:function(r){a(document.querySelectorAll(u),r),n()},yn:n}}function M(p,g,m){var a=br(lr,2*cr),h=new WeakMap,t=new WeakMap,r=null,i=null,u=!1,b=wr(p,m);function o(){null===r&&a.vn()&&(r=requestAnimationFrame(d))}function w(r,n,t,e){if(r&&("subtree"!==n||r.nodeType!==Node.TEXT_NODE||p.Qr(r.parentElement))&&("subtree"===n||r.isConnected)){t=a.dn(r,n,t,e);if("enqueued"!==t)return"dropped"!==t||(u=!0,m.log("messageHandler","Dropped work item, queue full:",n,r),!1);"subtree"===n&&D(r)&&"deferred"===e&&i&&i.observe(r),o()}return!0}function T(r,n){return r.nodeType===Node.TEXT_NODE?w(r,"characterData",n,"high"):!p.Qr(r)||w(r,"subtree",n,ur.has(r.localName)?"high":i?"deferred":"normal")}function e(){if(document.body){for(var r=document.createTreeWalker(document.body,NodeFilter.SHOW_TEXT),n=[],t=r.nextNode();t;t=r.nextNode())n.push(t);for(var e,a=0;a<n.length;a++)L(e=n[a])&&e.isConnected&&p.Qr(e.parentElement)&&null!=(e=e.textContent)&&e.trim()&&f(n[a])}}function f(r){var n;!p.Qr(r.parentElement)||h.has(r)&&r.textContent===h.get(r)||(n=r.textContent,p.rn(r),r.textContent!==n&&h.set(r,null!=(n=r.textContent)?n:""))}var c=new WeakMap;function l(r){for(var n=r.childNodes,t=!0,e=0;e<n.length;e++)T(n[e],"continuation")||(t=!1);return t}function n(r){r=r.node;if(i&&D(r)&&i.unobserve(r),r.isConnected)if(r.nodeType===Node.TEXT_NODE)f(r);else if(p.Qr(r))if(m.log("messageHandler","Processing element:",r),p.Qr(r)){if(p.tn(r),!(r!==document.body&&p.on(r)))return void(n=r.textContent,n="".concat(r.childNodes.length,":").concat(n?gr(n):""),c.get(r)===n||l(r)&&c.set(r,n));var n=r.innerHTML;t.get(r)!==n&&(p.nn(r)?r.innerHTML!==n&&t.set(r,r.innerHTML):(m.log("messageHandler","Child nodes:",r.childNodes),l(r)))}}function s(r){switch(r.kind){case"subtree":n(r);break;
649case"attributes":p.Qr(r.node)&&p.tn(r.node);break;case"mediaAttributes":b.hn(r.node,r.source);break;case"mediaSubtree":b.wn(r.node,r.source);break;case"characterData":!g.Sn&&"mutation"===r.source||f(r.node)}}function d(){try{a.pn(s)}finally{r=null,o()}}"undefined"!=typeof IntersectionObserver&&(i=new IntersectionObserver(function(r){for(var n=0;n<r.length;n++){var t=r[n];t.isIntersecting&&(null!=i&&i.unobserve(t.target),w(t.target,"subtree","intersection","high"))}},{rootMargin:"300px"}));var v=["class","id","data-widget-name"],y=new Set(v),S=p.zr(),_={subtree:!0,childList:!0,attributes:!0,attributeFilter:g._n?void 0:S?k.concat(v):k,characterData:g.Sn},M=new WeakMap;var A=new MutationObserver(function(r){m.log("observer","Observer:",r);for(var n=0;n<r.length;n++){var t=r[n];switch(t.type){case"childList":S&&p.fn();for(var e=t.addedNodes,a=0;a<e.length;a++){o=u=i=void 0;var i=e[a];if(D(i))if(I.has(i.localName)||i.localName===O.g)b.bn(i,"mutation");else{for(var u=i.querySelectorAll(R),o=0;o<u.length;o++)b.hn(u[o],"mutation");(p.un(i)||i.querySelector(N))&&w(i,"mediaSubtree","mutation","high")}if(T(e[a],"mutation"),g.Mn&&D(e[a])&&e[a].shadowRoot){var f=e[a].shadowRoot;A.observe(f,_);for(var c=0;c<f.childNodes.length;c++)T(f.childNodes[c],"mutation")}}break;case"attributes":S&&t.attributeName&&y.has(t.attributeName)&&p.fn();var l=t.target;if(p.Qr(l)){var s=l;if(t.attributeName&&ir.has(t.attributeName)&&p.un(s)){if("style"===t.attributeName){var d=s.style.backgroundImage||"";if(M.get(s)===d)break;M.set(s,d)}b.hn(s,"mutation");break}g._n&&s&&w(s,"attributes","mutation","normal")}break;case"characterData":if(g.Sn){var v=t.target;if(v&&v.nodeType===Node.TEXT_NODE){if(h.has(v)&&v.textContent===h.get(v))break;w(v,"characterData","mutation","high")}}}}}),E=(A.observe(document.documentElement,_),!1);return{An:function(){if(e(),document.body)for(var r=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT),n=r.nextNode();n;n=r.nextNode()){var t=n;p.Qr(t)&&p.tn(t)}!document.body||E&&!u||(u=!1,w(document.body,"subtree","page-load","high")),E?b.yn():(b.Tn("page-load"),E=!0)}}}void 0===window.TranslationLab&&(window.TranslationLab={}),window.TranslationLab.CustomTranslations=(a=(()=>{var a;try{a=window.localStorage.getItem("tlab_debug_mode")||null}catch(r){a=null}return{log:function(r,n){for(var t=[],e=2;e<arguments.length;e++)t[e-2]=arguments[e];!a||"observer"===r&&"all"===a||("all"===a||a===r||"custom"===r&&"custom"===a)&&(r=t.map(function(r){if("function"==typeof r)try{return r()}catch(r){return"Error generating parameter: ".concat(r.message)}return r}),console.log.apply(console,[n].concat(r)))}}})(),i=null,{init:function(r,n){var t,e;r&&!r.isPrimaryLocale&&r.translationsMetadata&&r.translationsMetadata.length&&(0<(n=((r,n,t,e)=>{function a(r,n){for(var t=[],e=2;e<arguments.length;e++)t[e-2]=arguments[e];for(var a=0,i=t;a<i.length;a++){var u=i[a];if(u&&void 0!==u[r])return u[r]}return n}var i=null;try{i=window.localStorage.getItem("tlab_feature_options")}catch(r){e.log("dictionary","localStorage unavailable for tlab_feature_options",String(r))}var u=null;if(i)try{u=JSON.parse(i)}catch(r){e.log("dictionary","Invalid tlab_feature_options JSON",String(r))}var t=a("useMessageHandler",!0,u,i=t),o=a("localizeUrls",!1,u,i),f=a("processShadowRoot",!1,u,i),c=a("attributesMutations",!1,u,i),l=a("processCharacterData",!1,u,i),s=a("excludedTemplates",[],u,i),u=a("phraseIgnoreList",[],u,i);return e.log("dictionary","useMessageHandler:",t),e.log("dictionary","localizeUrls:",o),e.log("dictionary","processShadowRoot:",f),e.log("dictionary","attributesMutations:",c),e.log("dictionary","processCharacterData:",l),e.log("dictionary","excludedTemplates:",s),e.log("dictionary","phraseIgnoreList:",u),{Br:["html","head","meta","script","noscript","style","link","canvas","svg","g","path","ellipse","br","hr"],locale:r,Kr:n,kn:t,Xr:o,Mn:f,_n:c,Sn:l,En:s,pr:u}})(r.locale,r.Kr,n,a)).En.length&&n.En.includes(r.template)||n.kn&&(r=S(r.translationsMetadata,n,a),t=i=_(r,n),r.kr)&&(e=M(t,n,a),r=function(){e.An(),window.setTimeout(function(){return e.An()},500)},"loading"===document.readyState?window.addEventListener("DOMContentLoaded",r,{once:!0}):r(),"complete"!==document.readyState)&&window.addEventListener("load",function(){return e.An()},{once:!0}))},getImageTranslation:function(r){return a.log("dictionary","translationManager: ",i),i?i.getImageTranslation(r):null}})})(); 650</script>
650<!-- END app snippet -->
650<script> 651 (function() { 652 var ctx = { 653 locale: "en", 654 isPrimaryLocale: true, 655 rootUrl: "\/en-us", 656 translationsMetadata: [], 657 template: "search", 658 }; 659 var settings = null; 660 TranslationLab.CustomTranslations.init(ctx, settings); 661 })(); 662</script>
662 663 664 665<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
666<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 50970034350,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "search"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 666
666
667<script> 668 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 669</script>
vendor: 1 bytes, line 669
669
670<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
670).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 50970034350,storefrontBaseUrl: "https://mubi-shop.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://mubi-shop.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2328068270","configuration":"{\"appSettingSchemaVersion\":\"2.0\",\"sdkUrl\":\"sdk.fra-02.braze.eu\",\"sdkVersion\":\"6.8.0\",\"userTrackingBehavior\":\"on_visit\",\"apiKey\":\"3abcb906-bb3c-4a82-ad25-5d32c929b8ee\",\"shopDomain\":\"mubi-shop-2020.myshopify.com\",\"features\":\"WEB_SDK_FEATURE,ACCOUNT_LOGIN_FEATURE,VIEW_PRODUCTS_FEATURE,PURCHASE_COMMERCE_EVENTS_FEATURE\",\"appEmbedEnabled\":\"true\",\"selectedExternalId\":\"custom-id\",\"customIdEndpoint\"
670:\"https:\\\/\\\/mubi.com\\\/services\\\/braze\\\/shopify_external_ids\\\/199ae3115aa9128cd3783997d98b5d99490e5d5044df4f9aa5a6817f71752143\",\"thirdPartyTagManagerEnabled\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"822da2ffc90491a56bbbb828cb94f546","type":"APP","apiClientId":4371083,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2303819950","configuration":"{\"accountID\":\"blockify-checkout-rules-webpixel-mubi-shop-2020.myshopify.com\",\"enable\":\"true\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1ab7f922a8fb5837043325263ba42f22","type":"APP","apiClientId":143723102209,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2179596462","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6e6b2e32fe6866115b7e49e2ae3c75b2","type":"APP","apiClientId":5940125,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1953628334","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-28SQ9GDVHQ\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-28SQ9GDVHQ\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"950894766","configuration":"{\"site_id\":\"06aee53e-2d30-47a4-b5e3-405e02650150\",\"analytics_endpoint\":\"https:\\\/\\\/na.shgcdn3.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"695709fc3f146fa50a25299517a954f2","type":"APP","apiClientId":1158168,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"257360046","configuration":"{\"pixel_id\":\"1386672991571306\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"MUBI SHOP","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"mubi-shop-2020.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/mubi-shop.com\/en-us"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://mubi-shop.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"153326616750","themeStoreId":"855","themePublished":"true","eventMetadataId":"30ad5927-f78b-4ecf-971f-59002eaae51d","pageType":"searchresults","shopId":"50970034350","storefrontBaseUrl":"https:\/\/mubi-shop.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"search_submitted\",{\"searchResult\":{\"query\":\"\",\"productVariants\":[]}}]]"});})();</script>
670<script> 671 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 672 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 673 window.ShopifyAnalytics.meta.currency = 'USD'; 674 var meta = {"products":[],"page":{"pageType":"searchresults","requestId":"55e0ecc4-e6f0-485c-8baf-a441a1a165c5-1791084538"}}; 675 for (var attr in meta) { 676 window.ShopifyAnalytics.meta[attr] = meta[attr]; 677 } 678</script>
vendor: 1 bytes, line 678
678
679<script class="analytics"> 680 (function () { 681 var customDocumentWrite = function(content) { 682 var jquery = null; 683 684 if (window.jQuery) { 685 jquery = window.jQuery; 686 } else if (window.Checkout && window.Checkout.$) { 687 jquery = window.Checkout.$; 688 } 689 690 if (jquery) { 691 jquery('body').append(content); 692 } 693 }; 694 695 var hasLoggedConversion = function(token) { 696 if (token) { 697 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 698 } 699 return false; 700 } 701 702 var setCookieIfConversion = function(token) { 703 if (token) { 704 var twoMonthsFromNow = new Date(Date.now()); 705 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 706 707 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 708 } 709 } 710 711 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 712 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 713 if (trekkie.integrations) { 714 return; 715 } 716 trekkie.methods = [ 717 'identify', 718 'page', 719 'ready', 720 'track', 721 'trackForm', 722 'trackLink' 723 ]; 724 trekkie.factory = function(method) { 725 return function() { 726 var args = Array.prototype.slice.call(arguments); 727 args.unshift(method); 728 trekkie.push(args); 729 if (method == 'track' || method == 'page') { 730 var pageUrl; 731 try { 732 pageUrl = window.location.href; 733 } catch (e) {} 734 var pageReferrer; 735 try { 736 pageReferrer = document.referrer; 737 } catch (e) {} 738 try { 739 if (window.__TREKKIE_SHIM_QUEUE == null) { 740 window.__TREKKIE_SHIM_QUEUE = []; 741 } 742 window.__TREKKIE_SHIM_QUEUE.push({ 743 from: 'trekkie-stub', 744 method: method, 745 args: args.slice(1), 746 pageContext: { 747 url: pageUrl, 748 referrer: pageReferrer 749 } 750 }); 751 } catch (e) { 752 // no-op 753 } 754 } 755 return trekkie; 756 }; 757 }; 758 for (var i = 0; i < trekkie.methods.length; i++) { 759 var key = trekkie.methods[i]; 760 trekkie[key] = trekkie.factory(key); 761 } 762 trekkie.load = function(config) { 763 trekkie.config = config || {}; 764 trekkie.config.initialDocumentCookie = document.cookie; 765 var first = document.getElementsByTagName('script')[0]; 766var script = document.createElement('script'); 767script.type = 'text/javascript'; 768script.onerror = function(e) { 769 var scriptFallback = document.createElement('script'); 770 scriptFallback.type = 'text/javascript'; 771 scriptFallback.onerror = function(error) { 772 var Monorail = { 773 produce: function produce(monorailDomain, schemaId, payload) { 774 var currentMs = new Date().getTime(); 775 var event = { 776 schema_id: schemaId, 777 payload: payload, 778 metadata: { 779 event_created_at_ms: currentMs, 780 event_sent_at_ms: currentMs 781 } 782 }; 783 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 784 }, 785 sendRequest: function sendRequest(endpointUrl, payload) { 786 // Try the sendBeacon API 787 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 788 var blobData = new window.Blob([payload], { 789 type: 'text/plain' 790 }); 791 792 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 793 return true; 794 } // sendBeacon was not successful 795 796 } // XHR beacon 797 798 var xhr = new XMLHttpRequest(); 799 800 try { 801 xhr.open('POST', endpointUrl); 802 xhr.setRequestHeader('Content-Type', 'text/plain'); 803 xhr.send(payload); 804 } catch (e) { 805 console.log(e); 806 } 807 808 return false; 809 }, 810 isIos12: function isIos12() { 811 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 812 } 813 }; 814 Monorail.produce('monorail-edge.shopifysvc.com', 815 'trekkie_storefront_load_errors/1.1', 816 {shop_id: 50970034350, 817 theme_id: 153326616750, 818 app_name: "storefront", 819 context_url: window.location.href, 820 source_url: "//mubi-shop.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 821 822 }; 823 scriptFallback.async = true; 824 scriptFallback.src = '//mubi-shop.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 825 first.parentNode.insertBefore(scriptFallback, first); 826}; 827script.async = true; 828script.src = '//mubi-shop.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 829first.parentNode.insertBefore(script, first); 830 831 }; 832 trekkie.load( 833 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":50970034350,"isMerchantRequest":null,"themeId":153326616750,"themeCityHash":"364118534435566507","contentLanguage":"en","currency":"USD","eventMetadataId":"30ad5927-f78b-4ecf-971f-59002eaae51d"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 834 ); 835 836 var loaded = false;
837 trekkie.ready(function() { 838 if (loaded) return; 839 loaded = true; 840 841 window.ShopifyAnalytics.lib = window.trekkie; 842 843 var originalDocumentWrite = document.write; 844 document.write = customDocumentWrite; 845 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 846 document.write = originalDocumentWrite; 847 848 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 849 var token = match? match[1]: undefined; 850 if (!hasLoggedConversion(token)) { 851 setCookieIfConversion(token); 852 window.ShopifyAnalytics.lib.track("Performed Search",{"query":null},undefined,undefined,{"shopifyEmitted":true}); 853 } 854 }); 855 856 window.ShopifyAnalytics.lib.page(null,{"pageType":"searchresults","requestId":"55e0ecc4-e6f0-485c-8baf-a441a1a165c5-1791084538","shopifyEmitted":true}); 857 858 var eventsListenerScript = document.createElement('script'); 859 eventsListenerScript.async = true; 860 eventsListenerScript.src = "//mubi-shop.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 861 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 862})();</script>
vendor: 1 bytes, line 862
862
863<script 864 defer 865 src="https://mubi-shop.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 866 data-application="storefront-renderer" 867 data-shop-id="50970034350" 868 data-render-region="gcp-us-central1" 869 data-page-type="search" 870 data-theme-instance-id="153326616750" 871 data-theme-name="Prestige" 872 data-theme-version="11.4.0" 873 data-monorail-region="shop_domain" 874 data-resource-timing-sampling-rate="10" 875 data-shs="true" 876 data-shs-beacon="true" 877 data-shs-export-with-fetch="true" 878 data-shs-logs-sample-rate="1" 879 data-shs-beacon-endpoint="https://mubi-shop.com/api/collect" 880></script>
880 881<meta name="shopify-y" content="77b936bd-14af-4d4b-b434-d29a836f13ab" data-expiration="1822642139000"><meta name="shopify-s" content="67b567c8-9b2c-41f9-ad4d-b6dfb9618811" data-expiration="1791086339000"><meta name="new-cookie-storage-activated" content="t"> 882</head> 883 884 885 886 <body class="features--button-transition features--zoom-image color-scheme color-scheme--scheme-1"><template id="drawer-default-template"> 887 <div part="base"> 888 <div part="overlay"></div> 889 890 <div part="content"> 891 <header part="header"> 892 <slot name="header"></slot> 893 894 <dialog-close-button style="display: contents"> 895 <button type="button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="14" class="icon icon-close" viewBox="0 0 16 16"> 896 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 897 </svg> 898 899 </button> 900 </dialog-close-button> 901 </header> 902 903 <div part="body"> 904 <slot></slot> 905 </div> 906 907 <footer part="footer"> 908 <slot name="footer"></slot> 909 </footer> 910 </div> 911 </div> 912</template><template id="modal-default-template"> 913 <div part="base"> 914 <div part="overlay"></div> 915 916 <div part="content"> 917 <header part="header"> 918 <slot name="header"></slot> 919 920 <dialog-close-button style="display: contents"> 921 <button type="button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="14" class="icon icon-close" viewBox="0 0 16 16"> 922 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 923 </svg> 924 925 </button> 926 </dialog-close-button> 927 </header> 928 929 <div part="body"> 930 <slot></slot> 931 </div> 932 </div> 933 </div> 934</template><template id="popover-default-template"> 935 <div part="base"> 936 <div part="overlay"></div> 937 938 <div part="content"> 939 <header part="header"> 940 <slot name="header"></slot> 941 942 <dialog-close-button style="display: contents"> 943 <button type="button" part="close-button tap-area" aria-label="Close"><svg aria-hidden="true" focusable="false" fill="none" width="14" class="icon icon-close" viewBox="0 0 16 16"> 944 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 945 </svg> 946 947 </button> 948 </dialog-close-button> 949 </header> 950 951 <div part="body"> 952 <slot></slot> 953 </div> 954 </div> 955 </div> 956</template><template id="header-search-default-template"> 957 <div part="base"> 958 <div part="overlay"></div> 959 960 <div part="content"> 961 <slot></slot> 962 </div> 963 </div> 964</template><template id="video-media-default-template"> 965 <slot></slot> 966 967 <svg part="play-button" fill="none" width="48" height="48" viewBox="0 0 48 48"> 968 <path fill-rule="evenodd" clip-rule="evenodd" d="M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24Zm-18 0-9-6.6v13.2l9-6.6Z" fill="var(--play-button-background, #f2f1f1)"/> 969 </svg> 970</template> 971<loading-bar class="loading-bar" aria-hidden="true"></loading-bar> 972 <a href="#main" allow-hash-change class="skip-to-content sr-only">Skip to content</a><div class="sr-only" role="status" aria-live="polite" aria-atomic="true"> 973 <span id="status-announcement"></span> 974 </div> 975 976 <div class="sr-only" role="alert" aria-live="assertive" aria-atomic="true"> 977 <span id="error-announcement"></span> 978 </div> 979 980 <span id="header-scroll-tracker" style="position: absolute; width: 1px; height: 1px; top: var(--header-scroll-tracker-offset, 10px); left: 0;"></span><!-- BEGIN sections: header-group --> 981<aside id="shopify-section-sections--21126333923502__announcement_bar_rWRUEy" class="shopify-section shopify-section-group-header-group shopify-section--announcement-bar"><style> 982 :root { 983 --announcement-bar-is-sticky: 0;--header-scroll-tracker-offset: var(--announcement-bar-height);}#shopify-section-sections--21126333923502__announcement_bar_rWRUEy { 984 --announcement-bar-font-size: 0.625rem; 985 } 986 987 @media screen and (min-width: 999px) { 988 #shopify-section-sections--21126333923502__announcement_bar_rWRUEy { 989 --announcement-bar-font-size: 0.625rem; 990 } 991 } 992 </style> 993 994 <height-observer variable="announcement-bar"> 995 <div class="announcement-bar color-scheme color-scheme--scheme-77a6f54a-a713-4aec-a990-08e45bcb8657" id="announcement-bar-sections--21126333923502__announcement_bar_rWRUEy"><button 996 type="button" 997 class="announcement-bar__close" 998 aria-label="Close" 999 ><svg aria-hidden="true" focusable="false" fill="none" width="10" class="icon icon-close" viewBox="0 0 16 16"> 1000 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 1001 </svg> 1002 1003 </button>
1003<announcement-bar-carousel 1004 allow-swipe 1005 1006 id="carousel-sections--21126333923502__announcement_bar_rWRUEy" 1007 class="announcement-bar__carousel" 1008 ><p class="prose heading is-selected" >Free shipping on all orders over $75</p></announcement-bar-carousel></div> 1009 </height-observer> 1010 1011
1011<script> 1012 document.documentElement.style.setProperty('--announcement-bar-height', `${document.getElementById('shopify-section-sections--21126333923502__announcement_bar_rWRUEy').clientHeight.toFixed(2)}px`); 1013 </script>
1013 1014 1015
1015<script> 1016 (function () { 1017 var storageKey = 'announcement-bar-dismissed-sections--21126333923502__announcement_bar_rWRUEy'; 1018 var bar = document.getElementById('announcement-bar-sections--21126333923502__announcement_bar_rWRUEy'); 1019 1020 if (!bar) return; 1021 1022 if (sessionStorage.getItem(storageKey) === 'true') { 1023 bar.closest('.shopify-section').style.display = 'none'; 1024 } 1025 1026 var closeButton = bar.querySelector('.announcement-bar__close'); 1027 1028 if (closeButton) { 1029 closeButton.addEventListener('click', function () { 1030 sessionStorage.setItem(storageKey, 'true'); 1031 bar.closest('.shopify-section').style.display = 'none'; 1032 }); 1033 } 1034 })(); 1035 </script>
1035 1036</aside><header id="shopify-section-sections--21126333923502__header" class="shopify-section shopify-section-group-header-group shopify-section--header"><style> 1037 :root { 1038 --header-is-sticky: 1; 1039 } 1040 1041 #shopify-section-sections--21126333923502__header { 1042 --header-grid: "primary-nav logo secondary-nav" / minmax(0, 1fr) auto minmax(0, 1fr); 1043 --header-padding-block: 1rem; 1044 --header-cart-icon-width: 30px; 1045 --header-cart-icon-offset: -10px; 1046 --header-cart-count-color: #001489; 1047 --header-utility-gap: 24px; 1048 --header-transparent-header-text-color: 255 255 255; 1049 --header-separation-border-color: 0 0 0 / 0; 1050 1051 position: relative; 1052 z-index: 4; 1053 } 1054 1055 /* 1056 Header text remains black. 1057 */ 1058 1059 #shopify-section-sections--21126333923502__header .header { 1060 color: #000000 !important; 1061 } 1062 1063 #shopify-section-sections--21126333923502__header .header a, 1064 #shopify-section-sections--21126333923502__header .header button, 1065 #shopify-section-sections--21126333923502__header .header summary { 1066 color: inherit; 1067 } 1068 1069 /* 1070 Header background treatments. 1071 */ 1072 1073 #shopify-section-sections--21126333923502__header .header { 1074 position: relative; 1075 isolation: isolate; 1076 }/* 1077 Keep the original search layout unchanged. 1078 Make the header solid white while search is open. 1079*/ 1080 1081#shopify-section-sections--21126333923502__header .header { 1082 transition: background-color 250ms ease, transform 0.25s ease-in-out; 1083} 1084 1085#shopify-section-sections--21126333923502__header.header-search-is-open .header { 1086 background-color: #ffffff !important; 1087 color: rgb(28 28 28); 1088} 1089 1090#shopify-section-sections--21126333923502__header.header-search-is-open .header::before { 1091 opacity: 0; 1092} 1093 1094 #shopify-section-sections--21126333923502__header.header-search-is-open .header::before { 1095 opacity: 0; 1096 } 1097 1098 /* 1099 Ensure header controls are dark and visible against the 1100 solid white search background. 1101 */ 1102 1103 #shopify-section-sections--21126333923502__header.header-search-is-open .header { 1104 color: rgb(28 28 28); 1105 } 1106 1107 /* 1108 Switch from the transparent logo to the standard logo 1109 while search is open. 1110 */ 1111 1112 #shopify-section-sections--21126333923502__header.header-search-is-open .header__logo-image--transparent { 1113 opacity: 0 !important; 1114 visibility: hidden; 1115 } 1116 1117 #shopify-section-sections--21126333923502__header.header-search-is-open 1118 .header__logo-image:not(.header__logo-image--transparent) { 1119 opacity: 1 !important; 1120 visibility: visible; 1121 } 1122 1123 /* 1124 Shared text-control alignment. 1125 */ 1126 1127 #shopify-section-sections--21126333923502__header .header__text-control { 1128 display: inline-flex; 1129 align-items: center; 1130 white-space: nowrap; 1131 } 1132 1133 /* 1134 Header utility navigation. 1135 1136 Search and cart remain in the header. Login/Account and 1137 localisation are rendered inside the sidebar menu. 1138 */ 1139 1140 #shopify-section-sections--21126333923502__header .header__utility-nav { 1141 display: flex; 1142 align-items: center; 1143 justify-content: flex-end; 1144 gap: var(--header-utility-gap); 1145 margin: 0; 1146 padding: 0; 1147 } 1148 1149 #shopify-section-sections--21126333923502__header .header__utility-item { 1150 display: inline-flex; 1151 align-items: center; 1152 min-width: 0; 1153 } 1154 1155 #shopify-section-sections--21126333923502__header .header__utility-item > a, 1156 #shopify-section-sections--21126333923502__header .header__utility-item button { 1157 display: inline-flex; 1158 align-items: center; 1159 } 1160 1161 /* 1162 Custom two-line menu icon. 1163 */ 1164 1165 #shopify-section-sections--21126333923502__header .header__menu-button { 1166 display: inline-flex; 1167 align-items: center; 1168 justify-content: center; 1169 } 1170 1171 #shopify-section-sections--21126333923502__header .header__menu-icon { 1172 display: block; 1173 width: 20px; 1174 height: 14px; 1175 overflow: visible; 1176 } 1177 1178 #shopify-section-sections--21126333923502__header .header__menu-icon line { 1179 transform-box: fill-box; 1180 transform-origin: center; 1181 transition: transform 250ms ease; 1182 } 1183 1184 @media (hover: hover) { 1185 #shopify-section-sections--21126333923502__header .header__menu-button:hover .header__menu-icon__line--top { 1186 transform: translateY(2px); 1187 } 1188 1189 #shopify-section-sections--21126333923502__header .header__menu-button:hover .header__menu-icon__line--bottom { 1190 transform: translateY(-2px); 1191 } 1192 } 1193 1194 /* 1195 Search icon. 1196 */ 1197 1198 #shopify-section-sections--21126333923502__header .header__search-button { 1199 display: inline-flex; 1200 align-items: center; 1201 justify-content: center; 1202 } 1203 1204 #shopify-section-sections--21126333923502__header .header__search-icon { 1205 display: block; 1206 width: 27px; 1207 height: 27px; 1208 overflow: visible; 1209 } 1210 1211 /* 1212 Cart icon and item count. 1213 */ 1214 1215 #shopify-section-sections--21126333923502__header .header__cart-content { 1216 display: inline-flex; 1217 align-items: center; 1218 gap: 0.35rem; 1219 } 1220 1221 #shopify-section-sections--21126333923502__header .header__cart-icon-wrapper { 1222 display: inline-grid; 1223 align-items: center; 1224 justify-content: center; 1225 transform: translateY(var(--header-cart-icon-offset)); 1226 } 1227 1228 #shopify-section-sections--21126333923502__header .header__custom-cart-icon { 1229 display: block; 1230 grid-area: 1 / 1; 1231 width: var(--header-cart-icon-width); 1232 height: auto; 1233 max-width: none; 1234 opacity: 1; 1235 transition: opacity 120ms cubic-bezier(0.4, 0, 0.2, 1); 1236 } 1237 1238 #shopify-section-sections--21126333923502__header .header__nav-icon.header__custom-cart-icon--empty { 1239 grid-area: 1 / 1; 1240 opacity: 1; 1241 transition: opacity 120ms cubic-bezier(0.4, 0, 0.2, 1); 1242 } 1243 1244 #shopify-section-sections--21126333923502__header .header__custom-cart-icon--filled { 1245 opacity: 0; 1246 } 1247 1248 #shopify-section-sections--21126333923502__header 1249 .header__cart-content--has-filled-icon.header__cart-content--filled 1250 .header__custom-cart-icon--empty { 1251 opacity: 0; 1252 } 1253 1254 #shopify-section-sections--21126333923502__header 1255 .header__cart-content--has-filled-icon.header__cart-content--filled 1256 .header__custom-cart-icon--filled { 1257 opacity: 1; 1258 } 1259 1260 @media (hover: hover) { 1261 #shopify-section-sections--21126333923502__header 1262 .header__cart-link:hover 1263 .header__cart-content--has-filled-icon 1264 .header__custom-cart-icon--empty { 1265 opacity: 0; 1266 } 1267 1268 #shopify-section-sections--21126333923502__header 1269 .header__cart-link:hover 1270 .header__cart-content--has-filled-icon 1271 .header__custom-cart-icon--filled { 1272 opacity: 1; 1273 } 1274 } 1275 1276 #shopify-section-sections--21126333923502__header .header__cart-count { 1277 display: inline-flex; 1278 align-self: flex-start;
1279 align-items: center; 1280 justify-content: center; 1281 1282 box-sizing: border-box; 1283 min-width: 1.25rem; 1284 height: 1.25rem; 1285 padding-inline: 0.25rem; 1286 1287 margin-inline-start: -0.15rem; 1288 transform: translateY(-0.35rem); 1289 1290 color: #ffffff; 1291 background-color: var(--header-cart-count-color); 1292 border-radius: 999px; 1293 1294 font-size: 0.625rem; 1295 font-weight: 500; 1296 line-height: 1; 1297 letter-spacing: 0; 1298 white-space: nowrap; 1299 } 1300 1301 #shopify-section-sections--21126333923502__header .header__cart-count cart-count { 1302 display: block; 1303 color: inherit; 1304 background: transparent; 1305 line-height: 1; 1306 } 1307 1308 #shopify-section-sections--21126333923502__header .header__cart-count--animate { 1309 animation: header-cart-count-bounce 300ms cubic-bezier(0.2, 0.8, 0.3, 1.25); 1310 } 1311 1312 @keyframes header-cart-count-bounce { 1313 0% { 1314 opacity: 0; 1315 scale: 0.75; 1316 } 1317 1318 60% { 1319 opacity: 1; 1320 scale: 1.08; 1321 } 1322 1323 100% { 1324 opacity: 1; 1325 scale: 1; 1326 } 1327 } 1328 1329 @media (prefers-reduced-motion: reduce) { 1330 #shopify-section-sections--21126333923502__header .header__custom-cart-icon { 1331 transition: none; 1332 } 1333 1334 #shopify-section-sections--21126333923502__header .header__nav-icon.header__custom-cart-icon--empty { 1335 transition: none; 1336 } 1337 1338 #shopify-section-sections--21126333923502__header .header__cart-count--animate { 1339 animation: none; 1340 } 1341 } 1342 1343 @media screen and (min-width: 700px) { 1344 #shopify-section-sections--21126333923502__header { 1345 --header-padding-block: 1.6rem; 1346 } 1347 } 1348 1349 @media screen and (min-width: 1000px) { 1350 #shopify-section-sections--21126333923502__header {} 1351 }#shopify-section-sections--21126333923502__header { 1352 position: sticky; 1353 top: 0; 1354 } 1355 1356 .shopify-section--announcement-bar ~ #shopify-section-sections--21126333923502__header { 1357 top: calc( 1358 var(--announcement-bar-is-sticky, 0) 1359 * var(--announcement-bar-height, 0px) 1360 ); 1361 }</style><height-observer variable="header"> 1362 <x-header 1363 1364 hide-on-scroll 1365 1366 class="header color-scheme color-scheme--scheme-2" 1367 ><a href="/en-us" class="header__logo"><span class="header__logo-text text-mubi-body">MUBI SHOP</span></a><nav 1368 class="header__primary-nav " 1369 aria-label="Primary navigation" 1370 > 1371 <button 1372 type="button" 1373 aria-controls="sidebar-menu" 1374 class="header__menu-button" 1375 > 1376 <span class="sr-only">Navigation menu</span> 1377 1378 <svg 1379 class="header__menu-icon"
1380 viewBox="0 0 20 14" 1381 fill="none" 1382 aria-hidden="true" 1383 > 1384 <line 1385 class="header__menu-icon__line--top" 1386 x1="0" 1387 y1="3" 1388 x2="20" 1389 y2="3" 1390 stroke="currentColor" 1391 stroke-width="1.5" 1392 /> 1393 1394 <line 1395 class="header__menu-icon__line--bottom" 1396 x1="0" 1397 y1="11" 1398 x2="20" 1399 y2="11" 1400 stroke="currentColor" 1401 stroke-width="1.5" 1402 /> 1403 </svg> 1404 </button></nav><nav 1405 class="header__secondary-nav" 1406 aria-label="Secondary navigation" 1407 > 1408 <ul class="header__utility-nav unstyled-list"><li class="header__utility-item header__search-link"> 1409 <a 1410 href="/en-us/search" 1411 aria-controls="header-search-sections--21126333923502__header" 1412 class="header__search-button" 1413 > 1414 <span class="sr-only">Search</span> 1415 1416 <svg 1417 class="header__search-icon"
1418 viewBox="0 0 24 24" 1419 fill="none" 1420 aria-hidden="true" 1421 > 1422 <circle 1423 cx="10.5" 1424 cy="10.5" 1425 r="6.5" 1426 stroke="currentColor" 1427 stroke-width="1.5" 1428 /> 1429 1430 <path 1431 d="M15.25 15.25L20.5 20.5" 1432 stroke="currentColor" 1433 stroke-width="1.5" 1434 stroke-linecap="round" 1435 /> 1436 </svg> 1437 </a> 1438 </li><li class="header__utility-item relative header__cart-link"> 1439 <a 1440 href="/en-us/cart" 1441 1442 aria-controls="cart-drawer" 1443 1444 data-no-instant 1445 > 1446 <span class="sr-only">Cart</span> 1447 1448 <span 1449 class="header__cart-content header__cart-content--has-filled-icon" 1450 > 1451 <span class="header__cart-icon-wrapper"><img src="//mubi-shop.com/cdn/shop/files/mubi_tote_icon_black.svg?v=1784641708&width=200" alt="Cart" srcset="//mubi-shop.com/cdn/shop/files/mubi_tote_icon_black.svg?v=1784641708&width=200 200w" width="200" height="353" loading="eager" class="header__custom-cart-icon header__custom-cart-icon--empty"><img src="//mubi-shop.com/cdn/shop/files/mubi_tote_blue.svg?v=1784641941&width=200" alt="Cart with items" srcset="//mubi-shop.com/cdn/shop/files/mubi_tote_blue.svg?v=1784641941&width=200 200w" width="200" height="353" loading="eager" class="header__custom-cart-icon header__custom-cart-icon--filled"></span> 1452 1453 <span 1454 class="header__cart-count link-faded text-mubi-body" 1455 aria-hidden="true" 1456 hidden 1457 > 1458 <cart-count>0</cart-count> 1459 </span> 1460 </span> 1461 </a> 1462 </li> 1463 </ul> 1464 </nav><header-search id="header-search-sections--21126333923502__header" class="header-search"> 1465 <div class="container"> 1466 <form id="predictive-search-form" action="/en-us/search" method="GET" aria-owns="header-predictive-search" class="header-search__form" role="search"> 1467 <div class="header-search__form-control"><svg aria-hidden="true" fill="none" focusable="false" width="20" class="icon icon-search" viewBox="0 0 24 24"> 1468 <path d="M10.364 3a7.364 7.364 0 1 0 0 14.727 7.364 7.364 0 0 0 0-14.727Z" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10"/> 1469 <path d="M15.857 15.858 21 21.001" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round"/> 1470 </svg><input 1471 type="search" 1472 name="q" 1473 spellcheck="false" 1474 class="header-search__input h5 sm:h4" 1475 aria-label="Search" 1476 placeholder="Search for..." 1477 > 1478 1479 <dialog-close-button class="contents"> 1480 <button type="button"> 1481 <span class="sr-only">Close</span><svg aria-hidden="true" focusable="false" fill="none" width="16" class="icon icon-close" viewBox="0 0 16 16"> 1482 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 1483 </svg> 1484 1485 </button> 1486 </dialog-close-button> 1487 </div> 1488 </form> 1489 1490 <predictive-search id="header-predictive-search" class="predictive-search"> 1491 <div class="predictive-search__content" slot="results"></div> 1492 </predictive-search> 1493 </div> 1494</header-search> 1495<style> 1496 #sidebar-menu { 1497 --sidebar-min-width: 30rem; 1498 /* 1499 CUSTOM ADDITION â added [21. July 2026] by [OH] 1500 Purpose: Raised from 50rem so the sidebar panel can grow 1501 wide enough to fit "FILM COLLECTIBLES" on one line at the 1502 larger MUBI H1 font size, instead of being capped and 1503 overflowing past the panel edge. Text still scales down on 1504 smaller viewports via MUBI H1's fluid clamp() sizing, and 1505 the 90vw rule below still caps it on narrow screens. 1506 */ 1507 --sidebar-max-width: 70rem; 1508 --sidebar-edge-spacing: 2rem; 1509 --sidebar-close-clearance: 5rem; 1510 1511 --sidebar-counter-size: 1.15rem; 1512 --sidebar-counter-padding: 0.22rem; 1513 --sidebar-counter-font-size: 0.625rem; 1514 --sidebar-counter-top-offset: 1em; 1515 1516 height: 100%; 1517 } 1518 1519 /* 1520 Drawer structure 1521 */ 1522
1523 #sidebar-menu::part(base), 1524 #sidebar-menu::part(content), 1525 #sidebar-menu::part(panel-list) { 1526 height: 100%; 1527 min-height: 0; 1528 } 1529 1530 #sidebar-menu::part(content) { 1531 position: relative; 1532 1533 width: fit-content; 1534 min-width: var(--sidebar-min-width); 1535 max-width: min(90vw, var(--sidebar-max-width)); 1536 } 1537 1538 /* 1539 Close button 1540 1541 The header sits over the drawer content rather than occupying 1542 a separate row. 1543 */ 1544 1545 #sidebar-menu::part(header) { 1546 position: absolute; 1547 z-index: 5; 1548 inset-block-start: 0; 1549 inset-inline: 0; 1550 1551 display: flex; 1552 align-items: center; 1553 justify-content: flex-end; 1554 1555 width: 100%; 1556 padding: var(--sidebar-edge-spacing); 1557 1558 background: transparent; 1559 border: 0; 1560 box-shadow: none; 1561 1562 pointer-events: none; 1563 } 1564 1565 #sidebar-menu::part(close-button) { 1566 margin: 0; 1567 pointer-events: auto; 1568 } 1569 1570 #sidebar-menu::part(panel-list) { 1571 width: 100%; 1572 min-width: 0; 1573 padding-block-start: 0; 1574 } 1575 1576 /* 1577 Main panel 1578 1579 The navigation occupies the flexible first row. 1580 Login and Localisation occupy the second row at the bottom. 1581 */ 1582 1583 #sidebar-menu .header-sidebar__main-panel { 1584 display: grid; 1585 grid-template-rows: minmax(0, 1fr) auto; 1586 1587 width: 100%; 1588 height: 100%; 1589 min-height: 0; 1590 1591 padding-block-start: var(--sidebar-edge-spacing); 1592 } 1593 1594 #sidebar-menu .header-sidebar__scroller { 1595 min-width: 0; 1596 min-height: 0; 1597 1598 overflow-x: hidden; 1599 overflow-y: auto; 1600 } 1601 1602 /* 1603 Main navigation 1604 */ 1605 1606 #sidebar-menu .header-sidebar__linklist { 1607 display: flex; 1608 flex-direction: column; 1609 gap: 0; 1610 1611 width: max-content; 1612 min-width: 100%; 1613 1614 margin: 0; 1615 padding: 0; 1616 } 1617 1618/* 1619 CUSTOM ADDITION â added [21. July 2026] by [OH] 1620 Purpose: The nested linklist (used for top-level items expanding 1621 inline, e.g. Film Collectibles) reuses .header-sidebar__linklist, 1622 which has width: max-content â causing the sidebar to grow wider 1623 to fit long titles like "Pompei: Below the Clouds" instead of 1624 wrapping. This override forces it back to 100% width so text 1625 wraps normally between words instead. 1626 */ 1627 #sidebar-menu .header-sidebar__nested-linklist .header-sidebar__linklist { 1628 width: 100%; 1629 min-width: 0; 1630 max-width: 100%; 1631 } 1632 1633 /* 1634 Leave clearance for the close button without affecting the 1635 left-hand alignment of the menu. 1636 */ 1637 1638 #sidebar-menu 1639 .header-sidebar__main-panel 1640 > .header-sidebar__scroller 1641 > .header-sidebar__linklist { 1642 padding-inline-end: var(--sidebar-close-clearance); 1643 } 1644 1645 #sidebar-menu .header-sidebar__linklist > li { 1646 width: 100%; 1647 margin: 0; 1648 padding: 0; 1649 } 1650 1651 #sidebar-menu .header-sidebar__linklist-button { 1652 min-height: 0; 1653 margin: 0; 1654 padding-block: 0; 1655 1656 transition: opacity 0.2s ease; 1657 } 1658 1659 @media (hover: hover) { 1660 #sidebar-menu .header-sidebar__linklist-button:hover { 1661 opacity: 0.5; 1662 } 1663 } 1664 1665 /* 1666 Collection item-count badges 1667 1668 The badge is positioned from the top edge of the collection 1669 text rather than from its baseline. 1670 */ 1671 1672/* 1673 CUSTOM ADDITION â added [21. July 2026] by [OH] 1674 Purpose: theme.css only dims sibling menu text on 1675 pointer:fine devices (mouse/trackpad), via a 1676 "@media screen and (pointer: fine)" wrapper around the 1677 dimming rules. Touch devices (tablet, mobile) report 1678 pointer:coarse, so text never dimmed there â only our 1679 .menu-collection-count badge override (added earlier, 1680 unrestricted by pointer type) did. This duplicates the same 1681 text-dimming rules without the pointer:fine restriction, so 1682 text dims consistently regardless of input type. 1683 */ 1684 #sidebar-menu .header-sidebar__main-panel li:has([aria-expanded="true"]) ~ li .header-sidebar__linklist-button { 1685 color: rgb(var(--text-color) / .65); 1686 } 1687 1688 #sidebar-menu .header-sidebar__main-panel li:has( ~ li [aria-expanded="true"]):not(:has([aria-expanded="true"])) .header-sidebar__linklist-button { 1689 color: rgb(var(--text-color) / .65); 1690 } 1691 1692 #sidebar-menu .menu-collection-link { 1693 display: inline-flex; 1694 align-items: flex-start; 1695 gap: 0.1em; 1696 1697 white-space: normal; 1698 } 1699 1700 #sidebar-menu .menu-collection-link > span:first-child { 1701 min-width: 0; 1702 overflow-wrap: break-word; 1703 } 1704 1705 #sidebar-menu .menu-collection-count { 1706 display: inline-flex; 1707 flex: 0 0 auto; 1708 align-items: center; 1709 justify-content: center; 1710 1711 box-sizing: border-box; 1712 min-width: var(--sidebar-counter-size); 1713 height: var(--sidebar-counter-size); 1714 padding-inline: var(--sidebar-counter-padding); 1715 margin-block-start: var(--sidebar-counter-top-offset); 1716 1717 color: #ffffff; 1718 background-color: #000; 1719 border-radius: 999px; 1720 1721 font-family: var(--text-font-family); 1722 font-size: var(--sidebar-counter-font-size); 1723 font-style: normal; 1724 font-weight: 500; 1725 line-height: 1; 1726 letter-spacing: 0.01em; 1727 text-transform: none; 1728 1729 white-space: nowrap; 1730 } 1731 1732 /* 1733 CUSTOM ADDITION â added [29. July 2026] by [OH] 1734 Purpose: Hides the product count badges by default. 1735 - Desktop (pointer: fine): shown only on hover of the menu item. 1736 - Touch devices (pointer: coarse): always hidden, EXCEPT for 1737 the item matching the current page (marked via 1738 data-current-page, set from Shopify's link.active). 1739 which stays always visible. 1740 */ 1741 #sidebar-menu .menu-collection-count { 1742 opacity: 0; 1743 } 1744 1745 #sidebar-menu li[data-current-page="true"] .menu-collection-count { 1746 opacity: 1; 1747 } 1748 1749 @media screen and (pointer: fine) { 1750 #sidebar-menu .menu-collection-count { 1751 transition: opacity 0.2s ease; 1752 } 1753 1754 #sidebar-menu .header-sidebar__linklist-button:hover .menu-collection-count, 1755 #sidebar-menu .header-sidebar__linklist-button:focus-visible .menu-collection-count { 1756 opacity: 1; 1757 } 1758 } 1759 1760/* 1761 CUSTOM ADDITION â added [21. July 2026] by [OH] 1762 Purpose: theme.css dims sibling menu item text (color: 65% 1763 opacity) both for items BEFORE and AFTER an open accordion 1764 item, via two separate selectors (li:has(~li[aria-expanded=true]) 1765 for items before, and li:has([aria-expanded=true]) ~ li for 1766 items after). Our .menu-collection-count badge has its own 1767 fixed background/text color and doesn't inherit that dimming, 1768 so both directions need a matching override here. 1769 */ 1770 #sidebar-menu li:has(~ li [aria-expanded="true"]):not(:has([aria-expanded="true"])) li[data-current-page="true"] .menu-collection-count { 1771 opacity: 0.65; 1772 } 1773 1774 #sidebar-menu li:has([aria-expanded="true"]) ~ li[data-current-page="true"] .menu-collection-count { 1775 opacity: 0.65; 1776 } 1777 1778 @media screen and (pointer: fine) { 1779 #sidebar-menu li:has(~ li [aria-expanded="true"]):not(:has([aria-expanded="true"])) .header-sidebar__linklist-button:hover .menu-collection-count { 1780 opacity: 0.65; 1781 } 1782 1783 #sidebar-menu li:has([aria-expanded="true"]) ~ li .header-sidebar__linklist-button:hover .menu-collection-count { 1784 opacity: 0.65; 1785 } 1786 } 1787 1788 /* 1789 Bottom utilities 1790 */ 1791 1792 #sidebar-menu .header-sidebar__footer {
1793 align-self: end; 1794 1795 width: 100%; 1796 min-width: 0; 1797 margin: 0; 1798 } 1799 1800 #sidebar-menu .header-sidebar__utility-nav { 1801 display: flex; 1802 flex-direction: column; 1803 align-items: flex-start; 1804 row-gap: 0.5rem; 1805 1806 width: 100%; 1807 margin: 0; 1808 padding: 1809 1rem 1810 var(--sidebar-edge-spacing) 1811 var(--sidebar-edge-spacing); 1812 } 1813 1814 #sidebar-menu .header-sidebar__utility-item { 1815 display: flex; 1816 align-items: center; 1817 1818 width: 100%; 1819 min-width: 0; 1820 margin: 0; 1821 padding: 0; 1822 } 1823 1824 #sidebar-menu .header-sidebar__utility-link { 1825 display: inline-flex; 1826 align-items: center; 1827 justify-content: flex-start; 1828 1829 width: auto; 1830 margin: 0; 1831 padding: 0; 1832 1833 text-align: left; 1834 white-space: nowrap; 1835 } 1836 1837 /* 1838 Localisation 1839 */ 1840 1841 #sidebar-menu .header-sidebar__localization { 1842 display: flex; 1843 align-items: flex-start; 1844 1845 width: 100%; 1846 margin: 0; 1847 padding: 0; 1848 } 1849 1850 #sidebar-menu .header-sidebar__localization .localization-selectors { 1851 display: flex; 1852 flex-direction: column; 1853 align-items: flex-start; 1854 gap: 0.5rem; 1855 1856 width: 100%; 1857 margin: 0; 1858 padding: 0; 1859 } 1860 1861 #sidebar-menu .header-sidebar__localization .relative { 1862 width: auto; 1863 margin: 0; 1864 padding: 0; 1865 } 1866 1867 #sidebar-menu .header-sidebar__localization, 1868 #sidebar-menu .header-sidebar__localization .localization-selectors, 1869 #sidebar-menu .header-sidebar__localization .relative { 1870 border: 0 !important; 1871 border-block-start: 0 !important; 1872 box-shadow: none !important; 1873 } 1874 1875 #sidebar-menu .header-sidebar__localization .localization-toggle { 1876 display: inline-flex; 1877 align-items: center; 1878 justify-content: flex-start; 1879 1880 width: auto; 1881 margin: 0; 1882 padding: 0; 1883 1884 text-align: left; 1885 white-space: nowrap; 1886 } 1887 1888 /* 1889 Collapsible submenu panels 1890 */ 1891 1892 #sidebar-menu .header-sidebar__collapsible-panel, 1893 #sidebar-menu .header-sidebar__sub-panel { 1894 width: 100%; 1895 min-width: 0; 1896 max-width: 100%; 1897 } 1898 1899/* 1900 CUSTOM ADDITION â added [21. July 2026] by [OH] 1901 Purpose: Prevents long submenu titles (e.g. "Pompei: Below the 1902 Clouds") from widening the whole sidebar panel. Setting an 1903 explicit width (0) stops this element's natural content width 1904 from being counted when the ancestor panel calculates its 1905 fit-content size â only the top-level category labels (e.g. 1906 "Film Collectibles") now determine the panel width. min-width: 1907 100% then stretches it back to fill the space the top-level 1908 items already established, so text wraps normally within it. 1909 */ 1910 #sidebar-menu .header-sidebar__nested-linklist { 1911 width: 0; 1912 min-width: 100%; 1913 } 1914 1915 #sidebar-menu .header-sidebar__collapsible-panel { 1916 height: 100%; 1917 } 1918 1919 #sidebar-menu .header-sidebar__collapsible-panel > .header-sidebar__scroller { 1920 height: 100%; 1921 } 1922 1923 #sidebar-menu .header-sidebar__sub-panel .header-sidebar__linklist { 1924 width: 100%; 1925 } 1926 1927 /* 1928 Mobile 1929 */ 1930 1931 @media screen and (max-width: 999px) { 1932 #sidebar-menu { 1933 --sidebar-edge-spacing: 1.5rem; 1934 --sidebar-close-clearance: 3.5rem; 1935 1936 --sidebar-counter-size: 0.9rem; 1937 --sidebar-counter-padding: 0.16rem; 1938 --sidebar-counter-font-size: 0.5rem; 1939 1940 /* 1941 A small positive offset lowers the badge so its top edge 1942 aligns with the top of the smaller mobile menu type. 1943 */ 1944 --sidebar-counter-top-offset: 0.18em; 1945 } 1946 1947 /* 1948 Use the dynamic viewport height so the bottom utilities remain 1949 pinned correctly when the mobile browser interface changes size. 1950 */ 1951 1952 #sidebar-menu, 1953 #sidebar-menu::part(base), 1954 #sidebar-menu::part(content), 1955 #sidebar-menu::part(panel-list) { 1956 height: 100dvh; 1957 min-height: 100dvh; 1958 } 1959 1960 #sidebar-menu::part(content) { 1961 width: 100vw; 1962 min-width: 0; 1963 max-width: 100vw; 1964 } 1965 1966 #sidebar-menu::part(header) { 1967 padding: var(--sidebar-edge-spacing); 1968 } 1969 1970 #sidebar-menu .header-sidebar__main-panel { 1971 grid-template-rows: minmax(0, 1fr) auto; 1972 1973 width: 100%; 1974 height: 100dvh; 1975 min-height: 100dvh; 1976 1977 padding-block-start: var(--sidebar-edge-spacing); 1978 } 1979 1980 #sidebar-menu .header-sidebar__scroller { 1981 min-height: 0; 1982 overflow-x: hidden; 1983 overflow-y: auto; 1984 } 1985 } 1986 1987 /* CUSTOM ADDITION â added 21. August 2026 by OH 1988 Purpose: On desktop, the sidebar previously only filled 1989 height: 100% instead of the full viewport height, so the 1990 Login/Country/Language footer didn't sit flush at the 1991 bottom like it does on mobile/tablet (max-width: 999px). 1992 Mirrors the same height rules for desktop (min-width: 1000px). */ 1993 @media screen and (min-width: 1000px) { 1994 #sidebar-menu,
1995 #sidebar-menu::part(base), 1996 #sidebar-menu::part(content), 1997 #sidebar-menu::part(panel-list) { 1998 height: 100dvh; 1999 min-height: 100dvh; 2000 } 2001 2002 #sidebar-menu .header-sidebar__main-panel { 2003 height: 100dvh; 2004 min-height: 100dvh; 2005 } 2006 2007 /* 2008 Mobile counter 2009 2010 No translate or negative top value is used. Its placement is 2011 controlled by the small positive margin above. 2012 */ 2013 2014 #sidebar-menu .menu-collection-link { 2015 align-items: flex-start; 2016 } 2017 2018 #sidebar-menu .menu-collection-count { 2019 position: static; 2020 transform: none; 2021 2022 min-width: var(--sidebar-counter-size); 2023 height: var(--sidebar-counter-size); 2024 padding-inline: var(--sidebar-counter-padding); 2025 margin-block-start: var(--sidebar-counter-top-offset); 2026 2027 font-size: var(--sidebar-counter-font-size); 2028 } 2029 2030 /* 2031 Keep Login and Localisation firmly in the bottom-left corner, 2032 aligned with the mobile menu's left edge. 2033 */ 2034 2035 #sidebar-menu .header-sidebar__footer { 2036 align-self: end; 2037 2038 width: 100%; 2039 margin: 0; 2040 } 2041 2042 #sidebar-menu .header-sidebar__utility-nav { 2043 width: 100%; 2044 margin: 0; 2045 padding: 2046 1rem 2047 var(--sidebar-edge-spacing) 2048 var(--sidebar-edge-spacing); 2049 } 2050 2051 /* 2052 CUSTOM ADDITION â added [21. July 2026] by [OH] 2053 Purpose: MUBI H1's default fluid clamp() is calibrated for 2054 headlines, not for fitting "FILM COLLECTIBLES" within the 2055 narrow sidebar on small phone screens. Scoped only to true 2056 mobile widths (â¤699px) â NOT the full 999px tablet range, 2057 since tablet already displayed this correctly. 2058 */ 2059 @media screen and (max-width: 699px) { 2060 #sidebar-menu .header-sidebar__linklist-button.text-mubi-h1 { 2061 font-size: clamp(1.25rem, 9vw, 3rem); 2062 line-height: 0.85; 2063 } 2064 } 2065 } 2066 2067 /* 2068 CUSTOM ADDITION â added [21. July 2026] by [OH] 2069 Purpose: --sidebar-counter-font-size is a fixed rem value, 2070 unrelated to the menu item's own font-size. This looked fine 2071 with the theme's original ~3rem heading size, but now looks 2072 too small relative to our much larger MUBI H1 sizing. Scoped 2073 to 700px and up (desktop/tablet only), so mobile keeps its own 2074 existing counter sizing untouched. 2075 */ 2076 @media screen and (min-width: 700px) and (max-width: 999px) { 2077 #sidebar-menu .header-sidebar__linklist-button.text-mubi-h1 .menu-collection-count { 2078 --sidebar-counter-size: 2.15rem; 2079 --sidebar-counter-font-size: 1.15rem; 2080 } 2081 } 2082 @media screen and (min-width: 1000px) { 2083 #sidebar-menu .header-sidebar__linklist-button.text-mubi-h1 .menu-collection-count { 2084 --sidebar-counter-size: 2.15rem; 2085 --sidebar-counter-font-size: 1.15rem; 2086 --sidebar-counter-top-offset: 0.8em; 2087 } 2088 } 2089</style> 2090 2091<template id="header-sidebar-template"> 2092 <div part="base"> 2093 <div part="overlay"></div> 2094 2095 <div part="content"> 2096 <header part="header"> 2097 <dialog-close-button class="contents"> 2098 <button 2099 type="button" 2100 part="close-button tap-area" 2101 aria-label="Close" 2102 ><svg aria-hidden="true" focusable="false" fill="none" width="16" class="icon icon-close" viewBox="0 0 16 16"> 2103 <path d="m1 1 14 14M1 15 15 1" stroke="currentColor" stroke-width="1.5"/> 2104 </svg> 2105 2106 </button> 2107 </dialog-close-button> 2108 </header> 2109 2110 <div part="panel-list"> 2111 <slot name="main-panel"></slot><slot name="collapsible-panel"></slot></div> 2112 </div> 2113 </div> 2114</template> 2115 2116<header-sidebar 2117 id="sidebar-menu" 2118 class="header-sidebar drawer drawer--sm color-scheme color-scheme--scheme-2" 2119 template="header-sidebar-template" 2120 open-from="left" 2121> 2122 <div 2123 class="header-sidebar__main-panel" 2124 slot="main-panel" 2125 > 2126 <div class="header-sidebar__scroller"><ul 2127 class="header-sidebar__linklist unstyled-list" 2128 role="list" 2129 ><li><a href="/en-us/collections/all-products" 2130 class="header-sidebar__linklist-button text-mubi-h1" 2131 > 2132 <span class="menu-collection-link">
2133 <span>All</span><span 2134 class="menu-collection-count" 2135 aria-label="37 products" 2136 >37</span></span> 2137 </a></li><li><a href="/en-us/collections/most-loved" 2138 class="header-sidebar__linklist-button text-mubi-h1" 2139 > 2140 <span class="menu-collection-link"> 2141 <span>Most Loved</span><span 2142 class="menu-collection-count" 2143 aria-label="6 products" 2144 >6</span></span> 2145 </a></li><li><accordion-disclosure> 2146 <details 2147 class="accordion__disclosure group" 2148 2149 > 2150 <summary 2151 class="header-sidebar__linklist-button text-mubi-h1" 2152 > 2153 <span class="menu-collection-link"> 2154 <span>Film Collectibles</span><span 2155 class="menu-collection-count" 2156 aria-label="23 products" 2157 >23</span></span> 2158 2159 2160 </summary> 2161 2162 <div class="header-sidebar__nested-linklist"> 2163 <ul 2164 class="header-sidebar__linklist unstyled-list" 2165 role="list" 2166 ><li><a href="/en-us/collections/all-films" 2167 class="header-sidebar__linklist-button text-mubi-h1" 2168 >ALL FILMS</a></li><li><a href="/en-us/collections/pulp-what-do-you-do-for-an-encore" 2169 class="header-sidebar__linklist-button text-mubi-h1" 2170 >PULP</a></li><li><a href="/en-us/collections/camp-miasma" 2171 class="header-sidebar__linklist-button text-mubi-h1" 2172 >CAMP MIASMA</a></li><li><a href="/en-us/collections/die-my-love-merch" 2173 class="header-sidebar__linklist-button text-mubi-h1" 2174 >DIE MY LOVE</a></li><li><a href="/en-us/collections/the-mastermind" 2175 class="header-sidebar__linklist-button text-mubi-h1" 2176 >THE MASTERMIND</a></li><li><a href="/en-us/collections/the-substance-merch" 2177 class="header-sidebar__linklist-button text-mubi-h1" 2178 >THE SUBSTANCE</a></li></ul></div> 2179 </details> 2180 </accordion-disclosure></li><li><a href="/en-us/collections/mubi-originals" 2181 class="header-sidebar__linklist-button text-mubi-h1" 2182 > 2183 <span class="menu-collection-link"> 2184 <span>MUBI Classics</span><span 2185 class="menu-collection-count" 2186 aria-label="8 products" 2187 >8</span></span> 2188 </a></li><li><a href="/en-us/collections/notebook-merch" 2189 class="header-sidebar__linklist-button text-mubi-h1" 2190 > 2191 <span class="menu-collection-link"> 2192 <span>NOTEBOOK</span><span 2193 class="menu-collection-count" 2194 aria-label="4 products" 2195 >4</span></span> 2196 </a></li><li><a href="/en-us/collections/collaborations" 2197 class="header-sidebar__linklist-button text-mubi-h1" 2198 > 2199 <span class="menu-collection-link"> 2200 <span>Collaborations</span><span 2201 class="menu-collection-count" 2202 aria-label="11 products" 2203 >11</span></span> 2204 </a></li><li><a href="/en-us/collections/apparel" 2205 class="header-sidebar__linklist-button text-mubi-h1" 2206 > 2207 <span class="menu-collection-link"> 2208 <span>Apparel</span><span 2209 class="menu-collection-count" 2210 aria-label="9 products" 2211 >9</span></span> 2212 </a></li><li><a href="/en-us/collections/blu-rays" 2213 class="header-sidebar__linklist-button text-mubi-h1" 2214 >
2215 <span class="menu-collection-link"> 2216 <span>Blu-Rays</span><span 2217 class="menu-collection-count" 2218 aria-label="6 products" 2219 >6</span></span> 2220 </a></li><li><a href="/en-us/collections/art-posters" 2221 class="header-sidebar__linklist-button text-mubi-h1" 2222 > 2223 <span class="menu-collection-link"> 2224 <span>Posters</span><span 2225 class="menu-collection-count" 2226 aria-label="3 products" 2227 >3</span></span> 2228 </a></li></ul> 2229 </div><div class="header-sidebar__footer"> 2230 <div class="header-sidebar__utility-nav"><div class="header-sidebar__utility-item"> 2231 <a 2232 href="https://mubi-shop.com/customer_authentication/redirect?locale=en®ion_country=US" 2233 class="header-sidebar__utility-link link-faded text-mubi-body" 2234 >Login</a> 2235 </div><div class="header-sidebar__utility-item header-sidebar__localization"> 2236 <div class="localization-selectors"><div class="relative"> 2237 <button 2238 type="button" 2239 class="localization-toggle link-faded text-mubi-body" 2240 aria-controls="popover-localization-header-sidebar-sections--21126333923502__header-country" 2241 aria-label="Change country or currency" 2242 aria-expanded="false" 2243 ><span>United States 2244 (USD 2245$) 2246 </span><svg aria-hidden="true" focusable="false" fill="none" width="10" class="icon icon-chevron-down" viewBox="0 0 10 10"> 2247 <path d="m1 3 4 4 4-4" stroke="currentColor" stroke-linecap="square"/> 2248 </svg></button> 2249 2250 <x-popover 2251 id="popover-localization-header-sidebar-sections--21126333923502__header-country" 2252 initial-focus="[aria-selected='true']" 2253 class="popover popover--top-start color-scheme color-scheme--dialog" 2254 > 2255 <p class="h4" slot="header">Country</p><form method="post" action="/en-us/localization" id="localization-form-header-sidebar-sections--21126333923502__header-country" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/en-us/search" /><x-listbox class="popover__value-list"><button 2256 type="submit" 2257 name="country_code" 2258 class="popover__value-option h-stack gap-2.5" 2259 role="option" 2260 value="AR" 2261 aria-selected="false" 2262 ><span>Argentina 2263 (ARS 2264$) 2265 </span> 2266 </button><button 2267 type="submit" 2268 name="country_code" 2269 class="popover__value-option h-stack gap-2.5" 2270 role="option" 2271 value="AU" 2272 aria-selected="false" 2273 ><span>Australia 2274 (AUD 2275$) 2276 </span> 2277 </button><button 2278 type="submit" 2279 name="country_code" 2280 class="popover__value-option h-stack gap-2.5" 2281 role="option" 2282 value="BR" 2283 aria-selected="false" 2284 ><span>Brazil 2285 (BRL 2286R$) 2287 </span> 2288 </button><button 2289 type="submit" 2290 name="country_code" 2291 class="popover__value-option h-stack gap-2.5" 2292 role="option" 2293 value="CA" 2294 aria-selected="false" 2295 ><span>Canada 2296 (CAD 2297$) 2298 </span> 2299 </button><button 2300 type="submit" 2301 name="country_code" 2302 class="popover__value-option h-stack gap-2.5" 2303 role="option" 2304 value="CL" 2305 aria-selected="false" 2306 ><span>Chile 2307 (CLP 2308$) 2309 </span> 2310 </button><button 2311 type="submit" 2312 name="country_code" 2313 class="popover__value-option h-stack gap-2.5" 2314 role="option" 2315 value="CO" 2316 aria-selected="false" 2317 ><span>Colombia 2318 (COP 2319$) 2320 </span> 2321 </button><button 2322 type="submit" 2323 name="country_code" 2324 class="popover__value-option h-stack gap-2.5" 2325 role="option" 2326 value="FR" 2327 aria-selected="false" 2328 ><span>France 2329 (EUR 2330â¬) 2331 </span> 2332 </button><button 2333 type="submit" 2334 name="country_code" 2335 class="popover__value-option h-stack gap-2.5" 2336 role="option" 2337 value="DE" 2338 aria-selected="false" 2339 ><span>Germany 2340 (EUR 2341â¬) 2342 </span> 2343 </button><button 2344 type="submit" 2345 name="country_code" 2346 class="popover__value-option h-stack gap-2.5" 2347 role="option" 2348 value="IE" 2349 aria-selected="false" 2350 ><span>Ireland 2351 (EUR 2352â¬) 2353 </span> 2354 </button><button 2355 type="submit" 2356 name="country_code" 2357 class="popover__value-option h-stack gap-2.5" 2358 role="option" 2359 value="IT" 2360 aria-selected="false" 2361 ><span>Italy 2362 (EUR 2363â¬) 2364 </span> 2365 </button><button 2366 type="submit" 2367 name="country_code" 2368 class="popover__value-option h-stack gap-2.5" 2369 role="option" 2370 value="MX" 2371 aria-selected="false" 2372 ><span>Mexico 2373 (MXN 2374$) 2375 </span> 2376 </button><button 2377 type="submit" 2378 name="country_code" 2379 class="popover__value-option h-stack gap-2.5" 2380 role="option" 2381 value="NL" 2382 aria-selected="false" 2383 ><span>Netherlands 2384 (EUR 2385â¬) 2386 </span> 2387 </button><button 2388 type="submit" 2389 name="country_code" 2390 class="popover__value-option h-stack gap-2.5" 2391 role="option" 2392 value="ES" 2393 aria-selected="false" 2394 ><span>Spain 2395 (EUR 2396â¬) 2397 </span> 2398 </button><button 2399 type="submit" 2400 name="country_code" 2401 class="popover__value-option h-stack gap-2.5" 2402 role="option" 2403 value="GB" 2404 aria-selected="false" 2405 ><span>United Kingdom 2406 (GBP 2407£) 2408 </span> 2409 </button><button 2410 type="submit" 2411 name="country_code" 2412 class="popover__value-option h-stack gap-2.5" 2413 role="option" 2414 value="US" 2415 aria-selected="true" 2416 ><span>United States 2417 (USD 2418$) 2419 </span> 2420 </button></x-listbox></form></x-popover> 2421 </div></div> 2422 </div></div> 2423 </div></div> 2424</header-sidebar></x-header> 2425</height-observer> 2426
2427<script> 2428 (() => { 2429 const section = document.getElementById( 2430 'shopify-section-sections--21126333923502__header' 2431 ); 2432 2433 const search = document.getElementById( 2434 'header-search-sections--21126333923502__header' 2435 ); 2436 2437 if (!section) { 2438 return; 2439 } 2440 2441 const updateHeaderHeight = () => { 2442 document.documentElement.style.setProperty( 2443 '--header-height', 2444 `${section.clientHeight.toFixed(2)}px` 2445 ); 2446 }; 2447 2448 updateHeaderHeight(); 2449 2450 /* 2451 Update the bag icon only when the cart crosses between empty and filled. 2452 If the cart drawer is open, hold the visual change until it has closed so 2453 the customer can actually see the crossfade and counter bounce. 2454 */ 2455 2456 const cartContent = section.querySelector('.header__cart-content'); 2457 const cartDrawer = document.getElementById('cart-drawer'); 2458 const cartUsesDrawer = Boolean( 2459 section.querySelector('[aria-controls="cart-drawer"]') 2460 ); 2461 let appliedCartIsFilled = cartContent?.classList.contains( 2462 'header__cart-content--filled' 2463 ) ?? false; 2464 let pendingCartIsFilled = null; 2465 let latestCartItemCount = null; 2466 let cartDrawerWasOpen = false; 2467 let drawerCloseTimer = null; 2468 2469 const getCartIsFilled = () => { 2470 if (Number.isFinite(latestCartItemCount)) { 2471 return latestCartItemCount > 0; 2472 } 2473 2474 const count = Number.parseInt( 2475 cartContent?.querySelector('cart-count')?.textContent || '0', 2476 10 2477 ); 2478 2479 return Number.isFinite(count) && count > 0; 2480 }; 2481 2482 const cartDrawerIsOpen = () => { 2483 if (!cartDrawer) { 2484 return false; 2485 } 2486 2487 return ( 2488 cartDrawer.hasAttribute('open') || 2489 cartDrawer.getAttribute('aria-hidden') === 'false' || 2490 cartDrawer.classList.contains('open') || 2491 cartDrawer.classList.contains('is-open') || 2492 cartDrawer.classList.contains('drawer--open') || 2493 ( 2494 CSS.supports('selector(:popover-open)') && 2495 cartDrawer.matches(':popover-open') 2496 ) 2497 ); 2498 }; 2499 2500 cartDrawerWasOpen = cartDrawerIsOpen(); 2501 2502 const animateCartCount = () => { 2503 const cartCount = cartContent?.querySelector('.header__cart-count'); 2504 2505 if (!cartCount || cartCount.hidden) { 2506 return; 2507 } 2508 2509 cartCount.classList.remove('header__cart-count--animate'); 2510 void cartCount.offsetWidth; 2511 cartCount.classList.add('header__cart-count--animate'); 2512 2513 window.setTimeout(() => { 2514 cartCount.classList.remove('header__cart-count--animate'); 2515 }, 350); 2516 }; 2517 2518 const setCartCountVisibility = (cartIsFilled) => { 2519 const cartCount = cartContent?.querySelector('.header__cart-count'); 2520 2521 if (cartCount) { 2522 cartCount.hidden = !cartIsFilled; 2523 } 2524 }; 2525 2526 const applyCartVisualState = (cartIsFilled, animate = true) => { 2527 if (!cartContent) { 2528 return; 2529 } 2530 2531 /* Prestige updates the number but does not always restore `hidden`. */ 2532 setCartCountVisibility(cartIsFilled); 2533 2534 if (cartIsFilled === appliedCartIsFilled) { 2535 pendingCartIsFilled = null; 2536 return; 2537 } 2538 2539 cartContent.classList.toggle( 2540 'header__cart-content--filled', 2541 cartIsFilled 2542 ); 2543 2544 appliedCartIsFilled = cartIsFilled; 2545 pendingCartIsFilled = null; 2546 2547 if (animate && cartIsFilled) { 2548 animateCartCount(); 2549 } 2550 }; 2551 2552 const syncCartVisualState = () => { 2553 const cartIsFilled = getCartIsFilled(); 2554 2555 if (cartIsFilled === appliedCartIsFilled) { 2556 pendingCartIsFilled = null; 2557 return; 2558 } 2559 2560 if (cartUsesDrawer) { 2561 pendingCartIsFilled = cartIsFilled; 2562 setCartCountVisibility(appliedCartIsFilled); 2563 2564 if (cartDrawerIsOpen()) { 2565 cartDrawerWasOpen = true; 2566 } 2567 2568 return; 2569 } 2570 2571 applyCartVisualState(cartIsFilled); 2572 }; 2573 2574 const applyPendingCartVisualState = () => { 2575 if (cartDrawerIsOpen()) { 2576 cartDrawerWasOpen = true; 2577 return; 2578 } 2579 2580 const cartIsFilled = pendingCartIsFilled ?? getCartIsFilled(); 2581 applyCartVisualState(cartIsFilled); 2582 cartDrawerWasOpen = false;
2583 }; 2584 2585 const applyAfterDrawerHasClosed = () => { 2586 window.clearTimeout(drawerCloseTimer); 2587 2588 requestAnimationFrame(() => { 2589 requestAnimationFrame(applyPendingCartVisualState); 2590 }); 2591 }; 2592 2593 const scheduleDrawerCloseFallback = () => { 2594 window.clearTimeout(drawerCloseTimer); 2595 2596 drawerCloseTimer = window.setTimeout(() => { 2597 if (!cartDrawerIsOpen()) { 2598 applyPendingCartVisualState(); 2599 } 2600 }, 400); 2601 }; 2602 2603 if (cartContent) { 2604 const cartObserver = new MutationObserver(() => { 2605 const updatedCount = Number.parseInt( 2606 cartContent.querySelector('cart-count')?.textContent || '0', 2607 10 2608 ); 2609 2610 if (Number.isFinite(updatedCount)) { 2611 latestCartItemCount = updatedCount; 2612 } 2613 2614 requestAnimationFrame(syncCartVisualState); 2615 }); 2616 2617 cartObserver.observe(cartContent, { 2618 attributes: true, 2619 attributeFilter: ['hidden'], 2620 characterData: true, 2621 childList: true, 2622 subtree: true 2623 }); 2624 } 2625 2626 if (cartDrawer) { 2627 const cartDrawerObserver = new MutationObserver(() => { 2628 requestAnimationFrame(() => { 2629 if (cartDrawerIsOpen()) { 2630 cartDrawerWasOpen = true; 2631 return; 2632 } 2633 2634 if (cartDrawerWasOpen && pendingCartIsFilled !== null) { 2635 scheduleDrawerCloseFallback(); 2636 } 2637 }); 2638 }); 2639 2640 cartDrawerObserver.observe(cartDrawer, { 2641 attributes: true, 2642 attributeFilter: ['open', 'aria-hidden', 'class'] 2643 }); 2644 2645 cartDrawer.addEventListener('dialog:after-hide', applyAfterDrawerHasClosed); 2646 cartDrawer.addEventListener('transitionend', (event) => { 2647 if ( 2648 event.target === cartDrawer && 2649 !cartDrawerIsOpen() && 2650 pendingCartIsFilled !== null 2651 ) { 2652 applyAfterDrawerHasClosed(); 2653 } 2654 }); 2655 } 2656 2657 document.addEventListener('cart:change', (event) => { 2658 const eventCart = event.detail?.cart || event.detail?.baseEvent?.detail?.cart; 2659 const eventItemCount = Number(eventCart?.item_count); 2660 2661 if (Number.isFinite(eventItemCount)) { 2662 latestCartItemCount = eventItemCount; 2663 } 2664 2665 if (cartUsesDrawer && getCartIsFilled() !== appliedCartIsFilled) { 2666 pendingCartIsFilled = getCartIsFilled(); 2667 2668 if (cartDrawerIsOpen()) { 2669 cartDrawerWasOpen = true; 2670 } 2671 2672 setCartCountVisibility(appliedCartIsFilled); 2673 return; 2674 } 2675 2676 requestAnimationFrame(syncCartVisualState); 2677 }); 2678 2679 if (!search) { 2680 return; 2681 } 2682 2683 const searchButton = section.querySelector( 2684 '[aria-controls="header-search-sections--21126333923502__header"]' 2685 ); 2686 2687 const searchIsOpen = () => { 2688 return ( 2689 search.hasAttribute('open') || 2690 search.getAttribute('open') === 'true' || 2691 search.getAttribute('aria-hidden') === 'false' || 2692 search.getAttribute('aria-expanded') === 'true' || 2693 search.classList.contains('is-open') || 2694 search.classList.contains('open') || 2695 search.querySelector('[open]') !== null || 2696 search.querySelector('[aria-hidden="false"]') !== null || 2697 search.querySelector('[aria-expanded="true"]') !== null 2698 ); 2699 }; 2700 2701 const updateHeaderSearchState = () => { 2702 section.classList.toggle( 2703 'header-search-is-open', 2704 searchIsOpen() 2705 ); 2706 2707 updateHeaderHeight(); 2708 }; 2709 2710 /* 2711 Apply the white background as soon as the search trigger 2712 is clicked so it transitions alongside the search panel. 2713 */ 2714 2715 searchButton?.addEventListener('click', () => { 2716 section.classList.add('header-search-is-open'); 2717 }); 2718 2719 /* 2720 Watch the search component for opening and closing state 2721 changes made by the theme's existing JavaScript. 2722 */ 2723 2724 const observer = new MutationObserver(() => { 2725 requestAnimationFrame(updateHeaderSearchState); 2726 }); 2727 2728 observer.observe(search, { 2729 attributes: true, 2730 childList: true, 2731 subtree: true, 2732 attributeFilter: [ 2733 'open', 2734 'aria-hidden', 2735 'aria-expanded', 2736 'class', 2737 'hidden' 2738 ] 2739 }); 2740 2741 search.addEventListener('toggle', updateHeaderSearchState); 2742 search.addEventListener('close', updateHeaderSearchState); 2743 2744 window.addEventListener('resize', updateHeaderHeight); 2745 2746 updateHeaderSearchState(); 2747 })(); 2748</script>
2748 2749 2750 2751</header> 2752<!-- END sections: header-group --><!-- BEGIN sections: overlay-group --> 2753<section id="shopify-section-sections--21126333956270__cart-drawer" class="shopify-section shopify-section-group-overlay-group shopify-section--cart-drawer"><style> 2754 /* 2755 CUSTOM ADDITION â added [29. July 2026] by [OH] 2756 Purpose: Makes the cart drawer full-width on mobile and tablet 2757 (up to 999px), matching the same breakpoint and full-screen 2758 treatment already applied to the header sidebar menu 2759 (snippets/header-sidebar.liquid). Desktop (1000px+) keeps the 2760 existing narrower drawer width. 2761 */ 2762 @media screen and (max-width: 999px) { 2763 #cart-drawer::part(content) { 2764 width: 100vw; 2765 max-width: 100vw; 2766 } 2767 } 2768</style> 2769 2770<cart-drawer 2771 id="cart-drawer" 2772 aria-label="Cart" 2773 class="cart-drawer drawer drawer--center-body color-scheme color-scheme--scheme-1" 2774 initial-focus="false" 2775 handle-editor-events 2776> 2777 <p class="h4" slot="header">Cart</p><p class="h5 text-center">Your cart is empty</p></cart-drawer> 2778 2779 2780</section> 2781<!-- END sections: overlay-group --><main id="main" class="anchor"> 2782 <section id="shopify-section-template--21126333563054__main" class="shopify-section shopify-section--main-search"><div class="color-scheme color-scheme--scheme-1"> 2783 <div class="container container--xs"> 2784 <div class="empty-state"> 2785 <div class="v-stack gap-4"> 2786 <div class="prose"> 2787 <h1 class="h4">Search</h1> 2788 </div> 2789 2790 <form class="main-search-form" action="/en-us/search" method="get" role="search"><div class="relative"><div class="form-control" ><input 2791 id="input--template--21126333563054__main--q" 2792 class="input" 2793 type="text" 2794 2795 2796 placeholder="Search for..." 2797 2798 2799 name="q" 2800 2801 2802 2803 2804 2805 autocomplete="off" 2806 2807 2808 2809 2810 autocorrect="off" 2811 2812 2813 ><label for="input--template--21126333563054__main--q" class="floating-label text-xs">Search for...</label></div><button type="submit" class="input-suffix link-faded"><svg aria-hidden="true" fill="none" focusable="false" width="24" class="icon icon-search" viewBox="0 0 24 24"> 2814 <path d="M10.364 3a7.364 7.364 0 1 0 0 14.727 7.364 7.364 0 0 0 0-14.727Z" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10"/> 2815 <path d="M15.857 15.858 21 21.001" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round"/> 2816 </svg></button> 2817 </div> 2818 </form> 2819 </div> 2820 </div> 2821 </div> 2822 </div> 2823</section> 2824<!-- BEGIN sections: footer-group --> 2825<footer id="shopify-section-sections--21126333890734__custom_footer_PmAqXh" class="shopify-section shopify-section-group-footer-group shopify-section--custom-footer"><style> 2826 #shopify-section-sections--21126333890734__custom_footer_PmAqXh { 2827 --custom-footer-side-margin: 10px; 2828 --custom-footer-bottom-margin: 10px; 2829 --custom-footer-padding-inline: 72px; 2830 --custom-footer-padding-block: 72px; 2831 --custom-footer-column-gap: 12px; 2832 --custom-footer-row-gap: 48px; 2833 2834 --custom-footer-mobile-side-margin: 16px; 2835 --custom-footer-mobile-bottom-margin: 16px; 2836 --custom-footer-mobile-padding-inline: 18px; 2837 --custom-footer-mobile-padding-block: 24px; 2838 --custom-footer-mobile-row-gap: 56px; 2839 } 2840 2841 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__outer { 2842 margin-inline: var(--custom-footer-side-margin); 2843 margin-block-end: var(--custom-footer-bottom-margin); 2844 } 2845 2846 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer { 2847 border-radius: 8px; 2848 } 2849 2850 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__inner { 2851 display: grid; 2852 grid-template-columns: repeat(10, minmax(0, 1fr)); 2853 column-gap: var(--custom-footer-column-gap); 2854 row-gap: var(--custom-footer-row-gap); 2855 2856 width: 100%; 2857 padding-block: var(--custom-footer-padding-block); 2858 padding-inline: var(--custom-footer-padding-inline); 2859 } 2860 2861 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__block { 2862 min-width: 0; 2863 } 2864 2865 /* 2866 Large desktop grid 2867 */ 2868 2869 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__logo { 2870 grid-column: 1 / 2; 2871 grid-row: 1; 2872 2873 display: flex; 2874 align-items: var(--custom-footer-logo-alignment); 2875 justify-content: flex-start; 2876 } 2877 2878 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--1 { 2879 grid-column: 2 / 3; 2880 grid-row: 1; 2881 } 2882 2883 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--2 { 2884 grid-column: 3 / 4; 2885 grid-row: 1; 2886 } 2887 2888 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter { 2889 grid-column: 4 / 7; 2890 grid-row: 1; 2891 } 2892 2893 /* 2894 Column 7 remains intentionally empty on large desktop. 2895 */ 2896 2897 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--3 { 2898 grid-column: 8 / 9; 2899 grid-row: 1; 2900 } 2901 2902 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--4 { 2903 grid-column: 9 / 10; 2904 grid-row: 1; 2905 } 2906 2907 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__qr { 2908 grid-column: 10 / 11; 2909 grid-row: 1; 2910 2911 display: flex; 2912 flex-direction: column; 2913 align-self: stretch; 2914 align-items: flex-start; 2915 gap: 1rem; 2916 } 2917 2918 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__c
2918opyright { 2919 grid-column: 1 / -1; 2920 grid-row: 2; 2921 margin: 0; 2922 } 2923 2924 /* 2925 Images 2926 */ 2927 2928 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__image-link { 2929 display: inline-flex; 2930 align-items: center; 2931 justify-content: center; 2932 } 2933 2934 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__logo-image { 2935 display: block; 2936 width: 100%; 2937 height: auto; 2938 max-width: var(--custom-footer-logo-width); 2939 } 2940 2941 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__qr-image { 2942 display: block; 2943 width: 100%; 2944 height: auto; 2945 max-width: var(--custom-footer-qr-width); 2946 } 2947 2948 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__qr-caption { 2949 margin-block-start: auto; 2950 margin-block-end: 0; 2951 } 2952 2953 /* 2954 Rich-text columns 2955 */ 2956 2957 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text { 2958 display: flex; 2959 flex-direction: column; 2960 align-items: flex-start; 2961 height: 100%; 2962 } 2963 2964 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text-content { 2965 width: 100%; 2966 } 2967 2968 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text-content > :first-child { 2969 margin-block-start: 0; 2970 } 2971 2972 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text-content > :last-child { 2973 margin-block-end: 0; 2974 } 2975 2976 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text-content p { 2977 margin-block: 0; 2978 } 2979 2980 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text-content a { 2981 color: inherit; 2982 text-decoration: none; 2983 transition: opacity 0.2s ease; 2984 } 2985 2986 @media (hover: hover) { 2987 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text-content a:hover { 2988 opacity: 0.5; 2989 } 2990 } 2991 2992 /* 2993 Localisation 2994 */ 2995 2996 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization { 2997 margin-block-start: auto; 2998 padding-block-start: 1.5rem; 2999 } 3000 3001 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization .localization-selectors { 3002 display: flex; 3003 flex-direction: column; 3004 align-items: flex-start; 3005 gap: 0.5rem; 3006 } 3007 3008 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization button { 3009 color: #ffffff; 3010 opacity: 1; 3011 3012 font: inherit; 3013 letter-spacing: inherit; 3014 text-transform: inherit; 3015 3016 transition: opacity 0.2s ease; 3017 } 3018 3019 @media (hover: hover) { 3020 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization button:hover { 3021 color: #ffffff; 3022 opacity: 0.5; 3023 } 3024 } 3025 3026 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization .popover__value-list > *, 3027 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization .popover__value-option { 3028 color: #000000; 3029 opacity: 0.5; 3030 transition: opacity 0.2s ease; 3031} 3032 3033/* CUSTOM ADDITION â added 21. August 2026 by OH 3034 Purpose: Keep the currently selected country/language option 3035 at full opacity in the footer desktop dropdown, matching the 3036 fullscreen (mobile/tablet) treatment, instead of showing all 3037 options at equal opacity. */ 3038#shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization .popover__value-option[aria-selected="true"] { 3039 opacity: 1; 3040} 3041 3042@media (hover: hover) { 3043 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization .popover__value-list > *:hover, 3044 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization .popover__value-option:hover { 3045 color: #000000; 3046 opacity: 1; 3047 } 3048} 3049 3050 /* 3051 Newsletter 3052 */ 3053 3054 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter, 3055 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-inner, 3056 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-form { 3057 height: 100%; 3058 } 3059 3060 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-inner { 3061 display: flex; 3062 flex-direction: column; 3063 align-items: stretch; 3064 width: 100%; 3065 } 3066 3067 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-title { 3068 margin: 0 0 1.5rem; 3069 } 3070 3071 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-form { 3072 display: flex; 3073 flex: 1; 3074 flex-direction: column; 3075 width: 100%; 3076 } 3077 3078 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-fields { 3079 display: grid; 3080 grid-template-columns: minmax(0, 1fr) auto; 3081 align-items: stretch; 3082 gap: 0.75rem; 3083 width: 100%; 3084 } 3085 3086 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-input { 3087 min-width: 0; 3088 } 3089 3090 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-input .form-control { 3091 height: 100%; 3092 } 3093 3094 /* 3095 Form-label typography 3096 */ 3097 3098 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-input input, 3099 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-input label, 3100 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-submit .button { 3101 font-family: inherit; 3102 font-size: inherit; 3103 font-style: inherit; 3104 font-weight: inherit; 3105 line-height: inherit; 3106 letter-spacing: inherit; 3107 text-transform: uppercase; 3108 } 3109 3110 /* 3111 Email field 3112 */ 3113 3114 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-input input { 3115 width: 100%; 3116 height: 100%; 3117 min-height: 2.5rem; 3118 3119 color: inherit; 3120 background: transparent; 3121 border-color: var(--newsletter-input-outline-color); 3122 } 3123 3124 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-input input:hover, 3125 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-input input:focus { 3126 border-color: var(--newsletter-input-outline-color); 3127 } 3128 3129 /* 3130 Standard theme button 3131 */ 3132 3133 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-submit { 3134 display: flex; 3135 align-items: stretch; 3136 } 3137 3138 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-submit .button { 3139 width: auto; 3140 height: 100%; 3141 min-height: 2.5rem; 3142 white-space: nowrap; 3143 } 3144 3145 /* 3146 Supporting copy aligned to QR caption 3147 */ 3148 3149 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-copy { 3150 margin-block-start: auto; 3151 padding-block-start: 1.5rem; 3152 color: var(--newsletter-supporting-text-color); 3153 } 3154 3155 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-copy > :first-child { 3156 margin-block-start: 0; 3157 } 3158 3159 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-copy > :last-child { 3160 margin-block-end: 0; 3161 } 3162 3163 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-copy a { 3164 color: inherit; 3165 } 3166 3167 /* 3168 Laptop or iPad break point: 3169 Removes the spare desktop column and halves the outer 3170 side margin and horizontal footer padding. 3171 */ 3172 3173 @media screen and (min-width: 700px) and (max-width: 1599px) { 3174 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__outer { 3175 margin-inline: calc(var(--custom-footer-side-margin) / 2); 3176 } 3177 3178 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__inner { 3179 grid-template-columns: repeat(9, minmax(0, 1fr)); 3180 padding-inline: calc(var(--custom-footer-padding-inline) / 2); 3181 } 3182 3183 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__logo { 3184 grid-column: 1 / 2; 3185 } 3186 3187 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--1 { 3188 grid-column: 2 / 3; 3189 } 3190 3191 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--2 { 3192 grid-column: 3 / 4; 3193 } 3194 3195 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter { 3196 grid-column: 4 / 7; 3197 } 3198 3199 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--3 { 3200 grid-column: 7 / 8; 3201 } 3202 3203 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--4 { 3204 grid-column: 8 / 9; 3205 } 3206 3207 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__qr { 3208 grid-column: 9 / 10; 3209 } 3210 } 3211 3212 /* 3213 Intermediate layout: 3214 Gives each content column enough room before the mobile breakpoint. 3215 */ 3216 3217 @media screen and (min-width: 700px) and (max-width: 1399px) { 3218 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__inner { 3219 grid-template-columns: repeat(6, minmax(0, 1fr)); 3220 } 3221 3222 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--1 { 3223 grid-column: 1 / 4; 3224 grid-row: 1; 3225 } 3226 3227 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--3 { 3228 grid-column: 4 / 7; 3229 grid-row: 1; 3230 } 3231 3232 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter { 3233 grid-column: 1 / 7; 3234 grid-row: 2; 3235 } 3236 3237 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--4 { 3238 grid-column: 1 / 4; 3239 grid-row: 3; 3240 } 3241 3242 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--2 { 3243 grid-column: 4 / 7; 3244 grid-row: 3; 3245 } 3246 3247 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__logo { 3248 grid-column: 1 / 4; 3249 grid-row: 4; 3250 } 3251 3252 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__qr { 3253 grid-column: 4 / 7; 3254 grid-row: 4; 3255 } 3256 3257 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__c
3257opyright { 3258 grid-column: 1 / -1; 3259 grid-row: 5; 3260 } 3261 3262 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter, 3263 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-inner, 3264 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-form { 3265 height: auto; 3266 } 3267 3268 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-copy { 3269 margin-block-start: 0; 3270 } 3271 } 3272 3273 /* 3274 Mobile 3275 */ 3276 3277 @media screen and (max-width: 699px) { 3278 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__outer { 3279 margin-inline: var(--custom-footer-mobile-side-margin); 3280 margin-block-end: var(--custom-footer-mobile-bottom-margin); 3281 } 3282 3283 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__inner { 3284 grid-template-columns: repeat(6, minmax(0, 1fr)); 3285 row-gap: var(--custom-footer-mobile-row-gap); 3286 3287 padding-block: var(--custom-footer-mobile-padding-block); 3288 padding-inline: var(--custom-footer-mobile-padding-inline); 3289 } 3290 3291 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--1 { 3292 grid-column: 1 / 4; 3293 grid-row: 1; 3294 } 3295 3296 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--2 { 3297 grid-column: 4 / 7; 3298 grid-row: 3; 3299 } 3300 3301 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter { 3302 grid-column: 1 / 7; 3303 grid-row: 2; 3304 } 3305 3306 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--3 { 3307 grid-column: 4 / 7; 3308 grid-row: 1; 3309 } 3310 3311 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__text--4 { 3312 grid-column: 1 / 4; 3313 grid-row: 3; 3314 } 3315 3316 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__logo { 3317 grid-column: 1 / 4; 3318 grid-row: 4; 3319 3320 align-self: stretch; 3321 align-items: var(--custom-footer-logo-alignment); 3322 justify-content: flex-start; 3323 } 3324 3325 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__copyright { 3326 grid-column: 4 / 7; 3327 grid-row: 4; 3328 3329 align-self: end; 3330 text-align: left; 3331 } 3332 3333 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__qr { 3334 display: none; 3335 } 3336 3337 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__logo-image { 3338 max-width: var(--custom-footer-logo-mobile-width); 3339 } 3340 3341 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__localization { 3342 padding-block-start: 1.25rem; 3343 } 3344 3345 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter, 3346 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-inner, 3347 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-form { 3348 height: auto; 3349 } 3350 3351 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-copy { 3352 margin-block-start: 0; 3353 } 3354 3355 #shopify-section-sections--21126333890734__custom_footer_PmAqXh .custom-footer__newsletter-fields { 3356 grid-template-columns: minmax(0, 1fr) auto; 3357 } 3358 } 3359</style> 3360 3361<div class="custom-footer__outer"> 3362 <div 3363 class="custom-footer color-scheme color-scheme--scheme-77a6f54a-a713-4aec-a990-08e45bcb8657 color-scheme--bg-56d456675c6022a94f34c86ae1730876" 3364 > 3365 <div class="custom-footer__inner"><div 3366 class="custom-footer__block custom-footer__logo" 3367 style=" 3368 --custom-footer-logo-width: 45px; 3369 --custom-footer-logo-mobile-width: 45px; 3370 --custom-footer-logo-alignment: flex-start; 3371 " 3372 3373 ><a 3374 href="https://mubi-shop.com" 3375 class="custom-footer__image-link" 3376 aria-label="Mubi Shop" 3377 ><img src="//mubi-shop.com/cdn/shop/files/Mubi_Logo_Dots.png?v=1784122542&width=602" alt="Mubi Shop" srcset="//mubi-shop.com/cdn/shop/files/Mubi_Logo_Dots.png?v=1784122542&width=45 45w, //mubi-shop.com/cdn/shop/files/Mubi_Logo_Dots.png?v=1784122542&width=45 45w, //mubi-shop.com/cdn/shop/files/Mubi_Logo_Dots.png?v=1784122542&width=90 90w" width="602" height="600" loading="lazy" sizes="(max-width: 699px) 45px, 45px" class="custom-footer__logo-image"></a></div><div 3378 class="custom-footer__block custom-footer__text custom-footer__text--1" 3379 3380 > 3381 <div class="custom-footer__text-content text-mubi-caption"><p><a href="/en-us/collections/all-products" title="All Products">ALL</a><a href="/en-us/collections/film-collectibles" title="Film Collectibles"><br/>FILMS</a><br/>
3381<a href="/en-us/collections/film-collectibles" title="Film Collectibles">COLLECTIBLES</a><br/><a href="/en-us/collections/mubi-originals" title="MUBI Classics">MUBI CLASSICS</a><br/><a href="/en-us/collections/collaborations" title="Collaborations">COLLABORATIONS</a><br/><a href="/en-us/collections/apparel" title="Apparel">APPAREL</a><br/><a href="/en-us/collections/blu-rays" title="Blu-Rays">BLU-RAYS</a><br/><a href="/en-us/collections/art-posters" title="Art Posters">POSTERS</a></p></div> 3382 </div><div 3383 class="custom-footer__block custom-footer__text custom-footer__text--2" 3384 3385 ><div class="custom-footer__text-content text-mubi-caption"><p><a href="/en-us/policies/refund-policy" title="Refund Policy">REFUND POLICY</a><br/><a href="/en-us/policies/terms-of-service" title="Terms of Service">TERMS OF SERVICE</a><br/><a href="/en-us/pages/faqs" title="FAQ">FAQ</a></p></div><div class="custom-footer__localization text-mubi-caption"> 3386 <div class="localization-selectors"><div class="relative"> 3387 <button 3388 type="button" 3389 class="localization-toggle link-faded text-mubi-caption" 3390 aria-controls="popover-localization-footer-sections--21126333890734__custom_footer_PmAqXh-country" 3391 aria-label="Change country or currency" 3392 aria-expanded="false" 3393 ><span>USD 3394$</span><svg aria-hidden="true" focusable="false" fill="none" width="10" class="icon icon-chevron-down" viewBox="0 0 10 10"> 3395 <path d="m1 3 4 4 4-4" stroke="currentColor" stroke-linecap="square"/> 3396 </svg></button> 3397 3398 <x-popover 3399 id="popover-localization-footer-sections--21126333890734__custom_footer_PmAqXh-country" 3400 initial-focus="[aria-selected='true']" 3401 class="popover popover--top-start color-scheme color-scheme--dialog" 3402 > 3403 <p class="h4" slot="header">Country</p><form method="post" action="/en-us/localization" id="localization-form-footer-sections--21126333890734__custom_footer_PmAqXh-country" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/en-us/search" /><x-listbox class="popover__value-list"><button 3404 type="submit" 3405 name="country_code" 3406 class="popover__value-option h-stack gap-2.5" 3407 role="option" 3408 value="AR" 3409 aria-selected="false" 3410 ><span>Argentina 3411 (ARS 3412$) 3413 </span> 3414 </button><button 3415 type="submit" 3416 name="country_code" 3417 class="popover__value-option h-stack gap-2.5" 3418 role="option" 3419 value="AU" 3420 aria-selected="false" 3421 ><span>Australia 3422 (AUD 3423$) 3424 </span> 3425 </button><button 3426 type="submit" 3427 name="country_code" 3428 class="popover__value-option h-stack gap-2.5" 3429 role="option" 3430 value="BR" 3431 aria-selected="false" 3432 ><span>Brazil 3433 (BRL 3434R$) 3435 </span> 3436 </button><button 3437 type="submit" 3438 name="country_code" 3439 class="popover__value-option h-stack gap-2.5" 3440 role="option" 3441 value="CA" 3442 aria-selected="false" 3443 ><span>Canada 3444 (CAD 3445$) 3446 </span> 3447 </button><button 3448 type="submit" 3449 name="country_code" 3450 class="popover__value-option h-stack gap-2.5" 3451 role="option" 3452 value="CL" 3453 aria-selected="false" 3454 ><span>Chile 3455 (CLP 3456$) 3457 </span> 3458 </button><button 3459 type="submit" 3460 name="country_code" 3461 class="popover__value-option h-stack gap-2.5" 3462 role="option" 3463 value="CO" 3464 aria-selected="false" 3465 ><span>Colombia 3466 (COP 3467$) 3468 </span> 3469 </button><button 3470 type="submit" 3471 name="country_code" 3472 class="popover__value-option h-stack gap-2.5" 3473 role="option" 3474 value="FR" 3475 aria-selected="false" 3476 ><span>France 3477 (EUR 3478â¬) 3479 </span> 3480 </button><button 3481 type="submit" 3482 name="country_code" 3483 class="popover__value-option h-stack gap-2.5" 3484 role="option" 3485 value="DE" 3486 aria-selected="false" 3487 ><span>Germany 3488 (EUR 3489â¬) 3490 </span> 3491 </button><button 3492 type="submit" 3493 name="country_code" 3494 class="popover__value-option h-stack gap-2.5" 3495 role="option" 3496 value="IE" 3497 aria-selected="false" 3498 ><span>Ireland 3499 (EUR 3500â¬) 3501 </span> 3502 </button><button 3503 type="submit" 3504 name="country_code" 3505 class="popover__value-option h-stack gap-2.5" 3506 role="option" 3507 value="IT" 3508 aria-selected="false" 3509 ><span>Italy 3510 (EUR 3511â¬) 3512 </span> 3513 </button><button 3514 type="submit" 3515 name="country_code" 3516 class="popover__value-option h-stack gap-2.5" 3517 role="option" 3518 value="MX" 3519 aria-selected="false" 3520 ><span>Mexico 3521 (MXN 3522$) 3523 </span> 3524 </button><button 3525 type="submit" 3526 name="country_code" 3527 class="popover__value-option h-stack gap-2.5" 3528 role="option" 3529 value="NL" 3530 aria-selected="false" 3531 ><span>Netherlands 3532 (EUR 3533â¬) 3534 </span> 3535 </button><button 3536 type="submit" 3537 name="country_code" 3538 class="popover__value-option h-stack gap-2.5" 3539 role="option" 3540 value="ES" 3541 aria-selected="false" 3542 ><span>Spain 3543 (EUR 3544â¬) 3545 </span> 3546 </button><button 3547 type="submit" 3548 name="country_code" 3549 class="popover__value-option h-stack gap-2.5" 3550 role="option" 3551 value="GB" 3552 aria-selected="false" 3553 ><span>United Kingdom 3554 (GBP 3555£) 3556 </span> 3557 </button><button 3558 type="submit" 3559 name="country_code" 3560 class="popover__value-option h-stack gap-2.5" 3561 role="option" 3562 value="US" 3563 aria-selected="true" 3564 ><span>United States 3565 (USD 3566$) 3567 </span> 3568 </button></x-listbox></form></x-popover> 3569 </div></div> 3570 </div></div><div 3571 class="custom-footer__block custom-footer__newsletter" 3572 style=" 3573 --newsletter-input-outline-color: #7987bb; 3574 --newsletter-supporting-text-color: #7987bb; 3575 " 3576 3577 > 3578 <div class="custom-footer__newsletter-inner"><form method="post" action="/en-us/contact#custom-footer-newsletter-sections--21126333890734__custom_footer_PmAqXh" id="custom-footer-newsletter-sections--21126333890734__custom_footer_PmAqXh" accept-charset="UTF-8" class="custom-footer__newsletter-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input 3579 type="hidden" 3580 name="contact[tags]" 3581 value="newsletter" 3582 > 3583 3584 <div class="custom-footer__newsletter-fields"> 3585 <div class="custom-footer__newsletter-input text-mubi-caption"><div class="form-control" ><input 3586 id="input--sections--21126333890734__custom_footer_PmAqXh--contactemail" 3587 class="input" 3588 type="email" 3589 3590 dir="ltr" 3591 3592 3593 placeholder="YOUR EMAIL" 3594 3595 3596 name="contact[email]" 3597 3598 3599 3600 3601 3602 autocomplete="email" 3603 3604 enterkeyhint="send" 3605 required 3606 3607 3608 3609 3610 ><label for="input--sections--21126333890734__custom_footer_PmAqXh--contactemail" class="floating-label text-xs">YOUR EMAIL</label></div></div> 3611 3612 <div class="custom-footer__newsletter-submit text-mubi-caption"> 3613<button type="submit" class="button" style="--button-background: 242 241 241;--button-outline-color: 242 241 241;--button-text-color: 0 26 175;" >SIGN UP</button></div> 3614 </div><div class="custom-footer__newsletter-copy prose text-mubi-microtext "><p>Receive our emails. Updates on new releases, new trailers, podcasts, merch, and more. By clicking âSign Upâ you are indicating that you have read and agree to the <a href="/en-us/policies/terms-of-service" target="_blank" title="Terms of Service">Terms of Service and Privacy</a>.</p></div></form></div> 3615 </div><div 3616 class="custom-footer__block custom-footer__text custom-footer__text--3" 3617 3618 > 3619 <div class="custom-footer__text-content text-mubi-caption"><p><a href="https://mubi.com/" target="_blank" title="https://mubi.com/">MUBI</a><br/>
3619<a href="https://mubi.com/go" target="_blank" title="https://mubi.com/go">MUBI GO</a><br/><a href="https://mubi.com/de/notebook" target="_blank" title="https://mubi.com/de/notebook">NOTEBOOK</a><br/><a href="https://mubieditions.com/" target="_blank" title="https://mubieditions.com/">EDITIONS</a></p><p><br/><a href="https://mubi.com/about" target="_blank" title="https://mubi.com/about">ABOUT </a><br/><a href="/en-us/policies/contact-information" title="Contact Information">CONTACT</a></p><p><a href="https://shopify.com/50970034350/account" title="LOG IN">LOG IN</a></p></div> 3620 </div><div 3621 class="custom-footer__block custom-footer__text custom-footer__text--4" 3622 3623 > 3624 <div class="custom-footer__text-content text-mubi-caption"><p>FOLLOW US<br/><a href="https://instagram.com/mubi" target="_blank" title="https://instagram.com/mubi">INSTAGRAM</a><br/><a href="https://facebook.com/mubi" target="_blank" title="https://facebook.com/mubi">FACEBOOK</a><br/><a href="https://www.tiktok.com/@mubi" target="_blank" title="https://www.tiktok.com/@mubi">TIKTOK</a><br/><a href="https://twitter.com/mubiuk" target="_blank" title="https://twitter.com/mubiuk">X</a><br/><a href="https://www.threads.net/@mubiuk" target="_blank" title="https://www.threads.net/@mubiuk">THREADS</a><br/><a href="https://www.youtube.com/channel/UCb6-VM5UQ4Czj_d3m9EPGfg" target="_blank" title="https://www.youtube.com/channel/UCb6-VM5UQ4Czj_d3m9EPGfg">YOUTUBE</a></p></div> 3625 </div><div 3626 class="custom-footer__block custom-footer__qr" 3627 style="--custom-footer-qr-width: 80px;" 3628 3629 ><a 3630 href="http://mubi.com/app-store-redirect" 3631 class="custom-footer__image-link" 3632 aria-label="Download the MUBI app" 3633 ><img src="//mubi-shop.com/cdn/shop/files/Mubi_App_QR.png?v=1784296535&width=525" alt="Download the MUBI app" srcset="//mubi-shop.com/cdn/shop/files/Mubi_App_QR.png?v=1784296535&width=80 80w, //mubi-shop.com/cdn/shop/files/Mubi_App_QR.png?v=1784296535&width=160 160w" width="525" height="525" loading="lazy" sizes="80px" class="custom-footer__qr-image"></a><p class="custom-footer__qr-caption text-mubi-microtext">Scan to get the app.</p></div><p class="custom-footer__copyright text-mubi-microtext"> 3634 © 2026 â MUBI SHOP 3635</p> 3636 </div> 3637 </div> 3638</div> 3639 3640 3641</footer> 3642<!-- END sections: footer-group --></main> 3643 <div id="shopify-block-AVFIySTFEaVpmWUFPS__144831480468751239" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: vite-tag --> 3644 3645 3646
3646<script src="https://cdn.shopify.com/extensions/01a0ef01-233c-7292-b3f6-27cef5296cf1/essential-post-purchase-upsell-1723/assets/app-embed-BPe2qr_5.js" type="module" crossorigin="anonymous"></script>
3646 3647 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0ef01-233c-7292-b3f6-27cef5296cf1/essential-post-purchase-upsell-1723/assets/stylex-E6760mTB.js" crossorigin="anonymous"> 3648 <link href="//cdn.shopify.com/extensions/01a0ef01-233c-7292-b3f6-27cef5296cf1/essential-post-purchase-upsell-1723/assets/stylex-mm1DjMzv.css" rel="stylesheet" type="text/css" media="all" /> 3649 3650<!-- END app snippet --> 3651 3652<essential-upsell-app-embed 3653 upsell-app-data="{"v":2,"d":[{"subscriptionOfferTitleSize":16,"subscriptionOfferTitleColor":"#121212","subscriptionTitleSize":18,"subscriptionTitleColor":"#121212","subscriptionSubtitleSize":14,"subscriptionSubtitleColor":"#121212","subscriptionPolicySize":12,"subscriptionPolicyColor":"#121212","selectedOfferBackgroundType":"MONOCHROME","selectedOfferBackgroundColor":"#f3f3f3","defaultOfferBackgroundType":"MONOCHROME","defaultOfferBackgroundColor":"#f3f3f3cc","selectedOfferBorderSize":1,"selectedOfferBorderColor":"#121212","defaultOfferBorderSize":1,"defaultOfferBorderColor":"#121212","layoutType":"CAROUSEL","stackedProductsCount":null,"backgroundType":"MONOCHROME","monochromeBackgroundColor":"#f3f3f3","gradientBackgroundStartColor":null,"gradientBackgroundEndColor":null,"gradientBackgroundAngle":null,"borderRadius":8,"borderSize":1,"borderColor":"#121212","insideTopSpacing":10,"insideBottomSpacing":10,"outsideTopSpacing":20,"outsideBottomSpacing":20,"font":"INHERIT","titleSize":16,"titleColor":"#121212","productTitleSize":14,"productTitleColor":"#121212","productVariantSize":14,"productVariantColor":"#121212","volumeDiscountSubtitleSize":14,"volumeDiscountSubtitleColor":"#121212","productPriceSize":14,"productPriceColor":"#121212","discountedPriceSize":14,"discountedPriceColor":"#121212","buttonBackgroundColor":"#202223","buttonTextSize":14,"buttonTextColor":"#fafafa","buttonBorderRadius":8,"navigationIconColor":"#333333","checkboxIconColor":"#121212","checkboxBackgroundColor":"#121212","checkboxBorderColor":"#121212","popupBackgroundColor":"#ffffff","popupCloseButtonColor":"#202223","popupBorderRadius":16,"secondaryButtonTextSize":14,"secondaryButtonTextColor":"#202223","countdownBackgroundColor":"#f3f3f3","countdownBorderSize":1,"countdownBorderColor":"#121212","countdownTitleSize":16,"countdownTitleColor":"#121212","countdownTimerSize":16,"countdownTimerColor":"#121212","quantityPickerTextSize":14,"quantityPickerTextColor":"#202223","quantityPickerIconColor":"#202223","quantityPickerBackgroundColor":"#ffffff","quantityPickerBorderColor":"#c5c8d1","quantityPickerBorderRadius":4,"
3653offerBadgeBackgroundColor":"#202223","offerBadgeTextSize":12,"offerBadgeTextColor":"#ffffff","offerBadgeBorderSize":0,"offerBadgeBorderColor":"#c5c8d1","offerBadgeBorderRadius":4,"discountLabelBackgroundColor":"#d9d9d9","discountLabelTextSize":12,"discountLabelTextColor":"#202223","discountLabelBorderSize":0,"discountLabelBorderColor":"#c5c8d1","discountLabelBorderRadius":4},{"layoutType":"STACKED","stackedProductsCount":3,"backgroundType":"MONOCHROME","monochromeBackgroundColor":"#f3f3f3","gradientBackgroundStartColor":null,"gradientBackgroundEndColor":null,"gradientBackgroundAngle":null,"borderRadius":8,"borderSize":1,"borderColor":"#121212","insideTopSpacing":10,"insideBottomSpacing":10,"outsideTopSpacing":20,"outsideBottomSpacing":20,"font":"INHERIT","titleSize":16,"titleColor":"#121212","productTitleSize":14,"productTitleColor":"#121212","productVariantSize":14,"productVariantColor":"#121212","volumeDiscountSubtitleSize":null,"volumeDiscountSubtitleColor":null,"productPriceSize":14,"productPriceColor":"#121212","discountedPriceSize":14,"discountedPriceColor":"#121212","buttonBackgroundColor":"#202223","buttonTextSize":14,"buttonTextColor":"#fafafa","buttonBorderRadius":8,"navigationIconColor":"#333333","checkboxIconColor":"#121212","checkboxBackgroundColor":"#121212","checkboxBorderColor":"#121212","popupBackgroundColor":"#ffffff","popupCloseButtonColor":"#202223","popupBorderRadius":16,"secondaryButtonTextSize":14,"secondaryButtonTextColor":"#202223","countdownBackgroundColor":null,"countdownBorderSize":null,"countdownBorderColor":null,"countdownTitleSize":null,"countdownTitleColor":null,"countdownTimerSize":null,"countdownTimerColor":null,"quantityPickerTextSize":null,"quantityPickerTextColor":null,"quantityPickerIconColor":null,"quantityPickerBackgroundColor":null,"quantityPickerBorderColor":null,"quantityPickerBorderRadius":null,"
3653offerBadgeBackgroundColor":null,"offerBadgeTextSize":null,"offerBadgeTextColor":null,"offerBadgeBorderSize":null,"offerBadgeBorderColor":null,"offerBadgeBorderRadius":null,"discountLabelBackgroundColor":null,"discountLabelTextSize":null,"discountLabelTextColor":null,"discountLabelBorderSize":null,"discountLabelBorderColor":null,"discountLabelBorderRadius":null},{"layoutType":"CAROUSEL","stackedProductsCount":null,"backgroundType":"MONOCHROME","monochromeBackgroundColor":"#f3f3f3","gradientBackgroundStartColor":null,"gradientBackgroundEndColor":null,"gradientBackgroundAngle":null,"borderRadius":8,"borderSize":1,"borderColor":"#121212","insideTopSpacing":10,"insideBottomSpacing":10,"outsideTopSpacing":20,"outsideBottomSpacing":20,"font":"INHERIT","titleSize":16,"titleColor":"#121212","productTitleSize":14,"productTitleColor":"#121212","productVariantSize":14,"productVariantColor":"#121212","volumeDiscountSubtitleSize":null,"volumeDiscountSubtitleColor":null,"productPriceSize":14,"productPriceColor":"#121212","discountedPriceSize":14,"discountedPriceColor":"#121212","buttonBackgroundColor":"#202223","buttonTextSize":14,"buttonTextColor":"#fafafa","buttonBorderRadius":8,"navigationIconColor":"#333333","checkboxIconColor":"#121212","checkboxBackgroundColor":"#121212","checkboxBorderColor":"#121212","popupBackgroundColor":"#ffffff","popupCloseButtonColor":"#202223","popupBorderRadius":16,"secondaryButtonTextSize":14,"secondaryButtonTextColor":"#202223","countdownBackgroundColor":null,"countdownBorderSize":null,"countdownBorderColor":null,"countdownTitleSize":null,"countdownTitleColor":null,"countdownTimerSize":null,"countdownTimerColor":null,"quantityPickerTextSize":null,"quantityPickerTextColor":null,"quantityPickerIconColor":null,"quantityPickerBackgroundColor":null,"quantityPickerBorderColor":null,"quantityPickerBorderRadius":null,"
3653offerBadgeBackgroundColor":null,"offerBadgeTextSize":null,"offerBadgeTextColor":null,"offerBadgeBorderSize":null,"offerBadgeBorderColor":null,"offerBadgeBorderRadius":null,"discountLabelBackgroundColor":null,"discountLabelTextSize":null,"discountLabelTextColor":null,"discountLabelBorderSize":null,"discountLabelBorderColor":null,"discountLabelBorderRadius":null},{"layoutType":"CAROUSEL","stackedProductsCount":null,"backgroundType":"MONOCHROME","monochromeBackgroundColor":"#f3f3f3","gradientBackgroundStartColor":null,"gradientBackgroundEndColor":null,"gradientBackgroundAngle":null,"borderRadius":8,"borderSize":1,"borderColor":"#121212","insideTopSpacing":10,"insideBottomSpacing":10,"outsideTopSpacing":20,"outsideBottomSpacing":20,"font":"INHERIT","titleSize":16,"titleColor":"#121212","productTitleSize":14,"productTitleColor":"#121212","productVariantSize":14,"productVariantColor":"#121212","volumeDiscountSubtitleSize":null,"volumeDiscountSubtitleColor":null,"productPriceSize":14,"productPriceColor":"#121212","discountedPriceSize":14,"discountedPriceColor":"#121212","buttonBackgroundColor":"#202223","buttonTextSize":14,"buttonTextColor":"#fafafa","buttonBorderRadius":8,"navigationIconColor":"#333333","checkboxIconColor":"#fafafa","checkboxBackgroundColor":"#121212","checkboxBorderColor":"#121212","popupBackgroundColor":"#ffffff","popupCloseButtonColor":"#202223","popupBorderRadius":16,"secondaryButtonTextSize":14,"secondaryButtonTextColor":"#202223","countdownBackgroundColor":null,"countdownBorderSize":null,"countdownBorderColor":null,"countdownTitleSize":null,"countdownTitleColor":null,"countdownTimerSize":null,"countdownTimerColor":null,"quantityPickerTextSize":null,"quantityPickerTextColor":null,"quantityPickerIconColor":null,"quantityPickerBackgroundColor":null,"quantityPickerBorderColor":null,"quantityPickerBorderRadius":null,"
3653offerBadgeBackgroundColor":null,"offerBadgeTextSize":null,"offerBadgeTextColor":null,"offerBadgeBorderSize":null,"offerBadgeBorderColor":null,"offerBadgeBorderRadius":null,"discountLabelBackgroundColor":null,"discountLabelTextSize":null,"discountLabelTextColor":null,"discountLabelBorderSize":null,"discountLabelBorderColor":null,"discountLabelBorderRadius":null},{"layoutType":"STACKED","stackedProductsCount":3,"backgroundType":"MONOCHROME","monochromeBackgroundColor":"#f3f3f3","gradientBackgroundStartColor":null,"gradientBackgroundEndColor":null,"gradientBackgroundAngle":null,"borderRadius":8,"borderSize":1,"borderColor":"#121212","insideTopSpacing":10,"insideBottomSpacing":10,"outsideTopSpacing":20,"outsideBottomSpacing":20,"font":"INHERIT","titleSize":16,"titleColor":"#121212","productTitleSize":14,"productTitleColor":"#121212","productVariantSize":14,"productVariantColor":"#121212","volumeDiscountSubtitleSize":null,"volumeDiscountSubtitleColor":null,"productPriceSize":14,"productPriceColor":"#121212","discountedPriceSize":14,"discountedPriceColor":"#121212","buttonBackgroundColor":"#202223","buttonTextSize":14,"buttonTextColor":"#fafafa","buttonBorderRadius":8,"navigationIconColor":"#333333","checkboxIconColor":"#fafafa","checkboxBackgroundColor":"#121212","checkboxBorderColor":"#121212","popupBackgroundColor":"#ffffff","popupCloseButtonColor":"#202223","popupBorderRadius":16,"secondaryButtonTextSize":14,"secondaryButtonTextColor":"#202223","countdownBackgroundColor":null,"countdownBorderSize":null,"countdownBorderColor":null,"countdownTitleSize":null,"countdownTitleColor":null,"countdownTimerSize":null,"countdownTimerColor":null,"quantityPickerTextSize":null,"quantityPickerTextColor":null,"quantityPickerIconColor":null,"quantityPickerBackgroundColor":null,"quantityPickerBorderColor":null,"quantityPickerBorderRadius":null,"
3653offerBadgeBackgroundColor":null,"offerBadgeTextSize":null,"offerBadgeTextColor":null,"offerBadgeBorderSize":null,"offerBadgeBorderColor":null,"offerBadgeBorderRadius":null,"discountLabelBackgroundColor":null,"discountLabelTextSize":null,"discountLabelTextColor":null,"discountLabelBorderSize":null,"discountLabelBorderColor":null,"discountLabelBorderRadius":null}],"c":[{"offerType":"PRODUCT_ADDON","titleText":"Complete the set","buttonText":"Claim Offer ⢠{total} {compared-at}","secondaryButtonText":"","badgeText":""},{"offerType":"PRODUCT_ADDON","titleText":"Complete the set","buttonText":"Claim Offer ⢠{total} {compared-at}","secondaryButtonText":"","badgeText":null},{"offerType":"PRODUCT_ADDON","titleText":"Complete the set","buttonText":"Claim Offer ⢠{total} {compared-at}","secondaryButtonText":null,"badgeText":null}],"funnels":[{"id":"f7fa1a9f-2336-4944-aa14-8a7974bb007d","name":"Notebook Merch","content":0,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":true,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":"","isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/7865241075886","shopifyHandle":"back-to-black-bag","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":0,"placement":{"type":"CART_PAGE","triggerType":"SPECIFIC_COLLECTIONS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":"BOTTOM_OF_THE_CART","popupPlacementType":"PRODUCT_PAGE","specificProducts":[],"specificCollections":[{"shopifyId":"gid://shopify/Collection/340750205102","shopifyHandle":"notebook-merch"}],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"22f61698-69c5-41a5-9deb-b3af4848591e","name":"PBTC Zine PDP ","content":1,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":true,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/9049494618286","shopifyHandle":"pompei-below-the-clouds-companion","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":1,"placement":{"type":"PRODUCT_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":null,"popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/9049495011502","shopifyHandle":"pompei-limited-edition-signed-poster","variantIds":[]}],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"578131a1-e18f-4c04-831e-64f2e477510b","name":"MUBI Gift Card - Cart","content":1,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":true,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/7865241075886","shopifyHandle":"back-to-black-bag","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":2,"placement":{"type":"CART_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":"BOTTOM_OF_THE_CART","popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/7877025235118","shopifyHandle":"1-year-mubi-gift-membership","variantIds":[]},{"shopifyId":"gid://shopify/Product/8764455289006","shopifyHandle":"mubi-gift-card-1-yr-premium-membership","variantIds":[]}],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"fa5e7a41-db6c-4a06-9ba3-5efa02aa33a7","name":"MUBI Gift Card PDP","content":1,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":true,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/7865241075886","shopifyHandle":"back-to-black-bag","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":1,"placement":{"type":"PRODUCT_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":null,"popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/7877025235118","shopifyHandle":"1-year-mubi-gift-membership","variantIds":[]},{"shopifyId":"gid://shopify/Product/8764455289006","shopifyHandle":"mubi-gift-card-1-yr-premium-membership","variantIds":[]}],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"00ac389b-9df3-41f9-a369-63354d1b4864","name":"SENTIMENTAL VALUE PDP","content":1,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":true,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/7862271770798","shopifyHandle":"the-oslo-trilogy-three-films-by-joachim-trier-blu-ray","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":1,"placement":{"type":"PRODUCT_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":null,"popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/8927438438574","shopifyHandle":"mubi-scrt-sentimental-value-tshirt","variantIds":[]}],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"09b44e5a-015e-4fd5-954d-0e377ba9b2eb","name":"DML zine cart","content":1,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":true,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/8904004960430","shopifyHandle":"die-my-love-companion","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":2,"placement":{"type":"CART_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":"BOTTOM_OF_THE_CART","popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/8894974918830","shopifyHandle":"die-my-love-scrt-hat","variantIds":[]},{"shopifyId":"gid://shopify/Product/8905490202798","shopifyHandle":"die-my-love-scrt-tshirt","variantIds":[]}],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"0c4b0e17-d233-445e-bc6f-3a8b30a29b00","name":"DML Zine PDP ","content":1,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":false,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/8904004960430","shopifyHandle":"die-my-love-companion","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":1,"placement":{"type":"PRODUCT_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":null,"popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/8894974918830","shopifyHandle":"die-my-love-scrt-hat","variantIds":[]},{"shopifyId":"gid://shopify/Product/8905490202798","shopifyHandle":"die-my-love-scrt-tshirt","variantIds":[]}],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"0d6785e9-4d52-407c-bd97-fc991eacdf29","name":"THE SUBSTANCE (cart2)","content":1,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":true,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/8161610694830","shopifyHandle":"copy-of-decision-to-leave-4k-uhd-blu-ray","variantIds":[]},{"shopifyId":"gid://shopify/Product/8668831744174","shopifyHandle":"the-substance-official-character-mini-poster","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":2,"placement":{"type":"CART_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":"BOTTOM_OF_THE_CART","popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/8668832170158","shopifyHandle":"the-substance-official-character-mini-poster-sue","variantIds":[]}],"
3653;specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"9d58fe7c-9699-4915-8900-eac15755744f","name":"THE SUBSTANCE (cart1)","content":1,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":true,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/8668832170158","shopifyHandle":"the-substance-official-character-mini-poster-sue","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":3,"placement":{"type":"CART_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":"BOTTOM_OF_THE_CART","popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/8668831744174","shopifyHandle":"the-substance-official-character-mini-poster","variantIds":[]}],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"5ce93669-ba05-41ab-bf6b-f083853cc150","name":"THE SUBSTANCE (test2)","content":2,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":null,"isHideProductInCart":false,"isHideTriggerProduct":true,"isPreselectProducts":false,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/8668831744174","shopifyHandle":"the-substance-official-character-mini-poster","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":4,"placement":{"type":"PRODUCT_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":null,"popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/8668832170158","shopifyHandle":"the-substance-official-character-mini-poster-sue","variantIds":[]}],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]},{"id":"4f2a2f61-746e-4697-b79a-41e36183dacf","name":"THE SUBSTANCE (test)","content":1,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":false,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/8668832170158","shopifyHandle":"the-substance-official-character-mini-poster-sue","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":4,"placement":{"type":"PRODUCT_PAGE","triggerType":"SPECIFIC_PRODUCTS","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":null,"popupPlacementType":"PRODUCT_PAGE","specificProducts":[{"shopifyId":"gid://shopify/Product/8668831744174","shopifyHandle":"the-substance-official-character-mini-poster","variantIds":[]}],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]}]}"upsell-app-config-data='{"analyticsBaseUrl":"https:\/\/essential-upsell-publisher.essential-apps.com","sfk":"NTcxMTJlNTAwZDJkZmJlNGEzNWRiYTZlOTc3OGJlZTc=","baseUrl":"https:\/\/essential-upsell.supercorp.ai"}' 3654 product-page-product="null"product-page-selling-plan-groups="null" 3655 selling-plan-translations="[]" 3656 product-page-collection-ids="[]" 3657 first-shop-product-id="9264094380206" 3658 shop-money-format="${{amount}}" 3659 market-handle="north-america" 3660 presentment-currency="USD" 3661 customer-tags="null" 3662 cart-items=' 3663[]' 3664></essential-upsell-app-embed> 3665 3666 3667</div><div id="shopify-block-AdmdXU3VUQ3hMTm1rN__8764476057892802672" class="shopify-block shopify-app-block">
3667<link rel="preconnect" href="https://app.restockrocket.io" crossorigin><link rel="preconnect" href="https://mubi-shop-2020.myshopify.com" crossorigin><!-- Config and setup JS -->
3668<script id="RestockRocketConfig"> 3669 window._RestockRocketConfig = window._RestockRocketConfig || {} 3670 window._RestockRocket = window._RestockRocket || {} 3671 window._Stoq = window._RestockRocket 3672 window._StoqConfig = window._RestockRocketConfig 3673 try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { } 3674 function normalizeLocale(locale) { 3675 if (!locale || locale.trim() === '') { 3676 return ''; 3677 } 3678 return locale.toString().toLowerCase().replace(/-/g, '_'); 3679 } 3680 3681 window._RestockRocketConfig.locale = 'en'; 3682 window._RestockRocketConfig.normalizedLocale = normalizeLocale('en'); 3683 window._RestockRocketConfig.shop = 'mubi-shop-2020.myshopify.com'; 3684 window._RestockRocketConfig.pageType = 'search'; 3685 window._RestockRocketConfig.liquidRenderedAt = 1791084539;window._RestockRocketConfig.marketId = 22055747758;window._RestockRocketConfig.countryName = 'United States'; 3686 window._RestockRocketConfig.countryIsoCode = 'US';window._RestockRocketConfig.languageIsoCode = 'en';window._RestockRocketConfig.cartInventoryQuantity = {}; 3687 if (!window._RestockRocketConfig.cartToken) { 3688 try { 3689 const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/); 3690 if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]); 3691 } catch (e) { } 3692 } 3693window._RestockRocketConfig.cachedSettings = {"id":25777,"shop_id":25623,"currency":"USD","created_at":"2025-02-28T16:58:57.857Z","updated_at":"2026-10-01T04:37:06.927Z","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":false,"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":"window.addEventListener('stoq:loaded', function () {\r\n function forceRerender() {\r\n if (window._RestockRocket && typeof window._RestockRocket.renderButtonsForPage === 'function') {\r\n window._RestockRocket.renderButtonsForPage();\r\n }\r\n }\r\n setTimeout(forceRerender, 800); // catches cards still animating in on load\r\n setTimeout(forceRerender, 2500); // second pass for lazy/late cards\r\n});","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_custom_domain_enabled":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":false,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":".buy-buttons .button","insert_button_after_selector_type":"afterend","storefront_button_position_type":"specific","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"Preorders must be purchased
3693separately from regular items. Please complete your current order first, or clear your cart to continue.","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":".product-card__media","insert_button_after_selector_index":".product-card__media","push_enabled":false,"push_allowed":true,"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":"Nunito, sans-serif","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":".product-card__media","show_button_on_page":false,"insert_button_after_selector_search":".product-card__media","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":".collection__main","index_buttons_container":".shopify-section--featured-collections","page_buttons_container":".shopify-section--featured-collections","search_buttons_container":".shopify-section--featured-collections","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":".shopify-payment-button","preorder_add_to_cart_button_selector":".buy-buttons .button","preorder_badge_selector":".product-title","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":".product-form .form","preorder_collection_enabled":true,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":".product-card__quick-add-button","preorder_index_enabled":true,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":true,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":true,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":".product-card__media","preorder_index_badge_selector":".product-card__media","preorder_page_badge_selector":".product-card__media","preorder_search_badge_selector":".product-card__media","preorder_badge_selector_type":"beforeend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"buy-buttons","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":".buy-buttons","preorder_payment_insert_selector_type":"beforebegin","preorder_price_container_selector":".price-list.price-list--product","preorder_price_container_selector_insert_type":"beforeend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":".price-list.price-list--product sale-price","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":".buy-buttons","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":"","preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":"","countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":"","restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-10-01T04:37:06.979Z","multi_language_enabled":true,"translation_locale":"en","translations":{"en":{"resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","optin_email_body":"You recently registered to receive a back in stock email alert for {{product.title_incl_variant}} from our store - {{shop.name}}. Please confirm your alert registration by clicking this link - {{request.activation_link}}","optin_email_subject":"Confirm your back in stock alert registration","optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_text":"Notify me when available","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","storefront_form_button_text":"Notify me when available","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_email_label":"Email","storefront_form_email_placeholder":"Email address","storefront_form_error":"Please enter a valid email address","storefront_form_header":"Notify me","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_phone_label":"Phone number","storefront_form_phone_placeholder":"SMS","storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","storefront_form_quantity_label":"Quantity","storefront_form_success":"Thank y
3693ou! We will notify you when the product is available.","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","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_form_push_input":"Send notification to your browser","storefront_form_push_label":"Push","storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","storefront_mixed_cart_error":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Error","payment_collection_email_subject":"Action Required: Complete Your Payment for Order #{{order.name}}","payment_collection_email_header":"Action Required: Complete Your Payment","payment_collection_email_description":"We were unable to process the remaining balance payment for your order #{{order.name}}. To complete your order, please click the button below to make the payment manually.","payment_collection_email_button_text":"Complete payment","shipping_update_subject":"Shipping update for Order {{order.name}}","shipping_update_header":"Shipping update for Order {{order.name}}","shipping_update_description":"Thanks for preordering from {{shop.name}}. Due to unforeseen circumstances, your preorder products in order {{order.name}} will be delayed. We will do our best to ship your product as soon as possible."}},"disable_refresh_on_stale_liquid":false,"api_host":"https://ext.stoqapp.com"};window._RestockRocketConfig.storefrontAccessToken = "328bd6209709823e7de263e1439954f5"; 3694 window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production'; 3695 window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[47215210332334,47215210365102,47215210397870,47215210430638],"updated_at":"2026-02-06T18:08:17Z","market_locations_enabled":true,"market_id":22055747758,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null}; 3696 window._RestockRocketConfig.cachedPreorderVariantIdsMarketKey = "preorder_variant_ids_for_market_22055747758";window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{"47130319421614":[5,35],"47648328646830":[4,10],"47648330678446":[3,30],"47648331268270":[5,19],"47892392444078":[null,10],"48085595521198":[163,165],"49340522922158":[5,35]},"updated_at":"2026-10-04T03:24:02Z","shopify_market_id":22055747758,"market_locations_enabled":true}; 3697 window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_22055747758";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2026-10-04T03:24:02Z","shopify_market_id":22055747758,"market_locations_enabled":true}; 3698 window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_22055747758"; 3699window._RestockRocketConfig.sellingPlans = [];(function() { 3700 const cachedData = {"plans":[{"shopify_selling_plan_group_id":3513385134,"shopify_selling_plan_id":5632360622,"enabled":true,"variant_ids":[47892392444078],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Pre-order before it's gone.","preorder_button_description_enabled":false,"preorder_button_description_background_color":"#1F2937","preorder_button_description_text_color":"#FFFFFF","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":"2026-04-14T10:55:29.640Z","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":"Orders will be shipped from July","shipping_applies_to_all_products":true,"shipping_text":"Orders will be shipped from July","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":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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":"2026-04-14T10:55:29.640Z","billing_after_n_intervals":null,"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":5632360622,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-09-16T11:06:25.069Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":3863511214,"shopify_selling_plan_id":31888867502,"enabled":true,"variant_ids":[49340522922158],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Orders will be shipped in October","preorder_button_description_enabled":true,"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":0,"delivery_at":"2026-03-24T00:00:00.000Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":false,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"24 Mar 2026","shipping_applies_to_all_products":true,"shipping_text":"24 Mar 2026","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":"0.0","pricing_percentage":"0.0","discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":true,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":false,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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-11-26T15:13:41.432Z","billing_after_n_intervals":0,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":"0.0","pricing_percentage":"0.0","billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":31888867502,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-09-25T17:26:02.379Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":3404398766,"shopify_selling_plan_id":5517017262,"enabled":true,"variant_ids":[47648331268270],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Pre-order before it's gone.","preorder_button_description_enabled":false,"preorder_button_description_background_color":"#1F2937","preorder_button_description_text_color":"#FFFFFF","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":"2026-04-14T10:55:29.640Z","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":"Orders will be shipped from June","shipping_applies_to_all_products":true,"shipping_text":"Orders will be shipped from June","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":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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":"2026-04-14T10:55:29.640Z","billing_after_n_intervals":null,"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":5517017262,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-08-31T20:50:44.000Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":3751608494,"shopify_selling_plan_id":5876711598,"enabled":true,"variant_ids":[48085595521198],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Orders will be shipped in September","preorder_button_description_enabled":true,"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":0,"delivery_at":"2026-03-24T00:00:00.000Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":false,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"24 Mar 2026","shipping_applies_to_all_products":true,"shipping_text":"24 Mar 2026","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":"0.0","pricing_percentage":"0.0","discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":true,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":false,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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-11-26T15:13:41.432Z","billing_after_n_intervals":0,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":"0.0","pricing_percentage":"0.0","billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":5876711598,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-09-16T11:04:17.883Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":3762946222,"shopify_selling_plan_id":5888704686,"enabled":true,"variant_ids":[48072218116270],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Orders will be shipped in September","preorder_button_description_enabled":true,"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":0,"delivery_at":"2026-03-24T00:00:00.000Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":false,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"24 Mar 2026","shipping_applies_to_all_products":true,"shipping_text":"24 Mar 2026","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":"0.0","pricing_percentage":"0.0","discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":true,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":false,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":true,"shopify_market_ids":[42324000942,42324099246,42120020142,42325475502,42325639342,1991540910,42325442734],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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-11-26T15:13:41.432Z","billing_after_n_intervals":0,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":"0.0","pricing_percentage":"0.0","billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":5888704686,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-09-16T11:03:20.803Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":2750644398,"shopify_selling_plan_id":4677599406,"enabled":true,"variant_ids":[],"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_enabled":true,"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":null,"delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":false,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: As soon as possible","shipping_applies_to_all_products":true,"shipping_text":"ASAP","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":null,"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":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":null,"billing_at":null,"billing_after_n_intervals":null,"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":4677599406,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-02-28T17:03:12.890Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":3404431534,"shopify_selling_plan_id":5517050030,"enabled":true,"variant_ids":[47648330678446],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Pre-order before it's gone.","preorder_button_description_enabled":false,"preorder_button_description_background_color":"#1F2937","preorder_button_description_text_color":"#FFFFFF","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":"2026-04-14T10:55:29.640Z","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":"Orders will be shipped from June","shipping_applies_to_all_products":true,"shipping_text":"Orders will be shipped from June","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":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":true,"shopify_market_ids":[1991540910],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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":"2026-04-14T10:55:29.640Z","billing_after_n_intervals":null,"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":5517050030,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-09-11T09:33:21.000Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":3447259310,"shopify_selling_plan_id":5562466478,"enabled":true,"variant_ids":[47515559133358],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Orders will be shipped in August","preorder_button_description_enabled":true,"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":0,"delivery_at":"2026-03-24T00:00:00.000Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":false,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"24 Mar 2026","shipping_applies_to_all_products":true,"shipping_text":"24 Mar 2026","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":"0.0","pricing_percentage":"0.0","discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":true,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":false,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":true,"shopify_market_ids":[22055747758],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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-11-26T15:13:41.432Z","billing_after_n_intervals":0,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":"0.0","pricing_percentage":"0.0","billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":5562466478,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-08-30T02:14:55.584Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":2752118958,"shopify_selling_plan_id":4679073966,"enabled":true,"variant_ids":[],"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_enabled":true,"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":null,"delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":false,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: As soon as possible","shipping_applies_to_all_products":true,"shipping_text":"ASAP","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":null,"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":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":null,"billing_at":null,"billing_after_n_intervals":null,"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":4679073966,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-02-28T18:59:36.488Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":3273425070,"shopify_selling_plan_id":5352521902,"enabled":true,"variant_ids":[47130319421614],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Orders expected to ship in January","preorder_button_description_enabled":true,"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":0,"delivery_at":"2025-11-26T15:13:41.432Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":false,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: As soon as possible","shipping_applies_to_all_products":true,"shipping_text":"ASAP","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":"0.0","pricing_percentage":"0.0","discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":true,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":false,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":true,"shopify_market_ids":[22055747758],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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-11-26T15:13:41.432Z","billing_after_n_intervals":0,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":"0.0","pricing_percentage":"0.0","billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":5352521902,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-03-05T19:17:46.000Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":3404464302,"shopify_selling_plan_id":5517082798,"enabled":true,"variant_ids":[47648330678446],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Pre-order before it's gone.","preorder_button_description_enabled":false,"preorder_button_description_background_color":"#1F2937","preorder_button_description_text_color":"#FFFFFF","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":"2026-04-14T10:55:29.640Z","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":"Orders will be shipped from June","shipping_applies_to_all_products":true,"shipping_text":"Orders will be shipped from June","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":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":true,"shopify_market_ids":[22055747758],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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":"2026-04-14T10:55:29.640Z","billing_after_n_intervals":null,"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":5517082798,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-08-15T17:17:14.000Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}},{"shopify_selling_plan_group_id":3404333230,"shopify_selling_plan_id":5516820654,"enabled":true,"variant_ids":[47648328646830],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Pre-order before it's gone.","preorder_button_description_enabled":false,"preorder_button_description_background_color":"#1F2937","preorder_button_description_text_color":"#FFFFFF","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":"2026-04-14T10:55:29.640Z","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":"Orders will be shipped from June","shipping_applies_to_all_products":true,"shipping_text":"Orders will be shipped from June","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":false,"custom_line_item_property_text":null,"preorder_button_colors_enabled":false,"markets_enabled":false,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"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":"2026-04-14T10:55:29.640Z","billing_after_n_intervals":null,"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":5516820654,"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,"acknowledgement_line_item_property_enabled":false,"acknowledgement_line_item_property_text":"Preorder Terms Accepted","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-06-08T14:53:12.934Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased
3700separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"batches_enabled":false,"preorder_batches":[],"translations":{}}],"disabled_plan_ids":[5895454894,5562499246,31888900270,5729222830,5449187502,5352489134,5729190062,5331386542,5469536430,5281644718,4677533870,5281349806,4677566638,5331419310,4678123694,5417009326],"has_in_stock_offer":false,"has_preorder_offer":true,"read_flags":{"enable_storefront_product_reads":true},"cached_at":"2026-09-25T17:40:19Z"}; 3701 3702 if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { 3703 window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; 3704 const oldPlans = window._RestockRocketConfig.sellingPlans; 3705 const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 3706 ? oldPlans.reduce(function(max, plan) { 3707 if (plan.updated_at) { 3708 const planDate = new Date(plan.updated_at); 3709 const maxDate = max ? new Date(max) : null; 3710 return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; 3711 } 3712 return max; 3713 }, '') 3714 : null; 3715 const cachedDate = new Date(cachedData.cached_at); 3716 const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; 3717 const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); 3718 3719 if (useCached) { 3720 if (Array.isArray(cachedData.plans)) { 3721 window._RestockRocketConfig.sellingPlans = cachedData.plans; 3722 window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; 3723 console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); 3724 } 3725 } else { 3726 window._RestockRocketConfig.disabledSellingPlanIds = []; 3727 console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); 3728 } 3729 } 3730 })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [{"id":"6b50b1d7-69c5-4376-9b84-70d098aa116a","shop_id":25623,"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-02-28T16:59:38.976Z","updated_at":"2025-06-07T10:40:28.159Z"},{"id":"2ec2eaee-ec53-4509-bf66-362484d4fa7e","shop_id":25623,"enabled":true,"page_types":["index"],"configuration":{"quickBuyModalSelector":".quick-add-modal[open]","quickBuyOpenFormSelector":"product-form form","quickBuyModalOpenDuration":1500,"quickBuyModalOpenInterval":250,"quickBuyOpenButtonSelector":".quick-add__submit","quickBuyBadgeInsertSelector":".price","quickBuyPriceInsertSelector":".price-item","quickBuyVariantInputSelector":"[name=\"id\"]","quickBuyOriginalPriceSelector":".price-item.price-item--regular","quickBuyPaymentInsertSelector":".product-form__buttons","quickBuyModalBuyButtonSelector":".shopify-payment-button","quickBuyNotifyMeInsertSelector":"[name=\"add\"]","quickBuyBadgeInsertSelectorType":"beforeend","quickBuyPriceInsertSelectorType":"afterend","quickBuyDisclaimerInsertSelector":"[name=\"add\"]","quickBuyModalProductInputSelector":"[name=\"product-id\"]","quickBuyPaymentInsertSelectorType":"beforebegin","quickBuyNotifyMeInsertSelectorType":"afterend","quickBuyDisclaimerInsertSelectorType":"afterend","quickBuyModalAddToCartButtonSelector":"[name=\"add\"]","quickBuyModalOpenButtonSetupInterval":250,"quickBuyModalShowPreorderButtonDelay":500,"quickBuyModalAddToCartButtonTextSelector":"span"},"type":"quick_buy","css_config":null,"js_config":null,"created_at":"2025-11-27T14:43:51.319Z","updated_at":"2025-11-27T15:09:22.630Z"}]; 3731 try { 3732 var _sqCfg = window._RestockRocketConfig; 3733 var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && 3734 _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); 3735 var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && 3736 _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; 3737 _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); 3738 } catch (e) { } 3739 try { 3740 var _sqc = window._RestockRocketConfig; 3741 var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); 3742 var _sqPre = (_sqc.cachedPreorderVariantIds && 3743 _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; 3744 var _sqArm = false;
3745 if (_sqOn && _sqc.preordersConfigured) { 3746 if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { 3747 _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; }); 3748 } else { 3749 _sqArm = (_sqc.integrations || []).some(function (i) { 3750 return i && i.type === 'featured_product' && i.enabled && 3751 Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1; 3752 }); 3753 } 3754 } 3755 if (_sqArm && document.documentElement) { 3756 _sqc.acceleratedGateArmed = true; 3757 document.documentElement.classList.add('stoq-buy-now-pending'); 3758 setTimeout(function () { 3759 document.documentElement.classList.remove('stoq-buy-now-pending'); 3760 }, 6000); 3761 } 3762 } catch (e) { } 3763 3764 window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-product.js' 3765 window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-collection.js' 3766 window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-product-bis.js' 3767 window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-collection-bis.js' 3768 window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) 3769 window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' 3770 try { 3771 const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); 3772 window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; 3773 } catch (e) { 3774 window._RestockRocketConfig.appVersion = ''; 3775 } 3776 const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; 3777 const LIQUID_CACHE_MAX_AGE = 15 * 60; 3778 const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; 3779 if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { 3780 console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); 3781 window._RestockRocketConfig.isLiquidCacheFresh = true; 3782 window._RestockRocketConfig.liquidCacheAge = null; 3783 } else { 3784 const now = Math.floor(Date.now() / 1000); 3785 const liquidCacheAge = now - liquidRenderedAt; 3786 window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); 3787 if (liquidCacheAge < 0) { 3788 console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); 3789 window._RestockRocketConfig.isLiquidCacheFresh = true; 3790 } else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) { 3791 console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); 3792 window._RestockRocketConfig.isLiquidCacheFresh = true; 3793 } else { 3794 console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); 3795 window._RestockRocketConfig.isLiquidCacheFresh = false; 3796 } 3797 } 3798 3799 function checkSettingsExpiry(settings) { 3800 try { 3801 if (!settings || !settings.updated_at) { 3802 console.debug('STOQ - Invalid settings data structure'); 3803 return null; 3804 } 3805 3806 if (!settings.cache) { 3807 console.debug('STOQ - settings caching disabled'); 3808 return null; 3809 } 3810 if (settings.multi_language_enabled) { 3811 if (!settings.translations) { 3812 console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); 3813 return null; 3814 } 3815 if (window._RestockRocketConfig.normalizedLocale && 3816 !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { 3817 console.debug('STOQ - locale not explicitly translated, will use default language from cache'); 3818 } 3819 } 3820 3821 const updatedAt = new Date(settings.updated_at); 3822 if (isNaN(updatedAt.getTime())) { 3823 console.debug('STOQ - Invalid updated_at date format in settings'); 3824 return null; 3825 } 3826 3827 const age = Date.now() - updatedAt.getTime(); 3828 if (age < SETTINGS_CACHE_DURATION) { 3829 console.debug('STOQ - settings changed recently, skipping cache'); 3830 return null; 3831 } 3832 3833 return settings; 3834 } catch (error) { 3835 console.debug('STOQ - Error checking settings cache:', error); 3836 return null; 3837 } 3838 } 3839 3840 function createRestockRocketContainer() { 3841 const restockRocketContainer = document.createElement('div'); 3842 restockRocketContainer.id = 'restock-rocket'; 3843 document.body.appendChild(restockRocketContainer); 3844 } 3845 3846 function createRestockRocketScript(scriptUrl) { 3847 const restockRocketScriptElement = document.createElement('script'); 3848 restockRocketScriptElement.setAttribute('defer', 'defer'); 3849 restockRocketScriptElement.src = scriptUrl; 3850 document.body.appendChild(restockRocketScriptElement); 3851 } 3852 3853 createRestockRocketContainer() 3854 3855 console.debug('STOQ - extension activated') 3856 try { 3857 const _stoqInitConfig = window._RestockRocketConfig; 3858 const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)
3858) 3859 ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) 3860 : []; 3861 const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; 3862 var _stoqPageSeq = 0; 3863 try { 3864 _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1; 3865 window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq)); 3866 } catch (e) { } 3867 Shopify?.analytics?.publish?.('stoq_initialized', { 3868 cart_token: _stoqInitConfig.cartToken || '', 3869 page_url: window.location.href, 3870 page_type: _stoqInitConfig.pageType || '', 3871 shop_domain: _stoqInitConfig.shop || '', 3872 market_id: _stoqInitConfig.marketId || '', 3873 country_code: _stoqInitConfig.countryIsoCode || '', 3874 detected_variant_ids: _stoqDetectedVariantIds, 3875 selected_variant_id: _stoqSelectedVariantId || '', 3876 page_load_seq: _stoqPageSeq, 3877 liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, 3878 app_version: _stoqInitConfig.appVersion || '', 3879 liquid_cache_age: _stoqInitConfig.liquidCacheAge, 3880 inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', 3881 inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], 3882 }); 3883 } catch (e) { 3884 console.debug('STOQ - stoq_initialized publish failed:', e); 3885 } 3886 try { 3887 var _sqTrack = window._RestockRocketConfig; 3888 if (_sqTrack.preordersConfigured) { 3889 document.addEventListener('click', function (e) { 3890 try { 3891 var t = e.target; 3892 if (!t || !t.closest) return; 3893 var host = t.closest('.shopify-payment-button, shopify-payment-terms'); 3894 if (!host) return; 3895 var channel = host.matches && host.matches('shopify-payment-terms') 3896 ? 'shop_pay_installments' : 'buy_now'; 3897 var form = host.closest('form'); 3898 var vidEl = form && form.querySelector('[name="id"]'); 3899 var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || ''; 3900 var _sqVidNum = Number(variantId); 3901 var _sqPlan = null; 3902 var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : []; 3903 var _sqMktId = Number(_sqTrack.marketId); 3904 var _sqForVariant = function (pl) { 3905 return pl && pl.enabled && Array.isArray(pl.variant_ids) && 3906 pl.variant_ids.indexOf(_sqVidNum) !== -1; 3907 }; 3908 _sqPlans.forEach(function (pl) { 3909 if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && 3910 Array.isArray(pl.shopify_market_ids) && 3911 pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } 3912 }); 3913 if (!_sqPlan) { 3914 _sqPlans.forEach(function (pl) { 3915 if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; } 3916 }); 3917 } 3918 Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', { 3919 variant_id: variantId, 3920 product_id: (_sqTrack.product && _sqTrack.product.id) || '', 3921 channel: channel, 3922 market_id: _sqTrack.marketId || '', 3923 country_code: _sqTrack.countryIsoCode || '', 3924 page_type: _sqTrack.pageType || '', 3925 cart_token: _sqTrack.cartToken || '', 3926 page_url: (window.location && window.location.href) || '', 3927 properties: { 3928 is_preorder_variant: (function () { 3929 var vid = Number(variantId); 3930 var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; }; 3931 return has(_sqTrack.preorderVariantIds) || 3932 has(_sqTrack.cachedPreorderVariantIds && 3933 _sqTrack.cachedPreorderVariantIds.preorder_variant_ids); 3934 })(), 3935 in_enabled_plan: !!_sqPlan, 3936 is_instock_variant: (function () { 3937 var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; 3938 return has(_sqTrack.inStockVariantIds) || 3939 has(_sqTrack.cachedInStockVariantIds && 3940 _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); 3941 })(), 3942 enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', 3943 enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', 3944 block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false), 3945 gate_armed: !!_sqTrack.acceleratedGateArmed, 3946 gate_active_at_click: !!(document.documentElement && 3947 document.documentElement.classList.contains('stoq-buy-now-pending')), 3948 blocked: (function () { 3949 try { 3950 var rr = window._RestockRocket; 3951 return !!(rr && typeof rr.willBlockAcceleratedCl
3951ick === 'function' && 3952 rr.willBlockAcceleratedClick(e)); 3953 } catch (err) { return false; } 3954 })(), 3955 }, 3956 }); 3957 } catch (err) { } 3958 }, true); 3959 } 3960 } catch (e) { } 3961 function applyTranslations(settings) { 3962 try { 3963 if (!settings || !settings.multi_language_enabled) { 3964 return settings; 3965 } 3966 3967 if (!settings.translations) { 3968 console.debug('STOQ - No translations found, skipping translation'); 3969 return settings; 3970 } 3971 3972 const normalizedLocale = window._RestockRocketConfig.normalizedLocale; 3973 const translations = settings.translations; 3974 3975 if (!normalizedLocale) { 3976 console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); 3977 delete settings.translations; 3978 return settings; 3979 } 3980 3981 console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); 3982 3983 const translatedFields = translations[normalizedLocale]; 3984 if (translatedFields && typeof translatedFields === 'object') { 3985 Object.keys(translatedFields).forEach(function(key) { 3986 const value = translatedFields[key]; 3987 if (value !== null && value !== undefined && value !== '') { 3988 settings[key] = value; 3989 } 3990 }); 3991 } else { 3992 console.debug('STOQ - No translated fields found for locale:', normalizedLocale); 3993 } 3994 3995 delete settings.translations; 3996 return settings; 3997 } catch (e) { 3998 console.debug('STOQ - error applying translations:', e); 3999 return settings; 4000 } 4001 } 4002 function setupCartSellingPlanUpdater(settings) { 4003 window.addEventListener('stoq:inventory-data-loaded', function(event) { 4004 console.debug('STOQ - Inventory data loaded, updating cart selling plans'); 4005 if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { 4006 window._RestockRocket.updateCartSellingPlans() 4007 .then(hasUpdates => { 4008 if (hasUpdates) { 4009 console.debug('STOQ - cart selling plans updated successfully'); 4010 } else { 4011 console.debug('STOQ - no cart selling plan updates needed'); 4012 } 4013 }) 4014 .catch(error => { 4015 console.error('STOQ - error updating cart selling plans:', error); 4016 }); 4017 } 4018 }); 4019 } 4020 function storefrontGraphql(query, variables) { 4021 const cfg = window._RestockRocketConfig; 4022 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) { 4023 return Promise.reject(new Error('Storefront API unavailable')); 4024 } 4025 return fetch( 4026 `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`, 4027 { 4028 method: 'POST', 4029 headers: { 4030 'Content-Type': 'application/json', 4031 'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken, 4032 }, 4033 body: JSON.stringify({ query: query, variables: variables }), 4034 } 4035 ) 4036 .then(function(response) { 4037 if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); } 4038 return response.json(); 4039 }) 4040 .then(function(body) { 4041 if (body && body.errors && body.errors.length) { 4042 throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', ')); 4043 } 4044 return body && body.data; 4045 }); 4046 } 4047 function fetchStorefrontShopMetafield(key) { 4048 const cfg = window._RestockRocketConfig; 4049 const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }'; 4050 return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key }) 4051 .then(function(data) { 4052 const value = data && data.shop && data.shop.metafield && data.shop.metafield.value; 4053 if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); } 4054 return JSON.parse(value); 4055 }); 4056 } 4057 (function loadStorefrontSettings() { 4058 const cfg = window._RestockRocketConfig; 4059 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return; 4060 function run() { 4061 // The live-settings read is one more shop-level metafield fetch, so it 4062 // shares fetchStorefrontShopMetafield with the integrations/selling_plans 4063 // reads rather than re-issuing the same query + parse. 4064 fetchStorefrontShopMetafield('settings') 4065 .then(function(settings) { 4066 cfg.storefrontSettings = settings; 4067 console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings'); 4068 }) 4069 .catch(function(e) { 4070 console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message); 4071 }); 4072 } 4073 4074 if (typeof window.requestIdleCallback === 'function') { 4075 window.requestIdleCallback(run, { timeout: 5000 }); 4076 } else { 4077 setTimeout(run, 0); 4078 } 4079 })(); 4080 const cachedSettings = window._RestockRocketConfig.cachedSettings; 4081 const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; 4082 4083 if (validCachedSettings) { 4084 console.debug('STOQ - using cached settings'); 4085 initializeScripts(validCachedSettings); 4086 } else { 4087 console.debug('STOQ - fetching fresh settings'); 4088 const headers = { 4089 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 4090 'ngrok-skip-browser-warning': 'skip' 4091 }; 4092 4093 if (window.Shopify?.theme?.role === 'main') { 4094 headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; 4095 headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; 4096 headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; 4097 } 4098 4099 fetch( 4100 `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, 4101 { headers } 4102 ) 4103 .then(function(response) { 4104 if (!response.ok) { 4105 throw new Error('Network response was not ok'); 4106 } 4107 return response.json(); 4108 }) 4109 .then(function(settings) { 4110 initializeScripts(settings); 4111 }) 4112 .catch(function(error) { 4113 if (cachedSettings) { 4114 console.debug('STOQ - using expired cached settings as fallback'); 4115 initializeScripts(cachedSettings); 4116 } else { 4117 console.error('STOQ - failed to load settings:', error); 4118 } 4119 }) 4120 .catch(function(e) { 4121 console.error(e) 4122 }) 4123 } 4124 4125 function fetchEmbedConfig(endpoint, apply) { 4126 return fetch( 4127 `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`, 4128 { 4129 headers: { 4130 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 4131 'ngrok-skip-browser-warning': 'skip' 4132 } 4133 } 4134 ) 4135 .then(function(response) { 4136 if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`); 4137 return response.json(); 4138 }) 4139 .then(function(data) {
4140 try { 4141 apply(data); 4142 } catch (applyError) { 4143 console.error('STOQ - apply failed for ' + endpoint + ':', applyError); 4144 throw applyError; 4145 } 4146 }) 4147 .catch(function(error) { 4148 console.debug(`STOQ - using cached ${endpoint}:`, error.message); 4149 }); 4150 } 4151 function refreshShopConfig(source) { 4152 const cfg = window._RestockRocketConfig; 4153 const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); }; 4154 const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true; 4155 if (!flagOn || source.embedOnly === true) { return viaEmbed(); } 4156 4157 return fetchStorefrontShopMetafield(source.metafieldKey) 4158 .then(function(value) { 4159 if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); } 4160 source.apply(value); 4161 console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API'); 4162 }) 4163 .catch(function(error) { 4164 console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message); 4165 return viaEmbed(); 4166 }); 4167 } 4168 function refreshIntegrations() { 4169 const cfg = window._RestockRocketConfig; 4170 return refreshShopConfig({ 4171 endpoint: 'integrations', 4172 metafieldKey: 'integrations', 4173 flag: 'enable_storefront_integrations_read', 4174 isValid: function(value) { return Array.isArray(value); }, 4175 apply: function(data) { 4176 cfg.integrations = data; 4177 } 4178 }); 4179 } 4180 function refreshSellingPlans(embedOnly) { 4181 const cfg = window._RestockRocketConfig; 4182 return refreshShopConfig({ 4183 embedOnly: embedOnly === true, 4184 endpoint: 'selling_plans', 4185 metafieldKey: 'cachedSellingPlans', 4186 flag: 'enable_storefront_selling_plans_read', 4187 isValid: function(value) { return !!value && Array.isArray(value.plans); }, 4188 apply: function(data) { 4189 cfg.sellingPlans = data.plans; 4190 cfg.disabledSellingPlanIds = data.disabled_plan_ids || []; 4191 if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) { 4192 cfg.readFlags = data.read_flags; 4193 } 4194 } 4195 }); 4196 } 4197 4198 function initializeScripts(settings) { 4199 settings = applyTranslations(settings); 4200 window._RestockRocketConfig.settings = settings; 4201 console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); 4202 const forceEmbedSellingPlans = settings.force_embed_selling_plans === true; 4203 const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid; 4204 if (forceEmbedSellingPlans || staleRefresh) { 4205 console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)')); 4206 const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)]; 4207 if (staleRefresh) { refreshes.push(refreshIntegrations()); } 4208 Promise.race([ 4209 Promise.all(refreshes), 4210 new Promise(function(resolve) { setTimeout(resolve, 1000); }) 4211 ]).then(function() { loadScripts(settings); }); 4212 return; 4213 } 4214 4215 loadScripts(settings); 4216 } 4217 4218 function loadScripts(settings) { 4219 setupCartSellingPlanUpdater(settings); 4220 4221 if(settings.enable_app) { 4222 const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { 4223 return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); 4224 }) 4225 const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) 4226 && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; }); 4227 const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds) 4228 && window._RestockRocketConfig.disabledSellingPlanIds.length > 0; 4229 const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds; 4230 4231 const collectionScriptUrl = usePreorderBuild 4232 ? window._RestockRocketConfig.scriptUrlCollection 4233 : window._RestockRocketConfig.scriptUrlCollectionBis; 4234 const productScriptUrl = usePreorderBuild 4235 ? window._RestockRocketConfig.scriptUrlProduct 4236 : window._RestockRocketConfig.scriptUrlProductBis; 4237 4238 const pageType = window._RestockRocketConfig.pageType; 4239 const collectionPageTypes = ['collection', 'index', 'search', 'page']; 4240
4241 if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) { 4242 createRestockRocketScript(collectionScriptUrl); 4243 } else if(pageType === 'product') { 4244 createRestockRocketScript(productScriptUrl); 4245 } else if(hijackIntegration) { 4246 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 4247 } else if(usePreorderBuild) { 4248 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 4249 } else { 4250 console.debug(`STOQ - no scripts enabled for ${pageType}`); 4251 } 4252 const appLoadedEvent = new CustomEvent('stoq:loaded', { 4253 detail: { 4254 pageType: window._RestockRocketConfig.pageType, 4255 enabled: settings.enable_app, 4256 settings: settings, 4257 preorderEnabled: settings.preorder_enabled 4258 } 4259 }); 4260 console.debug('STOQ - dispatching app loaded event'); 4261 window.dispatchEvent(appLoadedEvent); 4262 } 4263 } 4264</script>
4264<style id="RestockRocketStyle">html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}</style> 4265 4266 4267</div><div id="shopify-block-AYVh2eG5seWR6K0EzZ__6141582171523228424" class="shopify-block shopify-app-block">
4267<script src="//cdn.shopify.com/extensions/01a0ca72-e20e-7e37-b11b-69467298a8ea/29-adb7c67ff991881fe58b32352c944a481bbcbb8b/assets/BrazeUtilities.js" type="text/javascript"></script>
vendor: 1 bytes, line 4267
4267
4268<script src="//cdn.shopify.com/extensions/01a0ca72-e20e-7e37-b11b-69467298a8ea/29-adb7c67ff991881fe58b32352c944a481bbcbb8b/assets/BrazeBannerScript.js" type="text/javascript"></script>
4268 4269
4270<script type="text/javascript"> 4271 const brazeWebSDKPoller = setInterval(()=>{ 4272 // if the conditional is false, then we don't need to poll anymore and should clear the interval 4273 // if the conditional is true, but readValueFromLocalStorageWithRetry doesn't exist, we should retry 4274 // if the conditional is true and readValueFromLocalStorageWithRetry exists we should load the script and clear the interval 4275 readValueFromLocalStorageWithRetry('brazeAppSettings').then((data) => { 4276 loadScriptTag("https://cdn.shopify.com/extensions/01a0ca72-e20e-7e37-b11b-69467298a8ea/29-adb7c67ff991881fe58b32352c944a481bbcbb8b/assets/BrazeWebSdkScript.js", "module"); 4277 }); 4278 clearInterval(brazeWebSDKPoller); 4279 }, 2000) 4280</script>
4280 4281 4282 4283</div>
4283<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
4283 4284</body> 4285</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.