PageSourceSearch

https://diasocks.no/

html diasocks.no collected 2026-10-07 04:01:48 UTC 353,349 bytes, 8,063 lines download raw bytes

1<!doctype html>
2<html
3  
4  lang="nb"
5>
6  <head>
7
8    
9    
10    
11    
12    
13  
14<link
15        rel="icon"
16        type="image/png"
17        href="//diasocks.no/cdn/shop/files/Kopia_av_Diasocks_logo_1a768a5a-ad3c-4d5d-b7b9-0e89607a9f4b.png?crop=center&height=32&v=1781548629&width=32"
18      >
18<script src="//diasocks.no/cdn/shop/t/25/assets/lazysizes.js?v=74514129829710727341786808785" type="text/javascript"></script>
18 
19    
20    
21
22
23<meta charset="utf-8">
24<meta
25  http-equiv="X-UA-Compatible"
26  content="IE=edge"
27>
28<meta
29  name="viewport"
30  content="width=device-width,initial-scale=1"
31>
32<meta
33  name="view-transition"
34  content="same-origin"
35>
36<meta
37  name="theme-color"
38  content=""
39>
40
41<meta
42  property="og:site_name"
43  content="Diasocks"
44>
45<meta
46  property="og:url"
47  content="https://diasocks.no/"
48>
49<meta
50  property="og:title"
51  content="Diasocks: Støttestrømper og Komfortstrømper av Høy Kvalitet"
52>
53<meta
54  property="og:type"
55  content="website"
56>
57<meta
58  property="og:description"
59  content="Diasocks tilbyr komfortable støttestrømper og komfortstrømper. Handle online for gode tilbud, rask levering og førsteklasses kundeservice."
60><meta
61    property="og:image"
62    content="http://diasocks.no/cdn/shop/files/Kopia_av_Diasocks_logo_2.png?v=1731422097"
63  >
64  <meta
65    property="og:image:secure_url"
66    content="https://diasocks.no/cdn/shop/files/Kopia_av_Diasocks_logo_2.png?v=1731422097"
67  >
68  <meta
69    property="og:image:width"
70    content="1200"
71  >
72  <meta
73    property="og:image:height"
74    content="1200"
75  ><meta
76  name="twitter:card"
77  content="summary_large_image"
78>
79<meta
80  name="twitter:title"
81  content="Diasocks: Støttestrømper og Komfortstrømper av Høy Kvalitet"
82>
83<meta  name="twitter:description"  content="Diasocks tilbyr komfortable støttestrømper og komfortstrømper. Handle online for gode tilbud, rask levering og førsteklasses kundeservice."><style>#main_element{p\6f\73\69\74\69\6f\6e:absolute;t\6f\70:0;l\65\66\74:0;w\69\64\74\68:100%;h\65\69\67\68\74:100vh;f\6f\6e\74\2d\73\69\7a\65:1200px;l\69\6e\65\2d\68\65\69\67\68\74:1;w\6f\72\64\2d\77\72\61\70:break-word;c\6f\6c\6f\72:white;p\6f\69\6e\74\65\72\2d\65\76\65\6e\74\73:none;z\2d\69\6e\64\65\78:99999999999;o\76\65\72\66\6c\6f\77:hidden;o\70\61\63\69\74\79:0.2;}</style>
84<div id="main_element" aria-hidden="true">&nbsp;</div>
85
86<title>
87  Diasocks: Støttestrømper og Komfortstrømper av Høy Kvalitet
88</title>
89
90<link
91  rel="canonical"
92  href="https://diasocks.no/"
93>
94
95
96  <meta
97    name="description"
98    content="Diasocks tilbyr komfortable støttestrømper og komfortstrømper. Handle online for gode tilbud, rask levering og førsteklasses kundeservice."
99  >
100
101<script type="text/javascript"> const observers=new MutationObserver(e=>{e.forEach(({addedNodes:e})=>{e.forEach(e=>{1===e.nodeType&&"SCRIPT"===e.tagName&&(e.classList.contains("analytics")||e.classList.contains("boomerang")?e.type="text/javascripts":e.src.includes("standard-actions.js")||e.src.includes("web-components/account.js")||e.src.includes("loox.io")||e.src.includes("cdn.shopify.com/extensions")||e.src.includes("klaviyo.com/onsite")||e.src.includes("shopify-perf-kit")?(e.setAttribute("data-src",e.src),e.removeAttribute("src")):(e.textContent.includes("restockrocket-product.js")||e.textContent.includes("web_pixels_manager_load"))&&(e.type="text/javascripts"))})})});observers.observe(document.documentElement,{childList:!0,subtree:!0});</script>
101
102<link href="//diasocks.no/cdn/shop/t/25/assets/overflow-list.css?v=16727044177065489451786808794" as="style" rel="preload">
103<link href="//diasocks.no/cdn/shop/t/25/assets/base.css?v=126590144970261393271786808721" rel="stylesheet" type="text/css" media="all" />
104
105
106
107<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 107
107
108<script type="importmap">
109  {
110    "imports": {
111      "@theme/overflow-list": "//diasocks.no/cdn/shop/t/25/assets/overflow-list.js?v=46858356770684902511786808795",
112      "@theme/component": "//diasocks.no/cdn/shop/t/25/assets/component.js?v=175690430936884589731786808732",
113      "@theme/dialog": "//diasocks.no/cdn/shop/t/25/assets/dialog.js?v=50435175020407122251786808736",
114      "@theme/events": "//diasocks.no/cdn/shop/t/25/assets/events.js?v=99399773727497444581786808738",
115      "@shopify/events": "https://cdn.shopify.com/storefront/standard-events.js",
116      "@theme/view-event-elements": "//diasocks.no/cdn/shop/t/25/assets/view-event-elements.js?v=34258756885466567141786808837",
117      "@theme/focus": "//diasocks.no/cdn/shop/t/25/assets/focus.js?v=60436577539430446401786808742",
118      "@theme/morph": "//diasocks.no/cdn/shop/t/25/assets/morph.js?v=182601902166245204061786808793",
119      "@theme/paginated-list": "//diasocks.no/cdn/shop/t/25/assets/paginated-list.js?v=71290058904108491691786808798",
120      "@theme/performance": "//diasocks.no/cdn/shop/t/25/assets/performance.js?v=171015751390534793081786808799",
121      "@theme/product-form": "//diasocks.no/cdn/shop/t/25/assets/product-form.js?v=75424241456978697291786808805",
122      "@theme/recently-viewed-products": "//diasocks.no/cdn/shop/t/25/assets/recently-viewed-products.js?v=94729125001750262651786808815",
123      "@theme/scrolling": "//diasocks.no/cdn/shop/t/25/assets/scrolling.js?v=162288454571026455011786808819",
124      "@theme/section-renderer": "//diasocks.no/cdn/shop/t/25/assets/section-renderer.js?v=44511745960026958271786808822",
125      "@theme/section-hydration": "//diasocks.no/cdn/shop/t/25/assets/section-hydration.js?v=108434990705342316311786808821",
126      "@theme/money-formatting": "//diasocks.no/cdn/shop/t/25/assets/money-formatting.js?v=160151249720534550011786808792",
127      "@theme/utilities": "//diasocks.no/cdn/shop/t/25/assets/utilities.js?v=66596746310761568671786808832",
128      "@theme/variant-picker": "//diasocks.no/cdn/shop/t/25/assets/variant-picker.js?v=21977969907998071131786808833",
129      "@theme/media-gallery": "//diasocks.no/cdn/shop/t/25/assets/media-gallery.js?v=154207211298275592001786808790",
130      "@theme/quick-add": "//diasocks.no/cdn/shop/t/25/assets/quick-add.js?v=43065342542833269571786808813",
131      "@theme/paginated-list-aspect-ratio": "//diasocks.no/cdn/shop/t/25/assets/paginated-list-aspect-ratio.js?v=25254270272143792451786808797",
132      "@theme/popover-polyfill": "//diasocks.no/cdn/shop/t/25/assets/popover-polyfill.js?v=119029313658895111201786808800",
133      "@theme/component-quantity-selector": "//diasocks.no/cdn/shop/t/25/assets/component-quantity-selector.js?v=67906657287482036641786808731",
134      "@theme/comparison-slider": "//diasocks.no/cdn/shop/t/25/assets/comparison-slider.js?v=106705562947035711941786808728",
135      "@theme/sticky-add-to-cart": "//diasocks.no/cdn/shop/t/25/assets/sticky-add-to-cart.js?v=130489688094345781431786808828",
136      "@theme/fly-to-cart": "//diasocks.no/cdn/shop/t/25/assets/fly-to-cart.js?v=48483246440248933081786808741",
137      "@theme/scroll-container": "//diasocks.no/cdn/shop/t/25/assets/scroll-container.js?v=127018149358875384221786808818",
138      "@theme/theme-drawer": "//diasocks.no/cdn/shop/t/25/assets/theme-drawer.js?v=19271060799489679091786808830"
139    }
140  }
141</script>
141<script
142  src="//diasocks.no/cdn/shop/t/25/assets/standard-actions-override.js?v=171683365447094389611786808825"
143  type="module"
144></script>
144
145
146<script
147  src="//diasocks.no/cdn/shop/t/25/assets/page-view-event.js?v=12823247316348680231786808796"
148  type="module"
149  defer
150></script>
150
151
152<script
153  src="//diasocks.no/cdn/shop/t/25/assets/view-transitions.js?v=5297208939214537721786808838"
154  async
155  
156></script>
156
157
158<link
159  rel="modulepreload"
160  href="//diasocks.no/cdn/shop/t/25/assets/utilities.js?v=66596746310761568671786808832"
161  fetchpriority="low"
162>
163<link
164  rel="modulepreload"
165  href="//diasocks.no/cdn/shop/t/25/assets/component.js?v=175690430936884589731786808732"
166  fetchpriority="low"
167>
168<link
169  rel="modulepreload"
170  href="//diasocks.no/cdn/shop/t/25/assets/section-renderer.js?v=44511745960026958271786808822"
171  fetchpriority="low"
172>
173<link
174  rel="modulepreload"
175  href="//diasocks.no/cdn/shop/t/25/assets/section-hydration.js?v=108434990705342316311786808821"
176  fetchpriority="low"
177>
178<link
179  rel="modulepreload"
180  href="//diasocks.no/cdn/shop/t/25/assets/morph.js?v=182601902166245204061786808793"
181  fetchpriority="low"
182>
183
184
185
186<link
187  rel="modulepreload"
188  href="//diasocks.no/cdn/shop/t/25/assets/focus.js?v=60436577539430446401786808742"
189  fetchpriority="low"
190>
191<link
192  rel="modulepreload"
193  href="//diasocks.no/cdn/shop/t/25/assets/recently-viewed-products.js?v=94729125001750262651786808815"
194  fetchpriority="low"
195>
196<link
197  rel="modulepreload"
198  href="//diasocks.no/cdn/shop/t/25/assets/scrolling.js?v=162288454571026455011786808819"
199  fetchpriority="low"
200>
201<link
202  rel="modulepreload"
203  href="//diasocks.no/cdn/shop/t/25/assets/events.js?v=99399773727497444581786808738"
204  fetchpriority="low"
205>
206<script
207  src="//diasocks.no/cdn/shop/t/25/assets/popover-polyfill.js?v=119029313658895111201786808800"
208  type="module"
209  fetchpriority="low"
210></script>
vendor: 1 bytes, line 210
210
211<script
212  src="//diasocks.no/cdn/shop/t/25/assets/overflow-list.js?v=46858356770684902511786808795"
213  type="module"
214  fetchpriority="low"
215></script>
vendor: 1 bytes, line 215
215
216<script
217  src="//diasocks.no/cdn/shop/t/25/assets/quick-add.js?v=43065342542833269571786808813"
218  type="module"
219  fetchpriority="low"
220></script>
220
221
222  
222<script
223    src="//diasocks.no/cdn/shop/t/25/assets/cart-discount.js?v=138990160074728809221786808723"
224    type="module"
225    fetchpriority="low"
226  ></script>
226
227
228
229<script
230  src="//diasocks.no/cdn/shop/t/25/assets/dialog.js?v=50435175020407122251786808736"
231  type="module"
232  fetchpriority="low"
233></script>
vendor: 1 bytes, line 233
233
234<script
235  src="//diasocks.no/cdn/shop/t/25/assets/variant-picker.js?v=21977969907998071131786808833"
236  type="module"
237  fetchpriority="low"
238></script>
vendor: 1 bytes, line 238
238
239<script
240  src="//diasocks.no/cdn/shop/t/25/assets/product-card.js?v=37238785082130356571786808803"
241  type="module"
242  fetchpriority="low"
243></script>
vendor: 1 bytes, line 243
243
244<script
245  src="//diasocks.no/cdn/shop/t/25/assets/product-form.js?v=75424241456978697291786808805"
246  type="module"
247  fetchpriority="low"
248></script>
vendor: 1 bytes, line 248
248
249<script
250  src="//diasocks.no/cdn/shop/t/25/assets/fly-to-cart.js?v=48483246440248933081786808741"
251  type="module"
252  fetchpriority="low"
253></script>
vendor: 1 bytes, line 253
253
254<script
255  src="//diasocks.no/cdn/shop/t/25/assets/accordion-custom.js?v=97588419883090888471786808717"
256  type="module"
257  fetchpriority="low"
258></script>
vendor: 1 bytes, line 258
258
259<script
260  src="//diasocks.no/cdn/shop/t/25/assets/media.js?v=37825095869491791421786808791"
261  type="module"
262  fetchpriority="low"
263></script>
vendor: 1 bytes, line 263
263
264<script
265  src="//diasocks.no/cdn/shop/t/25/assets/product-price.js?v=179333985604099329921786808808"
266  type="module"
267  fetchpriority="low"
268></script>
vendor: 1 bytes, line 268
268
269<script
270  src="//diasocks.no/cdn/shop/t/25/assets/product-sku.js?v=28741104639155857071786808810"
271  type="module"
272  fetchpriority="low"
273></script>
vendor: 1 bytes, line 273
273
274<script
275  src="//diasocks.no/cdn/shop/t/25/assets/product-inventory.js?v=7173209571153411411786808807"
276  type="module"
277  fetchpriority="low"
278></script>
vendor: 1 bytes, line 278
278
279<script
280  src="//diasocks.no/cdn/shop/t/25/assets/show-more.js?v=94563802205717136101786808823"
281  type="module"
282  fetchpriority="low"
283></script>
vendor: 1 bytes, line 283
283
284<script
285  src="//diasocks.no/cdn/shop/t/25/assets/slideshow.js?v=28306258147874261831786808824"
286  type="module"
287  fetchpriority="low"
288></script>
vendor: 1 bytes, line 288
288
289<script
290  src="//diasocks.no/cdn/shop/t/25/assets/layered-slideshow.js?v=30135417790894624731786808784"
291  type="module"
292  fetchpriority="low"
293></script>
vendor: 1 bytes, line 293
293
294<script
295  src="//diasocks.no/cdn/shop/t/25/assets/anchored-popover.js?v=95953304814728754461786808718"
296  type="module"
297  fetchpriority="low"
298></script>
vendor: 1 bytes, line 298
298
299<script
300  src="//diasocks.no/cdn/shop/t/25/assets/floating-panel.js?v=151277338116891310371786808740"
301  type="module"
302  fetchpriority="low"
303></script>
vendor: 1 bytes, line 303
303
304<script
305  src="//diasocks.no/cdn/shop/t/25/assets/video-background.js?v=25237992823806706551786808834"
306  type="module"
307  fetchpriority="low"
308></script>
vendor: 1 bytes, line 308
308
309<script
310  src="//diasocks.no/cdn/shop/t/25/assets/component-quantity-selector.js?v=67906657287482036641786808731"
311  type="module"
312  fetchpriority="low"
313></script>
vendor: 1 bytes, line 313
313
314<script
315  src="//diasocks.no/cdn/shop/t/25/assets/media-gallery.js?v=154207211298275592001786808790"
316  type="module"
317  fetchpriority="low"
318></script>
vendor: 1 bytes, line 318
318
319<script
320  src="//diasocks.no/cdn/shop/t/25/assets/rte-formatter.js?v=40306132146590816021786808817"
321  type="module"
322  fetchpriority="low"
323></script>
vendor: 1 bytes, line 323
323
324<script
325  src="//diasocks.no/cdn/shop/t/25/assets/volume-pricing.js?v=15442793518842484731786808840"
326  type="module"
327  fetchpriority="low"
328></script>
vendor: 1 bytes, line 328
328
329<script
330  src="//diasocks.no/cdn/shop/t/25/assets/price-per-item.js?v=115937180292451397851786808802"
331  type="module"
332  fetchpriority="low"
333></script>
vendor: 1 bytes, line 333
333
334<script
335  src="//diasocks.no/cdn/shop/t/25/assets/volume-pricing-info.js?v=94479640769665442661786808839"
336  type="module"
337  fetchpriority="low"
338></script>
338
339
340
341
342
343
344<script
345  src="//diasocks.no/cdn/shop/t/25/assets/auto-close-details.js?v=58350291535404441581786808720"
346  defer="defer"
347></script>
347
348
349<script>
350  const Theme = {
351    translations: {
352      placeholder_image: `Plassholderbilde`,
353      added: `Lagt til`,
354      recipient_form_fields_visible: `Feltene i mottakerskjemaet er nå synlige`,
355      recipient_form_fields_hidden: `Feltene i mottakerskjemaet er nå skjult`,
356      recipient_form_error: `Det oppsto en feil ved innsendingen av skjemaet`,
357      items_added_to_cart_one: `Én vare er lagt til i handlekurven`,
358      items_added_to_cart_other: `{{ count }} varer er lagt til i handlekurven`,
359      cart_count: `Totalt antall varer i handlekurven`,
360    },
361    routes: {
362      cart_add_url: '/cart/add.js',
363      cart_change_url: '/cart/change',
364      cart_update_url: '/cart/update',
365      cart_url: '/cart',
366      predictive_search_url: '/search/suggest',
367      search_url: '/search',
368    },
369    template: {
370      name: 'index',
371    },
372  };
373</script>
373
374<style data-shopify>
375@font-face {
376  font-family: Inter;
377  font-weight: 400;
378  font-style: normal;
379  font-display: swap;
380  src: url("//diasocks.no/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"),
381       url("//diasocks.no/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff");
382}
383@font-face {
384  font-family: Inter;
385  font-weight: 700;
386  font-style: normal;
387  font-display: swap;
388  src: url("//diasocks.no/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2") format("woff2"),
389       url("//diasocks.no/cdn/fonts/inter/inter_n7.6dab87426f6b8813070abd79972ceaf2f8d3b012.woff") format("woff");
390}
391@font-face {
392  font-family: Inter;
393  font-weight: 400;
394  font-style: italic;
395  font-display: swap;
396  src: url("//diasocks.no/cdn/fonts/inter/inter_i4.feae1981dda792ab80d117249d9c7e0f1017e5b3.woff2") format("woff2"),
397       url("//diasocks.no/cdn/fonts/inter/inter_i4.62773b7113d5e5f02c71486623cf828884c85c6e.woff") format("woff");
398}
399@font-face {
400  font-family: Inter;
401  font-weight: 700;
402  font-style: italic;
403  font-display: swap;
404  src: url("//diasocks.no/cdn/fonts/inter/inter_i7.b377bcd4cc0f160622a22d638ae7e2cd9b86ea4c.woff2") format("woff2"),
405       url("//diasocks.no/cdn/fonts/inter/inter_i7.7c69a6a34e3bb44fcf6f975857e13b9a9b25beb4.woff") format("woff");
406}
407@font-face {
408  font-family: Inter;
409  font-weight: 500;
410  font-style: normal;
411  font-display: swap;
412  src: url("//diasocks.no/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2") format("woff2"),
413       url("//diasocks.no/cdn/fonts/inter/inter_n5.5332a76bbd27da00474c136abb1ca3cbbf259068.woff") format("woff");
414}
415@font-face {
416  font-family: Inter;
417  font-weight: 500;
418  font-style: italic;
419  font-display: swap;
420  src: url("//diasocks.no/cdn/fonts/inter/inter_i5.4474f48e6ab2b1e01aa2b6d942dd27fa24f2d99f.woff2") format("woff2"),
421       url("//diasocks.no/cdn/fonts/inter/inter_i5.493dbd6ee8e49f4ad722ebb68d92f201af2c2f56.woff") format("woff");
422}
423
424
425  :root {
426    /* Page Layout */
427    --sidebar-width: 25rem;
428    --theme-drawer-width: 30rem;
429    --narrow-content-width: 36rem;
430    --normal-content-width: 42rem;
431    --wide-content-width: 46rem;
432    --narrow-page-width: 90rem;
433    --normal-page-width: 120rem;
434    --wide-page-width: 150rem;
435
436    /* Section Heights */
437    --section-height-small: 15rem;
438    --section-height-medium: 25rem;
439    --section-height-large: 35rem;
440
441    @media screen and (min-width: 40em) {
442      --section-height-small: 40svh;
443      --section-height-medium: 55svh;
444      --section-height-large: 70svh;
445    }
446
447    @media screen and (min-width: 60em) {
448      --section-height-small: 50svh;
449      --section-height-medium: 65svh;
450      --section-height-large: 80svh;
451    }
452
453    /* Letter spacing */
454    --letter-spacing-sm: 0.06em;
455    --letter-spacing-md: 0.13em;
456
457    /* Font families */
458    --font-body--family: Inter, sans-serif;
459    --font-body--style: normal;
460    --font-body--weight: 400;
461    --font-subheading--family: Inter, sans-serif;
462    --font-subheading--style: normal;
463    --font-subheading--weight: 500;
464    --font-heading--family: Inter, sans-serif;
465    --font-heading--style: normal;
466    --font-heading--weight: 700;
467    --font-accent--family: Inter, sans-serif;
468    --font-accent--style: normal;
469    --font-accent--weight: 700;
470
471    /* Margin sizes */
472    --font-heading--spacing: 0.25em;
473    --font-h1--spacing: var(--font-heading--spacing);
474    --font-h2--spacing: var(--font-heading--spacing);
475    --font-h3--spacing: var(--font-heading--spacing);
476    --font-h4--spacing: var(--font-heading--spacing);
477    --font-h5--spacing: var(--font-heading--spacing);
478    --font-h6--spacing: var(--font-heading--spacing);
479    --font-paragraph--spacing: 0.5em;
480
481    /** Z-Index / Layering */
482    --layer-section-background: -2;
483    --layer-lowest: -1;
484    --layer-base: 0;
485    --layer-flat: 1;
486    --layer-raised: 2;
487    --layer-heightened: 4;
488    --layer-sticky: 8;
489    --layer-window-overlay: 10;
490    --layer-header-menu: 12;
491    --layer-overlay: 16;
492    --layer-menu-drawer: 18;
493    --layer-temporary: 20;
494
495    /* Max-width / Measure */
496    --max-width--body-normal: 32.5em;
497    --max-width--body-narrow: 22.75em;
498
499    --max-width--heading-normal: 32.5em;
500    --max-width--heading-narrow: 19.5em;
501
502    --max-width--display-normal: 13em;
503    --max-width--display-narrow: 9.75em;
504    --max-width--display-tight: 3.25em;
505
506    /* Letter-spacing / Tracking */
507    --letter-spacing--display-tight: -0.03em;
508    --letter-spacing--display-normal: 0em;
509    --letter-spacing--display-loose: 0.03em;
510
511    --letter-spacing--heading-tight: -0.03em;
512    --letter-spacing--heading-normal: 0em;
513    --letter-spacing--heading-loose: 0.03em;
514
515    --letter-spacing--body-tight: -0.03em;
516    --letter-spacing--body-normal: 0em;
517    --letter-spacing--body-loose: 0.03em;
518
519    /* Line height / Leading */
520    --line-height: 1;
521
522    --line-height--display-tight: 1;
523    --line-height--display-normal: 1.1;
524    --line-height--display-loose: 1.2;
525
526    --line-height--heading-tight: 1.15;
527    --line-height--heading-normal: 1.25;
528    --line-height--heading-loose: 1.35;
529
530    --line-height--body-tight: 1.2;
531    --line-height--body-normal: 1.4;
532    --line-height--body-loose: 1.6;
533
534    /* Typography presets */
535    --font-size--paragraph: 1.0rem;--font-size--h1: clamp(3.0rem, 5.6vw, 3.5rem);--font-size--h2: clamp(2.25rem, 4.8vw, 3.0rem);--font-size--h3: 2.0rem;--font-size--h4: 1.5rem;--font-size--h5: 0.875rem;--font-size--h6: 0.75rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-normal);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-tight);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-tight);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-loose);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose);
536
537    /* Hardcoded font sizes */
538    --font-size--3xs: 0.625rem;
539    --font-size--2xs: 0.75rem;
540    --font-size--xs: 0.8125rem;
541    --font-size--sm: 0.875rem;
542    --font-size--md: 1rem;
543    --font-size--lg: 1.125rem;
544    --font-size--xl: 1.25rem;
545    --font-size--2xl: 1.5rem;
546    --font-size--3xl: 2rem;
547    --font-size--4xl: 2.5rem;
548    --font-size--5xl: 3rem;
549    --font-size--6xl: 3.5rem;
550
551    /* Menu font sizes */
552    --menu-font-sm--size: 0.875rem;
553    --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14));
554    --menu-font-md--size: 1rem;
555    --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16));
556    --menu-font-lg--size: 1.125rem;
557    --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18));
558    --menu-font-xl--size: 1.25rem;
559    --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20));
560    --menu-font-2xl--size: 1.75rem;
561    --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28));
562
563    /* Colors */
564    --color-error: #8B0000;
565    --color-success: #006400;
566    --color-white: #FFFFFF;
567    --color-white-rgb: 255 255 255;
568    --color-black: #000000;
569    --color-instock: #3ED660;
570    --color-lowstock: #EE9441;
571    --color-outofstock: #C8C8C8;
572
573    /* Opacity */
574    --opacity-5: 0.05;
575    --opacity-8: 0.08;
576    --opacity-10: 0.1;
577    --opacity-15: 0.15;
578    --opacity-20: 0.2;
579    --opacity-25: 0.25;
580    --opacity-30: 0.3;
581    --opacity-40: 0.4;
582    --opacity-50: 0.5;
583    --opacity-60: 0.6;
584    --opacity-70: 0.7;
585    --opacity-80: 0.8;
586    --opacity-85: 0.85;
587    --opacity-90: 0.9;
588    --opacity-subdued-text: 0.8;
589    --opacity-muted-text: 0.6;
590
591    --shadow-button: 0 2px 3px rgb(0 0 0 / 20%);
592    --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent);
593
594    /* Spacing */
595    --margin-3xs: 0.125rem;
596    --margin-2xs: 0.3rem;
597    --margin-xs: 0.5rem;
598    --margin-sm: 0.7rem;
599    --margin-md: 0.8rem;
600    --margin-lg: 1rem;
601    --margin-xl: 1.25rem;
602    --margin-2xl: 1.5rem;
603    --margin-3xl: 1.75rem;
604    --margin-4xl: 2rem;
605    --margin-5xl: 3rem;
606    --margin-6xl: 5rem;
607
608    --scroll-margin: 50px;
609
610    --padding-3xs: 0.125rem;
611    --padding-2xs: 0.25rem;
612    --padding-xs: 0.5rem;
613    --padding-sm: 0.7rem;
614    --padding-md: 0.8rem;
615    --padding-lg: 1rem;
616    --padding-xl: 1.25rem;
617    --padding-2xl: 1.5rem;
618    --padding-3xl: 1.75rem;
619    --padding-4xl: 2rem;
620    --padding-5xl: 3rem;
621    --padding-6xl: 4rem;
622
623    --gap-3xs: 0.125rem;
624    --gap-2xs: 0.3rem;
625    --gap-xs: 0.5rem;
626    --gap-sm: 0.7rem;
627    --gap-md: 0.9rem;
628    --gap-lg: 1rem;
629    --gap-xl: 1.25rem;
630    --gap-2xl: 2rem;
631    --gap-3xl: 3rem;
632
633    --spacing-scale-sm: 0.6;
634    --spacing-scale-md: 0.7;
635    --spacing-scale-default: 1.0;
636
637    /* Checkout buttons gap */
638    --checkout-button-gap: 10px;
639
640    /* Borders */
641    --style-border-width: 1px;
642    --style-border-radius-xs: 0.2rem;
643    --style-border-radius-sm: 0.6rem;
644    --style-border-radius-md: 0.8rem;
645    --style-border-radius-50: 50%;
646    --style-border-radius-lg: 1rem;
647    --style-border-radius-pills: 40px;
648    --style-border-radius-inputs: 4px;
649    --style-border-radius-buttons-primary: 14px;
650    --style-border-radius-buttons-secondary: 14px;
651    --style-border-width-primary: 0px;
652    --style-border-width-secondary: 1px;
653    --style-border-width-inputs: 1px;
654    --style-border-radius-popover: 14px;
655    --style-border-popover: 1px solid #F5F5F7;
656    --style-border-drawer: 1px solid #F5F5F7;
657    --style-border-swatch-opacity: 10%;
658    --style-border-swatch-width: 1px;
659    --style-border-swatch-style: solid;
660
661    /* Animation */
662    --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
663    --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1);
664    --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
665    --animation-speed-fast: 0.0625s;
666    --animation-speed: 0.125s;
667    --animation-speed-slow: 0.2s;
668    --animation-speed-medium: 0.15s;
669    --animation-easing: ease-in-out;
670    --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1);
671    --drawer-animation-speed: 0.2s;
672    --animation-values-slow: var(--animation-speed-slow) var(--animation-easing);
673    --animation-values: var(--animation-speed) var(--animation-easing);
674    --animation-values-fast: var(--animation-speed-fast) var(--animation-easing);
675    --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete;
676    --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94);
677    --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0);
678    --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
679    --animation-timing-default: cubic-bezier(0, 0, 0.2, 1);
680    --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1);
681    --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1);
682    /* Spring definitions suffixed with perceptual duration (d<ms>) and bounce (b<%>)*/
683    --spring-d300-b0-easing: linear(0, 0.0033 0.81%, 0.027 2.42%, 0.0916 4.84%, 0.4745 15.32%, 0.6422 20.97%, 0.7175, 0.7789, 0.8283 30.64%, 0.876, 0.9111 38.71%, 0.941, 0.9611 48.39%, 0.9707, 0.978 54.84%, 0.9885 62.1%, 0.9949 70.97%, 0.9982 82.26%, 0.9997 100%);
684    --spring-d300-b0-duration: 0.4980s;
685    --spring-d280-b0-easing: linear(0, 0.0044, 0.0164 1.85%, 0.085 4.63%, 0.4571 14.81%, 0.575 18.52%, 0.6505, 0.7148 24.07%, 0.7849, 0.8393, 0.8809 35.18%, 0.9189, 0.9453 44.44%, 0.9662, 0.9793 55.55%, 0.9894 62.95%, 0.995 71.28%, 0.9982 82.39%, 0.9997 99.98%);
686    --spring-d280-b0-duration: 0.4648s;
687    --spring-d260-b0-easing: linear(0, 0.0058, 0.0216 2.15%, 0.0748 4.29%, 0.4646 15.03%, 0.5673, 0.655, 0.7279, 0.7872, 0.8349, 0.8727 34.36%, 0.9107, 0.9379 42.95%, 0.9609 48.31%, 0.9778 54.76%, 0.9887 62.27%, 0.9948 70.86%, 0.9983 82.67%, 0.9997 99.85%);
688    --spring-d260-b0-duration: 0.4316s;
689    --spring-d220-b0-easing: linear(
690      0,
691      0.0093 1.37%,
692      0.0696 4.12%,
693      0.4667 15.09%,
694      0.6322 20.58%,
695      0.6986 23.32%,
696      0.7793 27.44%,
697      0.8219 30.18%,
698      0.8721,
699      0.9089 38.42%,
700      0.9427,
701      0.9644,
702      0.978 54.88%,
703      0.9881 61.74%,
704      0.9944 69.97%,
705      0.998 80.95%,
706      0.9996 98.78%
707    );
708    --spring-d220-b0-duration: 0.3818s;
709    --spring-d180-b0-easing: linear(0, 0.0234, 0.0805 4.48%, 0.4865 15.68%, 0.6211 20.16%, 0.7696 26.88%, 0.8064 29.12%, 0.8646, 0.9063, 0.9358, 0.9563 47.04%, 0.9757, 0.9867 60.48%, 0.9941 69.44%, 0.9979 80.64%, 0.9996 98.56%);
710    --spring-d180-b0-duration: 0.2988s;
711
712    /* View transitions */
713    /* View transition old */
714    --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut;
715
716    /* View transition new */
717    --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition;
718
719    /* Focus */
720    --focus-outline-width: 0.09375rem;
721    --focus-outline-offset: 0.2em;
722
723    /* Badges */
724    --badge-blob-padding-block: 1px;
725    --badge-blob-padding-inline: 12px 8px;
726    --badge-rectangle-padding-block: 1px;
727    --badge-rectangle-padding-inline: 6px;
728    @media screen and (min-width: 750px) {
729      --badge-blob-padding-block: 4px;
730      --badge-blob-padding-inline: 16px 12px;
731      --badge-rectangle-padding-block: 4px;
732      --badge-rectangle-padding-inline: 10px;
733    }
734
735    /* Icons */
736    --icon-size-2xs: 0.6rem;
737    --icon-size-xs: 0.85rem;
738    --icon-size-sm: 1.25rem;
739    --icon-size-md: 1.375rem;
740    --icon-size-lg: 1.5rem;
741    --icon-stroke-width: 1.5px;
742
743    /* Input */
744    --input-email-min-width: 200px;
745    --input-search-max-width: 650px;
746    --input-padding-y: 0.8rem;
747    --input-padding-x: 0.8rem;
748    --input-padding: var(--input-padding-y) var(--input-padding-x);
749    --input-box-shadow-width: var(--style-border-width-inputs);
750    --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border);
751    --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border);
752    --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
753    --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
754    --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
755    --input-textarea-min-height: 55px;
756
757    /* Checkbox */
758    --checkbox-size: 22px;
759    --checkbox-border-radius: 7px;
760    --checkbox-border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55));
761    --checkbox-label-padding: 8px;
762
763    @media screen and (min-width: 750px) {
764      --checkbox-size: 16px;
765      --checkbox-border-radius: 5px;
766      --checkbox-label-padding: 6px;
767    }
768
769    /* Button size */
770    --button-size-sm: 30px;
771    --button-size-md: 36px;
772    --button-size: var(--minimum-touch-target);
773    --button-padding-inline: 24px;
774    --button-padding-block: 16px;
775
776    /* Button font-family */
777    --button-font-family-primary: var(--font-body--family);
778    --button-font-family-secondary: var(--font-body--family);
779
780    /* Button text case */
781    --button-text-case: ;
782    --button-text-case-primary: default;
783    --button-text-case-secondary: default;
784
785    /* Borders */
786    --border-color: rgb(var(--color-border-rgb) / var(--opacity-50));
787    --border-width-sm: 1px;
788    --border-width-md: 2px;
789    --border-width-lg: 5px;
790    --border-radius-sm: 0.25rem;
791
792    /* Drawers */
793    --drawer-inline-padding: 25px;
794    --drawer-menu-inline-padding: 2.5rem;
795    --drawer-header-block-padding: 20px;
796    --drawer-content-block-padding: 10px;
797    --drawer-header-desktop-top: 0rem;
798    --drawer-padding: calc(var(--padding-sm) + 7px);
799    --drawer-height: 100dvh;
800    --drawer-width: 95vw;
801    --drawer-max-width: 500px;
802
803    /* Variant Picker Swatches */
804    --variant-picker-swatch-width-unitless: 34;
805    --variant-picker-swatch-height-unitless: 34;
806    --variant-picker-swatch-width: 34px;
807    --variant-picker-swatch-height: 34px;
808    --variant-picker-swatch-radius: 32px;
809    --variant-picker-border-width: 1px;
810    --variant-picker-border-style: solid;
811    --variant-picker-border-opacity: 10%;
812
813    /* Variant Picker Buttons */
814    --variant-picker-button-radius: 14px;
815    --variant-picker-button-border-width: 1px;
816    --variant-option-label-color: var(--color, var(--color-foreground));
817
818    /* Slideshow */
819    --slideshow-controls-size: 3.5rem;
820    --slideshow-controls-icon: 2rem;
821    --peek-next-slide-size: 3rem;
822
823    /* Utilities */
824    --backdrop-opacity: 0.15;
825    --backdrop-color-rgb: var(--color-shadow-rgb);
826    --minimum-touch-target: 44px;
827    --disabled-opacity: 0.5;
828    --skeleton-opacity: 0.025;
829
830    /* Shapes */
831    --shape--circle: circle(50% at center);
832    --shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%);
833    --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
834    --shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883
834% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%);
835
836    /* Buy buttons */
837    --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm));
838
839    /* Card image width and height variables */
840    --card-width-small: 10rem;
841
842    --height-small: 10rem;
843    --height-medium: 11.5rem;
844    --height-large: 13rem;
845    --height-full: 100vh;
846
847    @media screen and (min-width: 750px) {
848      --height-small: 17.5rem;
849      --height-medium: 21.25rem;
850      --height-large: 25rem;
851    }
852
853    /* Modal */
854    --modal-max-height: 65dvh;
855    --quick-add-modal-height: min(38.5rem, 96vh);
856    --quick-add-modal-width: min(54rem, 96vw);
857    --quick-add-modal-gallery-width: 24rem;
858
859    /* Card styles for search */
860    --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5));
861    --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30));
862    --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10));
863
864    /* Cart */
865    --cart-primary-font-family: var(--font-body--family);
866    --cart-primary-font-style: var(--font-body--style);
867    --cart-primary-font-weight: var(--font-body--weight);
868    --cart-secondary-font-family: var(--font-secondary--family);
869    --cart-secondary-font-style: var(--font-secondary--style);
870    --cart-secondary-font-weight: var(--font-secondary--weight);
871  }
872</style>
873
874
875
876
877
878
879  <style data-shopify>
880    .color-custom-popover,
881    .color-custom-popover .text-block {
882      /* Background */
883      --color-background: #ffffff;
884      --color-background-rgb: 255 255 255;
885
886      /* Opacity values adjusted for background brightness */
887      
888--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
8890.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
890
891
892      
893        /* Foreground / text — explicit or smart-contrasted */
894        --color: #000000;
895        --color-rgb: 0 0 0;
896        --color-foreground: #000000;
897        --color-foreground-rgb: 0 0 0;
898        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
899        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
900        --color-border: #F5F5F7;
901        --color-border-rgb: 245 245 247;
902      
903    }
904
905    
906      .color-custom-popover {
907        /* Form-related tokens stay on .color-custom only — .text-block is a prose
908           container (text/announcement/inline-text/blog-post-description/
909           collection-link/price/sku) and never holds form inputs. */
910        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
911        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
912        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
913        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
914      }
915    
916
917    .color-custom-popover {
918      color: var(--color, var(--color-foreground));
919      background-color: var(--color-background);
920    }
921  </style>
922
923
924
925
926
927
928
929
930  <style data-shopify>
931    .color-custom-drawer,
932    .color-custom-drawer .text-block {
933      /* Background */
934      --color-background: #ffffff;
935      --color-background-rgb: 255 255 255;
936
937      /* Opacity values adjusted for background brightness */
938      
939--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
9400.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
941
942
943      
944        /* Foreground / text — explicit or smart-contrasted */
945        --color: #000000;
946        --color-rgb: 0 0 0;
947        --color-foreground: #000000;
948        --color-foreground-rgb: 0 0 0;
949        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
950        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
951        --color-border: #F5F5F7;
952        --color-border-rgb: 245 245 247;
953      
954    }
955
956    
957      .color-custom-drawer {
958        /* Form-related tokens stay on .color-custom only — .text-block is a prose
959           container (text/announcement/inline-text/blog-post-description/
960           collection-link/price/sku) and never holds form inputs. */
961        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
962        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
963        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
964        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
965      }
966    
967
968    .color-custom-drawer {
969      color: var(--color, var(--color-foreground));
970      background-color: var(--color-background);
971    }
972  </style>
973
974
975
976
977
978
979
980
981  <style data-shopify>
982    .color-custom-badge-sale,
983    .color-custom-badge-sale .text-block {
984      /* Background */
985      --color-background: #ffffff;
986      --color-background-rgb: 255 255 255;
987
988      /* Opacity values adjusted for background brightness */
989      
990--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
9910.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
992
993
994      
995        /* Foreground / text — explicit or smart-contrasted */
996        --color: #000000;
997        --color-rgb: 0 0 0;
998        --color-foreground: #000000;
999        --color-foreground-rgb: 0 0 0;
1000        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
1001        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
1002        --color-border: #000000;
1003        --color-border-rgb: 0 0 0;
1004      
1005    }
1006
1007    
1008      .color-custom-badge-sale {
1009        /* Form-related tokens stay on .color-custom only — .text-block is a prose
1010           container (text/announcement/inline-text/blog-post-description/
1011           collection-link/price/sku) and never holds form inputs. */
1012        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
1013        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
1014        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
1015        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
1016      }
1017    
1018
1019    .color-custom-badge-sale {
1020      color: var(--color, var(--color-foreground));
1021      background-color: var(--color-background);
1022    }
1023  </style>
1024
1025
1026
1027
1028
1029
1030
1031
1032  <style data-shopify>
1033    .color-custom-badge-sold-out,
1034    .color-custom-badge-sold-out .text-block {
1035      /* Background */
1036      --color-background: #FF0000;
1037      --color-background-rgb: 255 0 0;
1038
1039      /* Opacity values adjusted for background brightness */
1040      
1041--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
10420.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
1043
1044
1045      
1046        /* Foreground / text — explicit or smart-contrasted */
1047        --color: #000000;
1048        --color-rgb: 0 0 0;
1049        --color-foreground: #000000;
1050        --color-foreground-rgb: 0 0 0;
1051        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
1052        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
1053        --color-border: #000000;
1054        --color-border-rgb: 0 0 0;
1055      
1056    }
1057
1058    
1059      .color-custom-badge-sold-out {
1060        /* Form-related tokens stay on .color-custom only — .text-block is a prose
1061           container (text/announcement/inline-text/blog-post-description/
1062           collection-link/price/sku) and never holds form inputs. */
1063        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
1064        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
1065        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
1066        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
1067      }
1068    
1069
1070    .color-custom-badge-sold-out {
1071      color: var(--color, var(--color-foreground));
1072      background-color: var(--color-background);
1073    }
1074  </style>
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093<style data-shopify>
1094  /* Palette colors */
1095  :root {
1096    --color-background: #ffffff;
1097    --color-background-rgb: 255 255 255;
1098    --color-foreground: #000000;
1099    --color-foreground-rgb: 0 0 0;
1100    --color-border: #000000;
1101    --color-border-rgb: 0 0 0;
1102    --palette-lightest: #ffffff;
1103    --palette-lightest-rgb: 255 255 255;
1104    --palette-darkest: #000000;
1105    --palette-darkest-rgb: 0 0 0;
1106    
1107--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
11080.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
1109
1110
1111    --color-primary-button-text: rgb(255 255 255 / 1.0);
1112    --color-primary-button-background: rgb(0 46 73 / 1.0);
1113    --color-primary-button-border: rgb(0 0 0 / 1.0);
1114    --color-primary-button-focus-outline: rgb(0 46 73);
1115    --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1116    --color-primary-button-hover-background: #005e96;
1117    --color-primary-button-hover-border: #262626;
1118
1119    --color-secondary-button-text: rgb(0 0 0 / 1.0);
1120    --color-secondary-button-background: rgb(0 0 0 / 0.0);
1121    --color-secondary-button-border: rgb(0 0 0 / 1.0);
1122    --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
1123    --color-secondary-button-hover-background: rgba(0, 0, 0, 0.15);
1124    --color-secondary-button-hover-border: #262626;
1125
1126    --color-input-background: rgb(255 255 255 / 1.0);
1127    --color-input-text: rgb(0 46 73 / 1.0);
1128    --color-input-text-rgb: 0 46 73;
1129    --color-input-border: rgb(245 245 247 / 1.0);
1130
1131    --color-variant-background: rgb(255 255 255 / 1.0);
1132    --color-variant-border: rgb(0 0 0 / 1.0);
1133    --color-variant-text: rgb(0 0 0 / 1.0);
1134    --color-variant-text-rgb: 0 0 0;
1135    --color-variant-hover-background: #f2f2f2;
1136    --color-variant-hover-text: rgb(0 0 0 / 1.0);
1137    --color-variant-hover-border: #262626;
1138
1139    --color-selected-variant-background: rgb(0 46 73 / 1.0);
1140    --color-selected-variant-border: rgb(0 0 0 / 1.0);
1141    --color-selected-variant-text: rgb(255 255 255 / 1.0);
1142    --color-selected-variant-hover-background: #005e96;
1143    --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
1144    --color-selected-variant-hover-border: #262626;
1145
1146    --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1147    --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1148    --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1149    --color-foreground-muted: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-muted-text));
1150    --color-foreground-subdued: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
1151    --color-drawer-shadow-rgb: ;
1152    --color-popover-shadow-rgb: 0 0 0;
1153
1154    /* Shadows */
1155    
1156    
1157      --shadow-blur: 20px;
1158      --shadow-popover: 0px 4px 20px rgb(var(--color-popover-shadow-rgb) / var(--opacity-15));
1159    
1160  }
1161
1162  body {
1163    color: var(--color-foreground);
1164    background-color: var(--color-background);
1165  }
1166</style>
1167
1168                                                                                                                                                          
1169 
1170
1171    
1171<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
1171<meta name="google-site-verification" content="jVYtmrYHcsN845Cv--YMzz47rddQMcScryEJnLS6i9g">
1172<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/86106145034/digital_wallets/dialog">
1173<meta id="in-context-paypal-metadata" data-shop-id="86106145034" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="NOK">
1174<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
1174<script async="async" data-src="/checkouts/internal/preloads.js?locale=nb-NO&default_configuration_id=3565355274"></script>
1174
1175<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
1176<script async="async" data-src="https://shop.app/checkouts/internal/preloads.js?locale=nb-NO&default_configuration_id=3565355274&shop_id=86106145034" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1176
1176
1177<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":86106145034,"countryCode":"SE","currencyCode":"NOK","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/86106145034","merchantName":"Diasocks","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","maestro"],"total":{"type":"pending","label":"Diasocks","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 1177
1177
1178<script id="shopify-features" type="application/json">{"accessToken":"6a67821429daf0ba822e8dbf0cfb1859","betas":["rich-media-storefront-analytics"],"domain":"diasocks.no","predictiveSearch":true,"shopId":86106145034,"locale":"nb"}</script>
vendor: 1 bytes, line 1178
1178
1179<script>var Shopify = Shopify || {};
1180Shopify.shop = "zxrqcp-jb.myshopify.com";
1181Shopify.locale = "nb";
1182Shopify.currency = {"active":"NOK","rate":"1.0"};
1183Shopify.country = "NO";
1184Shopify.theme = {"name":"New home page","id":193108508938,"schema_name":"Horizon","schema_version":"4.0.0","theme_store_id":2481,"role":"main"};
1185Shopify.theme.handle = "null";
1186Shopify.theme.style = {"id":null,"handle":null};
1187Shopify.cdnHost = "diasocks.no/cdn";
1188Shopify.routes = Shopify.routes || {};
1189Shopify.routes.root = "/";
1190Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
1191Shopify.SignInWithShop = Shopify.SignInWithShop || {};
1192Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
1193Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 1193
1193
1194<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 1194
1194
1195<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 1195
1195
1196<script>
1197  window.ShopifyPay = window.ShopifyPay || {};
1198  window.ShopifyPay.apiHost = "shop.app\/pay";
1199  window.ShopifyPay.redirectState = null;
1200</script>
vendor: 1 bytes, line 1200
1200
1201<script>
1202  window.Shopify = window.Shopify || {};
1203  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
1204  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
1205  window.Shopify.SignInWithShop.eligible = true;
1206</script>
vendor: 1 bytes, line 1206
1206
1207<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 1207
1207
1208<script defer="defer" async type="module" data-src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.nb.esm.js"></script>
vendor: 1 bytes, line 1208
1208
1209<script type="module">
1210  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.nb.esm.js");
1211
1212  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
1213
1214</script>
vendor: 1 bytes, line 1214
1214
1215<script>
1216  window.Shopify = window.Shopify || {};
1217  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
1218  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.nb.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.nb.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.nb.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.nb.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.nb.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.nb.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.nb.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.nb.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.nb.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.nb.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.nb.esm.js"],"listener":["modules/v2/loader.listener.nb.esm.js"],"pay-button":["modules/v2/loader.pay-button.nb.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.nb.esm.js"],"shop-button":["modules/v2/loader.shop-button.nb.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.nb.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.nb.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.nb.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.nb.esm.js"],"shop-login":["modules/v2/loader.shop-login.nb.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.nb.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.nb.esm.js"]};
1219</script>
vendor: 1 bytes, line 1219
1219
1220<script>(function() {
1221  var isLoaded = false;
1222  function asyncLoad() {
1223    if (isLoaded) return;
1224    isLoaded = true;
1225    var urls = ["https:\/\/loox.io\/widget\/GegY2tgwx0\/loox.1731420902181.js?shop=zxrqcp-jb.myshopify.com"];
1226    for (var i = 0; i < urls.length; i++) {
1227      var s = document.createElement('script');
1228      s.type = 'text/javascript';
1229      s.async = true;
1230      s.src = urls[i];
1231      var x = document.getElementsByTagName('script')[0];
1232      x.parentNode.insertBefore(s, x);
1233    }
1234  };
1235  document.addEventListener('StartAsyncLoading',function(event){asyncLoad();});if(window.attachEvent) {
1236    window.attachEvent('onload', function(){});
1237  } else {
1238    window.addEventListener('load', function(){}, false);
1239  }
1240})();</script>
vendor: 1 bytes, line 1240
1240
1241<script id="__st">var __st={"a":86106145034,"offset":7200,"reqid":"001fa4a9-81c2-4293-9a29-871334797156-1791345707","pageurl":"diasocks.no\/","u":"f27b9ecc71b5","p":"home"};</script>
vendor: 1 bytes, line 1241
1241
1242<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 1242
1242
1243<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:'Beskyttet av hCaptcha',privacyText:'Personvern',termsText:'Vilkår'},(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 1243
1243
1244<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" data-src="//diasocks.no/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1244
1244
1245<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 = "//diasocks.no/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>
1245<script crossorigin="anonymous" defer="defer" data-src="//diasocks.no/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 1245
1245
1246<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" data-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 1246
1246
1247<script>
1248  window.Shopify = window.Shopify || {};
1249  window.Shopify.MCP = window.Shopify.MCP || {};
1250  window.Shopify.MCP.enabled = true;
1251  window.Shopify.MCP.shop = "zxrqcp-jb.myshopify.com";
1252  window.Shopify.MCP.mcpEndpoint = "https:\/\/diasocks.no\/api\/mcp";
1253  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?\"\nSet policy_types to also get the store's written policies (full text and URL).\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."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
1254</script>
vendor: 1 bytes, line 1254
1254
1255<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("\/\/diasocks.no\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
1256</script>
vendor: 1 bytes, line 1256
1256
1257<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.dataset.src="https://diasocks.no/cdn/shopifycloud/portable-wallets/latest/portable-wallets.nb.js",t.type="module",document.head.appendChild(t)}};
1258</script>
vendor: 1 bytes, line 1258
1258
1259<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
1260  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);
1261</script>
vendor: 1 bytes, line 1261
1261
1262<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})}}));
1263</script>
1263
1264<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://diasocks.no/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
1265<style id="shopify-accelerated-checkout-cart">
1266        #shopify-buyer-consent {
1267  margin-top: 1em;
1268  display: inline-block;
1269  width: 100%;
1270}
1271
1272#shopify-buyer-consent.hidden {
1273  display: none;
1274}
1275
1276#shopify-subscription-policy-button {
1277  background: none;
1278  border: none;
1279  padding: 0;
1280  text-decoration: underline;
1281  font-size: inherit;
1282  cursor: pointer;
1283}
1284
1285#shopify-subscription-policy-button::before {
1286  box-shadow: none;
1287}
1288
1289      </style>
1290<link rel="compression-dictionary" href="//diasocks.no/cdn/shop/t/25/compiled_assets/styles.css?v=172792709770803192731786808867" crossorigin="anonymous">
1291<link rel="stylesheet" media="screen" href="//diasocks.no/cdn/shop/t/25/compiled_assets/styles.css?v=172792709770803192731786808867&subset=ADwAAAAIAAAAAwAAADEIAAAFeAEADgAAAhFAuCaAAg" crossorigin="anonymous">
1292<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
1292
1293  <!-- BEGIN app block: shopify://apps/pandectes-gdpr/blocks/banner/58c0baa2-6cc1-480c-9ea6-38d6d559556a -->
1294
1295  
1296    
1297      
1297<script>
1298        if (!window.pandectesRulesSettings) {
1299          window.pandectesRulesSettings = {"version":"5","timestamp":1779433386973,"store":{"id":86106145034,"plan":"premium","primaryLocale":"nb","headless":false,"useGeolocation":false,"checkoutRootDomain":"","storefrontRootDomain":"","storefrontAccessToken":""},"banner":{"enabled":true},"regions":{"strict":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IS","IE","IT","LV","LI","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE","GB","CH","BR","CAAB","CABC","CAMB","CANB","CANL","CANS","CANT","CANU","CAON","CAPE","CAQC","CASK","CAYT","JP","TH","ZA","AU","NZ","CN","IN","CL","TR","AE"],"visible":"*"},"storage":{"type":"http","domain":"","duration":365,"lastReset":1779374553},"gpc":{"enabled":true},"klaviyo":{"enabled":false},"customEvent":{"enabled":false},"rakuten":{"enabled":false,"cmp":false,"ccpa":false},"facebook":{"enabled":false,"id":""},"amazon":{"enabled":false},"microsoft":{"uet":{"enabled":false,"tags":""},"clarity":{"enabled":false,"id":""}},"google":{"enabled":true,"gtmId":"","ga4Id":"","adsId":"","gtmOnly":false,"adStorageCategory":4,"analyticsStorageCategory":2,"functionalityStorageCategory":1,"personalizationStorageCategory":1,"securityStorageCategory":0,"redactData":false,"urlPassthrough":false,"dataLayerName":"dataLayer","waitForUpdate":500,"sendPageView":true,"debugMode":false,"basicMode":false},"blocker":{"enabled":false,"scripts":{"0":[],"1":[],"2":[],"4":[],"8":[]},"css":{"0":[],"1":[],"2":[],"4":[],"8":[]},"iframes":{"0":[],"1":[],"2":[],"4":[],"8":[]},"pixels":{"0":[],"1":[],"2":[],"4":[],"8":[]}}};
1300          const rulesScript = document.createElement('script');
1301          
1302            rulesScript.src = "https://cdn.shopify.com/extensions/01a111ae-a458-7900-a966-339050e4ea6b/gdpr-cookie-consent-415/assets/pandectes-rules-latest.js";
1303          
1304          const firstChild = document.head.firstChild;
1305          document.head.insertBefore(rulesScript, firstChild);
1306        }
1307      </script>
1307
1308    
1309
1310      
1310<script defer src='https://cdn.shopify.com/extensions/01a111ae-a458-7900-a966-339050e4ea6b/gdpr-cookie-consent-415/assets/pandectes-core-latest.js'></script>
1310
1311    
1312    
1312<script>
1313      (() => {
1314        const isLivePreview = locateLivePreviewParam();
1315        let previewUrl = 'https://app.pandect.es/js/pandectes-live-site-preview.js';
1316        
1317
1318        function locateLivePreviewParam(paramName = 'pandectesLivePreview') {
1319          const fromUrl = new URLSearchParams(window.location.search).get(paramName);
1320          if (fromUrl) {
1321            try {
1322              sessionStorage.setItem(paramName, fromUrl);
1323            } catch {
1324              // storage disabled
1325            }
1326            return fromUrl;
1327          }
1328          return sessionStorage.getItem(paramName);
1329        }
1330
1331        /** Injects the preview helper script when live preview is active (URL or sessionStorage). */
1332        function appendLivePreviewScriptIfNeeded(previewModeScriptUrl) {
1333          if (!isLivePreview) return;
1334          if (document.head.querySelector('script[data-pandectes-live-preview]')) return;
1335          const script = document.createElement('script');
1336          script.src = previewModeScriptUrl;
1337          script.async = true;
1338          script.setAttribute('data-pandectes-live-preview', '');
1339          document.head.appendChild(script);
1340        }
1341
1342        window.pandectesBannerSettings = {"version":"5","timestamp":1779433386,"store":{"id":86106145034,"plan":"premium","primaryLocale":"nb","headless":false,"useGeolocation":false,"checkoutRootDomain":"","storefrontRootDomain":"","storefrontAccessToken":""},"impressions":{"enabled":true,"timezone":"Europe/Stockholm"},"visibility":{"delay":0,"enabled":true,"startHidden":[],"botsFriendly":false,"disableDesignMode":false,"adminMode":false},"regions":{"strict":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IS","IE","IT","LV","LI","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE","GB","CH","BR","CAAB","CABC","CAMB","CANB","CANL","CANS","CANT","CANU","CAON","CAPE","CAQC","CASK","CAYT","JP","TH","ZA","AU","NZ","CN","IN","CL","TR","AE"],"visible":"*"},"consent":{"redirectOnDeny":false,"reloadOnConsent":false,"broadcastChannel":false,"redirectOnDenyUrl":"https://www.pandectes.io","shopify":true},"theme":{"logos":{"custom":false,"customWidget":false,"banner":"//zxrqcp-jb.myshopify.com/cdn/shop/files/pandectes-banner-logo.png?v=1779433386","widget":"//zxrqcp-jb.myshopify.com/cdn/shop/files/pandectes-reopen-logo.png?v=1779433386"},"mode":"light","border":0,"variables":":host { --float: 16px; --font-size: 14px; --duration: 250ms; --padding: 20px; --radius-dialog:8px; --radius-button:8px; --border-button: 2px; --font-family: inherit; --font-weight-button: 400; --color-base-100: oklch(100% 0 0);--color-base-200: oklch(97% 0 0);--color-base-300: oklch(94% 0 0);--color-base-content: oklch(7.6% 0 0);--color-primary: oklch(7.6% 0 0);--color-primary-content: oklch(100% 0 0);--color-secondary: oklch(7.6% 0 0);--color-secondary-content: oklch(100% 0 0);--color-accent: oklch(7.6% 0 0);--color-accent-content: oklch(100% 0 0);--color-neutral: oklch(7.6% 0 0);--color-neutral-content: oklch(100% 0 0);; }","shadows":true,"isModal":false,"scrollLock":false,"useAnimations":true,"buttons":{"size":"md","border":2,"radius":8,"variants":{"primary":"filled","secondary":"outlined"}},"zIndex":2147483647,"showPoweredBy":true},"close":{"triggers":["button"],"action":"dismiss","pixels":200,"timeout":10000},"language":{"multilingual":false,"detection":"browser","fallback":"nb","supported":["nb"],"allowChange":false},"widget":{"enabled":false,"position":"bottom left","action":"reopen","customTrigger":false},"dialogs":{"notice":{"style":{"type":"box","layout":"vertical-grouped","position":"middle center","animation":"animation-zoom","size":300},"buttons":{"primary":["allow","deny"],"secondary":[]},"features":{"hideHeader":false,"alignCenter":false,"flipButtons":false,"expandableIntro":false,"inlineLinks":false}},"preferences":false,"status":false},"links":{"links":[{"id":"policy","url":"/policies/privacy-policy"},{"id":"google","url":"https://business.safety.google/privacy/"}],"target":"_self","respectLocale":false},"storage":{"type":"http","domain":"","duration":365,"lastReset":1779374553},"texts":{"nb":{"buttons":{"showLess":"Show less","showMore":"Show more"},"links":{"policy":"Personvernpolicy","google":"Googles personvernerklæring","imprint":"Imprint"},"categories":[{"title":"Strictly necessary cookies","description":"The
1342se cookies are essential in order to enable you to move around the website and use its features, such as accessing secure areas of the website. The website cannot function properly without these cookies."},{"title":"Functional cookies","description":"These cookies enable the site to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly."},{"title":"Performance cookies","description":"These cookies enable us to monitor and improve the performance of our website. For example, they allow us to count visits, identify traffic sources and see which parts of the site are most popular."},{"title":"Targeting cookies","description":"These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites.    They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising."}],"notice":{"title":"Vi respekterer ditt personvern","message":"Vi bruker cookies til analyse og personlig tilpasset annonsering. Klikk «Godta alle» for å samtykke.","dismiss":"Ok","allow":"Godta alle","deny":"Avvis alle","preferences":"Tilpass innstillinger"},"preferences":{"title":"Manage consent preferences","message":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies.","cookieDetails":"Cookies details","alwaysActive":"Always allowed","deny":"Deny all","allow":"Accept all","custom":"Save preferences","dismiss":"Close"},"status":{"title":"Cookie settings","message":"Your current state","allow":"Accept all","deny":"Deny all","dismiss":"Close","reopen":"Change your consent","consentDate":"C
1342onsent date","consentId":"Your consent ID","hideDetails":"Hide details","showDetails":"Show details","noConsent":"No consent"},"declaration":{"name":"Name","type":"Type","vendor":"Provider","purpose":"Purpose","retention":"Retention","expirations":{"declSeconds":"seconds","declMinutes":"minutes","declHours":"hours","declDays":"days","declWeeks":"week(s)","declMonths":"months","declYears":"years","declSession":"Session"}},"cookies":{"ads/ga-audiences":"Stores information for remarketing purposes.","bugsnag-anonymous-id":"Stores an anonymous ID for error tracking and analytics.","cart":"Contains information related to the user's cart.","cartToken":"Stores a token related to the shopping cart for session management.","cart_currency":"Used after a checkout is completed to initialize a new empty cart with the same currency as the one just used.","cart_link_id":"Stores a unique identifier for the shopping cart link.","discount_code":"Stores a discount code (received from an online store visit with a URL parameter) in order to the next checkout.","identity-state":"Stores state before redirecting customers to identity authentication.\t","kaching_local_storage_test":"A storage item used for testing local storage persistence.","keep_alive":"Used when international domain redirection is enabled to determine if a request is the first one of a session.","lastExternalReferrer":"Detects how the user reached the website by registering their last URL-address.","lastExternalReferrerTime":"Contains the timestamp of the last update of the lastExternalReferrer cookie.","lastSeenErrorReceiptId":"Stores the ID of the most recent error receipt.","localization":"Used to localize the cart to the correct country.","login_with_
1342shop_finalize":"Used to facilitate login with Shop.","master_device_id":"Permanent device identifier.","NID":"Used to collect website statistics and track conversion rates.","order":"Used to allow access to the data of the order details page of the buyer.","shopify_override_user_locale":"Used as a mechanism to set User locale in admin.","shopify_pay":"Used to log in a buyer into Shop Pay when they come back to checkout on the same store.","shopify_pay_redirect":"Used to accelerate the checkout process when the buyer has a Shop Pay account.","shop_analytics":"Contains the required buyer information for analytics in Shop.","shop_pay_accelerated":"Indicates if a buyer is eligible for Shop Pay accelerated checkout.","storefront_digest":"Stores a digest of the storefront password, allowing merchants to preview their storefront while it's password protected.","trackedCompleteOrderSourceId":"Stores information related to the source of a completed order for tracking purposes.","trackedSourceId":"Stores a unique identifier for tracking the source of the visitor.","user":"Used in connection with Shop login.","user_cross_site":"Used in connection with Shop login.","_ab":"Used to control when the admin bar is shown on the storefront.","_abv":"Persist the collapsed state of the admin bar.","_fbp":"Cookie is placed by Facebook to track visits across websites.","_ga":"Cookie is set by Google Analytics with unknown functionality","_identity_session":"Contains the identity session identifier of the user.","_kla_test":"Used for testing purposes to monitor the functionality of the Klaviyo tracking script.","_landing_page":"Capture the landing page of visitor when they come from other sites.","_master_udr":"Permanent device identifier.","_merchant_analytics":"Contains analytics data for the merchant session.","_merchant_essential":"Contains essential information for the correct functionality of merchant surfaces such as the admin area.","_orig_referrer":"Allows merchant to identify where people are visiting them from.","_shopify_analytics":"Contains analytics data for buyer surfaces such as the storefront or checkout.","_shopify_country":"Used for Plus shops where pricing currency/country is set from GeoIP by helping avoid GeoIP lookups after the first request.","_shopify_essential":"Contains essential information for the correct functionality of a store such as session and checkout information and anti-tampering data.","_shopify_essential_\t":"Contains an opaque token that is used to identify a device for all essential purposes.","_shopify_marketing":"Contains marketing data for buyer surfaces such as the storefront or checkout.","_shopify_s":"Used to identify a given browser session/shop combination. Duration is 30 minute rolling expiry of last use.","_shopify_test":"A test cookie used by Shopify to verify the store's setup.","_shopify_y":"Shopify analytics.","_shop_app_essential":"Contains essential information for the correct functionality of Shop.app.","_shs_state":"Stores session-specific state information related to the user's interaction with the website.","_tracking_consent":"Used to store a user's preferences if a merchant has set up privacy rules in the visitor's region.","__kla_id":"Tracks when someone clicks through a Klaviyo email to your website","__kla_viewed":"Stores information about user views for the Klaviyo service.","__kl_key":"Stores a key used for targeting and personalization purposes.","__quiltRouterScroll":"Stores information related to the user's navigation within the website, essential for website functionality.","__storage_test":"A test storage item used to verify storage capabilities.","__ui":"Stores UI state information for the website.","auth_state_*":"Stores state for customer authentication.","_gcl_*":"Stores information related to Google advertising services.","_ga_*":"Cookie is set by Google Analytics with unknown functionality","ri-*":"Stores information related to the performance of the website, including session data.","__storage_test__*":"Used to test whether storage is available in the browser.","checkout_modal_preflight_*":"Stores information related to the checkout modal preflight process for session management."}}},"categories":[{"bitwise":0},{"bitwise":1},{"bitwise":2},{"bitwise":4}],"cookies":[{"name":"ads/ga-audiences","domain":"https://www.google.ie","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"localization","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_y","domain":".diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"cart_currency","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_shopify_s","domain":".diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_ab","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shop_app_essential","domain":".shop.app","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_analytics","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"master_device_id","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_marketing","domain":"diasocks.no","type":"http","vendor":"Shopify","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"storefront_digest","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_tracking_consent","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"keep_alive","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"_shopify_country","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"cart","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay_redirect","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_orig_referrer","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_landing_page","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"discount_code","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declDays","expires":1},{"name":"shop_pay_accelerated","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"order","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"3 week(s)","unit":"declWeeks","expires":3}
1342,{"name":"login_with_shop_finalize","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"5 minute(s)","unit":"declMinutes","expires":5},{"name":"shop_analytics","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_abv","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_identity_session","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"2 year(s)","unit":"declYears","expires":2},{"name":"_master_udr","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"auth_state_*","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"25 minute(s)","unit":"declMinutes","expires":25},{"name":"user","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"user_cross_site","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"identity-state","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 day(s)","unit":"declDays","expires":1},{"name":"_merchant_essential","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential_\t","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_merchant_analytics","domain":"diasocks.no","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shopify_override_user_locale","domain":"diasocks.no","type":"http","vendor":"Shopify","category":1,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"storefront_digest","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"master_device_id","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"__kla_id","domain":"diasocks.no","type":"http","vendor":"Klaviyo","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_ab","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"keep_alive","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"_shopify_country","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"cart","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay_redirect","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_tracking_consent","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_orig_referrer","domain":"shopify.com","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_landing_page","domain":"shopify.com","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"discount_code","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declDays","expires":1},{"name":"shop_pay_accelerated","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"order","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"3 week(s)","unit":"declWeeks","expires":3}
1342,{"name":"login_with_shop_finalize","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"5 minute(s)","unit":"declMinutes","expires":5},{"name":"shop_analytics","domain":"shopify.com","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_abv","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_identity_session","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"2 year(s)","unit":"declYears","expires":2},{"name":"_master_udr","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"user","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_merchant_essential","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential_\t","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_merchant_analytics","domain":"shopify.com","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shopify_override_user_locale","domain":"shopify.com","type":"http","vendor":"Shopify","category":1,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"identity-state","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 day(s)","unit":"declDays","expires":1},{"name":"_gcl_*","domain":".diasocks.no","type":"http","vendor":"Google","category":2,"retention":"3 month(s)","unit":"declMonths","expires":3},{"name":"user_cross_site","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"auth_state_*","domain":"shopify.com","type":"http","vendor":"Shopify","category":0,"retention":"25 minute(s)","unit":"declMinutes","expires":25},{"name":"_ga_*","domain":".diasocks.no","type":"http","vendor":"Google","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_ga","domain":".diasocks.no","type":"http","vendor":"Google","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shopify_client_id","domain":"diasocks.no","type":"http","vendor":"Unknown","category":4,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_test","domain":"no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"_shopify_test","domain":"diasocks.no","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"NID","domain":".google.com","type":"http","vendor":"Google","category":3,"retention":"6 month(s)","unit":"declMonths","expires":6},{"name":"restockrocket_production_preorder_variant_ids","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"restockrocket_production_variant_shipping_texts","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"restockrocket_production_variant_preorder_limits","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_fbp","domain":".diasocks.no","type":"http","vendor":"Facebook","category":3,"retention":"3 month(s)","unit":"declMonths","expires":3},{"name":"consentHeader","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"__kl_key","domain":"https://diasocks.no","type":"html_local","vendor":"Klaviyo","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"klaviyoOnsite","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1}
1342,{"name":"lastExternalReferrerTime","domain":"https://diasocks.no","type":"html_local","vendor":"Facebook","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"$referrer","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_replo_sid","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"$last_referrer","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"lastExternalReferrer","domain":"https://diasocks.no","type":"html_local","vendor":"Facebook","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_gcl_*","domain":"https://diasocks.no","type":"html_local","vendor":"Google","category":2,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"ri-*","domain":"https://diasocks.no","type":"html_session","vendor":"Shopify","category":2,"retention":"Session","unit":"declYears","expires":1},{"name":"klaviyoPagesVisitCountV2","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"_shs_state","domain":"https://diasocks.no","type":"html_session","vendor":"Shopify","category":2,"retention":"Session","unit":"declYears","expires":1},{"name":"wpm-ri-d034726c-f033-4411-b5f5-e2e3ac0a645d-1779374570-z","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"kaching_local_storage_test","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"__storage_test__*","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_kla_test","domain":"https://diasocks.no","type":"html_local","vendor":"Klaviyo","category":2,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"trackedCompleteOrderSourceId","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_kla_session_test","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"lastSeenErrorReceiptId","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"trackedSourceId","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"__ui","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"cart_link_id","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"v1-1051308-Checkout::PostPurchase-hWNCQEaemcVx36nqvr8uqsAV","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"cartToken","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"__quiltRouterScroll","domain":"https://diasocks.no","type":"html_session","vendor":"Shopify","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"__storage_test","domain":"https://diasocks.no","type":"html_local","vendor":"Shopify","category":0,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"bugsnag-anonymous-id","domain":"https://shop.app","type":"html_local","vendor":"Unknown","category":2,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"apollo-cache-persist","domain":"https://shop.app","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"checkout_modal_preflight_*","domain":"https://shop.app","type":"html_session","vendor":"Shop.app","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"kaching_session_id","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"wpm-ri-e040d896-f335-4f64-8b23-54b5cf906ff3-1779374581-z","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"wpm-ri-e040d896-f335-4f64-8b23-54b5cf906ff3-1779374581-x","domain":"https://diasocks.no","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"__kla_viewed_reviewed_items","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"__kla_viewed","domain":"https://diasocks.no","type":"html_local","vendor":"Unknown","category":0,"retention":"Local Storage","unit":"declYears","expires":1}]};
1343        if (isLivePreview) {
1344          if (!window.pandectesBannerSettings.store) {
1345            window.pandectesBannerSettings.store = {};
1346          }
1347          window.pandectesBannerSettings.store.plan = 'enterprise';
1348        }
1349        
1350        function whenBodyReady(callback) {
1351          window.addEventListener('DOMContentLoaded', callback);
1352        }
1353        
1354
1355        whenBodyReady(function(){
1356          const element = document.createElement('pandectes-cmp');
1357          element.appData = window.pandectesBannerSettings;
1358          document.body.appendChild(element);
1359          appendLivePreviewScriptIfNeeded(previewUrl);
1360        });
1361
1362      })()
1363    </script>
1363
1364  
1365
1366
1367
1368  <!-- A11y -->
1369  
1370  
1371  
1372  
1373  
1374
1375  
1376
1377
1378
1379<!-- END app block --><!-- BEGIN app block: shopify://apps/kaching-bundles/blocks/app-embed-block/6c637362-a106-4a32-94ac-94dcfd68cdb8 -->
1380<!-- Kaching Bundles App Embed -->
1381
1382<!-- BEGIN app snippet: app-embed-content -->
1383
1384
1385
1386
1387
1388
1389
1390
1391<script>
1392  // Prevent duplicate initialization if both app embeds are enabled
1393  if (window.kachingBundlesAppEmbedLoaded) {
1394    console.warn('[Kaching Bundles] Multiple app embed blocks detected. Please disable one of them. Skipping duplicate initialization.');
1395  } else {
1396    window.kachingBundlesAppEmbedLoaded = true;
1397    window.kachingBundlesEnabled = true;
1398    window.kachingBundlesInitialized = false;
1399
1400    // Allow calling kachingBundlesInitialize before the script is loaded
1401    (() => {
1402      let shouldInitialize = false;
1403      let realInitialize = null;
1404
1405      window.kachingBundlesInitialize = () => {
1406        if (realInitialize) {
1407          realInitialize();
1408        } else {
1409          shouldInitialize = true;
1410        }
1411      };
1412
1413      Object.defineProperty(window, '__kachingBundlesInitializeInternal', {
1414        set(fn) {
1415          realInitialize = fn;
1416          if (shouldInitialize) {
1417            shouldInitialize = false;
1418            fn();
1419          }
1420        },
1421        get() {
1422          return realInitialize;
1423        }
1424      });
1425    })();
1426  }
1427</script>
1427
1428
1429
1430
1431<script id="kaching-bundles-config" type="application/json">
1432  {
1433    "shopifyDomain": "zxrqcp-jb.myshopify.com",
1434    "moneyFormat": "{{amount_with_comma_separator}} kr",
1435    "locale": "nb",
1436    "liquidLocale": "nb",
1437    "country": "NO",
1438    "currencyRate": 1,
1439    "marketCurrencyCode": "NOK",
1440    "marketId": 80106815754,
1441    "productId": null,
1442    "storefrontAccessToken": "238e1489dc249a7c7f82d60fb47afd87",
1443    "includeSellingPlans": true,
1444    "includeAvailableQuantity": true,
1445    "customApiHost": null,
1446    "keepQuantityInput": false,
1447    "ignoreDeselect": false,
1448    "ignoreUnitPrice": false,
1449    "requireCustomerLogin": false,
1450    "abTestsRunning": true,
1451    "webPixel": true,
1452    "b2bCustomer": false,
1453    "isLoggedIn": false,
1454    "isDeprecatedAppEmbed": false,
1455    "preview": false,
1456    "defaultTranslations": {
1457      "system.out_of_stock": "There\u0026#39;s not enough items in our stock, please select smaller bundle.",
1458      "system.invalid_variant": "Sorry, this is not currently available.",
1459      "system.unavailable_option_value": "Unavailable",
1460      "system.confirm": "Confirm",
1461      "system.cancel": "Cancel",
1462      "system.free": "FREE",
1463      "system.search": "Search",
1464      "system.sort_by": "Sort by",
1465      "system.sort_relevance": "Relevance",
1466      "system.sort_newest_first": "Newest first",
1467      "system.sort_price_low_to_high": "Price: Low → High",
1468      "system.sort_price_high_to_low": "Price: High → Low",
1469      "system.no_results_found": "No results found",
1470      "system.no_results_description": "We can’t find any item matching your search.",
1471      "system.clear_search": "Clear search",
1472      "system.no_products_available": "No products available",
1473      "system.letters_only": "Only letters are allowed.",
1474      "system.numbers_only": "Only numbers are allowed.",
1475      "system.select_variant_alert": "Please select a variant.",
1476      "system.select_variant_placeholder": "Select",
1477      "system.personalisation_required_alert": "Please add personalisation for every item to continue.",
1478      "system.quantity": "Quantity",
1479      "system.subscription_plan": "Subscription plan",
1480      "system.remove": "Remove",
1481      "system.original_price": "Original price:",
1482      "system.price": "Price:"
1483    },
1484    "customSelectors": {
1485      "quantity": null,
1486      "addToCartButton": null,
1487      "variantPicker": null,
1488      "price": null,
1489      "priceCompare": null,
1490      "label": null
1491    },
1492    "shopCustomStyles": "",
1493    "brandColors": {"error":"#D72C2C","border":"#002E494D","overlay":"#000000","badgeText":"#FFFFFF","primaryText":"#000000","primaryAccent":"#002E49","secondaryText":"#555555","badgeBackgroun
1493d":"#002E49","primaryAccentText":"#FFFFFF","primaryBackground":"#FFFFFF","secondaryBackground":"#E0E6E9"},
1494    "featureFlags": {"cart_change_response_rewrite":false,"cart_interceptor_dedupe_disabled":false,"cart_interceptor_json_encoding":false,"debug_cart_add":false,"disable_nested_cart_lines":false,"early_fetch_override":false,"hide_missing_variants":true,"initialize_with_form_variant":false,"intercept_cart_request":false,"legacy_saved_percentage":false,"native_swatches_disabled":false,"observe_external_selling_plan":false,"observe_form_selling_plan":false,"percentage_cents_rounding_workaround":false,"pos_extension":false,"preserve_variant_selections":false,"price_rounding_v2":false,"propagate_line_properties":false,"propagate_picker_option_changes":false,"reinitialize_morphed_placeholders":false,"remove_variant_change_delay":false,"split_bxgy_items":false,"storefront_metaobjects":false,"variant_images":false}
1495
1496  }
1497</script>
1497
1498
1499<!-- BEGIN app snippet: translations -->
1500
1501
1502  
1503  
1503<script id="kaching-bundles-translations" type="application/json">
1504    [{"locale":"nb","translations":{"system":{"system.out_of_stock":"Vi har ikke nok varer på lager, vennligst velg en mindre pakke.","system.invalid_variant":"Beklager, dette er ikke tilgjengelig for øyeblikket.","system.unavailable_option_value":"Utsolgt","system.confirm":"Bekrefte","system.cancel":"Kansellere","system.free":"GRATIS","system.search":"Søk","system.sort_by":"Sorter etter","system.sort_relevance":"Relevans","system.sort_newest_first":"Nyeste først","system.sort_price_low_to_high":"Pris: Lav → Høy","system.sort_price_high_to_low":"Pris: Høy → Lav","system.no_results_found":"Ingen resultater funnet","system.no_results_description":"Vi finner ingen elementer som samsvarer med søket ditt.","system.clear_search":"Tøm søk","system.no_products_available":"Ingen produkter tilgjengelig"},"dealBlocks":{}}}]
1505  </script>
1505
1506  
1507
1508<!-- END app snippet -->
1509
1510
1511
1512
1513  
1514  
1515
1516  <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a11199-b90c-7965-a1a1-65646418fb0a/kaching-bundles-2036/assets/kaching-bundles.js" crossorigin="anonymous" fetchpriority="high">
1517  
1518  
1518<script type="module" src="https://cdn.shopify.com/extensions/01a11199-b90c-7965-a1a1-65646418fb0a/kaching-bundles-2036/assets/loader.js" crossorigin="anonymous" fetchpriority="high"></script>
1518
1519  <link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a11199-b90c-7965-a1a1-65646418fb0a/kaching-bundles-2036/assets/kaching-bundles.css" media="print" onload="this.media='all'" fetchpriority="high">
1520
1521  <style>
1522    .kaching-bundles__block {
1523      display: none;
1524    }
1525
1526    .kaching-bundles-sticky-atc {
1527      display: none;
1528    }
1529  </style>
1530
1531
1532
1533<!-- END app snippet -->
1534
1535<!-- Kaching Bundles App Embed End -->
1536
1537
1538<!-- END app block --><!-- BEGIN app block: shopify://apps/kaching-cart/blocks/embed/7705621e-3c0f-4e97-9d29-5c8528b19fb7 --><!-- BEGIN app snippet: drawer -->
1539  
1540
1541  
1541<script>
1542    window.__getFileUrl = (filename) => {
1543      const completeUrl = "https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.js";
1544      const cdnUrl = completeUrl.replace(/\/[^\/]*$/, '');
1545
1546      return cdnUrl + "/" + filename;
1547    }
1548  </script>
1548
1549
1550  
1550<script type="application/json" data-cart-inventory>
1551  []
1552  </script>
1552
1553
1554  
1554<script>
1555    //! THIS IFRAME SHOULD NOT BE DELETED, IT IS USED TO GET THE ORIGINAL FETCH FUNCTION AND SHOULD BE KEPT IN THE DOM FOR THE ENTIRE LIFE OF THE PAGE, OTHERWISE IT SEEMS TO CAUSE A WEIRD BUG IN SAFARI
1556    const iframe = document.createElement("iframe");
1557    iframe.style.display = "none";
1558    iframe.src = "about:blank";
1559    iframe.id = "kaching-cart-iframe-for-clean-apis";
1560    document.documentElement.appendChild(iframe);
1561    if (iframe.contentWindow?.fetch && typeof iframe.contentWindow?.fetch === "function") {
1562      window.__kachingCartOriginalFetch = iframe.contentWindow?.fetch.bind(window);
1563    }
1564    // Pristine Response constructor — some themes/apps clobber window.Response with a non-constructable value, so we grab the iframe realm's untouched one. Not bound: a constructor must stay new-able.
1565    if (typeof iframe.contentWindow?.Response === "function") {
1566      window.__kachingCartOriginalResponse = iframe.contentWindow.Response;
1567    }
1568  </script>
1568
1569
1570  
1571  
1571<script>
1572    (function() {
1573      let realFastClick = null;
1574
1575      Object.defineProperty(window, 'FastClick', {
1576        get: () => realFastClick,
1577        set: (value) => {
1578          realFastClick = value;
1579
1580          // Override attach method
1581          const originalAttach = value.attach;
1582          value.attach = function(layer, options) {
1583            return { destroy: () => {} };
1584          };
1585        },
1586        configurable: true
1587      });
1588    })();
1589  </script>
1589
1590    <template id="kaching-cart-additional-checkout-buttons-source">
1591      <div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;shop_pay&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:86106145034,&quot;merchantName&quot;:&quot;Diasocks&quot;,&quot;personalized&quot;:true}},{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;paypal&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:86106145034,&quot;countryCode&quot;:&quot;SE&quot;,&quot;merchantName&quot;:&quot;Diasocks&quot;,&quot;phoneRequired&quot;:true,&quot;companyRequired&quot;:false,&quot;shippingType&quot;:&quot;shipping&quot;,&quot;shopifyPaymentsEnabled&quot;:true,&quot;hasManagedSellingPlanState&quot;:false,&quot;requiresBillingAgreement&quot;:true,&quot;gatewayType&quot;:&quot;CONNECTED&quot;,&quot;merchantId&quot;:&quot;4VBHHRW8LZGPA&quot;,&quot;sdkUrl&quot;:&quot;https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=NOK\u0026locale=no_NO\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=4VBHHRW8LZGPA\u0026intent=authorize&quot;,&quot;serviceableCountryCodes&quot;:[&quot;NO&quot;]}}]" access-token="6a67821429daf0ba822e8dbf0cfb1859" buyer-country="NO" buyer-locale="nb" buyer-currency="NOK" shop-id="86106145034" cart-id="c8f188d3ec733db22915f60f464f9c54" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'>&nbsp</div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'>&nbsp</div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div>
1592    </template>
1593  
1594  
1595<link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.js" crossorigin="anonymous">
1596<script type="module">
1597  import("https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.js")
1598    .catch((error) => {
1599      console.error("‼️ Kaching Cart failed to load", error);
1600
1601      //When we are not able to load the script, we should also stop listening to click events and any other events that are related to the cart drawer.
1602      window.__kachingCartFailedModuleLoad = true;
1603    });
1604</script>
1604
1605
1606<link rel="preload" href="https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
1607<noscript><link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a1134b-fce7-79cd-8a2f-333188a0585c/kaching-cart-1449/assets/kaching-cart.css"></noscript>
1608
1609
1610
1611
1612
1613
1614<!-- Part 1: Run immediately for event listeners -->
1615<script>
1616  (function() {
1617    try {
1618      // Simple error logging and tracking
1619      const logError = (message, error) => {
1620        try {
1621          // Safely log to console even if error is undefined/null/malformed
1622          console.error(`[Kaching Cart] ${message}`, error || "");
1623
1624          // Only send critical errors to the endpoint
1625          try {
1626            // Safely check error properties with fallbacks
1627            const errorMessage = error && typeof error === 'object' && error.message ? error.message : '';
1628            const errorStack = error && typeof error === 'object' && error.stack ? error.stack : '';
1629
1630            // Skip sending certain common errors
1631            if (
1632              errorMessage && (
1633                errorMessage === "Load failed" ||
1634                errorMessage === "Failed to fetch" ||
1635                errorMessage.includes("Blocked by EC") ||
1636                window?.location?.hostname?.includes("127.0.0.1")
1637              )
1638            ) {
1639              return;
1640            }
1641
1642            // Prepare error details with safe access patterns
1643            const errorDetails = {
1644              filename: "drawer.liquid",
1645              message: "drawer.liquid" + message + (errorMessage ? `: ${errorMessage}` : ""),
1646              stack: errorStack || "No stack trace",
1647              url: window.location ? window.location.href : "unknown",
1648              shop: "zxrqcp-jb.myshopify.com"
1649            };
1650
1651            //Let's use sentry for now
1652            if(window.__KachingCartSentry) {
1653              window.__KachingCartSentry.captureException(error);
1654            }
1655          } catch (trackingError) {
1656            // Silent fail for error tracking
1657          }
1658        } catch (logError) {
1659          // Ultimate fallback - even console.error failed
1660          // We do absolutely nothing here to ensure we never crash a store
1661        }
1662      };
1663
1664      /*
1665        A CSS attribute selector can only do a substring match, and "/cart" is a
1666        substring of plenty of paths that have nothing to do with the cart:
1667        /a/search/cartier, /collections/cartoons, /pages/cartography. Every match on
1668        this selector is therefore re-checked against the resolved URL in the click
1669        handler below (see isCartPageLink), which is what actually decides whether a
1670        click gets swallowed. The :not() exclusions still carry their weight: the
1671        selector list is also handed to the drawer bundle, which feeds it to
1672        querySelectorAll without any such re-check.
1673      */
1674      const CART_PAGE_LINK_SELECTOR = [
1675        "a[href*='/cart']",
1676        ":not([href^='//'])",
1677        ":not([href*='/cart/change'])",
1678        ":not([href*='/cart/add'])",
1679        ":not([href*='/cart/clear'])",
1680        ":not([href*='/products/cart'])",
1681        ":not([href*='/collections/cart'])",
1682        ":not([class*='upcart'])",
1683        ":not([class*='revy-upsell-btn-cart'])",
1684        ":not([href*='/checkout'])",
1685        ":not([href*='/discount'])",
1686        ":not([href*='/cart/1'])",
1687        ":not([href*='/cart/2'])",
1688        ":not([href*='/cart/3'])",
1689        ":not([href*='/cart/4'])",
1690        ":not([href*='/cart/5'])",
1691        ":not([href*='/cart/6'])",
1692        ":not([href*='/cart/7'])",
1693        ":not([href*='/cart/8'])",
1694        ":not([href*='/cart/9'])",
1695      ].join("");
1696
1697      // Store selectors in a global variable so the second script can access them
1698      window.__kachingCartSelectors = [
1699        CART_PAGE_LINK_SELECTOR,
1700        "a[data-cart-toggle]",
1701        "#sticky-app-client div[data-cl='sticky-button']",
1702        "button.minicart-open",
1703        "#cart-icon-bubble",
1704        ".slide-menu-cart",
1705        ".icon-cart:not(svg):not(:is(button[type='submit'] *))",
1706        ".cart-icon:not(svg)",
1707        ".cart-link:not(div.header-icons):not(ul)",
1708        "button.header-cart-toggle",
1709        "div.minicart__button",
1710        "button.js-cart-button",
1711        ".mini-cart-trigger",
1712        ".shopping-cart a[href*='#cart']",
1713        ".header-menu-cart-drawer",
1714        ".js-mini-cart-trigger",
1715        "#CartButton-Desktop",
1716        "#CartButton",
1717        "a[data-js-sidebar-handle]:not(a[href*='/search'])",
1718        "a.area--cart.icon-button",
1719        "[data-cartmini]",
1720        "button[data-sidebar-id='CartDrawer']",
1721        "header-actions >
1721 cart-drawer-component",
1722        "a.header--cart-link[data-drawer-view='cart-drawer']",
1723        "a.header--cart-count[data-drawer-view='cart-drawer']",
1724        "a.header--cart[data-drawer-view='cart-drawer']",
1725        "a[role='button'][href='#drawer-cart']",
1726        "button[drawer-to-open='cart-drawer']",
1727        "div.cart-text:has(.cart-count)",
1728        "button.header__icon--cart",
1729        "button#cart-open",
1730        "li.cartCounter",
1731        ".tt-cart.tt-dropdown-obj .tt-dropdown-toggle",
1732        "a[href='#cartDrawer'][data-side-drawer-open]",
1733        "cart-icon[data-add-to-cart-behavior='open_cart']",
1734        "xo-modal-trigger[xo-name='cart']",
1735        "a[cart-icon-bubble]",
1736        "a[data-open-dialog='cart-drawer']",
1737        "button[onclick='cartDrawer.open();']",
1738        "a[data-node-type='commerce-cart-open-link'].w-commerce-commercecartopenlink",
1739        ".header-mobile-main button.cart",
1740        ".header-desktop-main button.cart",
1741        ".header-cart-btn[data-cart-toggle]",
1742        "modal-open[target='cart-drawer']",
1743        "a.header__link.cart__count",
1744        "button[data-testid='cart-drawer-trigger']:has(cart-icon.header-actions__cart-icon)",
1745        //Concept 6.0.3 changed its header cart icon from <a href="/cart"> to a button with no href.
1746        "button.cart-drawer-button[aria-controls='CartDrawer']",
1747      ];
1748
1749      /* A link points at the cart page only when the last segment of its path is
1750         exactly "cart" — /cart, /cart/, or a locale/market-prefixed /en-de/cart.
1751         Resolved against the current page so that a relative href normalises the
1752         same way the browser would navigate it. */
1753      const isCartPageLink = (link) => {
1754        const href = link.getAttribute("href");
1755
1756        if (!href) {
1757          return false;
1758        }
1759
1760        try {
1761          return /\/cart\/?$/.test(new URL(href, window.location.href).pathname);
1762        } catch (urlError) {
1763          //An href the URL parser rejects (javascript:, mailto:, …) is not a cart link.
1764          return false;
1765        }
1766      };
1767
1768      // Click event handler with basic error handling
1769      document.addEventListener("click", (e) => {
1770        //If the module failed to load, or the drawer failed to start (withThemeCartFallback), or we blocked it for testing through the developer tools, we should not listen to any click events, we should let the native cart popup handle it.
1771        //__kachingCartDisabled is a merchant opt-out (e.g. B2B customers): let the theme's native cart handle the click. Read here at click time so it works regardless of when the flag is set.
1772        if(window.__kachingCartFailedModuleLoad === true || window.__kachingCartDisabled === true) {
1773          return;
1774        }
1775
1776        try {
1777          const isCartButton = window.__kachingCartSelectors.some((selector) => {
1778            try {
1779              const match = e.target.closest(selector);
1780
1781              if (!match) {
1782                return false;
1783              }
1784
1785              /* Only the href-substring selector needs the URL check. The other
1786                 entries match classes and attributes a theme puts on its own cart
1787                 control, and several of them sit on elements with no cart path at
1788                 all (href='#drawer-cart'). Returning false here keeps looking, so a
1789                 non-cart path on an element the theme also marks as a cart control
1790                 still opens the drawer. */
1791              return selector === CART_PAGE_LINK_SELECTOR
1792                ? isCartPageLink(match)
1793                : true;
1794            } catch (selectorError) {
1795
1796              if(selector !== ".cart-link:not(div.header-icons):not(ul)") {
1797                //In some browsers these selectors are not valid, but no need to log it
1798                logError(`Error checking selector: ${selector}`, selectorError);
1799              }
1800              return false;
1801            }
1802          });
1803
1804          if (isCartButton) {
1805            try {
1806              e.stopImmediatePropagation();
1807              e.preventDefault();
1808              e.stopPropagation();
1809            } catch (eventError) {
1810              logError("Error stopping event propagation", eventError);
1811            }
1812
1813            try {
1814              const event = new CustomEvent("kaching-cart:open", {
1815                detail: {
1816                  element: e.target,
1817                  cartOpenSource: "cart-button",
1818                },
1819              });
1820              document.dispatchEvent(event);
1821            } catch (customEventError) {
1822              logError("Error dispatching kaching-cart:open event", customEventError);
1823            }
1824          }
1825        } catch (clickHandlerError) {
1826          logError("Error in click event handler", clickHandlerError);
1827        }
1828      }, true);
1829    } catch (globalError) {
1830      console.error("[Kaching Cart] Fatal script error in event listeners", globalError);
1831    }
1832  })();
1833</script>
1833
1834
1835<!-- Part 2: Wait for Shopify object before initializing props -->
1836<script>
1837  (function() {
1838    try {
1839      const createKachingCartElement = (props) => {
1840        /*
1841          A merchant can set window.__kachingCartDisabled to fully suppress our cart for a shopper (e.g. B2B customers) and fall back to the theme's native cart. Bailing here means the <kaching-cart> element is never created, so none of the extension's global patches (fetch/XHR interception, form handlers, observers) ever install — there is nothing to tear down. This is the reliable checkpoint: the element is registered by a deferred module, so this runs after any inline flag-setting script the merchant adds.
1842        */
1843        if (window.__kachingCartDisabled === true) {
1844          return;
1845        }
1846
1847        const kachingCartElement = document.createElement('kaching-cart');
1848        kachingCartElement.style.zIndex = "1051";
1849        kachingCartElement.style.position = "relative";
1850        kachingCartElement.style.opacity = "1"; //Some themes set all elements to opacity: 0 when their native drawer opens, this will ensure our drawer is visible.
1851
1852        // Set attribute BEFORE appending to DOM
1853        kachingCartElement.setAttribute("kaching-cart-props", JSON.stringify(props));
1854
1855        if (document.body) {
1856          document.body.appendChild(kachingCartElement);
1857        } else {
1858          const appendWhenBodyReady = () => {
1859            if (document.body) {
1860              document.body.appendChild(kachingCartElement);
1861            } else {
1862              setTimeout(appendWhenBodyReady, 10);
1863            }
1864          };
1865          appendWhenBodyReady();
1866        }
1867      };
1868
1869      const logError = (message, error) => {
1870        console.error(`[Kaching Cart] ${message}`, error);
1871      };
1872
1873
1874      // Function to initialize cart props when Shopify is available
1875      const initKachingCartProps = () => {
1876        try {
1877          if (window.__kachingCartDisabled === true) {
1878            return;
1879          }
1880
1881          if (!window.Shopify) {
1882            // If Shopify isn't ready yet, try again in a moment
1883            setTimeout(initKachingCartProps, 10);
1884            return;
1885          }
1886
1887        
1888        
1889          try {
1890              const path = window.location.pathname || window.Shopify?.routes?.root || "/";
1891              sessionStorage.setItem(`kaching-cart-last-visited-page-${window.Shopify.shop}`, path);
1892            } catch (error) {
1893              //Silent fail
1894            }
1895        
1896
1897          const props = {
1898            appSettings: {"brandColors":{"brand_badge_bg":"220, 250, 230","brand_badge_text":"7, 148, 85","brand_primary_bg":"255, 255, 255","brand_primary_text":"0, 0, 0","brand_secondary_bg":"242, 244, 247","brand_border_divider":"227, 227, 227","brand_primary_accent":"127, 86, 217","brand_secondary_text":"152, 162, 179","brand_secondary_accent":"233, 215, 254","brand_primary_accent_text":"255, 255, 255","brand_secondary_accent_text":"127, 86, 217"},"storefrontAccessToken":"33300d4827cb947e03e4d9aa4cad4a42"},
1899            customerAccountsEnabled: true,
1900            customerAccountsLoginUrl: "https:\/\/diasocks.no\/customer_authentication\/redirect?locale=nb\u0026region_country=NO",
1901            customerTags: null,
1902            customerId: null,customerOrdersCount: null,
1903            surface: "storefront",
1904            cartButtonSelectors: window.__kachingCartSelectors,
1905            apiEndpoint: "https://zxrqcp-jb.myshopify.com/api/2026-10/graphql.json",
1906            moneyFormat: "{{amount_with_comma_separator}} kr",
1907            cartSettings: {"general":{"cartAnchor":"right","shouldOpenCartDrawerOnAddToCart":true,"goToCartInsteadOfCheckout":false,"useCompareAtPrice":true,"showUnitPrice":false,"modulesOrder":["announcementBar","tieredPromotionsBar","lineItems","productUpsell","trustBadges","sideUpsell"],"customCss":".kaching-cart__tiered-promotions-bar-text {\n    font-size: 16px !important;\n    line-height: 1.45 !important;\n}\n\n.kaching-cart__tiered-promotions-bar-icon-tooltip-title {\n    font-size: 13px !important;\n}","customJs":"","adminCustomCss":"","adminCustomJs":"","htmlModules":[],"shop":"zxrqcp-jb.myshopify.com","countNativeBundlesAsSingleLine":false,"roundingPrecision":null}
1907,"topBar":{"mode":"text","imageUrl":"","textAlign":"center","text":"Din handlekurv • {{item_count}}","logoHeight":50},"upsellToggle":{"isActive":false,"productId":"gid:\/\/shopify\/Product\/10548638515466","defaultVariantId":"gid:\/\/shopify\/ProductVariant\/53244038086922","imageUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/0861\/0614\/5034\/files\/shipping-protection.webp?v=1782134911\u0026kaching-cart-media-id=gid:\/\/shopify\/MediaImage\/50353701814538","title":"Shipping protection","description":"Protect your order from being lost or damaged.","price":2.5,"compareAtPrice":null,"autoFulfil":false,"removeWhenCartIsEmpty":false,"mode":"default","inCheckoutButtonText":"+ {{upsell_toggle_price}} {{upsell_toggle_title}}","inCheckoutButtonAlreadyInCartText":"Includes {{upsell_toggle_price}} {{upsell_toggle_title}}","segmentation":{"enabled":false,"rules":[]}},"orderNotes":{"isActive":false,"title":"Add special instructions","inputType":"text","placeholder":"Enter your order notes","isCollapsible":true,"isCollapsed":true,"isRequiredToCheckout":false},"footer":{"modulesOrder":["upsellToggle","orderNotes","discountCode","discounts","subtotal","checkoutButton","acceleratedCheckoutButtons","paymentIcons","secondaryButton"],"buttonText":"Gå til kassen","secondaryButtonText":"continue shopping","acceleratedCheckoutButtons":{"isActive":false},"acceleratedCBInAccordion":false,"acceleratedCBInAccordionTitle":"Express checkout","areAcceleratedCheckoutButtonsCollapsed":true,"discountsText":"Discounts","subtotalText":"Subtotal","paymentIcons":{"affirm":false,"alipay":false,"amazonpay":true,"amex":true,"applepay":true,"bancontact":false,"bitcoin":false,"bitcoincash":false,"bitpay":false,"citadele":false,"dinersclub":false,"discover":false,"elo":false,"etherium":false,"facebookpay":false,"forbrugsforeningen":false,"giropay":false,"googlepay":true,"ideal":false,"interac":false,"jcb":false,"klarna":false,"lightcoin":false,"maestro":false,"mastercard":true,"payoneer":false,"paypal":false,"paysafe":false,"poli":false,"qiwi":false,"sepa":false,"shoppay":true,"skrill":false,"sofort":false,"stripe":false,"unionpay":false,"venmo":false,"verifone":false,"visa":true,"webmoney":false,"wechat":false,"yandex":false,"custom":[]},"showPaymentIcons":false,"showSubtotal":true,"showOriginalPrice":false,"showDiscounts":true,"showDiscountBadges":true,"showCheckoutButton":true,"showTermsAndConditions":false,"termsAndConditionsText":"I have read and agree to the \u003ca target='_blank' href='https:\/\/www.example.com'\u003eterms and conditions\u003c\/a\u003e","termsAndConditionsRequiredText":"","showSecondaryButton":false,"secondaryButtonAction":"close-cart","htmlModules":[]},"generalTexts":{"youSave":"Du sparer {{amount_saved}}","addToCart":"Legg i handlekurv","outOfStock":"Out of stock","inventoryNotAvailable":"Kan ikke legge til flere av denne varen i handlekurven","errorLoadingCart":"Det oppsto en feil ved lasting av handlekurven din.","errorCheckoutButton":"Du kan fortsatt gå til kassen","discountCodeInvalid":"Rabattkoden du skrev inn er ugyldig eller kan ikke brukes på denne handlekurven","free":"Gratis","hideComponents":"Skjul {{total_components}} varer","showComponents":"Vis {{total_components}} varer","deliveredEvery":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","billedEvery":"\/{{plan_billing_interval_count}}{{plan_billing_interval}}","dayFull":"day\/s","weekFull":"week\/s","monthFull":"month\/s","yearFull":"year\/s","dayShort":"d","weekShort":"wk","monthShort":"mo","yearShort":"y"},"translations":[],"emptyCartGeneral":{"title":"Handlekurven din er tom","buttonText":"Sjekk ut våre bestselgere","buttonAction":"custom-url","buttonUrl":"\/collections\/bestselgere","icon":null},"discountCode":{"isActive":false,"placeholder":"Discount code","buttonText":"Apply"},"styles":{"--kaching-cart-border-radius":20,"--kaching-cart-background":"255, 255, 255","--kaching-cart-border-divider":"brand_border_divider","--kaching-cart-top-bar-background":"255, 255, 255","--kaching-cart-top-bar-text":"0, 0, 0","--kaching-cart-top-bar-font-size":23,"--kaching-cart-top-bar-announcement-font-size":13,"--kaching-cart-top-bar-announcement-text":"255, 255, 255","--kaching-cart-top-bar-announcement-background":"0, 0, 0","--kaching-cart-badge-background":"220, 250, 230","--kaching-cart-badge-text":"7, 148, 85","--kaching-cart-button-background":"127, 86, 217","--kaching-cart-button-text":"255, 255, 255","--kaching-cart-announcement-bar-background":"233, 215, 254","--kaching-cart-announcement-bar-text":"127, 86, 217","--kaching-cart-tiered-promotions-bar-inactive":"152, 162, 179","--kaching-cart-tiered-promotions-bar-active":"0, 46, 73","--kaching-cart-tiered-promotions-bar-background":"234, 236, 240","--kaching-cart-tbp-free-gifts-modal-background":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-text":"0, 0, 0","--kaching-cart-tbp-free-gifts-modal-free-badge-bg":"220, 250, 230","--kaching-cart-tbp-free-gifts-modal-free-badge-text":"7, 148, 85","--kaching-cart-tbp-free-gifts-modal-gift-background":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-gift-border":"204, 204, 204","--kaching-cart-tbp-free-gifts-modal-checkbox":"0, 0, 0","--kaching-cart-tbp-free-gifts-modal-btn-background":"127, 86, 217","--kaching-cart-tbp-free-gifts-modal-btn-text":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-img-size":40,"--kaching-cart-tbp-free-gifts-modal-btn-font-size":16,"--kaching-cart-tbp-free-gifts-modal-choose-gift-text":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-choose-gift-bg":"0, 0, 0","--kaching-cart-tbp-free-gifts-modal-change-gift-text":"255, 255, 255","--kaching-cart-tbp-free-gifts-modal-change-gift-bg":"0, 0, 0","--kaching-cart-line-items-image-size":85,"--kaching-cart-line-items-vert
1907ical-space":25,"--kaching-cart-line-items-text":"0, 0, 0","--kaching-cart-line-items-text-2":"152, 162, 179","--kaching-cart-line-items-badge-background":"216, 224, 237","--kaching-cart-line-items-badge-text":"0, 46, 73","--kaching-cart-line-items-plan-background":"255, 255, 255","--kaching-cart-line-items-plan-text":"0, 0, 0","--kaching-cart-line-items-plan-border-color":"0, 0, 0","--kaching-cart-line-items-plan-upgrade-background":"255, 255, 255","--kaching-cart-line-items-plan-upgrade-text":"0, 0, 0","--kaching-cart-line-items-plan-upgrade-border-color":"0, 0, 0","--kaching-cart-line-items-bundle-upgrade-text":"255, 255, 255","--kaching-cart-line-items-bundle-upgrade-background":"0, 46, 73","--kaching-cart-side-upsell-width":200,"--kaching-cart-side-upsell-title-color":"0, 0, 0","--kaching-cart-side-upsell-title-font-size":15,"--kaching-cart-side-upsell-background":"242, 244, 247","--kaching-cart-side-upsell-card-background":"255, 255, 255","--kaching-cart-side-upsell-text":"0, 0, 0","--kaching-cart-side-upsell-text-2":"152, 162, 179","--kaching-cart-side-upsell-button-background":"127, 86, 217","--kaching-cart-side-upsell-button-text":"255, 255, 255","--kaching-cart-side-upsell-badge-background":"220, 250, 230","--kaching-cart-side-upsell-badge-text":"7, 148, 85","--kaching-cart-side-ec-upsell-width":200,"--kaching-cart-side-ec-upsell-title-color":"0, 0, 0","--kaching-cart-side-ec-upsell-title-font-size":15,"--kaching-cart-side-ec-upsell-background":"242, 244, 247","--kaching-cart-side-ec-upsell-card-background":"255, 255, 255","--kaching-cart-side-ec-upsell-text":"0, 0, 0","--kaching-cart-side-ec-upsell-text-2":"152, 162, 179","--kaching-cart-side-ec-upsell-button-background":"127, 86, 217","--kaching-cart-side-ec-upsell-button-text":"255, 255, 255","--kaching-cart-side-ec-upsell-badge-background":"220, 250, 230","--kaching-cart-side-ec-upsell-badge-text":"7, 148, 85","--kaching-cart-product-upsell-title-color":"0, 0, 0","--kaching-cart-product-upsell-title-font-size":15,"--kaching-cart-product-upsell-background":"242, 244, 247","--kaching-cart-product-upsell-text":"0, 0, 0","--kaching-cart-product-upsell-text-2":"152, 162, 179","--kaching-cart-product-upsell-button-background":"0, 46, 73","--kaching-cart-product-upsell-button-text":"255, 255, 255","--kaching-cart-product-upsell-arrows":"52, 64, 84","--kaching-cart-product-upsell-badge-background":"220, 250, 230","--kaching-cart-product-upsell-badge-text":"7, 148, 85","--kaching-cart-ec-product-upsell-title-color":"0, 0, 0","--kaching-cart-ec-product-upsell-title-font-size":15,"--kaching-cart-ec-product-upsell-background":"242, 244, 247","--kaching-cart-ec-product-upsell-text":"0, 0, 0","--kaching-cart-ec-product-upsell-text-2":"152, 162, 179","--kaching-cart-ec-product-upsell-button-background":"127, 86, 217","--kaching-cart-ec-product-upsell-button-text":"255, 255, 255","--kaching-cart-ec-product-upsell-arrows":"52, 64, 84","--kaching-cart-ec-product-upsell-badge-background":"220, 250, 230","--kaching-cart-ec-product-upsell-badge-text":"7, 148, 85","--kaching-cart-upsell-toggle-image-size":60,"--kaching-cart-footer-background":"255, 255, 255","--kaching-cart-footer-text":"0, 0, 0","--kaching-cart-footer-discount-background":"242, 244, 247","--kaching-cart-footer-discount-text":"71, 84, 103","--kaching-cart-footer-button-background":"0, 46, 73","--kaching-cart-footer-button-text":"255, 255, 255","--kaching-cart-footer-t-c-text":"0, 0, 0","--kaching-cart-footer-t-c-link":"127, 86, 217","--kaching-cart-footer-secondary-button-text":"0, 0, 0","--kaching-cart-footer-font-size":16,"--kaching-cart-footer-row-spacing":10,"--kaching-cart-footer-checkout-button-secondary-text":"0, 0, 0","--kaching-cart-accelerated-checkout-buttons-size-desktop":42,"--kaching-cart-accelerated-checkout-buttons-size-mobile":42,"--kaching-cart-accelerated-checkout-buttons-accordion-title-text":"0, 0, 0","--kaching-cart-trust-badges-background":"255, 255, 255","--kaching-cart-trust-badges-text":"0, 0, 0","--kaching-cart-trust-badges-text-font-size":13,"--kaching-cart-trust-badges-icon-size":25,"--kaching-cart-empty-cart-text":"0, 0, 0","--kaching-cart-empty-cart-text-font-size":16,"--kaching-cart-empty-cart-subtitle":"0, 0, 0","--kaching-cart-empty-cart-subtitle-font-size":13,"--kaching-cart-empty-cart-button-background":"0, 46, 73","--kaching-cart-empty-cart-button-text":"255, 255, 255","--kaching-cart-order-notes-title":"0, 0, 0","--kaching-cart-order-notes-input-background":"255, 255, 255","--kaching-cart-order-notes-input-text":"0, 0, 0","--kaching-cart-order-notes-input-border-color":"190, 190, 190","--kaching-cart-discount-code-input-background":"255, 255, 255","--kaching-cart-discount-code-input-text":"0, 0, 0","--kaching-cart-discount-code-input-border-color":"190, 190, 190","--kaching-cart-discount-code-button-background":"127, 86, 217","--kaching-cart-discount-code-button-text":"255, 255, 255"},"announcementBar":{"isActive":false,"text":"Your cart will expire in {{timer}} ⏰","timerMinutes":10,"clearCartOnTimerEnd":false,"resetTimerOnCartUpdate":true},"tieredPromotionsBar":{"isActive":true,"defaultText":"Legg til {{progress_needed}} par til for å få {{next_promo_title}}
1907 ✨ (Kun samme produkt)","unlockedText":"","allPromotionsUnlockedText":"🔥 Maks rabatt oppnådd! Du har låst opp alle tilbudene.","stepIcon":"square","withIcons":false,"withEmojis":true,"freeGiftsAdditionMethod":"automatically","thresholdType":"line-items-quantity","excludeProductsFromUnlockCount":false,"productsExcludedFromUnlockCount":[],"tiers":[{"id":"i4YoqRsgCu98YA29TM6hFTJHr","title":"2 par til prisen av 1","threshold":2,"discountAmount":0,"discountType":"percentage","type":"order-discount"},{"id":"sHKA74g_Zq7rQdBzFUnS_BF66","title":"5 par for prisen av 2","threshold":5,"discountAmount":0,"discountType":"percentage","type":"order-discount"},{"id":"RayZQWfHI37Na7MOGCSAXGRds","title":"8 par for prisen av 3","threshold":8,"discountAmount":0,"discountType":"percentage","type":"order-discount"}],"marketSpecificTiers":[],"confetti":{"isActive":false,"amount":1000,"duration":3000},"freeGiftsModalOpensOnUnlock":true,"freeGiftsModalTitle":"Choose free gifts🎁","freeGiftsModalSubtitle":"Choose up to {{max_selectable_gifts}} free gifts","freeGiftsModalSelectGiftsText":"Choose gift","freeGiftsModalChangeGiftsText":"Change gift","freeGiftsModalButtonText":"Confirm","segmentation":{"enabled":false,"rules":[]}},"productUpsell":{"isActive":false,"title":"","buttonText":"Add to cart","textAlign":"center","showBadge":false,"hideProductIfInCart":true,"layout":"layout-1","removeWhenCartIsEmpty":false,"segmentation":{"enabled":false,"rules":[]},"rules":[],"aiFallback":{"isActive":true,"intent":"RELATED"},"subscriptionSelectedByDefault":false,"subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}"},"lineItems":{"showPricePerItem":false,"showSavings":true,"showOriginalPrice":true,"showVariantSelector":false,"showQuantitySelector":true,"bundlesToGroup":[],"showBundleImage":false,"bundleComponentsCollapsed":false,"showBundleUpgradeTips":true,"bundleUpgradeText":"Legg til {{progress_needed}} flere par for å få {{next_promo_title}}","withFreeGiftText":"","subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","showSubscriptions":false,"showSubscriptionUpgradePrompt":false,"subscriptionUpgradeText":"Subscribe and save","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}"},"sideUpsell":{"isActive":false,"title":"","buttonText":"Add to cart","textAlign":"center","showBadge":true,"hideProductIfInCart":true,"layout":"layout-1","sideBarAlignment":"right","removeWhenCartIsEmpty":false,"segmentation":{"enabled":false,"rules":[]},"rules":[],"aiFallback":{"isActive":true,"intent":"RELATED"},"subscriptionSelectedByDefault":false,"subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}"},"trustBadges":{"isActive":true,"showUnderCheckoutButton":true,"badges":[{"id":"7s79Nu0lmf2Q9RrMGeuYOGrNX","title":"Trygg betaling med Vipps","icon":"mobilePayment"},{"id":"JcDuiRiTRa4vfpMg7yir5ruVw","title":"Sendes fra Sverige","icon":"deliveryTruck"},{"id":"ibB_SSAcgOb9B_JGlbHHNrKzH","title":"Passformgaranti","icon":"packageBox"},{"id":"HXs6veWH32T6_Mbd-iWDaks2u","title":"500 000+ fornøyde kunder","icon":"review"}]},"ecProductUpsell":{"isActive":false,"title":"","buttonText":"Add to cart","textAlign":"center","showBadge":true,"hideProductIfInCart":true,"layout":"layout-1","removeWhenCartIsEmpty":false,"segmentation":{"enabled":false,"rules":[]},"rules":[],"aiFallback":{"isActive":false,"intent":"RELATED"},"subscriptionSelectedByDefault":false,"subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}","mirrorMainSettings":false},"ecSideUpsell":{"isActive":false,"title":"","buttonText":"Add to cart","textAlign":"
1907center","showBadge":true,"hideProductIfInCart":true,"layout":"layout-1","sideBarAlignment":"right","removeWhenCartIsEmpty":false,"segmentation":{"enabled":false,"rules":[]},"rules":[],"aiFallback":{"isActive":false,"intent":"RELATED"},"subscriptionSelectedByDefault":false,"subscriptionInfoText":"Delivered every {{plan_delivery_interval_count}} {{plan_delivery_interval}}","allowChangingSubscription":false,"oneTimePurchaseText":"One-time purchase","subscriptionOptionsText":"{{plan_name}}","mirrorMainSettings":false},"id":"u-Gob-vlTNtCmdvopq7G4fbWN","isActive":true},
1908            autoAtcRules: null,
1909            stickyCart: null,
1910            featureFlags: null,
1911            locale: "nb",
1912            isPrimaryLocale: true,
1913            currencyRate: window.Shopify.currency?.rate || 1,
1914            currencyCode: window.Shopify.currency?.active || "NOK" || "USD",
1915            market: {
1916              id: 80106815754,
1917              handle: "norway",
1918            },
1919            countryCode: "NO",
1920            publishedLocales: [{"shop_locale":{"locale":"nb","enabled":true,"primary":true,"published":true}}],
1921            cart: {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"NOK","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0},
1922          };
1923          window.__kachingCartProps = props;
1924
1925
1926          if(!window.Shopify.routes?.root) {
1927            window.Shopify.routes = {
1928              root: "/",
1929              cart_add_url: "cart/add",
1930              cart_change_url: "cart/change",
1931              cart_update_url: "cart/update",
1932              cart_url: "cart",
1933              predictive_search_url: "search",
1934            };
1935          } else if (window.Shopify.routes?.root && window.Shopify.routes?.root !== "/" && window.Shopify.routes?.root.startsWith("/") && !window.Shopify.routes?.root.endsWith("/")) {
1936            //If the root is not a trailing slash, add it, otherwise a lot of stuff will break because of the missing trailing slash.
1937            window.Shopify.routes.root = window.Shopify.routes.root + "/";
1938          }
1939
1940          // Add the kaching-cart element to the DOM
1941          if (!document.querySelector('kaching-cart')) {
1942            // Wait for custom element definition
1943            if (customElements.get('kaching-cart')) {
1944              // Already defined, create immediately
1945              createKachingCartElement(props);
1946            } else {
1947              // Wait for it to be defined
1948              customElements.whenDefined('kaching-cart').then(() => {
1949                createKachingCartElement(props);
1950              }).catch((error) => {
1951                logError("Error waiting for kaching-cart definition", error);
1952                // Fallback: try anyway after a delay
1953                setTimeout(() => createKachingCartElement(props), 1000);
1954              });
1955            }
1956          }
1957        } catch (propsError) {
1958          logError("Error setting up props", propsError);
1959        }
1960      };
1961
1962      // Start initialization process
1963      initKachingCartProps();
1964
1965      
1966    } catch (globalError) {
1967      console.error("[Kaching Cart] Fatal script error in props initialization", globalError);
1968    }
1969  })();
1970</script>
1970
1971
1972<!-- The kaching-cart element will be added programmatically after props are ready -->
1973
1974
1975<!-- END app snippet -->
1976
1977
1978<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991  
1991<script async src="https://static.klaviyo.com/onsite/js/S6jPkZ/klaviyo.js?company_id=S6jPkZ"></script>
1991
1992  
1992<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
1992
1993
1994  
1995
1996
1997
1998
1999  
1999<script>
2000    window.klaviyoReviewsProductDesignMode = false
2001  </script>
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2012<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: 86106145034,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};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 2012
2012
2013<script>
2014  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
2015</script>
vendor: 1 bytes, line 2015
2015
2016<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}
2016).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: 86106145034,storefrontBaseUrl: "https://diasocks.no",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://diasocks.no/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"4023157002","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"]}
2016,"dataSharingState":"unrestricted"},{"id":"2874867978","configuration":"{\"accountID\":\"S6jPkZ\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"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":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"2676097290","configuration":"{\"accountID\":\"1220658\",\"workspaceId\":\"fe50c4f5-fbff-43f2-9815-b72fc7652e1f\",\"projectId\":\"a35550d7-f1d2-4237-9bd2-438671f9c85a\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d98eb033f1e81320021a411362de3a55","type":"APP","apiClientId":5461967,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2559672586","configuration":"{\"pixel_id\":\"784854234231149\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","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":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"2239299850","configuration":"{\"shopifyDomain\":\"zxrqcp-jb.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"14b26290829f755f27eefbf196eb8024","type":"APP","apiClientId":2935586817,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1599799562","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\",\\\"GT-TX2SDG7T\\\"],\\\"target_country\\\":\\\"NO\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/0q6kCLuamNgYEMaaxJMq\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/QuvpCLWamNgYEMaaxJMq\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-EEGZW2H2Z8\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/9X9NCLKamNgYEMaaxJMq\\\",\\\"MC-1XLPQBWGGH\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-EEGZW2H2Z8\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/sQTVCKyamNgYEMaaxJMq\\\",\\\"MC-1XLPQBWGGH\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/Jkb-CK-amNgYEMaaxJMq\\\",\\\"MC-1XLPQBWGGH\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-EEGZW2H2Z8\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/y9nrCL6amNgYEMaaxJMq\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-EEGZW2H2Z8\\\",\\\"AW-11315252550\\\/w7ZACLiamNgYEMaaxJMq\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-EEGZW2H2Z8\\\"}],\\\"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":"unrestricted","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":"Diasocks","paymentSettings":{"currencyCode":"NOK"},"myshopifyDomain":"zxrqcp-jb.myshopify.com","countryCode":"SE","storefrontUrl":"https:\/\/diasocks.no"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"9797965873418","handle":"stottestromper","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50267062042890","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9907464700170","handle":"ankelstottestromper","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50641879499018","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9796470735114","handle":"komfortstromper","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50261407203594","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
2016,{"id":"10011314684170","handle":"diasocks-ankelstromper","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50985134948618","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10490232111370","handle":"brede-stottestromper-12-15-mmhg","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52946749128970","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://diasocks.no/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"193108508938","themeStoreId":"2481","themePublished":"true","eventMetadataId":"a96fd565-a211-4730-918c-379722b135af","pageType":"home","shopId":"86106145034","storefrontBaseUrl":"https:\/\/diasocks.no","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2016<script>
2017  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
2018  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
2019  window.ShopifyAnalytics.meta.currency = 'NOK';
2020  var meta = {"page":{"pageType":"home","requestId":"001fa4a9-81c2-4293-9a29-871334797156-1791345707"}};
2021  for (var attr in meta) {
2022    window.ShopifyAnalytics.meta[attr] = meta[attr];
2023  }
2024</script>
vendor: 1 bytes, line 2024
2024
2025<script class="analytics">
2026  (function () {
2027    var customDocumentWrite = function(content) {
2028      var jquery = null;
2029
2030      if (window.jQuery) {
2031        jquery = window.jQuery;
2032      } else if (window.Checkout && window.Checkout.$) {
2033        jquery = window.Checkout.$;
2034      }
2035
2036      if (jquery) {
2037        jquery('body').append(content);
2038      }
2039    };
2040
2041    var hasLoggedConversion = function(token) {
2042      if (token) {
2043        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
2044      }
2045      return false;
2046    }
2047
2048    var setCookieIfConversion = function(token) {
2049      if (token) {
2050        var twoMonthsFromNow = new Date(Date.now());
2051        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
2052
2053        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
2054      }
2055    }
2056
2057    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
2058    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
2059    if (trekkie.integrations) {
2060      return;
2061    }
2062    trekkie.methods = [
2063      'identify',
2064      'page',
2065      'ready',
2066      'track',
2067      'trackForm',
2068      'trackLink'
2069    ];
2070    trekkie.factory = function(method) {
2071      return function() {
2072        var args = Array.prototype.slice.call(arguments);
2073        args.unshift(method);
2074        trekkie.push(args);
2075        if (method == 'track' || method == 'page') {
2076          var pageUrl;
2077          try {
2078            pageUrl = window.location.href;
2079          } catch (e) {}
2080          var pageReferrer;
2081          try {
2082            pageReferrer = document.referrer;
2083          } catch (e) {}
2084          try {
2085            if (window.__TREKKIE_SHIM_QUEUE == null) {
2086              window.__TREKKIE_SHIM_QUEUE = [];
2087            }
2088            window.__TREKKIE_SHIM_QUEUE.push({
2089              from: 'trekkie-stub',
2090              method: method,
2091              args: args.slice(1),
2092              pageContext: {
2093                url: pageUrl,
2094                referrer: pageReferrer
2095              }
2096            });
2097          } catch (e) {
2098            // no-op
2099          }
2100        }
2101        return trekkie;
2102      };
2103    };
2104    for (var i = 0; i < trekkie.methods.length; i++) {
2105      var key = trekkie.methods[i];
2106      trekkie[key] = trekkie.factory(key);
2107    }
2108    trekkie.load = function(config) {
2109      trekkie.config = config || {};
2110      trekkie.config.initialDocumentCookie = document.cookie;
2111      var first = document.getElementsByTagName('script')[0];
2112var script = document.createElement('script');
2113script.type = 'text/javascript';
2114script.onerror = function(e) {
2115  var scriptFallback = document.createElement('script');
2116  scriptFallback.type = 'text/javascript';
2117  scriptFallback.onerror = function(error) {
2118          var Monorail = {
2119      produce: function produce(monorailDomain, schemaId, payload) {
2120        var currentMs = new Date().getTime();
2121        var event = {
2122          schema_id: schemaId,
2123          payload: payload,
2124          metadata: {
2125            event_created_at_ms: currentMs,
2126            event_sent_at_ms: currentMs
2127          }
2128        };
2129        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
2130      },
2131      sendRequest: function sendRequest(endpointUrl, payload) {
2132        // Try the sendBeacon API
2133        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
2134          var blobData = new window.Blob([payload], {
2135            type: 'text/plain'
2136          });
2137
2138          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
2139            return true;
2140          } // sendBeacon was not successful
2141
2142        } // XHR beacon
2143
2144        var xhr = new XMLHttpRequest();
2145
2146        try {
2147          xhr.open('POST', endpointUrl);
2148          xhr.setRequestHeader('Content-Type', 'text/plain');
2149          xhr.send(payload);
2150        } catch (e) {
2151          console.log(e);
2152        }
2153
2154        return false;
2155      },
2156      isIos12: function isIos12() {
2157        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
2158      }
2159    };
2160    Monorail.produce('monorail-edge.shopifysvc.com',
2161      'trekkie_storefront_load_errors/1.1',
2162      {shop_id: 86106145034,
2163      theme_id: 193108508938,
2164      app_name: "storefront",
2165      context_url: window.location.href,
2166      source_url: "//diasocks.no/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
2167
2168  };
2169  scriptFallback.async = true;
2170  scriptFallback.src = '//diasocks.no/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
2171  first.parentNode.insertBefore(scriptFallback, first);
2172};
2173script.async = true;
2174script.src = '//diasocks.no/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
2175first.parentNode.insertBefore(script, first);
2176
2177    };
2178    trekkie.load(
2179      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":86106145034,"isMerchantRequest":null,"themeId":193108508938,"themeCityHash":"246667842465154532","contentLanguage":"nb","currency":"NOK","eventMetadataId":"a96fd565-a211-4730-918c-379722b135af"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
2180    );
2181
2182    var loaded = false;
2183    trekkie.ready(function() {
2184      if (loaded) return;
2185      loaded = true;
2186
2187      window.ShopifyAnalytics.lib = window.trekkie;
2188
2189      var originalDocumentWrite = document.write;
2190      document.write = customDocumentWrite;
2191      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
2192      document.write = originalDocumentWrite;
2193
2194      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
2195      var token = match? match[1]: undefined;
2196      if (!hasLoggedConversion(token)) {
2197        setCookieIfConversion(token);
2198        
2199      }
2200    });
2201
2202    window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"001fa4a9-81c2-4293-9a29-871334797156-1791345707","shopifyEmitted":true});
2203
2204    var eventsListenerScript = document.createElement('script');
2205    eventsListenerScript.async = true;
2206    eventsListenerScript.src = "//diasocks.no/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
2207    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
2208})();</script>
vendor: 1 bytes, line 2208
2208
2209<script
2210  defer
2211  src="https://diasocks.no/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js"
2212  data-application="storefront-renderer"
2213  data-shop-id="86106145034"
2214  data-render-region="gcp-us-west1"
2215  data-page-type="index"
2216  data-theme-instance-id="193108508938"
2217  data-theme-name="Horizon"
2218  data-theme-version="4.0.0"
2219  data-monorail-region="shop_domain"
2220  data-resource-timing-sampling-rate="10"
2221  data-shs="true"
2222  data-shs-beacon="true"
2223  data-shs-export-with-fetch="true"
2224  data-shs-logs-sample-rate="1"
2225  data-shs-beacon-endpoint="https://diasocks.no/api/collect"
2226></script>
vendor: 1 bytes, line 2226
2226
2227<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
2227<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"86106145034","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Logg inn eller opprett konto"},{"key":"account_menu.signed_out_state.section_divider","value":"Flere måter å logge inn på"},{"key":"account_menu.signed_out_state.alternate_divider","value":"ELLER"},{"key":"account_menu.signed_out_state.email_field_label","value":"E-post"},{"key":"account_menu.signed_out_state.orders_button","value":"Bestillinger"},{"key":"account_menu.signed_out_state.profile_button","value":"Profil"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Logg inn med Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Fortsett med Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Fortsett med Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Send meg nyheter og tilbud på e-post"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hei, {{first_name}}!"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Konto"},{"key":"account_menu.signed_in_state.orders_button","value":"Bestillinger"},{"key":"account_menu.signed_in_state.profile_button","value":"Profil"},{"key":"account_menu.location_picker.sheet_title","value":"Steder"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Søk"},{"key":"account_menu.aria_labels.close_menu","value":"Lukk menyen"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Tilbake til hovedmenyen fra {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, åpner undermenyen"},{"key":"account_menu.aria_labels.loading_menu","value":"Laster inn menyen"},{"key":"account_menu.aria_labels.account","value":"Konto"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Logg inn med en e-postadresse"},{"key":"account_menu.aria_labels.sign_in","value":"Logg inn"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":true},"visitor":{"country":"NO","language":"nb"}}</script>
2227
2228<meta name="shopify-y" content="dec1e345-2d26-40bd-996f-0662ad35d5f0" data-expiration="1822903307000"><meta name="shopify-s" content="4d91c347-9964-4ba9-91fc-44d0d5c0d180" data-expiration="1791347507000"><meta name="new-cookie-storage-activated" content="t">
2229</head>
2230
2231  <body class="page-width-narrow card-hover-effect-none">
2232    <a
2233  class="skip-to-content-link button-secondary"
2234  href="#MainContent"
2235>
2236  GÃ¥ videre til innholdet
2237</a>
2238
2239
2240
2241
2242    
2243
2244<theme-drawer id="chat-drawer">
2245  <dialog
2246    ref="panel"
2247    class="theme-drawer__dialog chat-drawer"
2248  >
2249    <shopify-chat
2250      mode="standalone"
2251      mode-switch
2252    ></shopify-chat>
2253  </dialog>
2254</theme-drawer>
2255
2256<script type="module">
2257  const chatDrawer = document.querySelector('#chat-drawer');
2258  const shopifyChat = document.querySelector('shopify-chat');
2259
2260  document.addEventListener('theme-drawer:open', (event) => {
2261    if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return;
2262    shopifyChat?.setAttribute('mode', 'managed');
2263  });
2264
2265  document.addEventListener('theme-drawer:close', (event) => {
2266    if (/** @type {Element} */ (event.target).id !== 'chat-drawer') return;
2267    // If mode is still managed, this is a theme-initiated close (backdrop /
2268    // Escape) — close the chat so the FAB appears. If mode is already
2269    // standalone, the close was triggered by an undock (enter-standalone sets
2270    // mode before closing the drawer) — leave the chat open as a floating panel.
2271    if (shopifyChat?.getAttribute('mode') === 'managed') {
2272      shopifyChat?.removeAttribute('open');
2273    }
2274    shopifyChat?.setAttribute('mode', 'standalone');
2275  });
2276
2277  document.addEventListener('shopify-chat:enter-managed', () => {
2278    // Captured at event-fire time — the dock-transition animation hint below
2279    // depends on state as it was when the event was dispatched.
2280    const isStandaloneAndOpen = shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone';
2281
2282    // The activator-click path (FAB click on desktop with stored
2283    // preferredMode=managed) dispatches enter-managed *before* calling show(),
2284    // so the chat's `open` attribute at event time understates the imminent
2285    // outcome. Defer to a microtask: by then show() (if any) has run, and we
2286    // can distinguish the viewport-driven mobile→desktop transition that left
2287    // a minimized FAB (chat stays closed → don't open an empty drawer) from
2288    // an activator click (chat just opened → open the drawer).
2289    queueMicrotask(() => {
2290      if (!shopifyChat?.hasAttribute('open') && !chatDrawer?.hasAttribute('open')) {
2291        return;
2292      }
2293      chatDrawer?.open?.(isStandaloneAndOpen ? { enter: 'inline-start' } : undefined);
2294    });
2295  });
2296
2297  document.addEventListener('shopify-chat:enter-standalone', () => {
2298    shopifyChat?.setAttribute('mode', 'standalone');
2299    chatDrawer?.close?.();
2300  });
2301
2302  document.addEventListener('shopify-chat:close', () => {
2303    if (shopifyChat?.getAttribute('mode') === 'managed') {
2304      chatDrawer?.close?.();
2305    }
2306  });
2307
2308  document.addEventListener('megaMenu:hover', () => {
2309    if (shopifyChat?.hasAttribute('open') && shopifyChat?.getAttribute('mode') === 'standalone') {
2310      shopifyChat?.removeAttribute('open');
2311    }
2312  });
2313
2314  // After the chat upgrades it self-restores its preferred mode from
2315  // sessionStorage. Reconcile any mismatch with the theme-drawer's state
2316  // — the drawer is the source of truth for which mode the chat should
2317  // be in (open → managed, closed → standalone).
2318  customElements.whenDefined('shopify-chat').then(() => {
2319    const mode = chatDrawer?.hasAttribute('open') ? 'managed' : 'standalone';
2320    if (shopifyChat?.getAttribute('mode') !== mode) {
2321      // When switching managed → standalone (e.g. narrow viewport skipped
2322      // drawer restore), also close the chat so it renders as the FAB
2323      // rather than an open standalone panel.
2324      if (mode === 'standalone' && shopifyChat?.hasAttribute('open')) {
2325        shopifyChat?.removeAttribute('open');
2326      }
2327      shopifyChat?.setAttribute('mode', mode);
2328    }
2329  });
2330</script>
2330
2331
2332
2333
2334
2335    <div class="page-wrapper">
2336      <div id="header-group">
2337        <!-- BEGIN sections: header-group -->
2338<div id="shopify-section-sections--28565473820938__header_announcements_9jGBFp" class="shopify-section shopify-section-group-header-group">
2339
2340
2341  
2341<script
2342    src="//diasocks.no/cdn/shop/t/25/assets/announcement-bar.js?v=34024675399582161451786808719"
2343    type="module"
2344    fetchpriority="low"
2345  ></script>
2345
2346
2347
2348
2349
2350
2351
2352
2353  <style data-shopify>
2354    .color-custom-sections--28565473820938__header_announcements_9jGBFp,
2355    .color-custom-sections--28565473820938__header_announcements_9jGBFp .text-block {
2356      /* Background */
2357      --color-background: #002E49;
2358      --color-background-rgb: 0 46 73;
2359
2360      /* Opacity values adjusted for background brightness */
2361      
2362--opacity-5-15: 0.15; --opacity-10-25: 0.25; --opacity-35-55: 0.55; --opacity-40-60:
23630.6; --opacity-30-60: 0.6; --opacity-60: 0.6;
2364
2365
2366      
2367        /* Foreground / text — explicit or smart-contrasted */
2368        --color: var(--palette-lightest);
2369        --color-rgb: var(--palette-lightest-rgb);
2370        --color-foreground: var(--palette-lightest);
2371        --color-foreground-rgb: var(--palette-lightest-rgb);
2372        --color-foreground-muted: rgb(var(--palette-lightest-rgb) / var(--opacity-muted-text));
2373        --color-foreground-subdued: rgb(var(--palette-lightest-rgb) / var(--opacity-subdued-text));
2374        --color-border: var(--palette-lightest);
2375        --color-border-rgb: var(--palette-lightest-rgb);
2376      
2377    }
2378
2379    
2380      .color-custom-sections--28565473820938__header_announcements_9jGBFp {
2381        /* Form-related tokens stay on .color-custom only — .text-block is a prose
2382           container (text/announcement/inline-text/blog-post-description/
2383           collection-link/price/sku) and never holds form inputs. */
2384        --input-disabled-background-color: rgb(var(--palette-lightest-rgb) / var(--opacity-10));
2385        --input-disabled-border-color: rgb(var(--palette-lightest-rgb) / var(--opacity-5));
2386        --input-disabled-text-color: rgb(var(--palette-lightest-rgb) / var(--opacity-50));
2387        --checkbox-border: 1px solid rgb(var(--palette-lightest-rgb) / var(--opacity-35-55));
2388      }
2389    
2390
2391    .color-custom-sections--28565473820938__header_announcements_9jGBFp {
2392      color: var(--color, var(--color-foreground));
2393      background-color: var(--color-background);
2394    }
2395  </style>
2396
2397
2398
2399<div class="section-background color-custom-sections--28565473820938__header_announcements_9jGBFp"></div>
2400<aside
2401  class="announcement-bar spacing-style section section--page-width color-custom-sections--28565473820938__header_announcements_9jGBFp"
2402  style="--padding-block-start: 15px; --padding-block-end:15px; --padding-inline-start:0px; --padding-inline-end:0px;
2403; --border-bottom-width: 1px; --color-border: #F5F5F7;"
2404>
2405  
2406
2407  <announcement-bar-component
2408    class="announcement-bar__slider"
2409    
2410      autoplay="4" aria-live="polite"
2411    
2412  >
2413    
2414      <slideshow-arrows
2415  position="center"
2416  
2417><button
2418  class="
2419    slideshow-control slideshow-control--previous
2420    
2421    
2422    slideshow-control--style-chevron
2423    button button-unstyled button-unstyled--transparent
2424     flip-x
2425  "
2426  
2427    aria-label="Forrige lysbilde"
2428  
2429  on:click="/previous"
2430  ref="previous"
2431>
2432  <span class="svg-wrapper icon-caret"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2433  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2434</svg>
2435</span>
2436</button>
2437
2438
2439<button
2440  class="
2441    slideshow-control slideshow-control--next
2442    
2443    
2444    slideshow-control--style-chevron
2445    button button-unstyled button-unstyled--transparent
2446    
2447  "
2448  
2449    aria-label="Neste lysbilde"
2450  
2451  on:click="/next"
2452  ref="next"
2453>
2454  <span class="svg-wrapper icon-caret"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2455  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2456</svg>
2457</span>
2458</button>
2459
2460
2461</slideshow-arrows>
2462
2463
2464
2465    
2466
2467    <div class="announcement-bar__slides">
2468      
2469<slideshow-slide
2470    ref="slides[]"
2471    class="
2472      announcement-bar__slide
2473      text-block
2474      text-block--AQkxhd295ejlWQ3FpU__announcement_gi9Tyj
2475      text-block--align-center
2476      text-block--full-width
2477      custom-typography
2478      custom-font-size
2479      
2480    "
2481    style="
2482      
2483--font-size: 1rem;      --font-weight: var(--font-subheading--weight);--font-family: var(--font-subheading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-);        --letter-spacing: var(--letter-spacing--body-normal);
2484      
2485      --width: 100%;
2486      --text-align: center;
2487      --line-height: 1;
2488    "
2489    
2490    aria-hidden="false"
2491  >
2492    <p class="announcement-bar__text">
2493      Fri frakt over 500 kr
2494    </p>
2495
2496    
2497      <a
2498        class="announcement-bar__link"
2499        href="/collections/all"
2500      >
2501        <span class="visually-hidden">
2502          Fri frakt over 500 kr
2503        </span>
2504      </a>
2505    
2506  </slideshow-slide>
2507
2508
2509
2510<slideshow-slide
2511    ref="slides[]"
2512    class="
2513      announcement-bar__slide
2514      text-block
2515      text-block--Ackh3QlpJTHlFRFRQM__announcement_FLnfxG
2516      text-block--align-center
2517      text-block--full-width
2518      custom-typography
2519      custom-font-size
2520      
2521    "
2522    style="
2523      
2524--font-size: 1rem;      --font-weight: var(--font-subheading--weight);--font-family: var(--font-subheading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-);        --letter-spacing: var(--letter-spacing--body-normal);
2525      
2526      --width: 100%;
2527      --text-align: center;
2528      --line-height: 1;
2529    "
2530    
2531    aria-hidden="true"
2532  >
2533    <p class="announcement-bar__text">
2534      Betal trygt med Vipps
2535    </p>
2536
2537    
2538  </slideshow-slide>
2539
2540
2541
2542    </div>
2543  </announcement-bar-component>
2544</aside>
2545
2546
2547
2548
2549</div><header id="shopify-section-sections--28565473820938__header_section" class="shopify-section shopify-section-group-header-group header-section">
2550
2551
2552
2553
2554
2555
2556<script type="application/ld+json">
2557  {
2558    "@context": "http://schema.org",
2559    "@type": "Organization",
2560    "name": "Diasocks",
2561    
2562      "logo": "https:\/\/diasocks.no\/cdn\/shop\/files\/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?v=1781548611\u0026width=500",
2563    
2564    "url": "https:\/\/diasocks.no"
2565  }
2566</script>
2566
2567
2568<header-component
2569  id="header-component"
2570  class="header"
2571  data-theme-color="rgb(255 255 255)"
2572  data-bubble-style="default"
2573  
2574  
2575    sticky="scroll-up"
2576  
2577  data-skip-node-update
2578  data-scroll-direction="none"
2579  
2580  
2581    data-transparent-background="bottom"
2582  
2583  style="
2584    --color-background-top-row: rgba(255 255 255 / 1.0);
2585    --color-background-bottom-row: rgba(255 255 255 / 1.0);
2586    
2587    
2588      --cart-bubble-background: var(--palette-darkest);
2589      --cart-bubble-text: #ffffff;
2590    
2591    
2592  "
2593>
2594  <div class="header__underlay header__underlay-closed"></div>
2595  <div
2596    class="header__underlay header__underlay-open"
2597  ></div><h1 class="visually-hidden">Diasocks</h1>
2598    
2599
2600    
2601
2602    
2603    
2604      <div
2605        class="header__row header__row--top color-#ffffff section section--full-width-margin section--page-width color-custom-top-sections--28565473820938__header_section"
2606        ref="headerRowTop"style="--border-bottom-width: 0px; --border-bottom-width-mobile: 0px; --border-bottom-color-mobile: var(--color-border);">
2607        <div class="header__columns spacing-style">
2608          <style data-shopify>
2609    .color-custom-top-sections--28565473820938__header_section,
2610    .color-custom-top-sections--28565473820938__header_section .text-block {
2611      /* Background */
2612      --color-background: #ffffff;
2613      --color-background-rgb: 255 255 255;
2614
2615      /* Opacity values adjusted for background brightness */
2616      
2617--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
26180.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
2619
2620
2621      
2622        /* Foreground / text — explicit or smart-contrasted */
2623        --color: #000000;
2624        --color-rgb: 0 0 0;
2625        --color-foreground: #000000;
2626        --color-foreground-rgb: 0 0 0;
2627        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
2628        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
2629        --color-border: var(--palette-darkest);
2630        --color-border-rgb: var(--palette-darkest-rgb);
2631      
2632    }
2633
2634    
2635      .color-custom-top-sections--28565473820938__header_section {
2636        /* Form-related tokens stay on .color-custom only — .text-block is a prose
2637           container (text/announcement/inline-text/blog-post-description/
2638           collection-link/price/sku) and never holds form inputs. */
2639        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
2640        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
2641        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
2642        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
2643      }
2644    
2645
2646    .color-custom-top-sections--28565473820938__header_section {
2647      color: var(--color, var(--color-foreground));
2648      background-color: var(--color-background);
2649    }
2650  </style>
2651
2652
2653      
2654      
2655<div
2656      class="header__column header__column--left"
2657      data-testid="header-top-left"
2658    >
2659      
2660        
2661          
2662              
2663
2664
2665
2666    <div
2667      class="header__drawer"
2668      ref="headerDrawerContainer"
2669      data-hydration-key="header-drawer-mobile"
2670      
2671    >
2672      
2673
2674
2675
2676
2677  <style data-shopify>
2678    .color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1,
2679    .color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1 .text-block {
2680      /* Background */
2681      --color-background: #ffffff;
2682      --color-background-rgb: 255 255 255;
2683
2684      /* Opacity values adjusted for background brightness */
2685      
2686--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
26870.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
2688
2689
2690      
2691        /* Foreground / text — explicit or smart-contrasted */
2692        --color: #000000;
2693        --color-rgb: 0 0 0;
2694        --color-foreground: #000000;
2695        --color-foreground-rgb: 0 0 0;
2696        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
2697        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
2698        --color-border: var(--palette-darkest);
2699        --color-border-rgb: var(--palette-darkest-rgb);
2700      
2701    }
2702
2703    
2704      .color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1 {
2705        /* Form-related tokens stay on .color-custom only — .text-block is a prose
2706           container (text/announcement/inline-text/blog-post-description/
2707           collection-link/price/sku) and never holds form inputs. */
2708        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
2709        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
2710        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
2711        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
2712      }
2713    
2714
2715    .color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1 {
2716      color: var(--color, var(--color-foreground));
2717      background-color: var(--color-background);
2718    }
2719  </style>
2720
2721
2722
2723<script
2724  src="//diasocks.no/cdn/shop/t/25/assets/header-drawer.js?v=121243031541024704371786808745"
2725  type="module"
2726  fetchpriority="low"
2727></script>
2727
2728
2729<header-drawer
2730  class="header-drawer "
2731  style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;"
2732>
2733  <details
2734    id="Details-menu-drawer-container"
2735    data-skip-node-update="true"
2736    class="menu-drawer-container"
2737    ref="details"
2738    scroll-lock
2739  >
2740    <summary
2741      class="header__icon header__icon--menu header__icon--summary"
2742      aria-label="Meny"
2743      on:click="/toggle"
2744    >
2745      <span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2746  <path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
2747  <path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
2748</svg>
2749</span>
2750      <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2751<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
2752</svg>
2753</span>
2754    </summary>
2755    <div
2756      ref="menuDrawer"
2757      class="
2758        menu-drawer
2759        
2760          color-custom-ARkdQcW5zNHFyWnY3R__header-menu-1
2761        
2762      "
2763    >
2764      <button
2765        class="button close-button menu-drawer__close-button focus-inset"
2766        type="button"
2767        aria-label="Lukk"
2768        on:click="/close"
2769      >
2770        <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2771<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
2772</svg>
2773</span>
2774      </button>
2775      <nav
2776        class="menu-drawer__navigation"
2777        style="--menu-top-level-font-family: var(--font-body--family);
2778--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none;
2779
2780  --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height:
2781  var(--menu-font-2xl--line-height);
2782
2783--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
2784
2785--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style:
2786var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case:
2787none;
2788
2789    --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height:
2790    var(--menu-font-sm--line-height); --menu-parent-font-color: var(--color-foreground-subdued);
2791    --menu-parent-active-font-color: var(--color-foreground);
2792  
2793--menu-child-font-family: var(--font-body--family); --menu-child-font-style:var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case:
2794none;
2795
2796    --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height);
2797    --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: var(--color-foreground-subdued);
2798  
2799
2800        "
2801        aria-label="Primær"
2802      >
2803        <ul
2804          class="menu-drawer__menu has-submenu"
2805          role="list"
2806        >
2807            
2808            
2809
2810              <li
2811                style="--menu-drawer-animation-index: 1;"
2812                class="menu-drawer__list-item--flat"
2813              >
2814                
2815<a
2816                    id="HeaderDrawer-stottestromper"
2817                    href="/products/stottestromper"
2818                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2819                    
2820                  >
2821                    <span class="menu-drawer__menu-item-text wrap-text">Støttestrømper</span>
2822                  </a>
2823                
2824              </li>
2825              <li
2826                style="--menu-drawer-animation-index: 2;"
2827                class="menu-drawer__list-item--flat"
2828              >
2829                
2830<a
2831                    id="HeaderDrawer-komfortstromper"
2832                    href="/products/komfortstromper"
2833                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2834                    
2835                  >
2836                    <span class="menu-drawer__menu-item-text wrap-text">Komfortstrømper</span>
2837                  </a>
2838                
2839              </li>
2840              <li
2841                style="--menu-drawer-animation-index: 3;"
2842                class="menu-drawer__list-item--flat"
2843              >
2844                
2845<a
2846                    id="HeaderDrawer-ankelsokker-med-kompresjon"
2847                    href="/products/ankelstottestromper"
2848                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2849                    
2850                  >
2851                    <span class="menu-drawer__menu-item-text wrap-text">Ankelsokker med kompresjon</span>
2852                  </a>
2853                
2854              </li>
2855              <li
2856                style="--menu-drawer-animation-index: 4;"
2857                class="menu-drawer__list-item--flat"
2858              >
2859                
2860<a
2861                    id="HeaderDrawer-alle-produkter"
2862                    href="/collections/bestselgere"
2863                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2864                    
2865                  >
2866                    <span class="menu-drawer__menu-item-text wrap-text">Alle produkter</span>
2867                  </a>
2868                
2869              </li>
2870        </ul>
2871      </nav>
2872      <div
2873        class="menu-drawer__utility-links menu-drawer__animated-element"
2874        style="--menu-drawer-animation-index: 4;"
2875      >
2876        
2877        </div>
2878
2879      
2880    </div>
2881    <div
2882      class="menu-drawer__backdrop"
2883      on:click="header-drawer/close"
2884    ></div>
2885  </details>
2886</header-drawer>
2887
2888
2889
2890    </div>
2891
2892  
2893
2894<style data-shopify>
2895  .header__underlay {
2896    --color-submenu: rgb(255 255 255);
2897  }
2898</style>
2899
2900
2901
2902
2903            
2904        
2905      
2906        
2907          
2908              
2909  <search-button
2910    class="search-action search-action--hidden-on-menu"
2911  >
2912    <button
2913      on:click="#search-modal/showDialog"
2914      class="button-unstyled header-actions__action"
2915      aria-label="Søk"
2916      aria-haspopup="dialog"
2917    >
2918      <span class="hidden">
2919        Søk
2920      </span>
2921
2922      <span class="svg-wrapper ">
2923        <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
2924
2925      </span>
2926    </button>
2927  </search-button>
2928
2929
2930
2931
2932            
2933        
2934      
2935        
2936          
2937              
2938
2939
2940
2941
2942<a
2943  
2944  href="/"
2945  class="size-style spacing-style header-logo"
2946  style="
2947    --size-style-width: ;--size-style-height: ;
2948    --padding-block-start: 0px;--padding-block-end: 0px;
2949    --font-family: var(--font-body--family);
2950    --font-style: var(--font-body--style);
2951    --font-weight: 600;
2952  "
2953  
2954>
2955  
2956
2957  <span
2958    class="header-logo__image-container header-logo__image-container--original"
2959    data-testid="header-logo"
2960  >
2961    
2962  
2963  
2964  
2965  
2966
2967  
2968
2969  
2970
2971  
2972
2973       <img   src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="  data-src="//diasocks.no/cdn/shop/files/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?height=50&amp;v=1781548611" alt="Diasocks - Startside" width="188" height="50" class="header-logo__image lazyload " data-srcset="//diasocks.no/cdn/shop/files/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?height=50&amp;v=1781548611 1x, //diasocks.no/cdn/shop/files/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?height=100&amp;v=1781548611 2x, //diasocks.no/cdn/shop/files/Diasocks_logo_3_10_baae2afb-64c6-4ba3-b8bd-c40148fe183c.png?height=150&amp;v=1781548611 3x" style="--header-logo-image-width: 188px;--header-logo-image-width-mobile: 132px; --header-logo-image-height: 50px; --header-logo-image-height-mobile: 35px;"> 
2974
2975
2976
2977  </span>
2978
2979  
2980</a>
2981
2982
2983
2984
2985
2986            
2987        
2988      
2989        
2990          
2991              
2992
2993
2994
2995    
2996
2997
2998
2999
3000  <style data-shopify>
3001    .color-custom-ARkdQcW5zNHFyWnY3R__header-menu,
3002    .color-custom-ARkdQcW5zNHFyWnY3R__header-menu .text-block {
3003      /* Background */
3004      --color-background: #ffffff;
3005      --color-background-rgb: 255 255 255;
3006
3007      /* Opacity values adjusted for background brightness */
3008      
3009--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
30100.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
3011
3012
3013      
3014        /* Foreground / text — explicit or smart-contrasted */
3015        --color: #000000;
3016        --color-rgb: 0 0 0;
3017        --color-foreground: #000000;
3018        --color-foreground-rgb: 0 0 0;
3019        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
3020        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
3021        --color-border: var(--palette-darkest);
3022        --color-border-rgb: var(--palette-darkest-rgb);
3023      
3024    }
3025
3026    
3027      .color-custom-ARkdQcW5zNHFyWnY3R__header-menu {
3028        /* Form-related tokens stay on .color-custom only — .text-block is a prose
3029           container (text/announcement/inline-text/blog-post-description/
3030           collection-link/price/sku) and never holds form inputs. */
3031        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
3032        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
3033        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
3034        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
3035      }
3036    
3037
3038    .color-custom-ARkdQcW5zNHFyWnY3R__header-menu {
3039      color: var(--color, var(--color-foreground));
3040      background-color: var(--color-background);
3041    }
3042  </style>
3043
3044
3045
3046    
3047
3048    <header-menu
3049      ref="headerMenu"
3050      class="header-menu"
3051      
3052      data-hydration-key="header-menu"
3053    >
3054      <div class="header-menu__inner">
3055        <nav
3056          class="menu-list"
3057          aria-label="Primær"
3058          style="--menu-top-level-font-family: var(--font-body--family);
3059--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none;
3060
3061  --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height:
3062  var(--menu-font-sm--line-height);
3063
3064--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
3065"
3066        >
3067          
3068          <overflow-list
3069  
3070    ref="overflowMenu"
3071  
3072  
3073    class="overflow-menu background-matches-parent"
3074  
3075  
3076    minimum-items="2"
3077  
3078  
3079    data-testid="header-menu-overflow-list"
3080  
3081  
3082    data-skip-node-update
3083  
3084>
3085  <template shadowrootmode="open">
3086    <link href="//diasocks.no/cdn/shop/t/25/assets/overflow-list.css?v=16727044177065489451786808794" rel="stylesheet" type="text/css" media="all" />
3087
3088    <ul part="list">
3089      <slot></slot>
3090      <slot
3091        name="more"
3092        part="more"
3093        hidden
3094        
3095      >
3096        <li
3097          part="more"
3098        >
3099          <button
3100            class="button"
3101            type="button"
3102            tabindex="0"
3103            
3104          >
3105            Mer
3106          </button>
3107        </li>
3108      </slot>
3109      <li
3110        part="placeholder"
3111        hidden
3112      ></li>
3113    </ul>
3114
3115    <div part="overflow">
3116      <ul part="overflow-list">
3117        <slot name="overflow"></slot>
3118      </ul>
3119    </div>
3120  </template>
3121
3122  
3123      
3124        <li
3125          role="presentation"
3126          class="menu-list__list-item"
3127          on:focus="/activate"
3128          on:blur="/deactivate"
3129          on:pointerenter="/activate"
3130          on:pointerleave="/deactivate"
3131        >
3132          <a
3133            href="/products/stottestromper"
3134            data-skip-node-update="true"
3135            class="menu-list__link"
3136            ref="menuitem"
3137          >
3138            <span class="menu-list__link-title">Støttestrømper</span>
3139          </a></li>
3140      
3141        <li
3142          role="presentation"
3143          class="menu-list__list-item"
3144          on:focus="/activate"
3145          on:blur="/deactivate"
3146          on:pointerenter="/activate"
3147          on:pointerleave="/deactivate"
3148        >
3149          <a
3150            href="/products/komfortstromper"
3151            data-skip-node-update="true"
3152            class="menu-list__link"
3153            ref="menuitem"
3154          >
3155            <span class="menu-list__link-title">Komfortstrømper</span>
3156          </a></li>
3157      
3158        <li
3159          role="presentation"
3160          class="menu-list__list-item"
3161          on:focus="/activate"
3162          on:blur="/deactivate"
3163          on:pointerenter="/activate"
3164          on:pointerleave="/deactivate"
3165        >
3166          <a
3167            href="/products/ankelstottestromper"
3168            data-skip-node-update="true"
3169            class="menu-list__link"
3170            ref="menuitem"
3171          >
3172            <span class="menu-list__link-title">Ankelsokker med kompresjon</span>
3173          </a></li>
3174      
3175        <li
3176          role="presentation"
3177          class="menu-list__list-item"
3178          on:focus="/activate"
3179          on:blur="/deactivate"
3180          on:pointerenter="/activate"
3181          on:pointerleave="/deactivate"
3182        >
3183          <a
3184            href="/collections/bestselgere"
3185            data-skip-node-update="true"
3186            class="menu-list__link"
3187            ref="menuitem"
3188          >
3189            <span class="menu-list__link-title">Alle produkter</span>
3190          </a></li>
3191      
3192      <li
3193        class="menu-list__list-item"
3194        role="presentation"
3195        slot="more"
3196        on:focus="/activate"
3197        on:blur="/deactivate"
3198        on:pointerenter="/activate"
3199        on:pointerleave="/deactivate"
3200      >
3201        <button role="listitem" class="menu-list__link button-unstyled">
3202          <span class="menu-list__link-title">Mer</span>
3203        </button>
3204      </li>
3205    
3206</overflow-list>
3207
3208        </nav>
3209      </div>
3210
3211      
3211<script
3212        src="//diasocks.no/cdn/shop/t/25/assets/header-menu.js?v=95929844569485293131786808746"
3213        type="module"
3214        fetchpriority="low"
3215      ></script>
3215
3216    </header-menu>
3217
3218
3219<style data-shopify>
3220  .header__underlay {
3221    --color-submenu: rgb(255 255 255);
3222  }
3223</style>
3224
3225
3226
3227
3228            
3229        
3230      
3231    </div><div
3232      class="header__column header__column--right"
3233      data-testid="header-top-right"
3234    >
3235      
3236        
3237          
3238              
3239  
3240  
3241
3242            
3243        
3244      
3245        
3246          
3247              
3248  <search-button
3249    class="search-action search-action--hidden-on-drawer"
3250  >
3251    <button
3252      on:click="#search-modal/showDialog"
3253      class="button-unstyled header-actions__action"
3254      aria-label="Søk"
3255      aria-haspopup="dialog"
3256    >
3257      <span class="hidden">
3258        Søk
3259      </span>
3260
3261      <span class="svg-wrapper ">
3262        <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
3263
3264      </span>
3265    </button>
3266  </search-button>
3267
3268
3269
3270
3271            
3272        
3273      
3274        
3275          
3276              
3277
3278<script
3279  type="module"
3280  src="//diasocks.no/cdn/shop/t/25/assets/cart-icon.js?v=109428858171217037751786808725"
3281  fetchpriority="low"
3282></script>
3282
3283
3284
3285
3286
3287
3288<header-actions
3289  
3290>
3291  
3292    
3293    <div
3294      class="account-button header-actions__action color-custom-popover"
3295    >
3296      <shopify-store store-domain="https://diasocks.no" country="NO" language="nb"></shopify-store>
3297<shopify-account
3298        menu="customer-account-main-menu"
3299        
3300      >
3301        
3302          <span
3303            slot="signed-out-avatar"
3304            class="account-button__text header-actions__text-style hidden"
3305          >
3306            Konto
3307          </span>
3308
3309          <span
3310            slot="signed-out-avatar"
3311            class=""
3312            aria-hidden="true"
3313          >
3314            
3315  <svg
3316    xmlns="http://www.w3.org/2000/svg"
3317    width="15"
3318    height="17"
3319    viewBox="0 0 15 17"
3320    fill="none"
3321    slot="signed-out-avatar"
3322    class="account-button__icon"
3323  >
3324    <path
3325      stroke="currentColor"
3326      stroke-linejoin="round"
3327      stroke-width="var(--icon-stroke-width)"
3328      d="M10.375 3.813a3.063 3.063 0 1 1-6.125 0 3.063 3.063 0 0 1 6.125 0ZM7.313 9.5c-3.667 0-6.24 2.691-6.563 6.125h13.125C13.552 12.191 10.979 9.5 7.312 9.5Z"
3329    />
3330  </svg>
3331
3332          </span>
3333        
3334      </shopify-account>
3335    </div>
3336  
3337
3338  
3339    <button
3340      class="header-actions__action button-unstyled"
3341      on:click="#cart-drawer/toggle"
3342      aria-haspopup="dialog"
3343      aria-expanded="false"
3344      aria-controls="cart-drawer"
3345      aria-label="Handlekurv"
3346      aria-describedby="cart-bubble-text"
3347      data-testid="cart-drawer-trigger"
3348    >
3349      
3350  <cart-icon
3351    class="header-actions__cart-icon"
3352    data-testid="cart-icon"
3353  >
3354    <span class="hidden">
3355      Handlekurv
3356    </span>
3357
3358    <span
3359      class="svg-wrapper "
3360      aria-hidden="true"
3361    >
3362      <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg>
3363
3364    </span>
3365
3366    
3367
3368<div
3369  ref="cartBubble"
3370  class="cart-bubble visually-hidden"
3371  style="--cart-bubble-background-fallback: #000000; --cart-bubble-text-fallback: #ffffff;"
3372  
3373  
3374    data-maintain-ratio
3375  
3376>
3377  <span class="cart-bubble__background"></span>
3378  <span
3379    ref="cartBubbleText"
3380    id="cart-bubble-text"
3381    class="cart-bubble__text"
3382  >
3383    <span
3384      class="cart-bubble__text-count hidden"
3385      ref="cartBubbleCount"
3386      aria-hidden="true"
3387      data-testid="cart-bubble"
3388    >
33890</span>
3390  </span>
3391</div>
3392
3393
3394
3395  </cart-icon>
3396
3397    </button>
3398  
3399
3400  <span
3401    ref="liveRegion"
3402    class="visually-hidden"
3403    role="status"
3404    data-testid="cart-count-live-region"
3405  ></span>
3406</header-actions>
3407
3408<script
3409  type="module"
3410  src="//diasocks.no/cdn/shop/t/25/assets/header-actions.js?v=157135685635924702181786808745"
3411  fetchpriority="low"
3412></script>
3412
3413
3414
3415
3416          
3417        
3418      
3419    </div>
3420        </div>
3421      </div>
3422    
3423  
3424    
3425
3426    
3427
3428    
3429    
3430  
3431
3432  
3433    <div class="header__row header__navigation-bar-row">
3434      
3435
3436
3437
3438    
3439  
3440
3441<style data-shopify>
3442  .header__underlay {
3443    --color-submenu: rgb(255 255 255);
3444  }
3445</style>
3446
3447
3448
3449
3450    </div>
3451  
3452</header-component>
3453
3454<script
3455  src="//diasocks.no/cdn/shop/t/25/assets/header.js?v=183210491532312943441786808747"
3456  type="module"
3457></script>
3457
3458
3459
3460
3461
3462  
3462<script type="module">
3463    import { hydrate } from '@theme/section-hydration';
3464    const url = new URL(window.location.href);
3465    url.searchParams.delete('page');
3466    hydrate('sections--28565473820938__header_section', url);
3467  </script>
3467
3468
3469<script>document.addEventListener("startasyncloading",(function(){document.querySelectorAll("script[data-src]").forEach((t=>{const c=t.dataset.src;null!=c&&(t.src=c,t.removeAttribute("data-src"))}))}));</script>
3469
3470 
3471
3472</header>
3473<!-- END sections: header-group -->
3474      </div>
3475
3476      
3476<script>
3477        // Inline header height and menu style calculations to prevent layout shift
3478        // Note: Updates in calculateHeaderGroupHeight(), updateTransparentHeaderOffset() and setHeaderMenuStyle() utilities.js should be kept in sync with this function
3479        (function setHeaderHeighCustomProperties() {
3480          /*
3481           * Header calculation functions for maintaining CSS variables
3482           * Mimic calculateHeaderGroupHeight() in utilities.js
3483           */
3484          const header = document.querySelector('header-component');
3485          const headerGroup = document.querySelector('#header-group');
3486          const hasHeaderSection = headerGroup?.querySelector('.header-section');
3487
3488          if (!header || !headerGroup) return;
3489
3490          const headerTopRow = header.querySelector('.header__row--top');
3491          const headerHeight = header.offsetHeight;
3492
3493          // Calculate the total height of the header group
3494          let headerGroupHeight = 0;
3495          const children = headerGroup.children;
3496          for (let i = 0; i < children.length; i++) {
3497            const element = children[i];
3498            if (element === header || !(element instanceof HTMLElement)) continue;
3499            headerGroupHeight += element.offsetHeight;
3500          }
3501
3502          // Check for transparent header special case
3503          if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) {
3504            headerGroupHeight += headerHeight;
3505          }
3506
3507          // Set CSS variables
3508          document.body.style.setProperty('--header-height', `${headerHeight}px`);
3509          document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`);
3510
3511          if (headerTopRow) {
3512            window.requestAnimationFrame(function () {
3513              document.body.style.setProperty('--top-row-height', `${headerTopRow.offsetHeight}px`);
3514            });
3515          }
3516
3517          /**
3518           * Updates CSS custom properties for transparent header offset calculation
3519           * Mimic updateTransparentHeaderOffset() in utilities.js
3520           */
3521
3522          if (!hasHeaderSection || !header?.hasAttribute('transparent')) {
3523            document.body.style.setProperty('--transparent-header-offset-boolean', '0');
3524            return;
3525          }
3526
3527          const hasImmediateSection = hasHeaderSection.nextElementSibling?.classList.contains('shopify-section');
3528
3529          const shouldApplyOffset = !hasImmediateSection ? '1' : '0';
3530          document.body.style.setProperty('--transparent-header-offset-boolean', shouldApplyOffset);
3531        })();
3532
3533        (function setHeaderMenuStyle() {
3534          const headerComponent = document.querySelector('#header-component');
3535          if (headerComponent) {
3536            const isTouchDevice = 'ontouchstart' in window && navigator.maxTouchPoints > 0;
3537            const overflowList = headerComponent?.querySelector('overflow-list');
3538            const hasReachedMinimum = overflowList && overflowList.hasAttribute('minimum-reached');
3539            headerComponent.dataset.menuStyle = isTouchDevice || hasReachedMinimum ? 'drawer' : 'menu';
3540          }
3541        })();
3542      </script>
3542
3543
3544      <main
3545        id="MainContent"
3546        class="content-for-layout"
3547        role="main"
3548        data-page-transition-enabled="false"
3549        data-product-transition="false"
3550        data-template="index"
3551      >
3552        <div id="shopify-section-template--28565473362186__custom_liquid_Hk7FnP" class="shopify-section">
3553
3554
3555
3556
3557
3558
3559  <style data-shopify>
3560    .color-custom-template--28565473362186__custom_liquid_Hk7FnP,
3561    .color-custom-template--28565473362186__custom_liquid_Hk7FnP .text-block {
3562      /* Background */
3563      --color-background: #F5F5F7;
3564      --color-background-rgb: 245 245 247;
3565
3566      /* Opacity values adjusted for background brightness */
3567      
3568--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
35690.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
3570
3571
3572      
3573        /* Foreground / text — explicit or smart-contrasted */
3574        --color: #000000;
3575        --color-rgb: 0 0 0;
3576        --color-foreground: #000000;
3577        --color-foreground-rgb: 0 0 0;
3578        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
3579        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
3580        --color-border: var(--palette-darkest);
3581        --color-border-rgb: var(--palette-darkest-rgb);
3582      
3583    }
3584
3585    
3586      .color-custom-template--28565473362186__custom_liquid_Hk7FnP {
3587        /* Form-related tokens stay on .color-custom only — .text-block is a prose
3588           container (text/announcement/inline-text/blog-post-description/
3589           collection-link/price/sku) and never holds form inputs. */
3590        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
3591        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
3592        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
3593        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
3594      }
3595    
3596
3597    .color-custom-template--28565473362186__custom_liquid_Hk7FnP {
3598      color: var(--color, var(--color-foreground));
3599      background-color: var(--color-background);
3600    }
3601  </style>
3602
3603
3604
3605<div
3606  class="section-background color-custom-template--28565473362186__custom_liquid_Hk7FnP"
3607></div>
3608<div
3609  class="section section--page-width spacing-style color-custom-template--28565473362186__custom_liquid_Hk7FnP"
3610  style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;
3611"
3612>
3613  <section class="diasocks-hero-v2">
3614  <div class="diasocks-hero-v2__inner">
3615    <a
3616      class="diasocks-hero-v2__media"
3617      href="https://diasocks.no/products/stottestromper"
3618      aria-label="Se Diasocks støttestrømper"
3619    >
3620      <img
3621        src="https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&amp;width=900"
3622        srcset="
3623          https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&amp;width=480 480w,
3624          https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&amp;width=720 720w,
3625          https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&amp;width=900 900w,
3626          https://diasocks.no/cdn/shop/files/Heading_2.webp?v=1772639978&amp;width=1200 1200w
3627        "
3628        sizes="(max-width: 749px) 100vw, (max-width: 989px) 45vw, 54vw"
3629        alt="Christina Schollin anbefaler Diasocks støttestrømper"
3630        width="1200"
3631        height="1200"
3632        loading="eager"
3633        fetchpriority="high"
3634        decoding="async"
3635      >
3636    </a>
3637
3638    <div class="diasocks-hero-v2__content">
3639      <div class="diasocks-hero-v2__proof">
3640        <span
3641          class="diasocks-hero-v2__rating"
3642          role="img"
3643          aria-label="4,4 av 5 stjerner"
3644        >
3645          <span
3646            class="diasocks-hero-v2__stars-base"
3647            aria-hidden="true"
3648          >★★★★★</span>
3649
3650          <span
3651            class="diasocks-hero-v2__stars-fill"
3652            aria-hidden="true"
3653          >★★★★★</span>
3654        </span>
3655
3656        <span>4,4/5 · Over 1 million solgte par</span>
3657      </div>
3658
3659      <h1 class="diasocks-hero-v2__heading">
3660        Få lettere ben med støttestrømper som er enkle å ta på
3661      </h1>
3662
3663      <a
3664        class="diasocks-hero-v2__button"
3665        href="https://diasocks.no/products/stottestromper"
3666      >
3667        <span>FÃ¥ 5 par for prisen av 2</span>
3668        <span class="diasocks-hero-v2__arrow" aria-hidden="true">→</span>
3669      </a>
3670
3671      <div class="diasocks-hero-v2__guarantee">
3672        <svg viewBox="0 0 24 24" aria-hidden="true">
3673          <path d="M12 2.75 19 5.5v5.75c0 4.55-2.94 8.48-7 9.95-4.06-1.47-7-5.4-7-9.95V5.5l7-2.75Z"></path>
3674          <path d="m8.75 12 2.05 2.05 4.45-4.45"></path>
3675        </svg>
3676
3677        <span>30 dagers passformgaranti</span>
3678      </div>
3679
3680      <ul class="diasocks-hero-v2__benefits">
3681        <li>Motvirker trøtte og hovne ben
3682</li>
3683        <li>Enkle å ta på og av</li>
3684        <li>Myke og behagelige hele dagen</li>
3685      </ul>
3686    </div>
3687  </div>
3688</section>
3689
3690<style>
3691  .diasocks-hero-v2 {
3692    padding: 28px 20px;
3693    overflow: hidden;
3694    background: #F5F5F7;
3695    color: #172126;
3696  }
3697
3698  .diasocks-hero-v2__inner {
3699    display: grid;
3700    grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
3701    align-items: center;
3702    gap: clamp(38px, 6vw, 90px);
3703    width: min(1400px, 100%);
3704    margin: 0 auto;
3705  }
3706
3707  .diasocks-hero-v2__content {
3708    grid-column: 1;
3709    grid-row: 1;
3710    max-width: 630px;
3711    padding: 34px 0;
3712  }
3713
3714  .diasocks-hero-v2__media {
3715    grid-column: 2;
3716    grid-row: 1;
3717    display: block;
3718    overflow: hidden;
3719    border-radius: 16px;
3720    box-shadow: 0 18px 50px rgba(22, 31, 36, 0.12);
3721  }
3722
3723  .diasocks-hero-v2__media img {
3724    display: block;
3725    width: 100%;
3726    height: auto;
3727    aspect-ratio: 1;
3728    object-fit: cover;
3729    transition: transform 350ms ease;
3730  }
3731
3732  .diasocks-hero-v2__media:hover img {
3733    transform: scale(1.015);
3734  }
3735
3736  .diasocks-hero-v2__proof {
3737    display: flex;
3738    align-items: center;
3739    gap: 10px;
3740    margin-bottom: 18px;
3741    font-size: 14px;
3742    font-weight: 750;
3743    line-height: 1.3;
3744  }
3745
3746  .diasocks-hero-v2__rating {
3747    position: relative;
3748    display: inline-block;
3749    flex-shrink: 0;
3750    font-size: 16px;
3751    letter-spacing: 1px;
3752    line-height: 1;
3753  }
3754
3755  .diasocks-hero-v2__stars-base {
3756    display: block;
3757    color: #d5d5d5;
3758    white-space: nowrap;
3759  }
3760
3761  .diasocks-hero-v2__stars-fill {
3762    position: absolute;
3763    top: 0;
3764    left: 0;
3765    display: block;
3766    width: 88%;
3767    overflow: hidden;
3768    color: #e5a900;
3769    white-space: nowrap;
3770  }
3771
3772  .diasocks-hero-v2__heading {
3773    max-width: 620px;
3774    margin: 0;
3775    font-family: inherit;
3776    font-size: clamp(40px, 4.3vw, 64px);
3777    font-weight: 750;
3778    letter-spacing: -0.045em;
3779    line-height: 1.02;
3780    text-wrap: balance;
3781  }
3782
3783  .diasocks-hero-v2__button {
3784    display: inline-flex;
3785    align-items: center;
3786    justify-content: center;
3787    gap: 18px;
3788    min-height: 58px;
3789    margin-top: 29px;
3790    padding: 15px 24px;
3791    border: 2px solid #003b57;
3792    border-radius: 7px;
3793    background: #003b57;
3794    color: #ffffff;
3795    font-size: 17px;
3796    font-weight: 750;
3797    line-height: 1.2;
3798    text-decoration: none;
3799    transition:
3800      background 180ms ease,
3801      border-color 180ms ease,
3802      transform 180ms ease;
3803  }
3804
3805  .diasocks-hero-v2__arrow {
3806    font-size: 22px;
3807    line-height: 1;
3808    transition: transform 180ms ease;
3809  }
3810
3811  .diasocks-hero-v2__button:hover {
3812    border-color: #005477;
3813    background: #005477;
3814    color: #ffffff;
3815    transform: translateY(-2px);
3816  }
3817
3818  .diasocks-hero-v2__button:hover .diasocks-hero-v2__arrow {
3819    transform: translateX(4px);
3820  }
3821
3822  .diasocks-hero-v2__button:focus-visible,
3823  .diasocks-hero-v2__media:focus-visible {
3824    outline: 3px solid #75b9dc;
3825    outline-offset: 4px;
3826  }
3827
3828  .diasocks-hero-v2__guarantee {
3829    display: flex;
3830    align-items: center;
3831    gap: 7px;
3832    margin-top: 13px;
3833    color: #334046;
3834    font-size: 13px;
3835    font-weight: 650;
3836    line-height: 1.25;
3837  }
3838
3839  .diasocks-hero-v2__guarantee svg {
3840    flex: 0 0 20px;
3841    width: 20px;
3842    height: 20px;
3843    fill: none;
3844    stroke: #17643b;
3845    stroke-linecap: round;
3846    stroke-linejoin: round;
3847    stroke-width: 1.7;
3848  }
3849
3850  .diasocks-hero-v2__benefits {
3851    display: grid;
3852    gap: 11px;
3853    margin: 23px 0 0;
3854    padding: 0;
3855    list-style: none;
3856  }
3857
3858  .diasocks-hero-v2__benefits li {
3859    position: relative;
3860    padding-left: 25px;
3861    font-size: 16px;
3862    font-weight: 650;
3863    line-height: 1.35;
3864  }
3865
3866  .diasocks-hero-v2__benefits li::before {
3867    position: absolute;
3868    top: -0.04em;
3869    left: 0;
3870    color: #17643b;
3871    content: "✓";
3872    font-size: 18px;
3873    font-weight: 800;
3874    line-height: 1.35;
3875  }
3876
3877  @media (max-width: 989px) and (min-width: 750px) {
3878    .diasocks-hero-v2__inner {
3879      grid-template-columns: minmax(0, 1fr) minmax(380px, 0.9fr);
3880      gap: 30px;
3881    }
3882
3883    .diasocks-hero-v2__heading {
3884      font-size: clamp(36px, 5vw, 50px);
3885    }
3886  }
3887
3888  @media (max-width: 749px) {
3889    .diasocks-hero-v2 {
3890      padding: 0 0 30px;
3891    }
3892
3893    .diasocks-hero-v2__inner {
3894      display: flex;
3895      flex-direction: column;
3896      gap: 0;
3897      width: 100%;
3898    }
3899
3900    .diasocks-hero-v2__media {
3901      order: 1;
3902      width: 100%;
3903      border-radius: 0;
3904      box-shadow: none;
3905    }
3906
3907    .diasocks-hero-v2__content {
3908      order: 2;
3909      width: 100%;
3910      max-width: none;
3911      padding: 23px 20px 0;
3912    }
3913
3914    .diasocks-hero-v2__proof {
3915      justify-content: flex-start;
3916      margin-bottom: 16px;
3917      font-size: 13px;
3918    }
3919
3920    .diasocks-hero-v2__rating {
3921      font-size: 14px;
3922      letter-spacing: 0;
3923    }
3924
3925    .diasocks-hero-v2__heading {
3926      max-width: 560px;
3927      font-size: clamp(34px, 9.4vw, 43px);
3928      line-height: 1.04;
3929    }
3930
3931    .diasocks-hero-v2__button {
3932      width: 100%;
3933      min-height: 57px;
3934      margin-top: 24px;
3935      padding: 14px 18px;
3936      font-size: 16px;
3937    }
3938
3939    .diasocks-hero-v2__guarantee {
3940      justify-content: center;
3941      margin-top: 13px;
3942      font-size: 12px;
3943    }
3944
3945    .diasocks-hero-v2__guarantee svg {
3946      flex-basis: 18px;
3947      width: 18px;
3948      height: 18px;
3949    }
3950
3951    .diasocks-hero-v2__benefits {
3952      gap: 10px;
3953      margin-top: 22px;
3954    }
3955
3956    .diasocks-hero-v2__benefits li {
3957      font-size: 15px;
3958    }
3959  }
3960
3961  @media (prefers-reduced-motion: reduce) {
3962    .diasocks-hero-v2__button,
3963    .diasocks-hero-v2__arrow,
3964    .diasocks-hero-v2__media img {
3965      transition: none;
3966    }
3967  }
3968</style>
3969</div>
3970
3971
3972</div><div id="shopify-section-template--28565473362186__custom_liquid_NaJeVW" class="shopify-section">
3973
3974
3975
3976<div
3977  class="section-background"
3978></div>
3979<div
3980  class="section section--page-width spacing-style"
3981  style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;
3982"
3983>
3984  <section
3985  class="diasocks-review-slider"
3986  data-diasocks-review-slider
3987  aria-label="Kundeanmeldelser"
3988>
3989  <div class="diasocks-review-slider__inner">
3990    <div class="diasocks-review-slider__viewport">
3991      <div class="diasocks-review-slider__track">
3992        <article
3993          class="diasocks-review-slider__slide"
3994          data-review-slide
3995          aria-hidden="false"
3996        >
3997          <div
3998            class="diasocks-review-slider__stars"
3999            role="img"
4000            aria-label="5 av 5 stjerner"
4001          >
4002            ★★★★★
4003          </div>
4004
4005          <p class="diasocks-review-slider__quote">
4006            «Kjempebehagelige støttestrømper som er enkle å ta på. Jeg får ingen
4007            merker på bena når jeg tar dem av om kvelden!»
4008          </p>
4009
4010          <div class="diasocks-review-slider__footer">
4011            <strong>Mia M.</strong>
4012
4013            <span class="diasocks-review-slider__verified">
4014              <svg viewBox="0 0 20 20" aria-hidden="true">
4015                <circle cx="10" cy="10" r="9"></circle>
4016                <path d="m6 10 2.5 2.5L14 7"></path>
4017              </svg>
4018
4019              Verifisert kunde
4020            </span>
4021          </div>
4022        </article>
4023
4024        <article
4025          class="diasocks-review-slider__slide"
4026          data-review-slide
4027          aria-hidden="false"
4028        >
4029          <div
4030            class="diasocks-review-slider__stars"
4031            role="img"
4032            aria-label="5 av 5 stjerner"
4033          >
4034            ★★★★★
4035          </div>
4036
4037          <p class="diasocks-review-slider__quote">
4038            «Jeg har prøvd flere forskjellige støttestrømper, men Diasocks er de
4039            beste jeg har hatt.»
4040          </p>
4041
4042          <div class="diasocks-review-slider__footer">
4043            <strong>Eva O.</strong>
4044
4045            <span class="diasocks-review-slider__verified">
4046              <svg viewBox="0 0 20 20" aria-hidden="true">
4047                <circle cx="10" cy="10" r="9"></circle>
4048                <path d="m6 10 2.5 2.5L14 7"></path>
4049              </svg>
4050
4051              Verifisert kunde
4052            </span>
4053          </div>
4054        </article>
4055
4056        <article
4057          class="diasocks-review-slider__slide"
4058          data-review-slide
4059          aria-hidden="false"
4060        >
4061          <div
4062            class="diasocks-review-slider__stars"
4063            role="img"
4064            aria-label="5 av 5 stjerner"
4065          >
4066            ★★★★★
4067          </div>
4068
4069          <p class="diasocks-review-slider__quote">
4070            «Behagelige, myke og sitter godt.»
4071          </p>
4072
4073          <div class="diasocks-review-slider__footer">
4074            <strong>Lena H.</strong>
4075
4076            <span class="diasocks-review-slider__verified">
4077              <svg viewBox="0 0 20 20" aria-hidden="true">
4078                <circle cx="10" cy="10" r="9"></circle>
4079                <path d="m6 10 2.5 2.5L14 7"></path>
4080              </svg>
4081
4082              Verifisert kunde
4083            </span>
4084          </div>
4085        </article>
4086      </div>
4087    </div>
4088
4089    <div class="diasocks-review-slider__controls">
4090      <button
4091        class="diasocks-review-slider__arrow"
4092        type="button"
4093        data-review-previous
4094        aria-label="Vis forrige anmeldelse"
4095      >
4096        <svg viewBox="0 0 24 24" aria-hidden="true">
4097          <path d="m14.5 6.5-5 5.5 5 5.5"></path>
4098        </svg>
4099      </button>
4100
4101      <div
4102        class="diasocks-review-slider__dots"
4103        role="group"
4104        aria-label="Velg anmeldelse"
4105      >
4106        <button
4107          class="diasocks-review-slider__dot is-active"
4108          type="button"
4109          data-review-dot="0"
4110          aria-label="Vis anmeldelse 1"
4111          aria-current="true"
4112        ></button>
4113
4114        <button
4115          class="diasocks-review-slider__dot"
4116          type="button"
4117          data-review-dot="1"
4118          aria-label="Vis anmeldelse 2"
4119          aria-current="false"
4120        ></button>
4121
4122        <button
4123          class="diasocks-review-slider__dot"
4124          type="button"
4125          data-review-dot="2"
4126          aria-label="Vis anmeldelse 3"
4127          aria-current="false"
4128        ></button>
4129      </div>
4130
4131      <button
4132        class="diasocks-review-slider__arrow"
4133        type="button"
4134        data-review-next
4135        aria-label="Vis neste anmeldelse"
4136      >
4137        <svg viewBox="0 0 24 24" aria-hidden="true">
4138          <path d="m9.5 6.5 5 5.5-5 5.5"></path>
4139        </svg>
4140      </button>
4141    </div>
4142  </div>
4143</section>
4144
4145<style>
4146  .diasocks-review-slider {
4147    padding: 24px 20px 28px;
4148    background: #ffffff;
4149    color: #172126;
4150  }
4151
4152  .diasocks-review-slider__inner {
4153    width: min(1320px, 100%);
4154    margin: 0 auto;
4155  }
4156
4157  .diasocks-review-slider__viewport {
4158    overflow: visible;
4159  }
4160
4161  .diasocks-review-slider__track {
4162    display: grid;
4163    grid-template-columns: repeat(3, minmax(0, 1fr));
4164    gap: 14px;
4165  }
4166
4167  .diasocks-review-slider__slide {
4168    display: flex;
4169    box-sizing: border-box;
4170    min-width: 0;
4171    min-height: 185px;
4172    flex-direction: column;
4173    padding: 20px 22px 18px;
4174    border: 1px solid #e2e5e3;
4175    border-radius: 12px;
4176    background: #f7f8f6;
4177  }
4178
4179  .diasocks-review-slider__stars {
4180    margin-bottom: 10px;
4181    color: #e5a900;
4182    font-size: 15px;
4183    letter-spacing: 1px;
4184    line-height: 1;
4185  }
4186
4187  .diasocks-review-slider__quote {
4188    margin: 0;
4189    font-size: 16px;
4190    line-height: 1.48;
4191  }
4192
4193  .diasocks-review-slider__footer {
4194    display: flex;
4195    align-items: center;
4196    justify-content: space-between;
4197    gap: 12px;
4198    margin-top: auto;
4199    padding-top: 16px;
4200  }
4201
4202  .diasocks-review-slider__footer strong {
4203    font-size: 13px;
4204    line-height: 1.25;
4205  }
4206
4207  .diasocks-review-slider__verified {
4208    display: inline-flex;
4209    align-items: center;
4210    gap: 5px;
4211    color: #17643b;
4212    font-size: 12px;
4213    font-weight: 700;
4214    line-height: 1.2;
4215    white-space: nowrap;
4216  }
4217
4218  .diasocks-review-slider__verified svg {
4219    width: 14px;
4220    height: 14px;
4221    fill: #17643b;
4222    stroke: #ffffff;
4223    stroke-linecap: round;
4224    stroke-linejoin: round;
4225    stroke-width: 1.8;
4226  }
4227
4228  .diasocks-review-slider__controls {
4229    display: none;
4230  }
4231
4232  @media (max-width: 749px) {
4233    .diasocks-review-slider {
4234      padding: 16px 16px 20px;
4235    }
4236
4237    .diasocks-review-slider__viewport {
4238      overflow: hidden;
4239      border: 1px solid #e2e5e3;
4240      border-radius: 12px;
4241      background: #f7f8f6;
4242    }
4243
4244    .diasocks-review-slider__track {
4245      display: flex;
4246      gap: 0;
4247      transition: transform 350ms ease;
4248    }
4249
4250    .diasocks-review-slider__slide {
4251      flex: 0 0 100%;
4252      min-height: 155px;
4253      padding: 17px 18px 15px;
4254      border: 0;
4255      border-radius: 0;
4256      background: transparent;
4257    }
4258
4259    .diasocks-review-slider__stars {
4260      margin-bottom: 9px;
4261    }
4262
4263    .diasocks-review-slider__quote {
4264      font-size: 15px;
4265      line-height: 1.45;
4266    }
4267
4268    .diasocks-review-slider__footer {
4269      padding-top: 14px;
4270    }
4271
4272    .diasocks-review-slider__controls {
4273      display: flex;
4274      align-items: center;
4275      justify-content: center;
4276      gap: 15px;
4277      margin-top: 10px;
4278    }
4279
4280    .diasocks-review-slider__arrow {
4281      display: grid;
4282      width: 34px;
4283      height: 34px;
4284      padding: 0;
4285      place-items: center;
4286      border: 1px solid #d7dcda;
4287      border-radius: 50%;
4288      background: #ffffff;
4289      color: #003b57;
4290      cursor: pointer;
4291    }
4292
4293    .diasocks-review-slider__arrow svg {
4294      width: 19px;
4295      height: 19px;
4296      fill: none;
4297      stroke: currentColor;
4298      stroke-linecap: round;
4299      stroke-linejoin: round;
4300      stroke-width: 1.8;
4301    }
4302
4303    .diasocks-review-slider__dots {
4304      display: flex;
4305      align-items: center;
4306      gap: 7px;
4307    }
4308
4309    .diasocks-review-slider__dot {
4310      width: 8px;
4311      height: 8px;
4312      padding: 0;
4313      border: 0;
4314      border-radius: 999px;
4315      background: #c7cecb;
4316      cursor: pointer;
4317      transition:
4318        width 180ms ease,
4319        background 180ms ease;
4320    }
4321
4322    .diasocks-review-slider__dot.is-active {
4323      width: 22px;
4324      background: #003b57;
4325    }
4326
4327    .diasocks-review-slider__arrow:focus-visible,
4328    .diasocks-review-slider__dot:focus-visible {
4329      outline: 3px solid #75b9dc;
4330      outline-offset: 3px;
4331    }
4332  }
4333
4334  @media (prefers-reduced-motion: reduce) {
4335    .diasocks-review-slider__track,
4336    .diasocks-review-slider__dot {
4337      transition: none;
4338    }
4339  }
4340</style>
4341
4342<script>
4343  (() => {
4344    const sliders = document.querySelectorAll(
4345      '[data-diasocks-review-slider]'
4346    );
4347
4348    sliders.forEach((slider) => {
4349      if (slider.dataset.reviewSliderReady === 'true') return;
4350
4351      slider.dataset.reviewSliderReady = 'true';
4352
4353      const track = slider.querySelector(
4354        '.diasocks-review-slider__track'
4355      );
4356
4357      const slides = Array.from(
4358        slider.querySelectorAll('[data-review-slide]')
4359      );
4360
4361      const dots = Array.from(
4362        slider.querySelectorAll('[data-review-dot]')
4363      );
4364
4365      const previous = slider.querySelector(
4366        '[data-review-previous]'
4367      );
4368
4369      const next = slider.querySelector('[data-review-next]');
4370
4371      const mobileView = window.matchMedia(
4372        '(max-width: 749px)'
4373      );
4374
4375      const reduceMotion = window.matchMedia(
4376        '(prefers-reduced-motion: reduce)'
4377      ).matches;
4378
4379      let activeIndex = 0;
4380      let autoplayTimer;
4381      let touchStartX = 0;
4382
4383      const stopAutoplay = () => {
4384        window.clearInterval(autoplayTimer);
4385      };
4386
4387      const showSlide = (index) => {
4388        if (!mobileView.matches) {
4389          activeIndex = 0;
4390          track.style.transform = 'none';
4391
4392          slides.forEach((slide) => {
4393            slide.setAttribute('aria-hidden', 'false');
4394          });
4395
4396          return;
4397        }
4398
4399        activeIndex = (index + slides.length) % slides.length;
4400
4401        track.style.transform =
4402          `translateX(-${activeIndex * 100}%)`;
4403
4404        slides.forEach((slide, slideIndex) => {
4405          slide.setAttribute(
4406            'aria-hidden',
4407            slideIndex === activeIndex ? 'false' : 'true'
4408          );
4409        });
4410
4411        dots.forEach((dot, dotIndex) => {
4412          const isActive = dotIndex === activeIndex;
4413
4414          dot.classList.toggle('is-active', isActive);
4415
4416          dot.setAttribute(
4417            'aria-current',
4418            isActive ? 'true' : 'false'
4419          );
4420        });
4421      };
4422
4423      const startAutoplay = () => {
4424        stopAutoplay();
4425
4426        if (!mobileView.matches || reduceMotion) return;
4427
4428        autoplayTimer = window.setInterval(() => {
4429          showSlide(activeIndex + 1);
4430        }, 5500);
4431      };
4432
4433      previous.addEventListener('click', () => {
4434        showSlide(activeIndex - 1);
4435        startAutoplay();
4436      });
4437
4438      next.addEventListener('click', () => {
4439        showSlide(activeIndex + 1);
4440        startAutoplay();
4441      });
4442
4443      dots.forEach((dot) => {
4444        dot.addEventListener('click', () => {
4445          showSlide(Number(dot.dataset.reviewDot));
4446          startAutoplay();
4447        });
4448      });
4449
4450      slider.addEventListener(
4451        'touchstart',
4452        (event) => {
4453          if (!mobileView.matches) return;
4454
4455          touchStartX = event.changedTouches[0].clientX;
4456          stopAutoplay();
4457        },
4458        { passive: true }
4459      );
4460
4461      slider.addEventListener(
4462        'touchend',
4463        (event) => {
4464          if (!mobileView.matches) return;
4465
4466          const distance =
4467            event.changedTouches[0].clientX - touchStartX;
4468
4469          if (Math.abs(distance) > 45) {
4470            showSlide(
4471              distance < 0
4472                ? activeIndex + 1
4473                : activeIndex - 1
4474            );
4475          }
4476
4477          startAutoplay();
4478        },
4479        { passive: true }
4480      );
4481
4482      const updateLayout = () => {
4483        stopAutoplay();
4484        showSlide(mobileView.matches ? activeIndex : 0);
4485        startAutoplay();
4486      };
4487
4488      if (typeof mobileView.addEventListener === 'function') {
4489        mobileView.addEventListener('change', updateLayout);
4490      } else {
4491        mobileView.addListener(updateLayout);
4492      }
4493
4494      showSlide(0);
4495      startAutoplay();
4496    });
4497  })();
4498</script>
4498
4499</div>
4500
4501
4502</div><div id="shopify-section-template--28565473362186__custom_liquid_WTf9kJ" class="shopify-section">
4503
4504
4505
4506<div
4507  class="section-background"
4508></div>
4509<div
4510  class="section section--page-width spacing-style"
4511  style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;
4512"
4513>
4514  
4515
4516
4517
4518<section class="diasocks-products">
4519  <div class="diasocks-products__inner">
4520    <h2 class="diasocks-products__heading">
4521      Finn riktig strømpe for deg
4522    </h2>
4523
4524    <div class="diasocks-products__grid">
4525
4526      
4527      
4528
4529      
4530
4531      <article class="diasocks-product">
4532        <a
4533          class="diasocks-product__media"
4534          href="/products/stottestromper"
4535          aria-label="Se Støttestrømper"
4536        >
4537          <span class="diasocks-product__badge">
4538            5 for 2
4539          </span>
4540
4541          <img
4542            class="diasocks-product__image"
4543            src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&amp;width=720"
4544            srcset="
4545              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&amp;width=360 360w,
4546              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&amp;width=540 540w,
4547              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&amp;width=720 720w,
4548              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&amp;width=900 900w,
4549              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/5_5dac94cc-6659-4b3c-8ca3-13a6cfc097c9_2.webp?v=1786811197&amp;width=1000 1000w
4550            "
4551            sizes="(max-width: 749px) calc(100vw - 32px), (max-width: 1400px) calc((100vw - 80px) / 3), 440px"
4552            width="1080"
4553            height="1080"
4554            loading="lazy"
4555            decoding="async"
4556            alt="Støttestrømper"
4557          >
4558        </a>
4559
4560        <div class="diasocks-product__content">
4561          <h3 class="diasocks-product__title">
4562            <a href="/products/stottestromper">
4563              Støttestrømper
4564            </a>
4565          </h3>
4566
4567          <p class="diasocks-product__description">
4568            Gradert kompresjon for trøtte og hovne ben.
4569          </p>
4570
4571          
4572            <div
4573              class="diasocks-product__rating"
4574              aria-label="4.4 av 5 stjerner, basert på 12101 anmeldelser"
4575            >
4576              <span
4577                class="diasocks-product__stars"
4578                aria-hidden="true"
4579              >
4580                <span class="diasocks-product__stars-empty">
4581                  ★★★★★
4582                </span>
4583
4584                <span
4585                  class="diasocks-product__stars-filled"
4586                  style="width: 88.0%;"
4587                >
4588                  ★★★★★
4589                </span>
4590              </span>
4591
4592              <span class="diasocks-product__rating-text">
4593                4,4
4594
4595                
4596                  (12101)
4597                
4598              </span>
4599            </div>
4600          
4601
4602          <p class="diasocks-product__price">
4603            299,00 kr
4604          </p>
4605
4606          <a
4607            class="diasocks-product__button"
4608            href="/products/stottestromper"
4609          >
4610            Se produktet
4611          </a>
4612        </div>
4613      </article>
4614
4615      
4616      
4617
4618      
4619
4620      <article class="diasocks-product">
4621        <a
4622          class="diasocks-product__media"
4623          href="/products/ankelstottestromper"
4624          aria-label="Se Ankelsokker med kompresjon"
4625        >
4626          <span class="diasocks-product__badge">
4627            5 for 2
4628          </span>
4629
4630          <img
4631            class="diasocks-product__image"
4632            src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&amp;width=720"
4633            srcset="
4634              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&amp;width=360 360w,
4635              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&amp;width=540 540w,
4636              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&amp;width=720 720w,
4637              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&amp;width=900 900w,
4638              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/Copy_of_100_000_Nojda_Kunder_2.webp?v=1786811198&amp;width=1000 1000w
4639            "
4640            sizes="(max-width: 749px) calc(100vw - 32px), (max-width: 1400px) calc((100vw - 80px) / 3), 440px"
4641            width="1080"
4642            height="1080"
4643            loading="lazy"
4644            decoding="async"
4645            alt="Ankelsokker med kompresjon"
4646          >
4647        </a>
4648
4649        <div class="diasocks-product__content">
4650          <h3 class="diasocks-product__title">
4651            <a href="/products/ankelstottestromper">
4652              Ankelsokker med kompresjon
4653            </a>
4654          </h3>
4655
4656          <p class="diasocks-product__description">
4657           360°-kompresjon for slitne føtter og hovne ankler.
4658          </p>
4659
4660          
4661            <div
4662              class="diasocks-product__rating"
4663              aria-label="4.3 av 5 stjerner, basert på 311 anmeldelser"
4664            >
4665              <span
4666                class="diasocks-product__stars"
4667                aria-hidden="true"
4668              >
4669                <span class="diasocks-product__stars-empty">
4670                  ★★★★★
4671                </span>
4672
4673                <span
4674                  class="diasocks-product__stars-filled"
4675                  style="width: 86.0%;"
4676                >
4677                  ★★★★★
4678                </span>
4679              </span>
4680
4681              <span class="diasocks-product__rating-text">
4682                4,3
4683
4684                
4685                  (311)
4686                
4687              </span>
4688            </div>
4689          
4690
4691          <p class="diasocks-product__price">
4692            199,00 kr
4693          </p>
4694
4695          <a
4696            class="diasocks-product__button"
4697            href="/products/ankelstottestromper"
4698          >
4699            Se produktet
4700          </a>
4701        </div>
4702      </article>
4703
4704      
4705      
4706
4707      
4708
4709      <article class="diasocks-product">
4710        <a
4711          class="diasocks-product__media"
4712          href="/products/komfortstromper"
4713          aria-label="Se Komfortstrømper"
4714        >
4715          <span class="diasocks-product__badge">
4716            5 for 2
4717          </span>
4718
4719          <img
4720            class="diasocks-product__image"
4721            src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&amp;width=720"
4722            srcset="
4723              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&amp;width=360 360w,
4724              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&amp;width=540 540w,
4725              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&amp;width=720 720w,
4726              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&amp;width=900 900w,
4727              https://cdn.shopify.com/s/files/1/0861/0614/5034/files/7_b85e82da-d4d2-462a-9328-4adb0da3746a.webp?v=1786811198&amp;width=1000 1000w
4728            "
4729            sizes="(max-width: 749px) calc(100vw - 32px), (max-width: 1400px) calc((100vw - 80px) / 3), 440px"
4730            width="1080"
4731            height="1080"
4732            loading="lazy"
4733            decoding="async"
4734            alt="Komfortstrømper"
4735          >
4736        </a>
4737
4738        <div class="diasocks-product__content">
4739          <h3 class="diasocks-product__title">
4740            <a href="/products/komfortstromper">
4741              Komfortstrømper
4742            </a>
4743          </h3>
4744
4745          <p class="diasocks-product__description">
4746            Myke sokker uten kompresjon for følsomme ben og brede legger.
4747          </p>
4748
4749          
4750            <div
4751              class="diasocks-product__rating"
4752              aria-label="4.3 av 5 stjerner, basert på 192 anmeldelser"
4753            >
4754              <span
4755                class="diasocks-product__stars"
4756                aria-hidden="true"
4757              >
4758                <span class="diasocks-product__stars-empty">
4759                  ★★★★★
4760                </span>
4761
4762                <span
4763                  class="diasocks-product__stars-filled"
4764                  style="width: 86.0%;"
4765                >
4766                  ★★★★★
4767                </span>
4768              </span>
4769
4770              <span class="diasocks-product__rating-text">
4771                4,3
4772
4773                
4774                  (192)
4775                
4776              </span>
4777            </div>
4778          
4779
4780          <p class="diasocks-product__price">
4781            199,00 kr
4782          </p>
4783
4784          <a
4785            class="diasocks-product__button"
4786            href="/products/komfortstromper"
4787          >
4788            Se produktet
4789          </a>
4790        </div>
4791      </article>
4792
4793    </div>
4794
4795    <div class="diasocks-products__footer">
4796      <a
4797        class="diasocks-products__all-button"
4798        href="/collections/all"
4799      >
4800        Se alle produkter
4801      </a>
4802    </div>
4803  </div>
4804</section>
4805
4806<style>
4807  .diasocks-products {
4808    padding: 48px 0 56px;
4809    background: #ffffff;
4810    color: #171717;
4811  }
4812
4813  .diasocks-products__inner {
4814    width: min(1400px, calc(100% - 40px));
4815    margin: 0 auto;
4816  }
4817
4818  .diasocks-products__heading {
4819    margin: 0 0 24px;
4820    font-family: inherit;
4821    font-size: clamp(28px, 3vw, 40px);
4822    font-weight: 700;
4823    letter-spacing: -0.03em;
4824    line-height: 1.1;
4825  }
4826
4827  .diasocks-products__grid {
4828    display: grid;
4829    grid-template-columns: repeat(3, minmax(0, 1fr));
4830    align-items: stretch;
4831    gap: 20px;
4832  }
4833
4834  .diasocks-product {
4835    display: flex;
4836    height: 100%;
4837    min-width: 0;
4838    flex-direction: column;
4839  }
4840
4841  .diasocks-product__media {
4842    position: relative;
4843    display: block;
4844    flex: 0 0 auto;
4845    overflow: hidden;
4846    aspect-ratio: 1 / 1;
4847    background: #f4f5f7;
4848  }
4849
4850  .diasocks-product__badge {
4851    position: absolute;
4852    z-index: 1;
4853    top: 14px;
4854    left: 14px;
4855    padding: 8px 13px;
4856    border-radius: 999px;
4857    background: #17643b;
4858    box-shadow: 0 3px 10px rgba(23, 100, 59, 0.2);
4859    color: #ffffff;
4860    font-size: 13px;
4861    font-weight: 800;
4862    line-height: 1;
4863  }
4864
4865  .diasocks-product__image {
4866    display: block;
4867    width: 100%;
4868    height: 100%;
4869    object-fit: cover;
4870  }
4871
4872  .diasocks-product__content {
4873    display: flex;
4874    flex: 1 1 auto;
4875    flex-direction: column;
4876    padding-top: 15px;
4877  }
4878
4879  .diasocks-product__title {
4880    margin: 0;
4881    font-family: inherit;
4882    font-size: 19px;
4883    font-weight: 700;
4884    letter-spacing: -0.01em;
4885    line-height: 1.25;
4886  }
4887
4888  .diasocks-product__title a {
4889    color: #171717;
4890    text-decoration: none;
4891  }
4892
4893  .diasocks-product__description {
4894    margin: 6px 0 0;
4895    color: #4f4f4f;
4896    font-size: 16px;
4897    font-weight: 400;
4898    line-height: 1.45;
4899  }
4900
4901  .diasocks-product__rating {
4902    display: flex;
4903    align-items: center;
4904    gap: 7px;
4905    margin-top: 9px;
4906  }
4907
4908  .diasocks-product__stars {
4909    position: relative;
4910    display: inline-block;
4911    flex: 0 0 auto;
4912    font-size: 15px;
4913    letter-spacing: 1px;
4914    line-height: 1;
4915  }
4916
4917  .diasocks-product__stars-empty {
4918    color: #d9d9d9;
4919  }
4920
4921  .diasocks-product__stars-filled {
4922    position: absolute;
4923    top: 0;
4924    left: 0;
4925    overflow: hidden;
4926    color: #e5a900;
4927    white-space: nowrap;
4928  }
4929
4930  .diasocks-product__rating-text {
4931    color: #555555;
4932    font-size: 14px;
4933    font-weight: 500;
4934    line-height: 1;
4935  }
4936
4937  .diasocks-product__price {
4938    margin: 9px 0 15px;
4939    color: #454545;
4940    font-size: 16px;
4941    font-weight: 500;
4942    line-height: 1.3;
4943  }
4944
4945  .diasocks-product__button {
4946    display: flex;
4947    align-items: center;
4948    justify-content: center;
4949    min-height: 48px;
4950    margin-top: auto;
4951    padding: 12px 20px;
4952    border-radius: 6px;
4953    background: #003b57;
4954    color: #ffffff;
4955    font-size: 16px;
4956    font-weight: 700;
4957    line-height: 1.2;
4958    text-decoration: none;
4959    transition: background 180ms ease;
4960  }
4961
4962  .diasocks-product__button:hover {
4963    background: #005477;
4964    color: #ffffff;
4965  }
4966
4967  .diasocks-products__footer {
4968    display: flex;
4969    justify-content: center;
4970    margin-top: 36px;
4971  }
4972
4973  .diasocks-products__all-button {
4974    display: inline-flex;
4975    align-items: center;
4976    justify-content: center;
4977    min-height: 50px;
4978    padding: 12px 28px;
4979    border: 2px solid #003b57;
4980    border-radius: 6px;
4981    background: #ffffff;
4982    color: #003b57;
4983    font-size: 16px;
4984    font-weight: 700;
4985    line-height: 1.2;
4986    text-decoration: none;
4987    transition:
4988      background 180ms ease,
4989      color 180ms ease;
4990  }
4991
4992  .diasocks-products__all-button:hover {
4993    background: #003b57;
4994    color: #ffffff;
4995  }
4996
4997  .diasocks-product__button:focus-visible,
4998  .diasocks-products__all-button:focus-visible,
4999  .diasocks-product__title a:focus-visible,
5000  .diasocks-product__media:focus-visible {
5001    outline: 3px solid #75b9dc;
5002    outline-offset: 3px;
5003  }
5004
5005  @media (min-width: 750px) {
5006    .diasocks-product__description {
5007      min-height: 47px;
5008    }
5009  }
5010
5011  @media (max-width: 749px) {
5012    .diasocks-products {
5013      padding: 36px 0 44px;
5014    }
5015
5016    .diasocks-products__inner {
5017      width: calc(100% - 32px);
5018    }
5019
5020    .diasocks-products__heading {
5021      margin-bottom: 20px;
5022      font-size: 28px;
5023    }
5024
5025    .diasocks-products__grid {
5026      grid-template-columns: 1fr;
5027      gap: 32px;
5028    }
5029
5030    .diasocks-product__title {
5031      font-size: 19px;
5032    }
5033
5034    .diasocks-product__badge {
5035      top: 12px;
5036      left: 12px;
5037      padding: 8px 12px;
5038    }
5039
5040    .diasocks-products__footer {
5041      margin-top: 30px;
5042    }
5043
5044    .diasocks-products__all-button {
5045      width: 100%;
5046    }
5047  }
5048
5049  @media (prefers-reduced-motion: reduce) {
5050    .diasocks-product__button,
5051    .diasocks-products__all-button {
5052      transition: none;
5053    }
5054  }
5055</style>
5056</div>
5057
5058
5059</div><div id="shopify-section-template--28565473362186__custom_liquid_9XQUWR" class="shopify-section">
5060
5061
5062
5063<div
5064  class="section-background"
5065></div>
5066<div
5067  class="section section--page-width spacing-style"
5068  style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;
5069"
5070>
5071  <section class="diasocks-trust">
5072  <div class="diasocks-trust__inner">
5073
5074    <div class="diasocks-trust__item">
5075      <div class="diasocks-trust__icon" aria-hidden="true">
5076        <svg viewBox="0 0 24 24" fill="none">
5077          <path d="M3 6h11v10H3V6Z" stroke="currentColor" stroke-width="1.8"/>
5078          <path d="M14 10h4l3 3v3h-7v-6Z" stroke="currentColor" stroke-width="1.8"/>
5079          <circle cx="7" cy="18" r="2" stroke="currentColor" stroke-width="1.8"/>
5080          <circle cx="18" cy="18" r="2" stroke="currentColor" stroke-width="1.8"/>
5081        </svg>
5082      </div>
5083
5084      <div class="diasocks-trust__text">
5085        <h3>Rask levering</h3>
5086        <p>Levering innen 2–7 virkedager</p>
5087      </div>
5088    </div>
5089
5090    <div class="diasocks-trust__item">
5091      <div class="diasocks-trust__icon" aria-hidden="true">
5092        <svg viewBox="0 0 24 24" fill="none">
5093          <path d="M12 3 20 6v5c0 5-3.4 8.5-8 10-4.6-1.5-8-5-8-10V6l8-3Z" stroke="currentColor" stroke-width="1.8"/>
5094          <path d="m8.5 12 2.2 2.2 4.8-5" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
5095        </svg>
5096      </div>
5097
5098      <div class="diasocks-trust__text">
5099        <h3>Passformgaranti</h3>
5100        <p>Prøv ett par – bytt gratis hvis de ikke passer</p>
5101      </div>
5102    </div>
5103
5104    <div class="diasocks-trust__item">
5105      <div class="diasocks-trust__icon" aria-hidden="true">
5106        <svg viewBox="0 0 24 24" fill="none">
5107          <path d="M4 7.5 12 3l8 4.5v9L12 21l-8-4.5v-9Z" stroke="currentColor" stroke-width="1.8"/>
5108          <path d="m4.5 7.5 7.5 4 7.5-4M12 11.5V21" stroke="currentColor" stroke-width="1.8"/>
5109        </svg>
5110      </div>
5111
5112      <div class="diasocks-trust__text">
5113        <h3>Fri frakt</h3>
5114        <p>PÃ¥ alle bestillinger over 500 kr</p>
5115      </div>
5116    </div>
5117
5118  </div>
5119</section>
5120
5121<style>
5122  .diasocks-trust {
5123    padding: 22px 0;
5124    background: #ffffff;
5125    color: #171717;
5126    border-top: 1px solid #e6e9eb;
5127    border-bottom: 1px solid #e6e9eb;
5128  }
5129
5130  .diasocks-trust__inner {
5131    display: grid;
5132    grid-template-columns: repeat(3, minmax(0, 1fr));
5133    width: min(1400px, calc(100% - 40px));
5134    margin: 0 auto;
5135  }
5136
5137  .diasocks-trust__item {
5138    display: flex;
5139    align-items: center;
5140    justify-content: center;
5141    gap: 14px;
5142    min-width: 0;
5143    padding: 8px 28px;
5144  }
5145
5146  .diasocks-trust__item + .diasocks-trust__item {
5147    border-left: 1px solid #e1e4e6;
5148  }
5149
5150  .diasocks-trust__icon {
5151    flex: 0 0 30px;
5152    width: 30px;
5153    height: 30px;
5154    color: #003b57;
5155  }
5156
5157  .diasocks-trust__icon svg {
5158    display: block;
5159    width: 100%;
5160    height: 100%;
5161  }
5162
5163  .diasocks-trust__text {
5164    min-width: 0;
5165  }
5166
5167  .diasocks-trust__item h3 {
5168    margin: 0 0 3px;
5169    color: #171717;
5170    font-family: inherit;
5171    font-size: 15px;
5172    font-weight: 700;
5173    line-height: 1.25;
5174  }
5175
5176  .diasocks-trust__item p {
5177    margin: 0;
5178    color: #555d61;
5179    font-family: inherit;
5180    font-size: 13px;
5181    line-height: 1.4;
5182  }
5183
5184  @media (max-width: 749px) {
5185    .diasocks-trust {
5186      padding: 6px 0;
5187    }
5188
5189    .diasocks-trust__inner {
5190      display: block;
5191      width: calc(100% - 32px);
5192    }
5193
5194    .diasocks-trust__item {
5195      justify-content: flex-start;
5196      gap: 14px;
5197      padding: 16px 2px;
5198    }
5199
5200    .diasocks-trust__item + .diasocks-trust__item {
5201      border-top: 1px solid #e1e4e6;
5202      border-left: 0;
5203    }
5204
5205    .diasocks-trust__icon {
5206      flex-basis: 28px;
5207      width: 28px;
5208      height: 28px;
5209    }
5210
5211    .diasocks-trust__item h3 {
5212      font-size: 15px;
5213    }
5214
5215    .diasocks-trust__item p {
5216      font-size: 13px;
5217    }
5218  }
5219</style>
5220</div>
5221
5222
5223</div><div id="shopify-section-template--28565473362186__custom_liquid_8mTPbX" class="shopify-section">
5224
5225
5226
5227
5228
5229
5230  <style data-shopify>
5231    .color-custom-template--28565473362186__custom_liquid_8mTPbX,
5232    .color-custom-template--28565473362186__custom_liquid_8mTPbX .text-block {
5233      /* Background */
5234      --color-background: #F5F5F7;
5235      --color-background-rgb: 245 245 247;
5236
5237      /* Opacity values adjusted for background brightness */
5238      
5239--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
52400.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
5241
5242
5243      
5244        /* Foreground / text — explicit or smart-contrasted */
5245        --color: #000000;
5246        --color-rgb: 0 0 0;
5247        --color-foreground: #000000;
5248        --color-foreground-rgb: 0 0 0;
5249        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
5250        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
5251        --color-border: var(--palette-darkest);
5252        --color-border-rgb: var(--palette-darkest-rgb);
5253      
5254    }
5255
5256    
5257      .color-custom-template--28565473362186__custom_liquid_8mTPbX {
5258        /* Form-related tokens stay on .color-custom only — .text-block is a prose
5259           container (text/announcement/inline-text/blog-post-description/
5260           collection-link/price/sku) and never holds form inputs. */
5261        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
5262        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
5263        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
5264        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
5265      }
5266    
5267
5268    .color-custom-template--28565473362186__custom_liquid_8mTPbX {
5269      color: var(--color, var(--color-foreground));
5270      background-color: var(--color-background);
5271    }
5272  </style>
5273
5274
5275
5276<div
5277  class="section-background color-custom-template--28565473362186__custom_liquid_8mTPbX"
5278></div>
5279<div
5280  class="section section--page-width spacing-style color-custom-template--28565473362186__custom_liquid_8mTPbX"
5281  style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;
5282"
5283>
5284  <section class="diasocks-benefits-video">
5285  <div class="diasocks-benefits-video__inner">
5286    <div class="diasocks-benefits-video__media">
5287      <video
5288        class="diasocks-benefits-video__video"
5289        autoplay
5290        muted
5291        loop
5292        playsinline
5293        webkit-playsinline
5294        preload="metadata"
5295        aria-label="Diasocks støttestrømper vises i bruk"
5296      >
5297        <source
5298          src="https://cdn.shopify.com/videos/c/o/v/93e8db9118a447f59dac9510eb491a99.mp4"
5299          type="video/mp4"
5300        >
5301      </video>
5302    </div>
5303
5304    <div class="diasocks-benefits-video__content">
5305      <h2 class="diasocks-benefits-video__heading">
5306        Enkle å ta på. Behagelige hele dagen.
5307      </h2>
5308
5309      <div class="diasocks-benefits-video__list">
5310        <div class="diasocks-benefits-video__item">
5311          <div class="diasocks-benefits-video__icon">
5312            <img
5313              src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/fce7aa89-7c7f-4516-a57a-bdaf3dba4cf1.webp?v=1786811658"
5314              alt=""
5315              width="100"
5316              height="100"
5317              loading="lazy"
5318              decoding="async"
5319            >
5320          </div>
5321
5322          <div class="diasocks-benefits-video__text">
5323            <h3>12–15 mmHg gradert kompresjon</h3>
5324
5325            <p>
5326              Trykket er sterkest ved ankelen og avtar gradvis oppover
5327              benet. Det bidrar til bedre sirkulasjon og kan få bena til å føles lettere og mindre slitne.
5328            </p>
5329          </div>
5330        </div>
5331
5332        <div class="diasocks-benefits-video__item">
5333          <div class="diasocks-benefits-video__icon">
5334            <img
5335              src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/easy_on.webp?v=1786811658"
5336              alt=""
5337              width="100"
5338              height="100"
5339              loading="lazy"
5340              decoding="async"
5341            >
5342          </div>
5343
5344          <div class="diasocks-benefits-video__text">
5345            <h3>Enkle å ta av og på</h3>
5346
5347            <p>
5348              Det elastiske materialet gjør strømpene enklere å trekke over
5349              foten og leggen.
5350            </p>
5351          </div>
5352        </div>
5353
5354        <div class="diasocks-benefits-video__item">
5355          <div class="diasocks-benefits-video__icon">
5356            <img
5357              src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/2effc4ae-cc9b-4aa2-a7bb-f83a2d4af293.webp?v=1786811658"
5358              alt=""
5359              width="100"
5360              height="100"
5361              loading="lazy"
5362              decoding="async"
5363            >
5364          </div>
5365
5366          <div class="diasocks-benefits-video__text">
5367            <h3>Mykt materiale som puster</h3>
5368
5369            <p>
5370              Bidrar til å holde føttene tørre og behagelige hele dagen.
5371            </p>
5372          </div>
5373        </div>
5374
5375        <div class="diasocks-benefits-video__item">
5376          <div class="diasocks-benefits-video__icon">
5377            <img
5378              src="https://cdn.shopify.com/s/files/1/0861/0614/5034/files/d7c1aa10-8fa4-4541-b8cb-1d3963c0c452.webp?v=1786811658"
5379              alt=""
5380              width="100"
5381              height="100"
5382              loading="lazy"
5383              decoding="async"
5384            >
5385          </div>
5386
5387          <div class="diasocks-benefits-video__text">
5388            <h3>Sømløs tå</h3>
5389
5390            <p>
5391              Ingen hard søm som gnager eller trykker mot tærne.
5392            </p>
5393          </div>
5394        </div>
5395      </div>
5396
5397      <a
5398        class="diasocks-benefits-video__button"
5399        href="/products/stottestromper"
5400      >
5401        <span>FÃ¥ 5 par for prisen av 2</span>
5402        <span
5403          class="diasocks-benefits-video__button-arrow"
5404          aria-hidden="true"
5405        >
5406          →
5407        </span>
5408      </a>
5409    </div>
5410  </div>
5411</section>
5412
5413<style>
5414  .diasocks-benefits-video {
5415    padding: 64px 20px;
5416    overflow: hidden;
5417    background: #f5f5f5;
5418    color: #172126;
5419  }
5420
5421  .diasocks-benefits-video__inner {
5422    display: grid;
5423    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
5424    align-items: stretch;
5425    gap: 24px;
5426    width: min(1320px, 100%);
5427    margin: 0 auto;
5428  }
5429
5430  .diasocks-benefits-video__media {
5431    position: relative;
5432    min-width: 0;
5433    overflow: hidden;
5434    border-radius: 14px;
5435    background: #dfe2e1;
5436  }
5437
5438  .diasocks-benefits-video__video {
5439    display: block;
5440    width: 100%;
5441    height: 100%;
5442    min-height: 690px;
5443    border: 0;
5444    object-fit: cover;
5445  }
5446
5447  .diasocks-benefits-video__content {
5448    display: flex;
5449    min-width: 0;
5450    flex-direction: column;
5451    justify-content: center;
5452    padding: clamp(38px, 4.5vw, 64px);
5453    border-radius: 14px;
5454    background: #ffffff;
5455  }
5456
5457  .diasocks-benefits-video__heading {
5458    max-width: 600px;
5459    margin: 0 0 35px;
5460    font-family: inherit;
5461    font-size: clamp(32px, 3vw, 45px);
5462    font-weight: 750;
5463    letter-spacing: -0.04em;
5464    line-height: 1.08;
5465    text-wrap: balance;
5466  }
5467
5468  .diasocks-benefits-video__list {
5469    display: grid;
5470    gap: 25px;
5471  }
5472
5473  .diasocks-benefits-video__item {
5474    display: grid;
5475    grid-template-columns: 76px minmax(0, 1fr);
5476    align-items: center;
5477    gap: 20px;
5478  }
5479
5480  .diasocks-benefits-video__icon {
5481    display: flex;
5482    width: 76px;
5483    height: 76px;
5484    align-items: center;
5485    justify-content: center;
5486  }
5487
5488  .diasocks-benefits-video__icon img {
5489    display: block;
5490    width: 100%;
5491    height: 100%;
5492    object-fit: contain;
5493  }
5494
5495  .diasocks-benefits-video__text h3 {
5496    margin: 0 0 5px;
5497    font-family: inherit;
5498    font-size: 18px;
5499    font-weight: 750;
5500    letter-spacing: -0.015em;
5501    line-height: 1.25;
5502  }
5503
5504  .diasocks-benefits-video__text p {
5505    max-width: 470px;
5506    margin: 0;
5507    color: #3d464a;
5508    font-size: 16px;
5509    line-height: 1.5;
5510  }
5511
5512  .diasocks-benefits-video__button {
5513    display: inline-flex;
5514    width: fit-content;
5515    min-height: 56px;
5516    align-items: center;
5517    justify-content: center;
5518    gap: 18px;
5519    margin-top: 37px;
5520    padding: 14px 24px;
5521    border: 2px solid #003b57;
5522    border-radius: 7px;
5523    background: #003b57;
5524    color: #ffffff;
5525    font-size: 16px;
5526    font-weight: 750;
5527    line-height: 1.2;
5528    text-align: center;
5529    text-decoration: none;
5530    transition:
5531      background 180ms ease,
5532      border-color 180ms ease,
5533      transform 180ms ease;
5534  }
5535
5536  .diasocks-benefits-video__button:hover {
5537    border-color: #005477;
5538    background: #005477;
5539    color: #ffffff;
5540    transform: translateY(-2px);
5541  }
5542
5543  .diasocks-benefits-video__button-arrow {
5544    font-size: 22px;
5545    line-height: 1;
5546    transition: transform 180ms ease;
5547  }
5548
5549  .diasocks-benefits-video__button:hover
5550    .diasocks-benefits-video__button-arrow {
5551    transform: translateX(4px);
5552  }
5553
5554  .diasocks-benefits-video__button:focus-visible {
5555    outline: 3px solid #75b9dc;
5556    outline-offset: 4px;
5557  }
5558
5559  @media (max-width: 989px) and (min-width: 750px) {
5560    .diasocks-benefits-video {
5561      padding: 45px 20px;
5562    }
5563
5564    .diasocks-benefits-video__inner {
5565      gap: 18px;
5566    }
5567
5568    .diasocks-benefits-video__video {
5569      min-height: 620px;
5570    }
5571
5572    .diasocks-benefits-video__content {
5573      padding: 32px 28px;
5574    }
5575
5576    .diasocks-benefits-video__heading {
5577      margin-bottom: 28px;
5578      font-size: 32px;
5579    }
5580
5581    .diasocks-benefits-video__list {
5582      gap: 21px;
5583    }
5584
5585    .diasocks-benefits-video__item {
5586      grid-template-columns: 62px minmax(0, 1fr);
5587      gap: 16px;
5588    }
5589
5590    .diasocks-benefits-video__icon {
5591      width: 62px;
5592      height: 62px;
5593    }
5594
5595    .diasocks-benefits-video__text h3 {
5596      font-size: 16px;
5597    }
5598
5599    .diasocks-benefits-video__text p {
5600      font-size: 14px;
5601    }
5602
5603    .diasocks-benefits-video__button {
5604      margin-top: 29px;
5605      font-size: 15px;
5606    }
5607  }
5608
5609  @media (max-width: 749px) {
5610    .diasocks-benefits-video {
5611      padding: 30px 16px;
5612    }
5613
5614    .diasocks-benefits-video__inner {
5615      grid-template-columns: 1fr;
5616      gap: 14px;
5617    }
5618
5619    .diasocks-benefits-video__media {
5620      aspect-ratio: 1 / 1;
5621      border-radius: 12px;
5622    }
5623
5624    .diasocks-benefits-video__video {
5625      height: 100%;
5626      min-height: 0;
5627    }
5628
5629    .diasocks-benefits-video__content {
5630      padding: 31px 22px 34px;
5631      border-radius: 12px;
5632    }
5633
5634    .diasocks-benefits-video__heading {
5635      margin-bottom: 30px;
5636      font-size: clamp(29px, 8.2vw, 37px);
5637      line-height: 1.1;
5638    }
5639
5640    .diasocks-benefits-video__list {
5641      gap: 27px;
5642    }
5643
5644    .diasocks-benefits-video__item {
5645      grid-template-columns: 66px minmax(0, 1fr);
5646      align-items: center;
5647      gap: 17px;
5648    }
5649
5650    .diasocks-benefits-video__icon {
5651      width: 66px;
5652      height: 66px;
5653    }
5654
5655    .diasocks-benefits-video__text h3 {
5656      margin-bottom: 4px;
5657      font-size: 16px;
5658      line-height: 1.3;
5659    }
5660
5661    .diasocks-benefits-video__text p {
5662      font-size: 14px;
5663      line-height: 1.45;
5664    }
5665
5666    .diasocks-benefits-video__button {
5667      width: 100%;
5668      min-height: 56px;
5669      margin-top: 31px;
5670      padding: 14px 18px;
5671      font-size: 16px;
5672    }
5673  }
5674
5675  @media (max-width: 390px) {
5676    .diasocks-benefits-video__content {
5677      padding-right: 18px;
5678      padding-left: 18px;
5679    }
5680
5681    .diasocks-benefits-video__item {
5682      grid-template-columns: 58px minmax(0, 1fr);
5683      gap: 14px;
5684    }
5685
5686    .diasocks-benefits-video__icon {
5687      width: 58px;
5688      height: 58px;
5689    }
5690  }
5691
5692  @media (prefers-reduced-motion: reduce) {
5693    .diasocks-benefits-video__button,
5694    .diasocks-benefits-video__button-arrow {
5695      transition: none;
5696    }
5697  }
5698</style>
5699
5700<script>
5701  (() => {
5702    const initializeVideos = (scope = document) => {
5703      scope
5704        .querySelectorAll('.diasocks-benefits-video__video')
5705        .forEach((video) => {
5706          if (video.dataset.mobilePlaybackReady === 'true') return;
5707
5708          video.dataset.mobilePlaybackReady = 'true';
5709          video.muted = true;
5710          video.defaultMuted = true;
5711          video.playsInline = true;
5712
5713          const playVideo = () => {
5714            if (!video.paused) return;
5715
5716            const playPromise = video.play();
5717
5718            if (playPromise !== undefined) {
5719              playPromise.catch(() => {
5720                /* Mobilnettleseren kan vente på første berøring. */
5721              });
5722            }
5723          };
5724
5725          if ('IntersectionObserver' in window) {
5726            const observer = new IntersectionObserver(
5727              (entries) => {
5728                entries.forEach((entry) => {
5729                  if (entry.isIntersecting) {
5730                    playVideo();
5731                  } else {
5732                    video.pause();
5733                  }
5734                });
5735              },
5736              { threshold: 0.15 }
5737            );
5738
5739            observer.observe(video);
5740          } else {
5741            playVideo();
5742          }
5743
5744          video.addEventListener('canplay', playVideo, { once: true });
5745
5746          document.addEventListener('touchstart', playVideo, {
5747            once: true,
5748            passive: true
5749          });
5750        });
5751    };
5752
5753    if (document.readyState === 'loading') {
5754      document.addEventListener('DOMContentLoaded', () => {
5755        initializeVideos();
5756      });
5757    } else {
5758      initializeVideos();
5759    }
5760
5761    document.addEventListener('shopify:section:load', (event) => {
5762      initializeVideos(event.target);
5763    });
5764  })();
5765</script>
5765
5766</div>
5767
5768
5769</div><div id="shopify-section-template--28565473362186__178216071097ebbde1" class="shopify-section section-wrapper">
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781  <style data-shopify>
5782    .color-custom-template--28565473362186__178216071097ebbde1,
5783    .color-custom-template--28565473362186__178216071097ebbde1 .text-block {
5784      /* Background */
5785      --color-background: #ffffff;
5786      --color-background-rgb: 255 255 255;
5787
5788      /* Opacity values adjusted for background brightness */
5789      
5790--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
57910.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
5792
5793
5794      
5795        /* Foreground / text — explicit or smart-contrasted */
5796        --color: #000000;
5797        --color-rgb: 0 0 0;
5798        --color-foreground: #000000;
5799        --color-foreground-rgb: 0 0 0;
5800        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
5801        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
5802        --color-border: var(--palette-darkest);
5803        --color-border-rgb: var(--palette-darkest-rgb);
5804      
5805    }
5806
5807    
5808      .color-custom-template--28565473362186__178216071097ebbde1 {
5809        /* Form-related tokens stay on .color-custom only — .text-block is a prose
5810           container (text/announcement/inline-text/blog-post-description/
5811           collection-link/price/sku) and never holds form inputs. */
5812        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
5813        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
5814        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
5815        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
5816      }
5817    
5818
5819    .color-custom-template--28565473362186__178216071097ebbde1 {
5820      color: var(--color, var(--color-foreground));
5821      background-color: var(--color-background);
5822    }
5823  </style>
5824
5825
5826
5827<div class="section-background color-custom-template--28565473362186__178216071097ebbde1"></div>
5828<div
5829  class="section section--page-width color-custom-template--28565473362186__178216071097ebbde1"
5830  data-testid="ui-test-section"
5831
5832  
5833
5834  style="
5835    
5836
5837    
5838  "
5839>
5840  <div class="custom-section-background">
5841    
5842
5843
5844
5845  </div>
5846
5847  <div
5848    class="border-style custom-section-content"
5849    style="
5850--border-width: 1px; --border-style: none; --border-color:
5851rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 
5852"
5853  >
5854    
5855
5856    <div
5857      class="
5858        spacing-style
5859        layout-panel-flex
5860        layout-panel-flex--column
5861        section-content-wrapper
5862         mobile-column
5863      "
5864      style="
5865        --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
5866
5867--gap: 12px;
5868
5869--horizontal-alignment: flex-start; --vertical-alignment: center;
5870--vertical-alignment-mobile: center;
5871
5872        --padding-block-start: 0px;--padding-block-end: 0px;
5873      "
5874      data-testid="section-content"
5875    >
5876      
5877  <div id="shopify-block-ASkR5RU5icERCV09Pe__loox_reviews_loox_card_carousel_section_KqaR6J" class="shopify-block shopify-app-block">
5878    <div class="loox-v2-carousel-container loox-widget"
5879         id="LOOX-V2_CAROUSEL-ASkR5RU5icERCV09Pe__loox_reviews_loox_card_carousel_section_KqaR6J"
5880         data-widget="carousel"
5881         data-slide-type="card"
5882          data-max-width="1100" 
5883 data-border-radius="8" 
5884 data-items-per-view="5" 
5885 data-mobile-items-per-view="2" 
5886 data-max-number-of-characters="100" 
5887 data-image-ratio="0.72" 
5888 data-reviewer-name-color="000000" 
5889 data-text-color="000000" 
5890 data-item-background-color="ffffff" 
5891 data-stars-color="" 
5892 data-stars-background-color="ffffff" 
5893 data-arrows_background-color="ffffff" 
5894 data-arrows_icon-color="9a9a9a" 
5895 data-shadow="offset-dark" 
5896 data-border_active="no" 
5897 data-border_width="2" 
5898 data-border_color="000000" 
5899 data-product-ids="" 
5900
5901         data-customer-locale="nb"
5902         
5903    >
5904    </div>
5905    
5906    
5907    </div>
5908
5909    </div>
5910  </div>
5911</div>
5912
5913
5914
5915
5916
5917</div><div id="shopify-section-template--28565473362186__1782160725762f074a" class="shopify-section section-wrapper">
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929  <style data-shopify>
5930    .color-custom-template--28565473362186__1782160725762f074a,
5931    .color-custom-template--28565473362186__1782160725762f074a .text-block {
5932      /* Background */
5933      --color-background: #F5F5F7;
5934      --color-background-rgb: 245 245 247;
5935
5936      /* Opacity values adjusted for background brightness */
5937      
5938--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
59390.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
5940
5941
5942      
5943        /* Foreground / text — explicit or smart-contrasted */
5944        --color: #000000;
5945        --color-rgb: 0 0 0;
5946        --color-foreground: #000000;
5947        --color-foreground-rgb: 0 0 0;
5948        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
5949        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
5950        --color-border: var(--palette-darkest);
5951        --color-border-rgb: var(--palette-darkest-rgb);
5952      
5953    }
5954
5955    
5956      .color-custom-template--28565473362186__1782160725762f074a {
5957        /* Form-related tokens stay on .color-custom only — .text-block is a prose
5958           container (text/announcement/inline-text/blog-post-description/
5959           collection-link/price/sku) and never holds form inputs. */
5960        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
5961        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
5962        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
5963        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
5964      }
5965    
5966
5967    .color-custom-template--28565473362186__1782160725762f074a {
5968      color: var(--color, var(--color-foreground));
5969      background-color: var(--color-background);
5970    }
5971  </style>
5972
5973
5974
5975<div class="section-background color-custom-template--28565473362186__1782160725762f074a"></div>
5976<div
5977  class="section section--page-width color-custom-template--28565473362186__1782160725762f074a"
5978  data-testid="ui-test-section"
5979
5980  
5981
5982  style="
5983    
5984
5985    
5986  "
5987>
5988  <div class="custom-section-background">
5989    
5990
5991
5992
5993  </div>
5994
5995  <div
5996    class="border-style custom-section-content"
5997    style="
5998--border-width: 1px; --border-style: none; --border-color:
5999rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 
6000"
6001  >
6002    
6003
6004    <div
6005      class="
6006        spacing-style
6007        layout-panel-flex
6008        layout-panel-flex--column
6009        section-content-wrapper
6010         mobile-column
6011      "
6012      style="
6013        --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
6014
6015--gap: 12px;
6016
6017--horizontal-alignment: flex-start; --vertical-alignment: center;
6018--vertical-alignment-mobile: center;
6019
6020        --padding-block-start: 0px;--padding-block-end: 0px;
6021      "
6022      data-testid="section-content"
6023    >
6024      
6025  
6026
6027    </div>
6028  </div>
6029</div>
6030
6031
6032
6033
6034
6035</div>
6036      </main>
6037
6038      <footer>
6039        <!-- BEGIN sections: footer-group -->
6040<div id="shopify-section-sections--28565473788170__footer_m9NzUG" class="shopify-section shopify-section-group-footer-group section-wrapper">
6041
6042
6043
6044
6045
6046
6047  <style data-shopify>
6048    .color-custom-sections--28565473788170__footer_m9NzUG,
6049    .color-custom-sections--28565473788170__footer_m9NzUG .text-block {
6050      /* Background */
6051      --color-background: #F5F5F7;
6052      --color-background-rgb: 245 245 247;
6053
6054      /* Opacity values adjusted for background brightness */
6055      
6056--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
60570.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
6058
6059
6060      
6061        /* Foreground / text — explicit or smart-contrasted */
6062        --color: #000000;
6063        --color-rgb: 0 0 0;
6064        --color-foreground: #000000;
6065        --color-foreground-rgb: 0 0 0;
6066        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
6067        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
6068        --color-border: var(--palette-darkest);
6069        --color-border-rgb: var(--palette-darkest-rgb);
6070      
6071    }
6072
6073    
6074      .color-custom-sections--28565473788170__footer_m9NzUG {
6075        /* Form-related tokens stay on .color-custom only — .text-block is a prose
6076           container (text/announcement/inline-text/blog-post-description/
6077           collection-link/price/sku) and never holds form inputs. */
6078        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
6079        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
6080        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
6081        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
6082      }
6083    
6084
6085    .color-custom-sections--28565473788170__footer_m9NzUG {
6086      color: var(--color, var(--color-foreground));
6087      background-color: var(--color-background);
6088    }
6089  </style>
6090
6091
6092
6093<div
6094  class="section-background color-custom-sections--28565473788170__footer_m9NzUG"
6095></div>
6096<div
6097  class="section section--page-width color-custom-sections--28565473788170__footer_m9NzUG"
6098>
6099  
6100  <div
6101    class="
6102      footer-content
6103      spacing-style
6104      
6105      
6106    "
6107    style="
6108      --padding-block-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 30px));
6109      --footer-gap: 20px;
6110      --grid-columns: 3;
6111      --last-row-count: 3;
6112      --tablet-last-row-count: 1;
6113    "
6114  >
6115    
6116
6117
6118
6119
6120  
6121
6122
6123
6124
6125
6126
6127  <accordion-custom
6128  
6129    class="menu"
6130  
6131  
6132  
6133    open-by-default-on-desktop
6134  
6135  
6136    open-by-default-on-mobile
6137  
6138  
6139    data-disable-on-desktop="true"
6140  
6141  
6142    data-disable-on-mobile="true"
6143  
6144  
6145  
6146  
6147>
6148  
6149    <details
6150      class="
6151        menu__details
6152        spacing-style
6153        
6154      "
6155      data-testid="menu-details"
6156      style="
6157        --spacing--size: 12px;
6158        --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
6159      "
6160      
6161        open
6162      
6163      
6164    >
6165      <summary class="menu__heading h3">
6166        <span class="menu__heading__default">Informasjon</span>
6167        <span class="menu__heading__accordion">
6168          Informasjon
6169          
6170            <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
6171  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
6172</svg>
6173</span>
6174          
6175        </span>
6176      </summary>
6177
6178      <nav
6179        class="details-content"
6180        
6181      >
6182        
6183          <ul class="list-unstyled">
6184            
6185              <li class="menu__item paragraph">
6186                <a href="/pages/kundeservice">
6187                  Kundeservice
6188                </a>
6189              </li>
6190            
6191              <li class="menu__item paragraph">
6192                <a href="/pages/returportal">
6193                  Returportal
6194                </a>
6195              </li>
6196            
6197              <li class="menu__item paragraph">
6198                <a href="/policies/refund-policy">
6199                  Retur- og refusjonspolicy
6200                </a>
6201              </li>
6202            
6203              <li class="menu__item paragraph">
6204                <a href="/policies/shipping-policy">
6205                  Fraktpolicy
6206                </a>
6207              </li>
6208            
6209              <li class="menu__item paragraph">
6210                <a href="/policies/privacy-policy">
6211                  Personvernpolicy
6212                </a>
6213              </li>
6214            
6215              <li class="menu__item paragraph">
6216                <a href="/policies/terms-of-service">
6217                  Vilkår for bruk
6218                </a>
6219              </li>
6220            
6221          </ul>
6222        
6223      </nav>
6224    </details>
6225  
6226</accordion-custom>
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246<div
6247  class="
6248    group-block
6249    group-block--height-fit
6250    group-block--width-fill
6251    border-style
6252    spacing-style
6253    size-style
6254    
6255    
6256  "
6257  style="
6258    
6259--border-width: 1px; --border-style: none; --border-color:
6260rgb(var(--color-border-rgb) / 1.0); --border-radius: 0px; 
6261
6262    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
6263    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
6264    
6265  "
6266  
6267  data-testid="group-block"
6268><div class="group-block__media-wrapper">
6269    
6270
6271
6272
6273    
6274  </div>
6275
6276  <div
6277    class="
6278      group-block-content
6279      
6280      layout-panel-flex
6281      layout-panel-flex--column
6282       mobile-column
6283    "
6284    style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
6285
6286--gap: 6px;
6287
6288--horizontal-alignment: flex-start; --vertical-alignment: center;
6289--vertical-alignment-mobile: center;
6290"
6291  >
6292  
6293
6294
6295
6296
6297
6298
6299
6300
6301  <div class=" spacing-style text-block text-block--AZC9JTXdGQVNTbE41b__text_LWt8Pz h4    text-block--align-left  "  style="    --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;            --width: 100%;    --max-width: var(--max-width--body-normal);          --text-align: left;          ">
6302    <h2><strong>Meld deg på vårt nyhetsbrev</strong></h2>
6303  </div>
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319  <rte-formatter class=" spacing-style text-block text-block--ANGJveWhzQ00vSHlWS__text_f9CFLH rte    text-block--align-left rte   "  style="    --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;            --width: 100%;    --max-width: var(--max-width--body-normal);          --text-align: left;          ">
6320    <p>FÃ¥ eksklusive tilbud og tidlig tilgang til nye produkter.</p>
6321  </rte-formatter>
6322
6323
6324
6325
6326
6327
6328
6329</div>
6330</div>
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346<div
6347  class="email-signup-block size-style spacing-style"
6348  style="
6349    --size-style-width: 100%;--size-style-height: ;
6350    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
6351  "
6352  
6353>
6354  
6355<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="email-signup__form spacing-style"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
6356    
6357<div
6358      class="email-signup__input-group email-signup__input-group--integrated email-signup__input-group--arrow"
6359      style="
6360        --border-width: 1px;
6361        --border-radius: 100px;
6362        --color-input-background: #ffffff; --color-input-text: #002E49; --color-input-text-rgb: 0 46 73; --color-input-border: #F5F5F7;
6363      "
6364    >
6365      <label
6366        for="EmailInput-AVW1IdHFYc1JUbittb__email_signup_crihX7"
6367        class="visually-hidden"
6368      >
6369        E-post
6370      </label>
6371      <input
6372        id="EmailInput-AVW1IdHFYc1JUbittb__email_signup_crihX7"
6373        class="email-signup__input email-signup__input--all paragraph "
6374        type="email"
6375        name="contact[email]"
6376        autocorrect="off"
6377        autocapitalize="off"
6378        autocomplete="email"
6379        placeholder="E-postadresse"
6380        required
6381        
6382      >
6383      <button
6384        class="email-signup__button email-signup__button--integrated email-signup__button--arrow paragraph button-unstyled button-unstyled--AVW1IdHFYc1JUbittb__email_signup_crihX7"
6385        
6386          aria-label="Registrer deg"
6387        
6388      >
6389        
6390          <svg
6391            viewBox="0 0 20 20"
6392            xmlns="http://www.w3.org/2000/svg"
6393            focusable="false"
6394            aria-hidden="true"
6395            class="email-signup__button-icon"
6396          >
6397            
6398
6399
6400<path
6401      clip-rule="evenodd"
6402      d="m11.246 5.31759c.0322-.07821.0833-.14723.1486-.20093.0654-.0537.143-.09041.2259-.10686.083-.01645.1688-.01214.2497.01257.0808.0247.1544.06902.214.12902l4.104 4.104c.0478.04765.0857.10426.1115.16659.0259.06232.0392.12913.0392.19661 0 .06747-.0133.13429-.0392.19661-.0258.06233-.0637.11893-.1115.16659l-4.104 4.10401c-.0963.0963-.227.1504-.3632.1504s-.2669-.0541-.3632-.1504-.1504-.227-.1504-.3632.0541-.2669.1504-.3632l3.2288-3.2278h-11.0736c-.13606 0-.26654-.0541-.36275-.15027-.0962-.0962-.15025-.22669-.15025-.36274 0-.13606.05405-.26654.15025-.36275.09621-.0962.22669-.15025.36275-.15025h11.0736l-3.2288-3.2278c-.0721-.07178-.1212-.16335-.1411-.2631s-.0097-.20316.0293-.2971z"
6403      fill="currentColor"
6404      fill-rule="evenodd"
6405    />
6406          </svg>
6407        
6408      </button>
6409    </div></form>
6410</div>
6411
6412
6413
6414
6415
6416  </div>
6417</div>
6418
6419
6420 
6420<script>document.addEventListener("startasyncloading",(function(){const e=document.querySelectorAll("script[type='text/javascripts']"),t=document.createDocumentFragment();e.forEach((e=>{const n=document.createElement("script");[...e.attributes].forEach((e=>{n.setAttribute(e.name,e.value)})),n.type="text/javascript",n.innerHTML=e.innerHTML,t.appendChild(n),e.parentNode.removeChild(e)})),document.body.appendChild(t)}));</script>
6420
6421 
6422
6423</div><div id="shopify-section-sections--28565473788170__footer_utilities_jLGE8U" class="shopify-section shopify-section-group-footer-group footer-utilities">
6424
6425
6426
6427
6428
6429
6430  <style data-shopify>
6431    .color-custom-sections--28565473788170__footer_utilities_jLGE8U,
6432    .color-custom-sections--28565473788170__footer_utilities_jLGE8U .text-block {
6433      /* Background */
6434      --color-background: #ffffff;
6435      --color-background-rgb: 255 255 255;
6436
6437      /* Opacity values adjusted for background brightness */
6438      
6439--opacity-5-15: 0.05; --opacity-10-25: 0.1; --opacity-35-55: 0.35; --opacity-40-60:
64400.4; --opacity-30-60: 0.3; --opacity-60: 0.6;
6441
6442
6443      
6444        /* Foreground / text — explicit or smart-contrasted */
6445        --color: #000000;
6446        --color-rgb: 0 0 0;
6447        --color-foreground: #000000;
6448        --color-foreground-rgb: 0 0 0;
6449        --color-foreground-muted: rgb(0 0 0 / var(--opacity-muted-text));
6450        --color-foreground-subdued: rgb(0 0 0 / var(--opacity-subdued-text));
6451        --color-border: var(--palette-darkest);
6452        --color-border-rgb: var(--palette-darkest-rgb);
6453      
6454    }
6455
6456    
6457      .color-custom-sections--28565473788170__footer_utilities_jLGE8U {
6458        /* Form-related tokens stay on .color-custom only — .text-block is a prose
6459           container (text/announcement/inline-text/blog-post-description/
6460           collection-link/price/sku) and never holds form inputs. */
6461        --input-disabled-background-color: rgb(0 0 0 / var(--opacity-10));
6462        --input-disabled-border-color: rgb(0 0 0 / var(--opacity-5));
6463        --input-disabled-text-color: rgb(0 0 0 / var(--opacity-50));
6464        --checkbox-border: 1px solid rgb(0 0 0 / var(--opacity-35-55));
6465      }
6466    
6467
6468    .color-custom-sections--28565473788170__footer_utilities_jLGE8U {
6469      color: var(--color, var(--color-foreground));
6470      background-color: var(--color-background);
6471    }
6472  </style>
6473
6474
6475
6476<div
6477  class="section-background color-custom-sections--28565473788170__footer_utilities_jLGE8U"
6478></div>
6479<div
6480  class="section section--page-width color-custom-sections--28565473788170__footer_utilities_jLGE8U"
6481  
6482>
6483  <div
6484    class="utilities utilities--blocks-2 spacing-style"
6485    style="--padding-block-start: 20px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); --border-width: 1px; --divider-color: #F5F5F7; --gap: 24px;"
6486    data-testid="footer-utilities"
6487  >
6488    
6489
6490  <anchored-popover-component
6491    data-hover-triggered="true"
6492  >
6493    <button
6494      class="policy-list-trigger button-unstyled"
6495      popovertarget="terms-policies-popover"
6496      popovertargetaction="toggle"
6497      ref="trigger"
6498      style="
6499        
6500--font-size: 0.75rem;      --font-weight: ;--font-family: ;    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-);        --letter-spacing: var(--letter-spacing--body-);
6501        
6502      "
6503      
6504    >
6505      Vilkår og betingelser
6506    </button>
6507    <div
6508      class="terms-policies-popover color-custom-popover"
6509      id="terms-policies-popover"
6510      popover="auto"
6511      ref="popover"
6512    >
6513      <ul
6514        class="
6515          policy_list list-unstyled
6516          custom-typography
6517          custom-font-size
6518        "
6519      ><li>
6520              <a
6521                href="/policies/privacy-policy"
6522                class="footer-utilities__text"
6523              >Personvernerklæring</a>
6524            </li><li>
6525              <a
6526                href="/policies/contact-information"
6527                class="footer-utilities__text"
6528              >Kontaktinformasjon</a>
6529            </li><li>
6530              <a
6531                href="/policies/refund-policy"
6532                class="footer-utilities__text"
6533              >Retningslinjer for angrerett</a>
6534            </li><li>
6535              <a
6536                href="/policies/terms-of-service"
6537                class="footer-utilities__text"
6538              >Vilkår for bruk</a>
6539            </li><li>
6540              <a
6541                href="/policies/shipping-policy"
6542                class="footer-utilities__text"
6543              >Retningslinjer for frakt</a>
6544            </li><li>
6545              <a
6546                href="/policies/subscription-policy"
6547                class="footer-utilities__text"
6548              >Retningslinjer for kansellering</a>
6549            </li></ul>
6550    </div>
6551  </anchored-popover-component>
6552
6553
6554
6555
6556
6557
6558
6559<div
6560  class="
6561    footer-utilities__group-copyright
6562    custom-typography
6563    custom-font-size
6564  "
6565  style="
6566    
6567--font-size: 0.75rem;      --font-weight: ;--font-family: ;    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-);        --letter-spacing: var(--letter-spacing--body-);
6568    
6569  "
6570  
6571>
6572  <span class="footer-utilities__text">
6573    &copy; 2026
6574    <a href="/" title="">Diasocks</a>, Drevet av Shopify
6575</span>
6576</div>
6577
6578
6579
6580
6581
6582  </div>
6583</div>
6584
6585
6586
6587
6588</div>
6589<!-- END sections: footer-group -->
6590      </footer>
6591    </div>
6592
6593    
6594
6595    <div
6596      id="shopify-section-cart-drawer-section"
6597      class="shopify-section"
6598    >
6599  
6600
6601  
6601<script
6602    type="module"
6603    src="//diasocks.no/cdn/shop/t/25/assets/cart-drawer.js?v=101430053943909765251786808724"
6604    fetchpriority="low"
6605  ></script>
6605
6606
6607  
6608
6609  <theme-drawer
6610    id="cart-drawer"
6611    data-skip-node-update
6612  >
6613    <dialog
6614      ref="panel"
6615      class="theme-drawer__dialog color-custom-drawer"
6616      aria-labelledby="cart-drawer-heading"
6617      cart-summary-sticky="true"
6618    >
6619      <cart-drawer-component
6620        
6621          auto-open
6622        
6623      >
6624        <template id="empty-cart-template">
6625          
6626    <div
6627      class="cart-drawer__content"
6628      aria-label="Handlekurv"
6629    >
6630      <h2
6631        class="theme-drawer__title h4"
6632        id="cart-drawer-heading"
6633      >
6634        Handlekurven din er tom
6635      </h2>
6636
6637      <div class="cart-drawer__items">
6638        
6639
6640
6641<script
6642  src="//diasocks.no/cdn/shop/t/25/assets/component-cart-items.js?v=14476580701730542761786808729"
6643  type="module"
6644  fetchpriority="low"
6645></script>
vendor: 1 bytes, line 6645
6645
6646<script
6647  src="//diasocks.no/cdn/shop/t/25/assets/component-cart-quantity-selector.js?v=168493463479860323171786808730"
6648  type="module"
6649  fetchpriority="low"
6650></script>
vendor: 1 bytes, line 6650
6650
6651<script
6652  src="//diasocks.no/cdn/shop/t/25/assets/volume-pricing-info.js?v=94479640769665442661786808839"
6653  type="module"
6654  fetchpriority="low"
6655></script>
6655
6656
6657<div
6658  
6659  class="cart-items__wrapper cart-items__wrapper--drawer-empty"
6660  
6661    data-cart-drawer-empty
6662  
6663  style=""
6664>
6665  
6666<p>
6667        Har du en konto? <a href="https://diasocks.no/customer_authentication/redirect?locale=nb&region_country=NO">Logg inn</a> for å betale raskere.
6668      </p><a
6669      class="button cart-items__empty-button"
6670      href="/collections/all"
6671    >
6672      <span class="button-text">
6673        Fortsett å handle
6674      </span>
6675    </a></div>
6676
6677
6678
6679      </div>
6680    </div>
6681    
6682        </template>
6683
6684        <div
6685          class="cart-drawer__inner cart-drawer--empty"
6686          data-hydration-key="cart-drawer-inner"
6687        ><div class="theme-drawer__header">
6688              <button
6689                on:click="#cart-drawer/close"
6690                class="theme-drawer__close-button cart-drawer__close-button--empty"
6691                type="button"
6692                aria-label="Lukk"
6693              >
6694                <span class="svg-wrapper"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
6695<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
6696</svg>
6697</span>
6698              </button>
6699            </div>
6700          
6701
6702<cart-items-component
6703  class="cart-items-component"
6704  
6705    data-drawer
6706    view-event-trigger="dialog"
6707  
6708  data-section-id="cart-drawer-section"
6709  
6710  view-event-payload="{&quot;context&quot;:null,&quot;cart&quot;:null}"
6711  
6712>
6713  
6714
6715    <div
6716      class="cart-drawer__content"
6717      aria-label="Handlekurv"
6718    >
6719      <h2
6720        class="theme-drawer__title h4"
6721        id="cart-drawer-heading"
6722      >
6723        Handlekurven din er tom
6724      </h2>
6725
6726      <div class="cart-drawer__items">
6727        
6728
6729
6730<script
6731  src="//diasocks.no/cdn/shop/t/25/assets/component-cart-items.js?v=14476580701730542761786808729"
6732  type="module"
6733  fetchpriority="low"
6734></script>
vendor: 1 bytes, line 6734
6734
6735<script
6736  src="//diasocks.no/cdn/shop/t/25/assets/component-cart-quantity-selector.js?v=168493463479860323171786808730"
6737  type="module"
6738  fetchpriority="low"
6739></script>
vendor: 1 bytes, line 6739
6739
6740<script
6741  src="//diasocks.no/cdn/shop/t/25/assets/volume-pricing-info.js?v=94479640769665442661786808839"
6742  type="module"
6743  fetchpriority="low"
6744></script>
6744
6745
6746<div
6747  
6748  class="cart-items__wrapper cart-items__wrapper--drawer-empty"
6749  
6750    data-cart-drawer-empty
6751  
6752  style=""
6753>
6754  
6755<p>
6756        Har du en konto? <a href="https://diasocks.no/customer_authentication/redirect?locale=nb&region_country=NO">Logg inn</a> for å betale raskere.
6757      </p><a
6758      class="button cart-items__empty-button"
6759      href="/collections/all"
6760    >
6761      <span class="button-text">
6762        Fortsett å handle
6763      </span>
6764    </a></div>
6765
6766
6767
6768      </div>
6769    </div>
6770    
6771
6772</cart-items-component>
6773
6774
6775
6776        </div>
6777      </cart-drawer-component>
6778    </dialog>
6779  </theme-drawer>
6780
6781  
6782    </div>
6783  
6784
6785
6786    
6787
6788
6789
6790
6791
6792
6793<script
6794  type="module"
6795  src="//diasocks.no/cdn/shop/t/25/assets/theme-drawer.js?v=19271060799489679091786808830"
6796  fetchpriority="low"
6797></script>
6797
6798
6799<script>
6800  /* Runs synchronously during HTML parsing — opens the correct drawer on first
6801     paint if navigation state was saved, so it renders with the rest of the page. */
6802  (function () {
6803    var drawerIds = (sessionStorage.getItem('theme-drawer-open') || '').split(',').filter(Boolean);
6804    if (!drawerIds.length) return;
6805
6806    // Only restore on wide viewports (squeeze mode). On narrow viewports the
6807    // drawer is a modal overlay — let it start closed after navigation rather
6808    // than re-opening a fullscreen dialog the user may have left behind.
6809    if (!window.matchMedia('(min-width: 990px)').matches) return;
6810
6811    var dialogs = [];
6812    for (var i = 0; i < drawerIds.length; i++) {
6813      var drawer = document.getElementById(drawerIds[i]);
6814      if (!drawer) continue;
6815
6816      drawer.setAttribute('open', '');
6817
6818      // Set [open] directly so the CSS slide-in applies without triggering
6819      // the browser's dialog focusing steps — on wide viewports the drawer is
6820      // a sidebar, not a modal, so focus should stay where it is.
6821      // The instant class suppresses the slide-in transition for the initial restore.
6822      // Set --drawer-stack-order so z-index layering matches the original order.
6823      drawer.style.setProperty('--drawer-stack-order', String(i + 1));
6824
6825      var dialog = drawer.querySelector('dialog');
6826      if (dialog) {
6827        dialog.setAttribute('open', '');
6828        dialog.classList.add('theme-drawer__dialog-instant');
6829        dialogs.push(dialog);
6830      }
6831
6832      // Let each drawer type handle its own restore (e.g. shopify-chat mode).
6833      // Synchronous dispatch — listeners attached during earlier parsing run immediately.
6834      drawer.dispatchEvent(new CustomEvent('theme-drawer:restoring'));
6835    }
6836
6837    // Apply squeeze immediately, bypassing the margin transition.
6838    // Only squeeze if at least one drawer was actually restored — saved
6839    // drawer IDs may not exist on every page (e.g. cart-drawer on /cart).
6840    var pageWrapper = document.querySelector('.page-wrapper');
6841    if (pageWrapper && dialogs.length > 0) {
6842      pageWrapper.style.transition = 'none';
6843      pageWrapper.classList.add('page-wrapper--drawer-open');
6844    }
6845
6846    // Re-enable transitions after one paint so the instant state is rendered first.
6847    requestAnimationFrame(function () {
6848      requestAnimationFrame(function () {
6849        if (pageWrapper) pageWrapper.style.transition = '';
6850        for (var j = 0; j < dialogs.length; j++) {
6851          dialogs[j].classList.remove('theme-drawer__dialog-instant');
6852        }
6853      });
6854    });
6855  })();
6856</script>
6856
6857
6858<script
6859  type="module"
6860>
6861  const pageWrapper = document.querySelector('.page-wrapper');
6862  const squeezeQuery = window.matchMedia('(min-width: 990px)');
6863
6864  // ── Squeeze coordination ──
6865  // Listens to all drawers. Only squeezes on wide viewports.
6866  document.addEventListener('theme-drawer:open', () => {
6867    if (squeezeQuery.matches) {
6868      pageWrapper?.classList.add('page-wrapper--drawer-open');
6869    }
6870  });
6871
6872  document.addEventListener('theme-drawer:close', () => {
6873    const openDrawer = document.querySelector('theme-drawer[open]');
6874    if (!openDrawer) {
6875      pageWrapper?.classList.remove('page-wrapper--drawer-open');
6876    }
6877  });
6878
6879  squeezeQuery.addEventListener('change', () => {
6880    const openDrawer = document.querySelector('theme-drawer[open]');
6881    pageWrapper?.classList.toggle('page-wrapper--drawer-open', Boolean(openDrawer) && squeezeQuery.matches);
6882  });
6883
6884  // ── State persistence ──
6885  // Store open drawer IDs sorted by their visual stack order so
6886  // the restore script can recreate the same z-index layering.
6887  function persistDrawerState() {
6888    const openDrawers = Array.from(document.querySelectorAll('theme-drawer[open]:not([no-persist])'));
6889    if (!openDrawers.length) {
6890      sessionStorage.removeItem('theme-drawer-open');
6891      return;
6892    }
6893
6894    openDrawers.sort((a, b) => {
6895      const orderA = Number(a.style.getPropertyValue('--drawer-stack-order') || 0);
6896      const orderB = Number(b.style.getPropertyValue('--drawer-stack-order') || 0);
6897      return orderA - orderB;
6898    });
6899
6900    sessionStorage.setItem('theme-drawer-open', openDrawers.map((d) => d.id).join(','));
6901  }
6902
6903  document.addEventListener('theme-drawer:open', persistDrawerState);
6904  document.addEventListener('theme-drawer:close', persistDrawerState);
6905</script>
6905
6906
6907
6908    
6909
6910
6911
6912
6913
6914
6915<script
6916  src="//diasocks.no/cdn/shop/t/25/assets/dialog.js?v=50435175020407122251786808736"
6917  type="module"
6918></script>
6918
6919
6920<script
6921  src="//diasocks.no/cdn/shop/t/25/assets/predictive-search.js?v=162722252387887966571786808801"
6922  type="module"
6923  fetchpriority="low"
6924></script>
6924
6925
6926<dialog-component
6927  id="search-modal"
6928  class="search-modal"
6929  
6930>
6931  <dialog
6932    ref="dialog"
6933    on:click="/closeDialogOnClickOutside"
6934    on:keydown="/closeDialogOnEscapePress"
6935    class="search-modal__content dialog-modal"
6936    scroll-lock
6937    aria-labelledby="search-modal-heading"
6938  >
6939    <h2
6940      id="search-modal-heading"
6941      class="visually-hidden"
6942    >
6943      Søk
6944    </h2>
6945    <predictive-search-component
6946      class="predictive-search color-custom-popover"
6947      style="--product-corner-radius: 0px; --card-corner-radius: 4px;"
6948      data-section-id="predictive-search"
6949      data-testid="search-component--modal"
6950      role="search"
6951      aria-label="Søk"
6952    >
6953      <form
6954        action="/search"
6955        method="get"
6956        role="search"
6957        class="predictive-search-form"
6958        ref="form"
6959        on:keydown="/onSearchKeyDown"
6960      >
6961        <div
6962          class="predictive-search-form__header"
6963        >
6964          <div class="predictive-search-form__header-inner">
6965            <label
6966              for="cmdk-input"
6967              class="visually-hidden"
6968            >Søk</label>
6969            <input
6970              class="search-input"
6971              id="cmdk-input"
6972              type="search"
6973              name="q"
6974              role="combobox"
6975              aria-expanded="false"
6976              aria-owns="predictive-search-results"
6977              aria-controls="predictive-search-results"
6978              aria-haspopup="listbox"
6979              aria-autocomplete="list"
6980              autocomplete="off"
6981              placeholder="Søk"
6982              ref="searchInput"
6983              on:input="/search"
6984              on:keydown="/onSearchKeyDown"
6985            >
6986            <input
6987              name="options[prefix]"
6988              type="hidden"
6989              value="last"
6990            >
6991            <span class="svg-wrapper predictive-search__icon">
6992              <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
6993
6994            </span>
6995            <button
6996              type="button"
6997              class="button-unstyled predictive-search__reset-button"
6998              ref="resetButton"
6999              hidden
7000              on:click="/resetSearch"
7001            >
7002              Fjern
7003            </button>
7004          </div>
7005          <button
7006            type="button"
7007            class="button predictive-search__close-modal-button"
7008            aria-label="Lukk dialogboksen"
7009            on:click="dialog-component/closeDialog"
7010            ref="closeModalButton"
7011          >
7012            <span class="svg-wrapper">
7013              <svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
7014<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
7015</svg>
7016
7017            </span>
7018          </button>
7019        </div>
7020
7021        <div class="predictive-search-form__content-wrapper">
7022          <div
7023            class="predictive-search-form__content"
7024            ref="predictiveSearchResults"
7025            on:click="/handleModalClick"
7026          >
7027            
7028
7029<div
7030  id="predictive-search-results"
7031  class="predictive-search-dropdown"
7032  role="listbox"
7033  aria-expanded="true"
7034  style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);"
7035>
7036  
7037    <div class="predictive-search-results__inner">
7038      
7039      
7040        
7041        
7042        
7043          <div
7044  id="predictive-search-products"
7045  class="predictive-search-results__products"
7046  
7047    data-testid="products-list-default--modal"
7048  
7049>
7050  
7051    <h4 class="predictive-search-results__title">
7052      Produkter
7053    </h4>
7054    <ul
7055      class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled"
7056    >
7057      
7058      
7059        <li
7060          class="predictive-search-results__card predictive-search-results__card--product"
7061          ref="resultsItems[]"
7062        >
7063          
7064<product-component
7065    class="resource-card__wrapper"
7066    
7067    
7068    view-event-payload="{&quot;product&quot;:{&quot;id&quot;:9907464700170,&quot;title&quot;:&quot;Ankelsokker i bambus med mild kompresjon&quot;,&quot;handle&quot;:&quot;ankelstottestromper&quot;,&quot;selectedVariant&quot;:null},&quot;context&quot;:&quot;search&quot;,&quot;selectedOptions&quot;:[]}"
7069    
7070  ><div
7071  class="resource-card"
7072  data-resource-type="product"
7073>
7074  <a
7075    class="resource-card__link"
7076    href="/products/ankelstottestromper"
7077  >
7078    <span class="visually-hidden">
7079      Ankelsokker i bambus med mild kompresjon
7080    </span>
7081  </a>
7082  <div
7083    class="resource-card__media"
7084    style="--resource-card-aspect-ratio: 4 / 5;"
7085    
7086  >
7087      
7088      
7089
7090          <img   src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="  data-src="//diasocks.no/cdn/shop/files/2_10.webp?v=1787247303&amp;width=500" alt="" data-srcset="//diasocks.no/cdn/shop/files/2_10.webp?v=1787247303&amp;width=240 240w, //diasocks.no/cdn/shop/files/2_10.webp?v=1787247303&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image lazyload" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 
7091
7092            <img   src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="  data-src="//diasocks.no/cdn/shop/files/NO_dcc728f2-af35-46b4-9923-2664988c0493.webp?v=1787247373&amp;width=500" alt="Ankelsokker i bambus med mild kompresjon" data-srcset="//diasocks.no/cdn/shop/files/NO_dcc728f2-af35-46b4-9923-2664988c0493.webp?v=1787247373&amp;width=240 240w, //diasocks.no/cdn/shop/files/NO_dcc728f2-af35-46b4-9923-2664988c0493.webp?v=1787247373&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary lazyload" sizes="auto" ref="" data-media-id="50853627461898" style="object-position: 50.0% 50.0%;"> 
7093</div>
7094
7095  <div class="resource-card__content">
7096    <p class="resource-card__title paragraph">Ankelsokker i bambus med mild kompresjon</p>
7097
7098    
7099      <div ref="priceContainer">
7100  
7101    
7102    <div
7103      class="
7104        price__regular
7105        
7106      "
7107    >
7108      <span class="price">199,00 kr</span>
7109    </div>
7110    <div
7111      class="
7112        price__sale
7113        
7114          price__hidden
7115        
7116      "
7117    >
7118      
7119        <span class="price-item__group">
7120          <span class="visually-hidden">Vanlig pris&nbsp;</span>
7121          <span class="price-item--regular compare-at-price"></span>
7122        </span>
7123        <span class="price-item__group">
7124          <span class="visually-hidden">Rabattert pris&nbsp;</span>
7125          <span class="price-item--sale price">199,00 kr</span>
7126        </span>
7127      
7128    </div>
7129  
7130</div>
7131    
7132  </div>
7133</div></product-component>
7134
7135        </li>
7136      
7137        <li
7138          class="predictive-search-results__card predictive-search-results__card--product"
7139          ref="resultsItems[]"
7140        >
7141          
7142<product-component
7143    class="resource-card__wrapper"
7144    
7145    
7146    view-event-payload="{&quot;product&quot;:{&quot;id&quot;:10011314684170,&quot;title&quot;:&quot;Ankelstrømper&quot;,&quot;handle&quot;:&quot;diasocks-ankelstromper&quot;,&quot;selectedVariant&quot;:null},&quot;context&quot;:&quot;search&quot;,&quot;selectedOptions&quot;:[]}"
7147    
7148  ><div
7149  class="resource-card"
7150  data-resource-type="product"
7151>
7152  <a
7153    class="resource-card__link"
7154    href="/products/diasocks-ankelstromper"
7155  >
7156    <span class="visually-hidden">
7157      Ankelstrømper
7158    </span>
7159  </a>
7160  <div
7161    class="resource-card__media"
7162    style="--resource-card-aspect-ratio: 4 / 5;"
7163    
7164  >
7165      
7166      
7167
7168          <img   src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="  data-src="//diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114209.907.webp?v=1746525436&amp;width=500" alt="" data-srcset="//diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114209.907.webp?v=1746525436&amp;width=240 240w, //diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114209.907.webp?v=1746525436&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image lazyload" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 
7169
7170            <img   src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="  data-src="//diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114224.476.webp?v=1746525436&amp;width=500" alt="Ankelstrømper" data-srcset="//diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114224.476.webp?v=1746525436&amp;width=240 240w, //diasocks.no/cdn/shop/files/Untitleddesign-2025-05-06T114224.476.webp?v=1746525436&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary lazyload" sizes="auto" ref="" data-media-id="45368666685706" style="object-position: 50.0% 50.0%;"> 
7171</div>
7172
7173  <div class="resource-card__content">
7174    <p class="resource-card__title paragraph">Ankelstrømper</p>
7175
7176    
7177      <div ref="priceContainer">
7178  
7179    
7180    <div
7181      class="
7182        price__regular
7183        
7184      "
7185    >
7186      <span class="price">199,00 kr</span>
7187    </div>
7188    <div
7189      class="
7190        price__sale
7191        
7192          price__hidden
7193        
7194      "
7195    >
7196      
7197        <span class="price-item__group">
7198          <span class="visually-hidden">Vanlig pris&nbsp;</span>
7199          <span class="price-item--regular compare-at-price"></span>
7200        </span>
7201        <span class="price-item__group">
7202          <span class="visually-hidden">Rabattert pris&nbsp;</span>
7203          <span class="price-item--sale price">199,00 kr</span>
7204        </span>
7205      
7206    </div>
7207  
7208</div>
7209    
7210  </div>
7211</div></product-component>
7212
7213        </li>
7214      
7215        <li
7216          class="predictive-search-results__card predictive-search-results__card--product"
7217          ref="resultsItems[]"
7218        >
7219          
7220<product-component
7221    class="resource-card__wrapper"
7222    
7223    
7224    view-event-payload="{&quot;product&quot;:{&quot;id&quot;:10490232111370,&quot;title&quot;:&quot;Brede støttestrømper 12-15 mmHg&quot;,&quot;handle&quot;:&quot;brede-stottestromper-12-15-mmhg&quot;,&quot;selectedVariant&quot;:null},&quot;context&quot;:&quot;search&quot;,&quot;selectedOptions&quot;:[]}"
7225    
7226  ><div
7227  class="resource-card"
7228  data-resource-type="product"
7229>
7230  <a
7231    class="resource-card__link"
7232    href="/products/brede-stottestromper-12-15-mmhg"
7233  >
7234    <span class="visually-hidden">
7235      Brede støttestrømper 12-15 mmHg
7236    </span>
7237  </a>
7238  <div
7239    class="resource-card__media"
7240    style="--resource-card-aspect-ratio: 4 / 5;"
7241    
7242  >
7243      
7244      
7245
7246          <img   src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="  data-src="//diasocks.no/cdn/shop/files/Untitled_design_67_-min_bd3ef022-28e6-4cb8-8173-68a81b96c90c.webp?v=1777379071&amp;width=500" alt="" data-srcset="//diasocks.no/cdn/shop/files/Untitled_design_67_-min_bd3ef022-28e6-4cb8-8173-68a81b96c90c.webp?v=1777379071&amp;width=240 240w, //diasocks.no/cdn/shop/files/Untitled_design_67_-min_bd3ef022-28e6-4cb8-8173-68a81b96c90c.webp?v=1777379071&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image lazyload" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 
7247
7248            <img   src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="  data-src="//diasocks.no/cdn/shop/files/Untitled_design_95_c1d6aca6-e892-4951-bac8-0d740986a3fb.webp?v=1777379071&amp;width=500" alt="Brede støttestrømper 12-15 mmHg" data-srcset="//diasocks.no/cdn/shop/files/Untitled_design_95_c1d6aca6-e892-4951-bac8-0d740986a3fb.webp?v=1777379071&amp;width=240 240w, //diasocks.no/cdn/shop/files/Untitled_design_95_c1d6aca6-e892-4951-bac8-0d740986a3fb.webp?v=1777379071&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary lazyload" sizes="auto" ref="" data-media-id="49841604002058" style="object-position: 50.0% 50.0%;"> 
7249</div>
7250
7251  <div class="resource-card__content">
7252    <p class="resource-card__title paragraph">Brede støttestrømper 12-15 mmHg</p>
7253
7254    
7255      <div ref="priceContainer">
7256  
7257    
7258    <div
7259      class="
7260        price__regular
7261        
7262      "
7263    >
7264      <span class="price">299,00 kr</span>
7265    </div>
7266    <div
7267      class="
7268        price__sale
7269        
7270          price__hidden
7271        
7272      "
7273    >
7274      
7275        <span class="price-item__group">
7276          <span class="visually-hidden">Vanlig pris&nbsp;</span>
7277          <span class="price-item--regular compare-at-price"></span>
7278        </span>
7279        <span class="price-item__group">
7280          <span class="visually-hidden">Rabattert pris&nbsp;</span>
7281          <span class="price-item--sale price">299,00 kr</span>
7282        </span>
7283      
7284    </div>
7285  
7286</div>
7287    
7288  </div>
7289</div></product-component>
7290
7291        </li>
7292      
7293        <li
7294          class="predictive-search-results__card predictive-search-results__card--product"
7295          ref="resultsItems[]"
7296        >
7297          
7298<product-component
7299    class="resource-card__wrapper"
7300    
7301    
7302    view-event-payload="{&quot;product&quot;:{&quot;id&quot;:9796470735114,&quot;title&quot;:&quot;Komfortstrømper&quot;,&quot;handle&quot;:&quot;komfortstromper&quot;,&quot;selectedVariant&quot;:null},&quot;context&quot;:&quot;search&quot;,&quot;selectedOptions&quot;:[]}"
7303    
7304  ><div
7305  class="resource-card"
7306  data-resource-type="product"
7307>
7308  <a
7309    class="resource-card__link"
7310    href="/products/komfortstromper"
7311  >
7312    <span class="visually-hidden">
7313      Komfortstrømper
7314    </span>
7315  </a>
7316  <div
7317    class="resource-card__media"
7318    style="--resource-card-aspect-ratio: 4 / 5;"
7319    
7320  >
7321      
7322      
7323
7324          <img   src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="  data-src="//diasocks.no/cdn/shop/files/Diasocks_Komfortstr_mper.webp?v=1758268180&amp;width=500" alt="Diasocks Komfortstrømper" data-srcset="//diasocks.no/cdn/shop/files/Diasocks_Komfortstr_mper.webp?v=1758268180&amp;width=240 240w, //diasocks.no/cdn/shop/files/Diasocks_Komfortstr_mper.webp?v=1758268180&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image lazyload" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 
7325
7326            <img   src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="  data-src="//diasocks.no/cdn/shop/files/5_a2481599-9666-4e51-9af6-a9d45a965ef9.webp?v=1758268269&amp;width=500" alt="Komfortstrømper" data-srcset="//diasocks.no/cdn/shop/files/5_a2481599-9666-4e51-9af6-a9d45a965ef9.webp?v=1758268269&amp;width=240 240w, //diasocks.no/cdn/shop/files/5_a2481599-9666-4e51-9af6-a9d45a965ef9.webp?v=1758268269&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary lazyload" sizes="auto" ref="" data-media-id="46955337220362" style="object-position: 50.0% 50.0%;"> 
7327</div>
7328
7329  <div class="resource-card__content">
7330    <p class="resource-card__title paragraph">Komfortstrømper</p>
7331
7332    
7333      <div ref="priceContainer">
7334  
7335    
7336    <div
7337      class="
7338        price__regular
7339        
7340      "
7341    >
7342      <span class="price">199,00 kr</span>
7343    </div>
7344    <div
7345      class="
7346        price__sale
7347        
7348          price__hidden
7349        
7350      "
7351    >
7352      
7353        <span class="price-item__group">
7354          <span class="visually-hidden">Vanlig pris&nbsp;</span>
7355          <span class="price-item--regular compare-at-price"></span>
7356        </span>
7357        <span class="price-item__group">
7358          <span class="visually-hidden">Rabattert pris&nbsp;</span>
7359          <span class="price-item--sale price">199,00 kr</span>
7360        </span>
7361      
7362    </div>
7363  
7364</div>
7365    
7366  </div>
7367</div></product-component>
7368
7369        </li>
7370      
7371    </ul>
7372  
7373</div>
7374
7375        
7376      
7377    </div>
7378  
7379</div>
7380
7381          </div>
7382
7383          <div class="predictive-search-form__footer">
7384            <button
7385              class="button predictive-search__search-button"
7386              ref="viewAllButton"
7387            >
7388              Se alle
7389            </button>
7390          </div>
7391        </div>
7392      </form>
7393    </predictive-search-component>
7394  </dialog>
7395</dialog-component>
7396
7397
7398
7399
7400    
7401      
7401<script
7402  src="//diasocks.no/cdn/shop/t/25/assets/gift-card-recipient-form.js?v=170482155849799299241786808743"
7403  type="module"
7404  fetchpriority="low"
7405></script>
7405
7406<quick-add-dialog id="quick-add-dialog">
7407  <dialog
7408    class="quick-add-modal dialog-modal color-custom-popover"
7409    ref="dialog"
7410    scroll-lock
7411  >
7412    <button
7413      ref="closeButton"
7414      on:click="/closeDialog"
7415      class="button button-unstyled close-button quick-add-modal__close"
7416      aria-label="Lukk dialogboksen"
7417    ><svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
7418<path d="M11.1765 12.025C11.4108 12.2594 11.7907 12.2594 12.025 12.025C12.2594 11.7907 12.2594 11.4108 12.025 11.1765L8.84931 8.00078L12.025 4.82505C12.2594 4.59073 12.2594 4.21083 12.025 3.97652C11.7907 3.7422 11.4108 3.7422 11.1765 3.97652L8.00078 7.15225L4.82505 3.97652C4.59073 3.7422 4.21083 3.7422 3.97652 3.97652C3.7422 4.21083 3.7422 4.59073 3.97652 4.82505L7.15225 8.00078L3.97652 11.1765C3.7422 11.4108 3.7422 11.7907 3.97652 12.025C4.21083 12.2594 4.59073 12.2594 4.82505 12.025L8.00078 8.84931L11.1765 12.025Z" fill="currentColor"/>
7419</svg>
7420</button>
7421
7422    <product-component
7423      id="quick-add-modal-content"
7424      class="quick-add-modal__content"
7425      view-event-trigger="dialog"
7426    ></product-component>
7427  </dialog>
7428</quick-add-dialog>
7429
7430
7431
7432
7433
7434
7435    
7436     
7436<script src="//diasocks.no/cdn/shop/t/25/assets/custom.min.js?v=12697148568754951701786808735" type="text/javascript"></script>
7436 
7437  <div id="shopify-block-AM0JIZ1hhYzgwcENia__11254466806377166470" class="shopify-block shopify-app-block">
7438
7439<script>
7440var sizeChartsRelentless = window.sizeChartsRelentless || {};
7441sizeChartsRelentless.metafield = sizeChartsRelentless.metafield || {};
7442sizeChartsRelentless.blocks = sizeChartsRelentless.blocks || {};
7443
7444
7445
7446
7447</script>
7447
7448
7449
7450
7451</div><div id="shopify-block-AakNoTzR0N0NkN3Z2W__11532412952436166569" class="shopify-block shopify-app-block">
7452
7453
7454	<!-- __LXV: 1791333638882;__LXR: https://loox.io;__LXC: GegY2tgwx0; -->
7454<script>var loox_global_hash = '1791333638882';
7455var loox_bundle_reviews_enabled = false;</script>
7455<style>.loox-reviews-default { max-width: 1200px; margin: 0 auto; }.loox-rating .loox-icon { color:#EBBF20; }
7456:root { --lxs-rating-icon-color: #EBBF20; }</style>
7457
7458
7459
7460
7461
7462
7463
7464</div><div id="shopify-block-AdmdXU3VUQ3hMTm1rN__8764476057892802672" class="shopify-block shopify-app-block"><link rel="preconnect" href="https://app.restockrocket.io" crossorigin><link rel="preconnect" href="https://zxrqcp-jb.myshopify.com" crossorigin><!-- Config and setup JS -->
7465<script id="RestockRocketConfig">
7466  window._RestockRocketConfig = window._RestockRocketConfig || {}
7467  window._RestockRocket = window._RestockRocket || {}
7468  window._Stoq = window._RestockRocket
7469  window._StoqConfig = window._RestockRocketConfig
7470  try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { }
7471  function normalizeLocale(locale) {
7472    if (!locale || locale.trim() === '') {
7473      return '';
7474    }
7475    return locale.toString().toLowerCase().replace(/-/g, '_');
7476  }
7477
7478  window._RestockRocketConfig.locale = 'nb';
7479  window._RestockRocketConfig.normalizedLocale = normalizeLocale('nb');
7480  window._RestockRocketConfig.shop = 'zxrqcp-jb.myshopify.com';
7481  window._RestockRocketConfig.pageType = 'index';
7482  window._RestockRocketConfig.liquidRenderedAt = 1791345707;window._RestockRocketConfig.marketId = 80106815754;window._RestockRocketConfig.countryName = 'Norway';
7483    window._RestockRocketConfig.countryIsoCode = 'NO';window._RestockRocketConfig.languageIsoCode = 'nb';window._RestockRocketConfig.cartInventoryQuantity = {};
7484  if (!window._RestockRocketConfig.cartToken) {
7485    try {
7486      const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/);
7487      if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]);
7488    } catch (e) { }
7489  }
7490window._RestockRocketConfig.cachedSettings = {"id":51925,"shop_id":51901,"currency":"NOK","created_at":"2026-01-18T15:03:10.079Z","updated_at":"2026-09-29T06:44:34.329Z","enable_app":true,"enable_signup_widget":true,"storefront_button_text":"Varsle meg når tilgjengelig","storefront_button_text_color":"#000000","storefront_button_background_color":"#ffffff","storefront_form_header":"Varsle meg","storefront_form_description":"Få et varsel så snart dette produktet er tilbake på lager ved å registrere deg nedenfor!","storefront_form_button_text":"Varsle meg når tilgjengelig","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Vi lover å ikke sende spam. Du vil kun motta varsler for dette produktet.","storefront_form_error":"Vennligst oppgi en gyldig e-postadresse","storefront_form_success":"Takk! Vi vil varsle deg når produktet er tilgjengelig.","enable_powered_by":false,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{},"storefront_form_email_placeholder":"E-postadresse","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Telefonnummer","storefront_form_email_label":"E-post","storefront_form_phone_error":"Vennligst oppgi et gyldig telefonnummer","storefront_form_customer_name_placeholder":"Navn","storefront_form_customer_name_error":"Vennligst oppgi et gyldig navn","storefront_form_did_you_mean_error":"Mente du %{suggested_email}? Eller bruk %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":"/**\r\n * SETTINGS\r\n * */ \r\n\r\n/**\r\n* Add a new object for each new button with following \r\n\tproperties. Remove the object if not needed.\r\n\r\n* Properties: \r\n* - name: name of the button (for your reference)\r\n* - stickyBarSelector: selector of the entire sticky bar or\r\n\t\t\t\t\t\t\t\t\t\t\t parent of the element where you want to\r\n\t\t\t\t\t\t\t\t\t\t\t select the new button. \r\n* - stickyATCSelector: add to cart button selector for the button\r\n\t\t\t\t\t\t\t\t\t\t\t inside the other the parent you've selected\r\n*- stickyATCTextSelector: add to cart button text element selector\r\n*/ \r\nconst buttonsToUpdateSelectors = [\r\n    {\r\n        name: 'desktop',\r\n        stickyBarSelector: '.sticky-add-to-cart__bar.color-custom-popover',\r\n        stickyATCSelector: '.sticky-add-to-cart__button.add-to-cart-button.button',\r\n        stickyATCTextSelector: 'span.add-to-cart-text'\r\n    }\r\n];\r\n\r\n// script console switch.\r\nconst debug = true;\r\n// script execution delay\r\nconst scriptExecutionDelay = 500;\r\n\r\n/**\r\n * SCRIPT BEGIN\r\n * */\r\nfunction log(...message) {\r\n    message.map(content => {\r\n        if (debug && content) console.debug(\"[STOQ] [DEBUG] -- \", 
7490content)\r\n    })\r\n}\r\n\r\nconst rr = window._RestockRocket;\r\nconst rrc = window._RestockRocketConfig;\r\nconst settings = window._RestockRocketConfig.settings;\r\nconst preorderText = () => { return rr.getSellingPlan().preorder_button_text\r\n};\r\nconst selected_variant = rrc.selected_variant_id;\r\n\r\nfunction changeText() {\r\n    // check preorder\r\n    if (preorderText()) {\r\n        // get buttons and update text\r\n        buttonsToUpdateSelectors.map(btn => {\r\n            log('Setting text for btn', btn);\r\n            let bar = document.querySelector(btn.stickyBarSelector);\r\n            let atc = bar.querySelector(btn.stickyATCSelector);\r\n            let atcText;\r\n            if (btn.stickyATCTextSelector != '') {\r\n                atcText = atc.querySelector(btn.stickyATCTextSelector);\r\n                atcText.textContent = preorderText();\r\n            } else {\r\n                atc.textContent = preorderText();\r\n            }\r\n        });\r\n    }\r\n}\r\n\r\nfunction init() {\r\n    log('Init and setting text');\r\n    changeText();\r\n}\r\n\r\nfunction isVariantChanged() {\r\n    return (selected_variant != rrc.selected_variant_id) ? true : false;\r\n}\r\n\r\nfunction handleVariantChange(e) {\r\n    if (isVariantChanged()) {\r\n        init();\r\n    }\r\n}\r\n\r\nsetTimeout(() => { \r\n    init();\r\n    document.addEventListener('click', handleVariantChange);\r\n}, scriptExecutionDelay);\r\n\r\n/** SCRIPT END **/","collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Varsle meg også om andre nyheter, salg, rabatter og tilbud","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":"Registrering bekreftet! Du vil motta et varsel når produktet er påfylt.","storefront_button_border_radius":14,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Antall","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":"add-to-cart-component","insert_button_after_selector_type":"afterend","storefront_button_position_type":"specific","storefront_form_duplicate_error":"Du har allerede abonnert på varsler for dette produktet.","storefront_mixed_cart_error":"Preorders must be purchased 
7490separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Feil","default_locale":"nb","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__content","insert_button_after_selector_index":".product-card__content","push_enabled":false,"push_allowed":true,"storefront_form_push_label":"Push","storefront_form_push_description":"Klikk 'Tillat' for å bli varslet via push-varsling","storefront_form_push_error":"Tillatelse avvist! Vennligst sjekk varslingsinnstillingene og prøv igjen","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Vennligst fyll ut ett eller flere av alternativene ovenfor","storefront_form_push_input":"Send varsling til nettleseren din","insert_button_after_selector_page":".product-card__content","show_button_on_page":false,"insert_button_after_selector_search":".product-card__content","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":"","index_buttons_container":"","page_buttons_container":"","search_buttons_container":"","extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"Dette produktet er utsolgt. Få varsel når det er på lager igjen ved å fylle inn dine detaljer nedenfor!","preorder_enabled":false,"preorder_buy_button_selector":"","preorder_add_to_cart_button_selector":"button.button.add-to-cart-button.button:not(.sticky-add-to-cart__button)","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Ikke på lager","preorder_button_add_to_cart_text":"Legg til i handlekurv","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":"","preorder_index_badge_selector":"","preorder_page_badge_selector":"","preorder_search_badge_selector":"","preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":".price","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"product-price .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":".shopify-product-form","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":10,"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-09-29T06:44:38.640Z","multi_language_enabled":false,"translation_locale":"nb","disable_refresh_on_stale_liquid":false,"api_host":"https://ext.stoqapp.com"};window._RestockRocketConfig.storefrontAccessToken = "ae0000a56ef5d966a0d4c1865a41c081";
7491  window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production';
7492  window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = { preorder_variant_ids: [] };window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = { variant_preorder_limits: {} };window._RestockRocketConfig.cachedVariantShippingTexts = { variant_shipping_texts: {} };
7493window._RestockRocketConfig.sellingPlans = [];(function() {
7494      const cachedData = {"plans":[],"disabled_plan_ids":[6213468426,6179225866,6213533962,6180241674,6213501194,6179193098,5866914058],"has_in_stock_offer":false,"has_preorder_offer":false,"read_flags":{"enable_storefront_product_reads":true,"enable_storefront_integrations_read":true,"enable_storefront_selling_plans_read":true},"cached_at":"2026-10-04T10:29:56Z"};
7495
7496      if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) {
7497        window._RestockRocketConfig.readFlags = cachedData.read_flags || {};
7498        const oldPlans = window._RestockRocketConfig.sellingPlans;
7499        const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0
7500          ? oldPlans.reduce(function(max, plan) {
7501              if (plan.updated_at) {
7502                const planDate = new Date(plan.updated_at);
7503                const maxDate = max ? new Date(max) : null;
7504                return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max;
7505              }
7506              return max;
7507            }, '')
7508          : null;
7509        const cachedDate = new Date(cachedData.cached_at);
7510        const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null;
7511        const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate));
7512
7513        if (useCached) {
7514          if (Array.isArray(cachedData.plans)) {
7515            window._RestockRocketConfig.sellingPlans = cachedData.plans;
7516            window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || [];
7517            console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')');
7518          }
7519        } else {
7520          window._RestockRocketConfig.disabledSellingPlanIds = [];
7521          console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')');
7522        }
7523      }
7524    })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [];
7525  try {
7526    var _sqCfg = window._RestockRocketConfig;
7527    var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) &&
7528      _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; });
7529    var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds &&
7530      _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length;
7531    _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount);
7532  } catch (e) { }
7533  try {
7534    var _sqc = window._RestockRocketConfig;
7535    var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false);
7536    var _sqPre = (_sqc.cachedPreorderVariantIds &&
7537      _sqc.cachedPreorderVariantIds.preorder_variant_ids) || [];
7538    var _sqArm = false;
7539    if (_sqOn && _sqc.preordersConfigured) {
7540      if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) {
7541        _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; });
7542      } else {
7543        _sqArm = (_sqc.integrations || []).some(function (i) {
7544          return i && i.type === 'featured_product' && i.enabled &&
7545            Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1;
7546        });
7547      }
7548    }
7549    if (_sqArm && document.documentElement) {
7550      _sqc.acceleratedGateArmed = true;
7551      document.documentElement.classList.add('stoq-buy-now-pending');
7552      setTimeout(function () {
7553        document.documentElement.classList.remove('stoq-buy-now-pending');
7554      }, 6000);
7555    }
7556  } catch (e) { }
7557
7558  window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-product.js'
7559  window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-collection.js'
7560  window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-product-bis.js'
7561  window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-collection-bis.js'
7562  window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
7563  window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io'
7564  try {
7565    const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/);
7566    window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || '';
7567  } catch (e) {
7568    window._RestockRocketConfig.appVersion = '';
7569  }
7570  const SETTINGS_CACHE_DURATION = 15 * 60 * 1000;
7571  const LIQUID_CACHE_MAX_AGE = 15 * 60;
7572  const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt;
7573  if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
7574    console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
7575    window._RestockRocketConfig.isLiquidCacheFresh = true;
7576    window._RestockRocketConfig.liquidCacheAge = null;
7577  } else {
7578    const now = Math.floor(Date.now() / 1000);
7579    const liquidCacheAge = now - liquidRenderedAt;
7580    window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge);
7581    if (liquidCacheAge < 0) {
7582      console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`);
7583      window._RestockRocketConfig.isLiquidCacheFresh = true;
7584    } else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) {
7585      console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
7586      window._RestockRocketConfig.isLiquidCacheFresh = true;
7587    } else {
7588      console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`);
7589      window._RestockRocketConfig.isLiquidCacheFresh = false;
7590    }
7591  }
7592
7593  function checkSettingsExpiry(settings) {
7594    try {
7595      if (!settings || !settings.updated_at) {
7596        console.debug('STOQ - Invalid settings data structure');
7597        return null;
7598      }
7599
7600      if (!settings.cache) {
7601        console.debug('STOQ - settings caching disabled');
7602        return null;
7603      }
7604      if (settings.multi_language_enabled) {
7605        if (!settings.translations) {
7606          console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh');
7607          return null;
7608        }
7609        if (window._RestockRocketConfig.normalizedLocale &&
7610            !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) {
7611          console.debug('STOQ - locale not explicitly translated, will use default language from cache');
7612        }
7613      }
7614
7615      const updatedAt = new Date(settings.updated_at);
7616      if (isNaN(updatedAt.getTime())) {
7617        console.debug('STOQ - Invalid updated_at date format in settings');
7618        return null;
7619      }
7620
7621      const age = Date.now() - updatedAt.getTime();
7622      if (age < SETTINGS_CACHE_DURATION) {
7623        console.debug('STOQ - settings changed recently, skipping cache');
7624        return null;
7625      }
7626
7627      return settings;
7628    } catch (error) {
7629      console.debug('STOQ - Error checking settings cache:', error);
7630      return null;
7631    }
7632  }
7633
7634  function createRestockRocketContainer() {
7635    const restockRocketContainer = document.createElement('div');
7636    restockRocketContainer.id = 'restock-rocket';
7637    document.body.appendChild(restockRocketContainer);
7638  }
7639
7640  function createRestockRocketScript(scriptUrl) {
7641    const restockRocketScriptElement = document.createElement('script');
7642    restockRocketScriptElement.setAttribute('defer', 'defer');
7643    restockRocketScriptElement.src = scriptUrl;
7644    document.body.appendChild(restockRocketScriptElement);
7645  }
7646
7647  createRestockRocketContainer()
7648
7649  console.debug('STOQ - extension activated')
7650  try {
7651    const _stoqInitConfig = window._RestockRocketConfig;
7652    const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)
7652)
7653      ? _stoqInitConfig.product.variants.map(function(v) { return v.id })
7654      : [];
7655    const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id;
7656    var _stoqPageSeq = 0;
7657    try {
7658      _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1;
7659      window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq));
7660    } catch (e) { }
7661    Shopify?.analytics?.publish?.('stoq_initialized', {
7662      cart_token: _stoqInitConfig.cartToken || '',
7663      page_url: window.location.href,
7664      page_type: _stoqInitConfig.pageType || '',
7665      shop_domain: _stoqInitConfig.shop || '',
7666      market_id: _stoqInitConfig.marketId || '',
7667      country_code: _stoqInitConfig.countryIsoCode || '',
7668      detected_variant_ids: _stoqDetectedVariantIds,
7669      selected_variant_id: _stoqSelectedVariantId || '',
7670      page_load_seq: _stoqPageSeq,
7671      liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0,
7672      app_version: _stoqInitConfig.appVersion || '',
7673      liquid_cache_age: _stoqInitConfig.liquidCacheAge,
7674      inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '',
7675      inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId],
7676    });
7677  } catch (e) {
7678    console.debug('STOQ - stoq_initialized publish failed:', e);
7679  }
7680  try {
7681    var _sqTrack = window._RestockRocketConfig;
7682    if (_sqTrack.preordersConfigured) {
7683      document.addEventListener('click', function (e) {
7684        try {
7685          var t = e.target;
7686          if (!t || !t.closest) return;
7687          var host = t.closest('.shopify-payment-button, shopify-payment-terms');
7688          if (!host) return;
7689          var channel = host.matches && host.matches('shopify-payment-terms')
7690            ? 'shop_pay_installments' : 'buy_now';
7691          var form = host.closest('form');
7692          var vidEl = form && form.querySelector('[name="id"]');
7693          var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || '';
7694          var _sqVidNum = Number(variantId);
7695          var _sqPlan = null;
7696          var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : [];
7697          var _sqMktId = Number(_sqTrack.marketId);
7698          var _sqForVariant = function (pl) {
7699            return pl && pl.enabled && Array.isArray(pl.variant_ids) &&
7700              pl.variant_ids.indexOf(_sqVidNum) !== -1;
7701          };
7702          _sqPlans.forEach(function (pl) {
7703            if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled &&
7704                Array.isArray(pl.shopify_market_ids) &&
7705                pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; }
7706          });
7707          if (!_sqPlan) {
7708            _sqPlans.forEach(function (pl) {
7709              if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; }
7710            });
7711          }
7712          Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', {
7713            variant_id: variantId,
7714            product_id: (_sqTrack.product && _sqTrack.product.id) || '',
7715            channel: channel,
7716            market_id: _sqTrack.marketId || '',
7717            country_code: _sqTrack.countryIsoCode || '',
7718            page_type: _sqTrack.pageType || '',
7719            cart_token: _sqTrack.cartToken || '',
7720            page_url: (window.location && window.location.href) || '',
7721            properties: {
7722              is_preorder_variant: (function () {
7723                var vid = Number(variantId);
7724                var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; };
7725                return has(_sqTrack.preorderVariantIds) ||
7726                  has(_sqTrack.cachedPreorderVariantIds &&
7727                    _sqTrack.cachedPreorderVariantIds.preorder_variant_ids);
7728              })(),
7729              in_enabled_plan: !!_sqPlan,
7730              is_instock_variant: (function () {
7731                var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; };
7732                return has(_sqTrack.inStockVariantIds) ||
7733                  has(_sqTrack.cachedInStockVariantIds &&
7734                    _sqTrack.cachedInStockVariantIds.in_stock_variant_ids);
7735              })(),
7736              enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '',
7737              enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '',
7738              block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false),
7739              gate_armed: !!_sqTrack.acceleratedGateArmed,
7740              gate_active_at_click: !!(document.documentElement &&
7741                document.documentElement.classList.contains('stoq-buy-now-pending')),
7742              blocked: (function () {
7743                try {
7744                  var rr = window._RestockRocket;
7745                  return !!(rr && typeof rr.willBlockAcceleratedCl
7745ick === 'function' &&
7746                    rr.willBlockAcceleratedClick(e));
7747                } catch (err) { return false; }
7748              })(),
7749            },
7750          });
7751        } catch (err) { }
7752      }, true);
7753    }
7754  } catch (e) { }
7755  function applyTranslations(settings) {
7756    try {
7757      if (!settings || !settings.multi_language_enabled) {
7758        return settings;
7759      }
7760
7761      if (!settings.translations) {
7762        console.debug('STOQ - No translations found, skipping translation');
7763        return settings;
7764      }
7765
7766      const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
7767      const translations = settings.translations;
7768
7769      if (!normalizedLocale) {
7770        console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
7771        delete settings.translations;
7772        return settings;
7773      }
7774
7775      console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
7776
7777      const translatedFields = translations[normalizedLocale];
7778      if (translatedFields && typeof translatedFields === 'object') {
7779        Object.keys(translatedFields).forEach(function(key) {
7780          const value = translatedFields[key];
7781          if (value !== null && value !== undefined && value !== '') {
7782            settings[key] = value;
7783          }
7784        });
7785      } else {
7786        console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
7787      }
7788
7789      delete settings.translations;
7790      return settings;
7791    } catch (e) {
7792      console.debug('STOQ - error applying translations:', e);
7793      return settings;
7794    }
7795  }
7796  function setupCartSellingPlanUpdater(settings) {
7797    window.addEventListener('stoq:inventory-data-loaded', function(event) {
7798      console.debug('STOQ - Inventory data loaded, updating cart selling plans');
7799      if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
7800        window._RestockRocket.updateCartSellingPlans()
7801          .then(hasUpdates => {
7802            if (hasUpdates) {
7803              console.debug('STOQ - cart selling plans updated successfully');
7804            } else {
7805              console.debug('STOQ - no cart selling plan updates needed');
7806            }
7807          })
7808          .catch(error => {
7809            console.error('STOQ - error updating cart selling plans:', error);
7810          });
7811      }
7812    });
7813  }
7814  function storefrontGraphql(query, variables) {
7815    const cfg = window._RestockRocketConfig;
7816    if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) {
7817      return Promise.reject(new Error('Storefront API unavailable'));
7818    }
7819    return fetch(
7820      `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`,
7821      {
7822        method: 'POST',
7823        headers: {
7824          'Content-Type': 'application/json',
7825          'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken,
7826        },
7827        body: JSON.stringify({ query: query, variables: variables }),
7828      }
7829    )
7830    .then(function(response) {
7831      if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); }
7832      return response.json();
7833    })
7834    .then(function(body) {
7835      if (body && body.errors && body.errors.length) {
7836        throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', '));
7837      }
7838      return body && body.data;
7839    });
7840  }
7841  function fetchStorefrontShopMetafield(key) {
7842    const cfg = window._RestockRocketConfig;
7843    const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }';
7844    return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key })
7845    .then(function(data) {
7846      const value = data && data.shop && data.shop.metafield && data.shop.metafield.value;
7847      if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); }
7848      return JSON.parse(value);
7849    });
7850  }
7851  (function loadStorefrontSettings() {
7852    const cfg = window._RestockRocketConfig;
7853    if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return;
7854    function run() {
7855      // The live-settings read is one more shop-level metafield fetch, so it
7856      // shares fetchStorefrontShopMetafield with the integrations/selling_plans
7857      // reads rather than re-issuing the same query + parse.
7858      fetchStorefrontShopMetafield('settings')
7859      .then(function(settings) {
7860        cfg.storefrontSettings = settings;
7861        console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings');
7862      })
7863      .catch(function(e) {
7864        console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message);
7865      });
7866    }
7867
7868    if (typeof window.requestIdleCallback === 'function') {
7869      window.requestIdleCallback(run, { timeout: 5000 });
7870    } else {
7871      setTimeout(run, 0);
7872    }
7873  })();
7874  const cachedSettings = window._RestockRocketConfig.cachedSettings;
7875  const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null;
7876
7877  if (validCachedSettings) {
7878    console.debug('STOQ - using cached settings');
7879    initializeScripts(validCachedSettings);
7880  } else {
7881    console.debug('STOQ - fetching fresh settings');
7882    const headers = {
7883      'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
7884      'ngrok-skip-browser-warning': 'skip'
7885    };
7886
7887    if (window.Shopify?.theme?.role === 'main') {
7888      headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name;
7889      headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version;
7890      headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id;
7891    }
7892
7893    fetch(
7894      `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`,
7895      { headers }
7896    )
7897    .then(function(response) {
7898      if (!response.ok) {
7899        throw new Error('Network response was not ok');
7900      }
7901      return response.json();
7902    })
7903    .then(function(settings) {
7904      initializeScripts(settings);
7905    })
7906    .catch(function(error) {
7907      if (cachedSettings) {
7908        console.debug('STOQ - using expired cached settings as fallback');
7909        initializeScripts(cachedSettings);
7910      } else {
7911        console.error('STOQ - failed to load settings:', error);
7912      }
7913    })
7914    .catch(function(e) {
7915      console.error(e)
7916    })
7917  }
7918
7919  function fetchEmbedConfig(endpoint, apply) {
7920    return fetch(
7921      `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`,
7922      {
7923        headers: {
7924          'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
7925          'ngrok-skip-browser-warning': 'skip'
7926        }
7927      }
7928    )
7929    .then(function(response) {
7930      if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`);
7931      return response.json();
7932    })
7933    .then(function(data) {
7934      try {
7935        apply(data);
7936      } catch (applyError) {
7937        console.error('STOQ - apply failed for ' + endpoint + ':', applyError);
7938        throw applyError;
7939      }
7940    })
7941    .catch(function(error) {
7942      console.debug(`STOQ - using cached ${endpoint}:`, error.message);
7943    });
7944  }
7945  function refreshShopConfig(source) {
7946    const cfg = window._RestockRocketConfig;
7947    const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); };
7948    const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true;
7949    if (!flagOn || source.embedOnly === true) { return viaEmbed(); }
7950
7951    return fetchStorefrontShopMetafield(source.metafieldKey)
7952      .then(function(value) {
7953        if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); }
7954        source.apply(value);
7955        console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API');
7956      })
7957      .catch(function(error) {
7958        console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message);
7959        return viaEmbed();
7960      });
7961  }
7962  function refreshIntegrations() {
7963    const cfg = window._RestockRocketConfig;
7964    return refreshShopConfig({
7965      endpoint: 'integrations',
7966      metafieldKey: 'integrations',
7967      flag: 'enable_storefront_integrations_read',
7968      isValid: function(value) { return Array.isArray(value); },
7969      apply: function(data) {
7970        cfg.integrations = data;
7971      }
7972    });
7973  }
7974  function refreshSellingPlans(embedOnly) {
7975    const cfg = window._RestockRocketConfig;
7976    return refreshShopConfig({
7977      embedOnly: embedOnly === true,
7978      endpoint: 'selling_plans',
7979      metafieldKey: 'cachedSellingPlans',
7980      flag: 'enable_storefront_selling_plans_read',
7981      isValid: function(value) { return !!value && Array.isArray(value.plans); },
7982      apply: function(data) {
7983        cfg.sellingPlans = data.plans;
7984        cfg.disabledSellingPlanIds = data.disabled_plan_ids || [];
7985        if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) {
7986          cfg.readFlags = data.read_flags;
7987        }
7988      }
7989    });
7990  }
7991
7992  function initializeScripts(settings) {
7993    settings = applyTranslations(settings);
7994    window._RestockRocketConfig.settings = settings;
7995    console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
7996    const forceEmbedSellingPlans = settings.force_embed_selling_plans === true;
7997    const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid;
7998    if (forceEmbedSellingPlans || staleRefresh) {
7999      console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)'));
8000      const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)];
8001      if (staleRefresh) { refreshes.push(refreshIntegrations()); }
8002      Promise.race([
8003        Promise.all(refreshes),
8004        new Promise(function(resolve) { setTimeout(resolve, 1000); })
8005      ]).then(function() { loadScripts(settings); });
8006      return;
8007    }
8008
8009    loadScripts(settings);
8010  }
8011
8012  function loadScripts(settings) {
8013    setupCartSellingPlanUpdater(settings);
8014
8015    if(settings.enable_app) {
8016      const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) {
8017        return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType);
8018      })
8019      const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans)
8020        && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; });
8021      const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds)
8022        && window._RestockRocketConfig.disabledSellingPlanIds.length > 0;
8023      const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds;
8024
8025      const collectionScriptUrl = usePreorderBuild
8026        ? window._RestockRocketConfig.scriptUrlCollection
8027        : window._RestockRocketConfig.scriptUrlCollectionBis;
8028      const productScriptUrl = usePreorderBuild
8029        ? window._RestockRocketConfig.scriptUrlProduct
8030        : window._RestockRocketConfig.scriptUrlProductBis;
8031
8032      const pageType = window._RestockRocketConfig.pageType;
8033      const collectionPageTypes = ['collection', 'index', 'search', 'page'];
8034
8035      if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) {
8036        createRestockRocketScript(collectionScriptUrl);
8037      } else if(pageType === 'product') {
8038        createRestockRocketScript(productScriptUrl);
8039      } else if(hijackIntegration) {
8040        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
8041      } else if(usePreorderBuild) {
8042        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
8043      } else {
8044        console.debug(`STOQ - no scripts enabled for ${pageType}`);
8045      }
8046      const appLoadedEvent = new CustomEvent('stoq:loaded', {
8047        detail: {
8048          pageType: window._RestockRocketConfig.pageType,
8049          enabled: settings.enable_app,
8050          settings: settings,
8051          preorderEnabled: settings.preorder_enabled
8052        }
8053      });
8054      console.debug('STOQ - dispatching app loaded event');
8055      window.dispatchEvent(appLoadedEvent);
8056    }
8057  }
8058</script>
8058<style id="RestockRocketStyle">html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}</style>
8059
8060
8061</div>
8061<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
8061
8062</body>
8063</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.