PageSourceSearch

https://fr.melvita.com/cart

html melvita.com collected 2026-10-03 21:39:10 UTC 196,398 bytes, 3,200 lines download raw bytes

1<!doctype html>
2
3<html lang="fr" dir="ltr">
4  <head>
5    <meta charset="utf-8">
6    <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=5.0"><title>Votre panier</title><link rel="canonical" href="https://fr.melvita.com/cart"><link rel="shortcut icon" href="//fr.melvita.com/cdn/shop/files/Favicon_Melvita_2.jpg?v=1787671610&width=96">
7      <link rel="apple-touch-icon" href="//fr.melvita.com/cdn/shop/files/Favicon_Melvita_2.jpg?v=1787671610&width=180"><link rel="preload" href="//fr.melvita.com/cdn/shop/t/4/assets/FreightNeoPro-Medium.woff2?v=114485382750243139801786368499" as="font" type="font/woff2" crossorigin>
8    <link rel="preload" href="//fr.melvita.com/cdn/shop/t/4/assets/FreightNeoPro-Book.woff2?v=111729217730457420941786368499" as="font" type="font/woff2" crossorigin><link rel="preload" href="//fr.melvita.com/cdn/fonts/manrope/manrope_n4.cd2363f838fb1ef03bdb07c829c7c992d417dd64.woff2" as="font" type="font/woff2" crossorigin><meta property="og:type" content="website">
9  <meta property="og:title" content="Votre panier"><meta property="og:image" content="http://fr.melvita.com/cdn/shop/files/Logo_2_34eea43b-1181-4a27-9ef8-bb81be04fb94.png?v=1786019411&width=2048">
10  <meta property="og:image:secure_url" content="https://fr.melvita.com/cdn/shop/files/Logo_2_34eea43b-1181-4a27-9ef8-bb81be04fb94.png?v=1786019411&width=2048">
11  <meta property="og:image:width" content="441">
12  <meta property="og:image:height" content="100"><meta property="og:url" content="https://fr.melvita.com/cart">
13<meta property="og:site_name" content="Melvita"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Votre panier">
14  <meta name="twitter:description" content="Votre panier"><meta name="twitter:image" content="https://fr.melvita.com/cdn/shop/files/Logo_2_34eea43b-1181-4a27-9ef8-bb81be04fb94.png?crop=center&height=1200&v=1786019411&width=1200">
15  <meta name="twitter:image:alt" content="">
15<script type="application/ld+json">
16  {
17    "@context": "https://schema.org",
18    "@type": "BreadcrumbList",
19    "itemListElement": [{
20        "@type": "ListItem",
21        "position": 1,
22        "name": "Accueil",
23        "item": "https://fr.melvita.com"
24      }]
25  }
26</script>
26<style>@font-face {
27  font-family: Manrope;
28  font-weight: 700;
29  font-style: normal;
30  font-display: fallback;
31  src: url("//fr.melvita.com/cdn/fonts/manrope/manrope_n7.f3a06f9634c15008fe4637ba89fefcc8a1b93fbd.woff2") format("woff2"),
32       url("//fr.melvita.com/cdn/fonts/manrope/manrope_n7.6dba97311355640bc9b07a590354f08bc8fcc79f.woff") format("woff");
33}
34@font-face {
35  font-family: Manrope;
36  font-weight: 400;
37  font-style: normal;
38  font-display: fallback;
39  src: url("//fr.melvita.com/cdn/fonts/manrope/manrope_n4.cd2363f838fb1ef03bdb07c829c7c992d417dd64.woff2") format("woff2"),
40       url("//fr.melvita.com/cdn/fonts/manrope/manrope_n4.08b75e0e22a3f7267f64ccf115e9fb6d79fc1ce7.woff") format("woff");
41}
42@font-face {
43  font-family: Manrope;
44  font-weight: 500;
45  font-style: normal;
46  font-display: fallback;
47  src: url("//fr.melvita.com/cdn/fonts/manrope/manrope_n5.8eac14e2b642faa6ca8f5a46c1b0b1ed4a42eee7.woff2") format("woff2"),
48       url("//fr.melvita.com/cdn/fonts/manrope/manrope_n5.ed324e5197c333656fb16f9a7e7ba4fa1168607c.woff") format("woff");
49}
50@font-face {
51  font-family: Manrope;
52  font-weight: 700;
53  font-style: normal;
54  font-display: fallback;
55  src: url("//fr.melvita.com/cdn/fonts/manrope/manrope_n7.f3a06f9634c15008fe4637ba89fefcc8a1b93fbd.woff2") format("woff2"),
56       url("//fr.melvita.com/cdn/fonts/manrope/manrope_n7.6dba97311355640bc9b07a590354f08bc8fcc79f.woff") format("woff");
57}
58@font-face {
59  font-family: Archivo;
60  font-weight: 700;
61  font-style: normal;
62  font-display: fallback;
63  src: url("//fr.melvita.com/cdn/fonts/archivo/archivo_n7.651b020b3543640c100112be6f1c1b8e816c7f13.woff2") format("woff2"),
64       url("//fr.melvita.com/cdn/fonts/archivo/archivo_n7.7e9106d320e6594976a7dcb57957f3e712e83c96.woff") format("woff");
65}
66@font-face {
67    font-family: 'FreightNeo Pro';
68    src: url('//fr.melvita.com/cdn/shop/t/4/assets/FreightNeoPro-Book.woff2?v=111729217730457420941786368499') format('woff2');
69    font-weight: 400;
70    font-style: normal;
71    font-display: fallback;
72  }
73
74  @font-face {
75    font-family: 'FreightNeo Pro';
76    src: url('//fr.melvita.com/cdn/shop/t/4/assets/FreightNeoPro-Medium.woff2?v=114485382750243139801786368499') format('woff2');
77    font-weight: 500;
78    font-style: normal;
79    font-display: fallback;
80  }
81
82  :root {
83    /* Container */
84    --container-max-width: 100%;
85    --container-gutter: 1.5rem;
86
87    /* Spacing (Figma: margin-sections 64px mobile / 104px desktop) */
88    --section-vertical-spacing: 4rem;
89    --section-stack-row-gap: 2rem;
90
91    /* Form settings */
92    --form-gap: 1rem; /* Gap between fieldset and submit button */
93    --fieldset-gap: 0.5rem; /* Gap between each form input within a fieldset */
94    --form-control-gap: 0.5rem; /* Gap between input and label (ignored for floating label) */
95    --checkbox-control-gap: 0.75rem; /* Horizontal gap between checkbox and its associated label */
96    --input-padding-block: 0.65rem; /* Vertical padding for input, textarea and native select */
97    --input-padding-inline: 1rem; /* Horizontal padding for input, textarea and native select */
98    --checkbox-size: 0.875rem; /* Size (width and height) for checkbox */
99
100    /* Product listing gaps */
101    --product-list-column-gap: 0.75rem;
102    --product-list-padding-inline: clamp(0px, var(--product-list-column-gap) , min(1.75rem, var(--product-list-column-gap)));--product-list-row-gap: 2.25rem;/* Other sizes */
103    --header-group-height: calc(var(--announcement-bar-height, 0px) + var(--countdown-condensed-height, 0px) + var(--header-height, 0px));
104    --sticky-area-height: calc(var(--announcement-bar-is-sticky, 0) * var(--announcement-bar-height, 0px) + var(--header-is-sticky, 0) * var(--header-height, 0px));
105    --sticky-offset: calc(var(--announcement-bar-is-sticky, 0) * var(--announcement-bar-height, 0px) + var(--header-is-sticky, 0) * var(--header-is-visible, 1) * var(--header-height, 0px));
106
107    /* RTL support */
108    --transform-logical-flip: 1;
109    --transform-origin-start: left;
110    --transform-origin-end: right;
111
112    /**
113     * ---------------------------------------------------------------------
114     * TYPOGRAPHY
115     * ---------------------------------------------------------------------
116     */
117
118    /* Font properties */
119    --subheading-font-family: Manrope, sans-serif;
120    --subheading-font-weight: 700;
121    --subheading-font-style: normal;
122    --subheading-font-size: 0.625rem;
123    --subheading-text-transform: none;
124    --subheading-letter-spacing: 0.0em;
125    --heading-font-family: 'FreightNeo Pro', Georgia, serif;
126    --heading-font-weight: 400;
127    --heading-font-style: normal;
128    --heading-text-transform: uppercase;
129    --heading-letter-spacing: -0.02em;
130    --heading-line-height: 1;
131    --heading-italic-font-family: Helvetica, Arial, sans-serif;
132    --heading-italic-font-weight: 400;
133    --heading-italic-font-size-multiplier: 0%;
134    --text-font-family: Manrope, sans-serif;
135    --text-font-weight: 400;
136    --text-font-style: normal;
137    --text-transform: normal;
138    --text-letter-spacing: 0.0em;
139    --text-line-height: 1.4;
140    --text-font-medium-weight: 500;
141    --text-font-bold-weight: 700;--button-font: normal 700 var(--button-font-size) / normal Archivo, sans-serif;
142    --button-text-transform: none;
143    --button-letter-spacing: 0.0em;
144
145    /* Font sizes */--text-heading-size-factor: 1;
146    --text-display-xl: max(0.75rem, clamp(3rem, 1.5916rem + 6.0094vw, 7rem) * var(--text-heading-size-factor));
147    --text-display-l: max(0.75rem, clamp(2.8125rem, 1.6901rem + 4.7887vw, 6rem) * var(--text-heading-size-factor));
148    --text-display-m: max(0.75rem, clamp(2.75rem, 2.0458rem + 3.0047vw, 4.75rem) * var(--text-heading-size-factor));
149    --text-h1: max(0.75rem, clamp(2.5rem, 1.9718rem + 2.2535vw, 4rem) * var(--text-heading-size-factor));
150    --text-h2: max(0.75rem, 2rem * var(--text-heading-size-factor));
151    --text-h3: max(0.75rem, clamp(1.5rem, 1.3239rem + 0.7512vw, 2rem) * var(--text-heading-size-factor));
152    --text-h4: max(0.75rem, clamp(1.25rem, 1.162rem + 0.3756vw, 1.5rem) * var(--text-heading-size-factor));
153    --text-h5: max(0.75rem, clamp(1.125rem, 1.081rem + 0.1878vw, 1.25rem) * var(--text-heading-size-factor));
154    --text-h6: max(0.75rem, clamp(1rem, 0.956rem + 0.1878vw, 1.125rem) * var(--text-heading-size-factor));
155    --text-h7: max(0.75rem, clamp(0.875rem, 0.831rem + 0.1878vw, 1rem) * var(--text-heading-size-factor));
156    --text-xs: 0.625rem;
157    --text-sm: 0.75rem;
158    --text-base: 0.875rem;
159    --text-lg: 1.0625rem;
160    --button-font-size: 0.875rem;
161
162    /* Rounded variables (used for border radius) */
163    --rounded-full: 9999px;--section-media-radius: 8px;
164    --subheading-border-radius: 0.0rem;
165    --button-border-radius: 0.5rem;
166    --input-border-radius: 0.5rem;
167
168    /* Packshot variables (global background behind product images, overridable per product) */
169    --packshot-background: #f0f1f2;
170
171    /* Product card variables */
172    --product-card-row-count: 2;
173
174    /**
175     * ---------------------------------------------------------------------
176     * OTHER
177     * ---------------------------------------------------------------------
178     */
179
180    --icon-stroke-width: 1px;
181    --quotation-mark-svg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="62" fill="none" viewBox="0 0 62 57"><path fill="%23000" d="M.79 31.904 11.924.816h12.296l-8.12 31.088h7.888V56.96H.79V31.904Zm37.351 0L49.277.816h12.064l-8.12 31.088h7.888V56.96H38.141V31.904Z" /></svg>');
182  }
183
184  [dir="rtl"]:root {
185    /* RTL support */
186    --transform-logical-flip: -1;
187    --transform-origin-start: right;
188    --transform-origin-end: left;
189  }
190
191  @media screen and (min-width: 700px) {
192    :root {
193      --text-xs: 0.75rem;
194      --text-sm: 0.875rem;
195      --text-base: 1.0rem;
196      --text-lg: 1.1875rem;
197      --subheading-font-size: 0.75rem;
198      --text-h2: max(0.75rem, 2.5rem * var(--text-heading-size-factor));
199
200      /* Spacing */
201      --container-gutter: 2rem;
202
203      /* Form settings */
204      --form-gap: 1.25rem; /* Gap between fieldset and submit button */
205      --fieldset-gap: 0.75rem; /* Gap between each form input within a fieldset */
206      --input-padding-block: 0.75rem; /* Vertical padding for input, textarea and native select */
207
208      /* Font sizes */
209      --button-font-size: 0.875rem;
210
211      /* Product listing gaps */--product-list-column-gap: 3rem;
212        --product-list-row-gap: 4rem;}
213  }
214
215  @media screen and (min-width: 1000px) {
216    :root {
217      /* Spacing settings */
218      --section-vertical-spacing: 5rem;
219      --section-stack-row-gap: 3rem;
220    }
221  }
222
223  @media screen and (min-width: 1399px) {
224    :root {
225      /* Spacing settings */
226      --section-vertical-spacing: 6.5rem;
227      --container-gutter: 4rem;
228    }
229  }
230
231  /**
232   * ---------------------------------------------------------------------
233   * COLORS
234   * ---------------------------------------------------------------------
235   */
236
237  :root {--page-overlay: 0 0 0 / 0.4;
238    --dialog-backdrop-blur: 12px;
239
240    /* Status colors */
241    --success-background: 237 237 234;
242    --success-text: 102 106 83;
243    --warning-background: 253 241 224;
244    --warning-text: 237 138 0;
245    --error-background: 254 232 232;
246    --error-text: 250 63 63;
247
248    /* Product colors */
249    --on-sale-text: 250 63 63;
250    --on-sale-badge-background: 250 63 63;
251    --on-sale-badge-text: 255 255 255;
252    --sold-out-badge-background: 17 13 14;
253    --sold-out-badge-text: 255 255 255;
254    --custom-badge-background: 255 255 255;
255    --custom-badge-text: 0 0 0;
256    --star-color: 0 0 0;
257
258    /* Default scheme */
259    --default-color-scheme-background: 255 255 255;
260    --default-color-scheme-background-gradient: ;
261    --default-color-scheme-text-color: 17 13 14;
262  }.color-scheme--scheme-1 {
263      --accent: 107 0 0;
264      --background: 240 241 242;
265      --background-gradient: ;
266      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
267      --has-transparent-background: 0;
268      --has-filled-background: 1;
269      --text-color: 17 13 14;--border-color: 218 218 219;
269/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
270      --subheading-border: none;
271      --subheading-text-color: 17 13 14;
272      --subheading-has-padding: 0;
273
274      /* Heading highlight */
275      --heading-highlight-accent-color: 107 0 0;
276      --heading-highlight-text-color: 255 255 255;
277
278      /* Button colors */
279      --button-background-primary: 107 0 0;
280      --button-text-primary: 255 255 255;--button-dark: var(--button-background-primary);
281        --button-light: var(--button-text-primary);--button-outline-hover-text: var(--button-text-primary);
282
283      /* Form inputs */
284      --input-background: 255 255 255;
285      --input-text-color: 17 13 14;
286      --input-text-transform: none;
287    }.shopify-section:has(> .color-scheme--scheme-1) + .shopify-section:has(> .color-scheme--scheme-1) {
288          --section-has-same-background-as-previous-section: 1;
289        }.color-scheme--scheme-2 {
290      --accent: 107 0 0;
291      --background: 255 255 255;
292      --background-gradient: ;
293      --background-secondary: 240 241 242;--background-secondary-text-color: 17 13 14;
294      --has-transparent-background: 0;
295      --has-filled-background: 1;
296      --text-color: 17 13 14;--border-color: 231 231 231;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
297      --subheading-border: none;
298      --subheading-text-color: 17 13 14;
299      --subheading-has-padding: 0;
300
301      /* Heading highlight */
302      --heading-highlight-accent-color: 107 0 0;
303      --heading-highlight-text-color: 255 255 255;
304
305      /* Button colors */
306      --button-background-primary: 107 0 0;
307      --button-text-primary: 255 255 255;--button-dark: var(--button-background-primary);
308        --button-light: var(--button-text-primary);--button-outline-hover-text: var(--button-text-primary);
309
310      /* Form inputs */
311      --input-background: 255 255 255;
312      --input-text-color: 17 13 14;
313      --input-text-transform: none;
314    }.shopify-section:has(> .color-scheme--scheme-2) + .shopify-section:has(> .color-scheme--scheme-2) {
315          --section-has-same-background-as-previous-section: 1;
316        }.shopify-section:has(> .color-scheme--scheme-2) + .shopify-section:has(> .color-scheme--scheme-d51ac0b0-d414-4d17-9757-9f01d7f9c456) {
317          --section-has-same-background-as-previous-section: 1;
318        }.color-scheme--scheme-3 {
319      --accent: 255 255 255;
320      --background: 0 0 0 / 0;
321      --background-gradient: ;
322      --background-secondary: 240 241 242;--background-secondary-text-color: 17 13 14;
323      --has-transparent-background: 1;
324      --has-filled-background: 0;
325      --text-color: 255 255 255;--border-color: 255 255 255 / 0.6;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
326      --subheading-border: none;
327      --subheading-text-color: 255 255 255;
328      --subheading-has-padding: 0;
329
330      /* Heading highlight */
331      --heading-highlight-accent-color: 255 255 255;
332      --heading-highlight-text-color: 107 0 0;
333
334      /* Button colors */
335      --button-background-primary: 255 255 255;
336      --button-text-primary: 107 0 0;--button-dark: var(--button-text-primary);
337        --button-light: var(--button-background-primary);--button-outline-hover-text: var(--button-text-primary);
338
339      /* Form inputs */
340      --input-background: 255 255 255;
341      --input-text-color: 17 13 14;
342      --input-text-transform: none;
343    }.shopify-section:has(> .color-scheme--scheme-3) + .shopify-section:has(> .color-scheme--scheme-3) {
344          --section-has-same-background-as-previous-section: 1;
345        }.shopify-section:has(> .color-scheme--scheme-3) + .shopify-section:has(> .color-scheme--scheme-12) {
346          --section-has-same-background-as-previous-section: 1;
347        }.color-scheme--scheme-4 {
348      --accent: 255 255 255;
349      --background: 17 13 14;
350      --background-gradient: ;
351      --background-secondary: 240 241 242;--background-secondary-text-color: 17 13 14;
352      --has-transparent-background: 0;
353      --has-filled-background: 1;
354      --text-color: 255 255 255;--border-color: 41 37 38;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
355      --subheading-border: none;
356      --subheading-text-color: 255 255 255;
357      --subheading-has-padding: 0;
358
359      /* Heading highlight */
360      --heading-highlight-accent-color: 255 255 255;
361      --heading-highlight-text-color: 17 13 14;
362
363      /* Button colors */
364      --button-background-primary: 255 255 255;
365      --button-text-primary: 107 0 0;--button-dark: var(--button-text-primary);
366        --button-light: var(--button-background-primary);--button-outline-hover-text: var(--button-text-primary);
367
368      /* Form inputs */
369      --input-background: 17 13 14;
370      --input-text-color: 255 255 255;
371      --input-text-transform: none;
372    }.shopify-section:has(> .color-scheme--scheme-4) + .shopify-section:has(> .color-scheme--scheme-4) {
373          --section-has-same-background-as-previous-section: 1;
374        }.color-scheme--scheme-5 {
375      --accent: 255 255 255;
376      --background: 107 0 0;
377      --background-gradient: ;
378      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
379      --has-transparent-background: 0;
380      --has-filled-background: 1;
381      --text-color: 255 255 255;--border-color: 122 26 26;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
382      --subheading-border: none;
383      --subheading-text-color: 255 255 255;
384      --subheading-has-padding: 0;
385
386      /* Heading highlight */
387      --heading-highlight-accent-color: 255 255 255;
388      --heading-highlight-text-color: 107 0 0;
389
390      /* Button colors */
391      --button-background-primary: 255 255 255;
392      --button-text-primary: 107 0 0;--button-dark: var(--button-text-primary);
393        --button-light: var(--button-background-primary);--button-outline-hover-text: var(--button-text-primary);
394
395      /* Form inputs */
396      --input-background: 255 255 255;
397      --input-text-color: 107 0 0;
398      --input-text-transform: none;
399    }.shopify-section:has(> .color-scheme--scheme-5) + .shopify-section:has(> .color-scheme--scheme-5) {
400          --section-has-same-background-as-previous-section: 1;
401        }.color-scheme--scheme-6 {
402      --accent: 255 255 255;
403      --background: 142 167 64;
404      --background-gradient: ;
405      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
406      --has-transparent-background: 0;
407      --has-filled-background: 1;
408      --text-color: 17 13 14;--border-color: 130 152 59;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
409      --subheading-border: none;
410      --subheading-text-color: 17 13 14;
411      --subheading-has-padding: 0;
412
413      /* Heading highlight */
414      --heading-highlight-accent-color: 17 13 14;
415      --heading-highlight-text-color: 255 255 255;
416
417      /* Button colors */
418      --button-background-primary: 255 255 255;
419      --button-text-primary: 107 0 0;--button-dark: var(--button-text-primary);
420        --button-light: var(--button-background-primary);--button-outline-hover-text: var(--button-text-primary);
421
422      /* Form inputs */
423      --input-background: 255 255 255;
424      --input-text-color: 17 13 14;
425      --input-text-transform: none;
426    }.shopify-section:has(> .color-scheme--scheme-6) + .shopify-section:has(> .color-scheme--scheme-6) {
427          --section-has-same-background-as-previous-section: 1;
428        }.color-scheme--scheme-7 {
429      --accent: 255 255 255;
430      --background: 51 0 6;
431      --background-gradient: ;
432      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
433      --has-transparent-background: 0;
434      --has-filled-background: 1;
435      --text-color: 242 145 157;--border-color: 70 15 21;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
436      --subheading-border: none;
437      --subheading-text-color: 242 145 157;
438      --subheading-has-padding: 0;
439
440      /* Heading highlight */
441      --heading-highlight-accent-color: 242 145 157;
442      --heading-highlight-text-color: 51 0 6;
443
444      /* Button colors */
445      --button-background-primary: 255 255 255;
446      --button-text-primary: 107 0 0;--button-dark: var(--button-text-primary);
447        --button-light: var(--button-background-primary);--button-outline-hover-text: var(--button-text-primary);
448
449      /* Form inputs */
450      --input-background: 255 255 255;
451      --input-text-color: 51 0 6;
452      --input-text-transform: none;
453    }.shopify-section:has(> .color-scheme--scheme-7) + .shopify-section:has(> .color-scheme--scheme-7) {
454          --section-has-same-background-as-previous-section: 1;
455        }.shopify-section:has(> .color-scheme--scheme-7) + .shopify-section:has(> .color-scheme--scheme-11) {
456          --section-has-same-background-as-previous-section: 1;
457        }.color-scheme--scheme-8 {
458      --accent: 107 0 0;
459      --background: 242 145 157;
460      --background-gradient: ;
461      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
462      --has-transparent-background: 0;
463      --has-filled-background: 1;
464      --text-color: 107 0 0;--border-color: 229 131 141;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
465      --subheading-border: none;
466      --subheading-text-color: 107 0 0;
467      --subheading-has-padding: 0;
468
469      /* Heading highlight */
470      --heading-highlight-accent-color: 107 0 0;
471      --heading-highlight-text-color: 255 255 255;
472
473      /* Button colors */
474      --button-background-primary: 107 0 0;
475      --button-text-primary: 255 255 255;--button-dark: var(--button-background-primary);
476        --button-light: var(--button-text-primary);--button-outline-hover-text: var(--button-text-primary);
477
478      /* Form inputs */
479      --input-background: 255 255 255;
480      --input-text-color: 107 0 0;
481      --input-text-transform: none;
482    }.shopify-section:has(> .color-scheme--scheme-8) + .shopify-section:has(> .color-scheme--scheme-8) {
483          --section-has-same-background-as-previous-section: 1;
484        }.color-scheme--scheme-9 {
485      --accent: 107 0 0;
486      --background: 255 204 210;
487      --background-gradient: ;
488      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
489      --has-transparent-background: 0;
490      --has-filled-background: 1;
491      --text-color: 107 0 0;--border-color: 240 184 189;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
492      --subheading-border: none;
493      --subheading-text-color: 107 0 0;
494      --subheading-has-padding: 0;
495
496      /* Heading highlight */
497      --heading-highlight-accent-color: 107 0 0;
498      --heading-highlight-text-color: 255 255 255;
499
500      /* Button colors */
501      --button-background-primary: 107 0 0;
502      --button-text-primary: 255 255 255;--button-dark: var(--button-background-primary);
503        --button-light: var(--button-text-primary);--button-outline-hover-text: var(--button-text-primary);
504
505      /* Form inputs */
506      --input-background: 255 255 255;
507      --input-text-color: 107 0 0;
508      --input-text-transform: none;
509    }.shopify-section:has(> .color-scheme--scheme-9) + .shopify-section:has(> .color-scheme--scheme-9) {
510          --section-has-same-background-as-previous-section: 1;
511        }.color-scheme--scheme-10 {
512      --accent: 107 0 0;
513      --background: 233 242 171;
514      --background-gradient: ;
515      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
516      --has-transparent-background: 0;
517      --has-filled-background: 1;
518      --text-color: 17 13 14;--border-color: 211 219 155;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
519      --subheading-border: none;
520      --subheading-text-color: 17 13 14;
521      --subheading-has-padding: 0;
522
523      /* Heading highlight */
524      --heading-highlight-accent-color: 107 0 0;
525      --heading-highlight-text-color: 255 255 255;
526
527      /* Button colors */
528      --button-background-primary: 107 0 0;
529      --button-text-primary: 255 255 255;--button-dark: var(--button-background-primary);
530        --button-light: var(--button-text-primary);--button-outline-hover-text: var(--button-text-primary);
531
532      /* Form inputs */
533      --input-background: 255 255 255;
534      --input-text-color: 17 13 14;
535      --input-text-transform: none;
536    }.shopify-section:has(> .color-scheme--scheme-10) + .shopify-section:has(> .color-scheme--scheme-10) {
537          --section-has-same-background-as-previous-section: 1;
538        }.color-scheme--scheme-11 {
539      --accent: 255 255 255;
540      --background: 51 0 6;
541      --background-gradient: ;
542      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
543      --has-transparent-background: 0;
544      --has-filled-background: 1;
545      --text-color: 255 255 255;--border-color: 71 26 31;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
546      --subheading-border: none;
547      --subheading-text-color: 255 255 255;
548      --subheading-has-padding: 0;
549
550      /* Heading highlight */
551      --heading-highlight-accent-color: 242 145 157;
552      --heading-highlight-text-color: 51 0 6;
553
554      /* Button colors */
555      --button-background-primary: 255 255 255;
556      --button-text-primary: 107 0 0;--button-dark: var(--button-text-primary);
557        --button-light: var(--button-background-primary);--button-outline-hover-text: var(--button-text-primary);
558
559      /* Form inputs */
560      --input-background: 255 255 255;
561      --input-text-color: 51 0 6;
562      --input-text-transform: none;
563    }.shopify-section:has(> .color-scheme--scheme-11) + .shopify-section:has(> .color-scheme--scheme-7) {
564          --section-has-same-background-as-previous-section: 1;
565        }.shopify-section:has(> .color-scheme--scheme-11) + .shopify-section:has(> .color-scheme--scheme-11) {
566          --section-has-same-background-as-previous-section: 1;
567        }.color-scheme--scheme-12 {
568      --accent: 107 0 0;
569      --background: 0 0 0 / 0;
570      --background-gradient: ;
571      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
572      --has-transparent-background: 1;
573      --has-filled-background: 0;
574      --text-color: 107 0 0;--border-color: 107 0 0 / 0.6;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
575      --subheading-border: none;
576      --subheading-text-color: 107 0 0;
577      --subheading-has-padding: 0;
578
579      /* Heading highlight */
580      --heading-highlight-accent-color: 107 0 0;
581      --heading-highlight-text-color: 255 255 255;
582
583      /* Button colors */
584      --button-background-primary: 107 0 0;
585      --button-text-primary: 255 255 255;--button-dark: var(--button-background-primary);
586        --button-light: var(--button-text-primary);--button-outline-hover-text: var(--button-text-primary);
587
588      /* Form inputs */
589      --input-background: 255 255 255;
590      --input-text-color: 17 13 14;
591      --input-text-transform: none;
592    }.shopify-section:has(> .color-scheme--scheme-12) + .shopify-section:has(> .color-scheme--scheme-3) {
593          --section-has-same-background-as-previous-section: 1;
594        }.shopify-section:has(> .color-scheme--scheme-12) + .shopify-section:has(> .color-scheme--scheme-12) {
595          --section-has-same-background-as-previous-section: 1;
596        }.color-scheme--scheme-d51ac0b0-d414-4d17-9757-9f01d7f9c456 {
597      --accent: 107 0 0;
598      --background: 255 255 255;
599      --background-gradient: ;
600      --background-secondary: 255 255 255;--background-secondary-text-color: 17 13 14;
601      --has-transparent-background: 0;
602      --has-filled-background: 1;
603      --text-color: 77 77 77;--border-color: 237 237 237;/* Subheading colors */--subheading-background: 0 0 0 / 0.0;
604      --subheading-border: none;
605      --subheading-text-color: 17 13 14;
606      --subheading-has-padding: 0;
607
608      /* Heading highlight */
609      --heading-highlight-accent-color: 107 0 0;
610      --heading-highlight-text-color: 255 255 255;
611
612      /* Button colors */
613      --button-background-primary: 107 0 0;
614      --button-text-primary: 255 255 255;--button-dark: var(--button-background-primary);
615        --button-light: var(--button-text-primary);--button-outline-hover-text: var(--button-text-primary);
616
617      /* Form inputs */
618      --input-background: 255 255 255;
619      --input-text-color: 17 13 14;
620      --input-text-transform: none;
621    }.shopify-section:has(> .color-scheme--scheme-d51ac0b0-d414-4d17-9757-9f01d7f9c456) + .shopify-section:has(> .color-sch
621eme--scheme-2) {
622          --section-has-same-background-as-previous-section: 1;
623        }.shopify-section:has(> .color-scheme--scheme-d51ac0b0-d414-4d17-9757-9f01d7f9c456) + .shopify-section:has(> .color-scheme--scheme-d51ac0b0-d414-4d17-9757-9f01d7f9c456) {
624          --section-has-same-background-as-previous-section: 1;
625        }@view-transition {
626      navigation: auto;
627    }</style>
628<script>
629  // This allows to expose several variables to the global scope, to be used in scripts
630  window.themeVariables = {
631    settings: {
632      pageType: "cart",
633      moneyFormat: "{{amount_with_comma_separator}} €",
634      moneyWithCurrencyFormat: "€{{amount_with_comma_separator}} EUR",
635      currencyCodeEnabled: false,
636      cartType: "drawer",
637      showHeadingEffectAnimation: true,
638      staggerProducts: true
639    },
640
641    strings: {
642      addedToCart: "{{product_title}} a été ajouté au panier",
643      closeGallery: "Fermer la galerie",
644      zoomGallery: "Zoomer sur l\u0026#39;image",
645      errorGallery: "L\u0026#39;image ne peut pas etre chargée",
646      shippingEstimatorNoResults: "Nous ne livrons pas à votre adresse.",
647      shippingEstimatorOneResult: "Il y a un résultat pour votre adresse :",
648      shippingEstimatorMultipleResults: "Il y a plusieurs résultats pour votre adresse :",
649      shippingEstimatorError: "Impossible d\u0026#39;estimer les frais de livraison :",
650      next: "Suivant",
651      previous: "Précédent"
652    },
653
654    mediaQueries: {
655      'sm': 'screen and (min-width: 700px)',
656      'md': 'screen and (min-width: 1000px)',
657      'lg': 'screen and (min-width: 1150px)',
658      'xl': 'screen and (min-width: 1400px)',
659      '2xl': 'screen and (min-width: 1600px)',
660      'sm-max': 'screen and (max-width: 699px)',
661      'md-max': 'screen and (max-width: 999px)',
662      'lg-max': 'screen and (max-width: 1149px)',
663      'xl-max': 'screen and (max-width: 1399px)',
664      '2xl-max': 'screen and (max-width: 1599px)',
665      'motion-safe': '(prefers-reduced-motion: no-preference)',
666      'motion-reduce': '(prefers-reduced-motion: reduce)',
667      'supports-hover': 'screen and (pointer: fine)',
668      'supports-touch': 'screen and (pointer: coarse)'
669    }
670  };</script>
670<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 670
670
671<script type="importmap">{
672        "imports": {
673          "vendor": "//fr.melvita.com/cdn/shop/t/4/assets/vendor.min.js?v=115152861726854754811781165056",
674          "theme": "//fr.melvita.com/cdn/shop/t/4/assets/theme.js?v=33174130759666119641788273087",
675          "photoswipe": "//fr.melvita.com/cdn/shop/t/4/assets/photoswipe.min.js?v=13374349288281597431781165053"
676        }
677      }
678    </script>
678<script src="//fr.melvita.com/cdn/shop/t/4/assets/ax-cart-return.js?v=108670334683347548871787909367" data-cart-page="true"></script>
678
679
680    
680<script type="module" src="//fr.melvita.com/cdn/shop/t/4/assets/vendor.min.js?v=115152861726854754811781165056"></script>
680
681    
681<script type="module" src="//fr.melvita.com/cdn/shop/t/4/assets/theme.js?v=33174130759666119641788273087"></script>
681
682
683    
683<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
683<meta name="google-site-verification" content="UNnDNVrq-HoV3nuK60R8Z0CYN3jANLrmhoXJqgtWlYs">
684<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/107173183826/digital_wallets/dialog">
685<meta id="in-context-paypal-metadata" data-shop-id="107173183826" data-venmo-supported="false" data-environment="production" data-locale="fr_FR" data-paypal-v4="true" data-currency="EUR">
686<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
686<script async="async" src="/checkouts/internal/preloads.js?locale=fr-FR&default_configuration_id=8405188946"></script>
686
687<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
688<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=fr-FR&default_configuration_id=8405188946&shop_id=107173183826" crossorigin="anonymous"></script>
vendor: 1 bytes, line 688
688
689<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":107173183826,"countryCode":"FR","currencyCode":"EUR","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/107173183826","merchantName":"Melvita","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","maestro"],"total":{"type":"pending","label":"Melvita","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 689
689
690<script id="shopify-features" type="application/json">{"accessToken":"175bb8ecbf2f11fe23eb9a6df696cf5e","betas":["rich-media-storefront-analytics"],"domain":"fr.melvita.com","predictiveSearch":true,"shopId":107173183826,"locale":"fr"}</script>
vendor: 1 bytes, line 690
690
691<script>var Shopify = Shopify || {};
692Shopify.shop = "melvita2026.myshopify.com";
693Shopify.locale = "fr";
694Shopify.currency = {"active":"EUR","rate":"1.0"};
695Shopify.country = "FR";
696Shopify.theme = {"name":"[PROD] Melvita - Axome","id":202104996178,"schema_name":"Axome - Melvita","schema_version":"1.0.0","theme_store_id":null,"role":"main"};
697Shopify.theme.handle = "null";
698Shopify.theme.style = {"id":null,"handle":null};
699Shopify.cdnHost = "fr.melvita.com/cdn";
700Shopify.routes = Shopify.routes || {};
701Shopify.routes.root = "/";
702Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
703Shopify.SignInWithShop = Shopify.SignInWithShop || {};
704Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
705Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 705
705
706<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 706
706
707<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 707
707
708<script>
709  window.ShopifyPay = window.ShopifyPay || {};
710  window.ShopifyPay.apiHost = "shop.app\/pay";
711  window.ShopifyPay.redirectState = null;
712</script>
vendor: 1 bytes, line 712
712
713<script>
714  window.Shopify = window.Shopify || {};
715  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
716  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
717  window.Shopify.SignInWithShop.eligible = true;
718</script>
vendor: 1 bytes, line 718
718
719<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 719
719
720<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.fr.esm.js"></script>
vendor: 1 bytes, line 720
720
721<script type="module">
722  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.fr.esm.js");
723
724  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
725
726</script>
vendor: 1 bytes, line 726
726
727<script>
728  window.Shopify = window.Shopify || {};
729  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
730  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.fr.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.fr.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.fr.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.fr.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.fr.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.fr.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.fr.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.fr.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.fr.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.fr.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.fr.esm.js"],"listener":["modules/v2/loader.listener.fr.esm.js"],"pay-button":["modules/v2/loader.pay-button.fr.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.fr.esm.js"],"shop-button":["modules/v2/loader.shop-button.fr.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.fr.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.fr.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.fr.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.fr.esm.js"],"shop-login":["modules/v2/loader.shop-login.fr.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.fr.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.fr.esm.js"]};
731</script>
vendor: 1 bytes, line 731
731
732<script>(function() {
733  var isLoaded = false;
734  function asyncLoad() {
735    if (isLoaded) return;
736    isLoaded = true;
737    var urls = ["https:\/\/redirectify.app\/script_tags\/tracking.js?shop=melvita2026.myshopify.com"];
738    for (var i = 0; i < urls.length; i++) {
739      var s = document.createElement('script');
740      s.type = 'text/javascript';
741      s.async = true;
742      s.src = urls[i];
743      var x = document.getElementsByTagName('script')[0];
744      x.parentNode.insertBefore(s, x);
745    }
746  };
747  if(window.attachEvent) {
748    window.attachEvent('onload', asyncLoad);
749  } else {
750    window.addEventListener('load', asyncLoad, false);
751  }
752})();</script>
vendor: 1 bytes, line 752
752
753<script id="__st">var __st={"a":107173183826,"offset":7200,"reqid":"3001d3e8-f815-4e5f-9008-631dc6281aba-1791063549","pageurl":"fr.melvita.com\/cart","u":"cfa5bc716288","p":"cart"};</script>
vendor: 1 bytes, line 753
753
754<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 754
754
755<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:'Protégé par hCaptcha',privacyText:'Confidentialité',termsText:'Conditions'},(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 755
755
756<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//fr.melvita.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 756
756
757<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 = "//fr.melvita.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
757<script crossorigin="anonymous" defer="defer" src="//fr.melvita.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 757
757
758<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 758
758
759<script>
760  window.Shopify = window.Shopify || {};
761  window.Shopify.MCP = window.Shopify.MCP || {};
762  window.Shopify.MCP.enabled = true;
763  window.Shopify.MCP.shop = "melvita2026.myshopify.com";
764  window.Shopify.MCP.mcpEndpoint = "https:\/\/fr.melvita.com\/api\/mcp";
765  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
766</script>
vendor: 1 bytes, line 766
766
767<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("\/\/fr.melvita.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
768</script>
vendor: 1 bytes, line 768
768
769<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://fr.melvita.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.fr.js",t.type="module",document.head.appendChild(t)}};
770</script>
vendor: 1 bytes, line 770
770
771<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
772  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);
773</script>
vendor: 1 bytes, line 773
773
774<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})}}));
775</script>
775
776<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://fr.melvita.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
777<style id="shopify-accelerated-checkout-cart">
778        #shopify-buyer-consent {
779  margin-top: 1em;
780  display: inline-block;
781  width: 100%;
782}
783
784#shopify-buyer-consent.hidden {
785  display: none;
786}
787
788#shopify-subscription-policy-button {
789  background: none;
790  border: none;
791  padding: 0;
792  text-decoration: underline;
793  font-size: inherit;
794  cursor: pointer;
795}
796
797#shopify-subscription-policy-button::before {
798  box-shadow: none;
799}
800
801      </style>
802
803<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
803
804
805
806
807<!-- Début de la mention OneTrust de consentement aux cookies pour le domaine fr.melvita.com -->
807<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="2f186e1c-05ac-4625-975b-7963117343ff"></script>
vendor: 1 bytes, line 807
807
808<script type="text/javascript">
809  (function () {
810    // Correspondance groupes OneTrust → signaux de consentement Shopify.
811    var GROUP_MAP = {
812      analytics: ['C0002'],
813      preferences: ['C0003'],
814      marketing: ['C0004', 'C0005'],
815      sale_of_data: ['C0004']
816    };
817
818    var apiReady = false;
819    var pending = null;
820    var lastSent = '';
821
822    function log() {
823      if (!window.OT_SHOPIFY_DEBUG || !window.console) return;
824      console.log.apply(console, ['[OneTrust→Shopify]'].concat([].slice.call(arguments)));
825    }
826
827    function activeGroups() {
828      var raw = window.OnetrustActiveGroups || window.OptanonActiveGroups || '';
829      return String(raw).split(',').filter(Boolean);
830    }
831
832    // Ne rien pousser avant un choix explicite : sans appel, Shopify considère
833    // qu'aucune décision n'a été prise et applique son comportement par défaut.
834    function decisionMade() {
835      try {
836        if (window.OneTrust && typeof window.OneTrust.IsAlertBoxClosed === 'function') {
837          return window.OneTrust.IsAlertBoxClosed();
838        }
839      } catch (e) {}
840      return document.cookie.indexOf('OptanonAlertBoxClosed=') !== -1;
841    }
842
843    function buildConsent() {
844      var groups = activeGroups();
845      var consent = {};
846
847      Object.keys(GROUP_MAP).forEach(function (signal) {
848        consent[signal] = GROUP_MAP[signal].some(function (group) {
849          return groups.indexOf(group) !== -1;
850        });
851      });
852
853      return consent;
854    }
855
856    function flush() {
857      if (!apiReady || !pending) return;
858
859      var fingerprint = JSON.stringify(pending);
860      if (fingerprint === lastSent) return;
861
862      var payload = pending;
863
864      try {
865        window.Shopify.customerPrivacy.setTrackingConsent(payload, function (result) {
866          if (result && result.error) {
867            log('setTrackingConsent en erreur', result.error);
868            return;
869          }
870
871          lastSent = fingerprint;
872          log('consentement appliqué', payload);
873          document.dispatchEvent(new CustomEvent('onetrust:consent-applied', { detail: payload }));
874        });
875      } catch (e) {
876        log('setTrackingConsent a échoué', e);
877      }
878    }
879
880    function sync() {
881      if (!decisionMade()) {
882        log('aucune décision utilisateur pour le moment');
883        return;
884      }
885
886      pending = buildConsent();
887      flush();
888    }
889
890    // OptanonWrapper : appelé par OneTrust à l'init de la bannière puis à chaque
891    // enregistrement. OneTrustGroupsUpdated couvre les changements ultérieurs
892    // (centre de préférences, lien « Cookies » du footer).
893    window.OptanonWrapper = function () {
894      sync();
895    };
896
897    window.addEventListener('OneTrustGroupsUpdated', sync);
898
899    // Shopify.loadFeatures est injecté par content_for_header : on tolère un retard.
900    function loadApi(attempt) {
901      if (window.Shopify && typeof window.Shopify.loadFeatures === 'function') {
902        window.Shopify.loadFeatures([{ name: 'consent-tracking-api', version: '0.1' }], function (error) {
903          if (error) {
904            log('chargement de consent-tracking-api impossible', error);
905            return;
906          }
907
908          apiReady = true;
909          log('API Customer Privacy prête');
910          flush();
911        });
912        return;
913      }
914
915      if (attempt < 50) {
916        setTimeout(function () { loadApi(attempt + 1); }, 100);
917        return;
918      }
919
920      log('window.Shopify.loadFeatures introuvable');
921    }
922
923    loadApi(0);
924
925    // OneTrust injecte des h2/h3/h4 qui polluent la hiérarchie de titres de la page.
926    function demoteHeadings(root) {
927      root.querySelectorAll('h1, h2, h3, h4, h5, h6').forEach(function (heading) {
928        var div = document.createElement('div');
929        for (var i = 0; i < heading.attributes.length; i++) {
930          div.setAttribute(heading.attributes[i].name, heading.attributes[i].value);
931        }
932        div.className = heading.className;
933        div.innerHTML = heading.innerHTML;
934        heading.parentNode.replaceChild(div, heading);
935      });
936    }
937
938    new MutationObserver(function () {
939      ['onetrust-consent-sdk', 'onetrust-pc-sdk', 'ot-sdk-cookie-policy'].forEach(function (id) {
940        var root = document.getElementById(id);
941        if (root) demoteHeadings(root);
942      });
943    }).observe(document.documentElement, { childList: true, subtree: true });
944  })();
945</script>
945
946<!-- Fin de la mention OneTrust de consentement aux cookies pour le domaine fr.melvita.com -->
947
948<link href="//fr.melvita.com/cdn/shop/t/4/assets/theme.css?v=158163033534490993411789656534" rel="stylesheet" type="text/css" media="all" /><link href="//fr.melvita.com/cdn/shop/t/4/assets/ax-typography.css?v=182365509266313969341787908793" rel="stylesheet" type="text/css" media="all" /><link href="//fr.melvita.com/cdn/shop/t/4/assets/ax-badges.css?v=33586028472518224671788863846" rel="stylesheet" type="text/css" media="all" /><link href="//fr.melvita.com/cdn/shop/t/4/assets/ax-product-variations.css?v=46475551306836448481787911533" rel="stylesheet" type="text/css" media="all" /><link href="//fr.melvita.com/cdn/shop/t/4/assets/ax-carousel-arrows.css?v=116941441801558068081787908792" rel="stylesheet" type="text/css" media="all" /><link href="//fr.melvita.com/cdn/shop/t/4/assets/ax-collection-toolbar.css?v=183180576473984108121788183088" rel="stylesheet" type="text/css" media="all" /><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
949
950
951
952
953
954
955
956
957
958
959
960
961  
961<script async src="https://static.klaviyo.com/onsite/js/VVuEpA/klaviyo.js?company_id=VVuEpA"></script>
961
962  
962<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>
962
963
964  
965
966
967
968
969  
969<script>
970    window.klaviyoReviewsProductDesignMode = false
971  </script>
971
972
973
974
975
976
977
978
979
980
981<!-- END app block --><!-- BEGIN app block: shopify://apps/tradedoubler-affiliate/blocks/app-embed/5336782f-9a78-4117-be6f-8cc073d67e6c --><!-- BEGIN app snippet: datablock -->
981<script>var tdappconf={o:1767477,p:null,h:'null'};</script>
981<!-- END app snippet -->
982<!-- END app block --><!-- BEGIN app block: shopify://apps/iadvize-ai-shopping-assistant/blocks/iadvize-tag/97672039-3647-476c-9ad9-4f6daaa2d3e4 --><!-- START IADVIZE LIVECHAT -->
983
984<script>
985
986function loadIAdvize() {
987    if (window.__idzLoaded) return;
988    window.__idzLoaded = true;
989
990    function fromShopifyToIAdvizePageType(shopifyPageType) {
991      if (!shopifyPageType) {
992        return 'OTHER_PAGE';
993      }
994
995      switch (shopifyPageType.toLowerCase()) {
996        case 'index':
997        case 'home':
998          return 'HOME_PAGE';
999        case 'collection':
1000          return 'CATEGORY_PAGE';
1001        case 'product':
1002          return 'PRODUCT_DETAIL_PAGE';
1003        case 'cart':
1004          return 'CART_PAGE';
1005        case 'checkout':
1006          return 'CHECKOUT_PAGE';
1007        case 'account':
1008          return 'ACCOUNT_PAGE';
1009        case 'search':
1010          return 'SEARCH_PAGE';
1011        case 'signup':
1012          return 'SIGNUP_PAGE';
1013        case 'page':
1014          return 'CONTENT_PAGE';
1015        case 'info':
1016          return 'INFO_PAGE';
1017        default:
1018          return 'OTHER_PAGE';
1019      }
1020    }
1021
1022    window.iAdvizeInterface = window.iAdvizeInterface || [];
1023    window.iAdvizeInterface.config = {
1024        sid: 9464
1025    };
1026
1027    // Implement Add-to-Cart callback for iAdvize
1028    window.iAdvizeInterface.push(function(iAdvize) {
1029      const iadvizePageType = fromShopifyToIAdvizePageType(ShopifyAnalytics.meta.page.pageType);
1030      const productId =  null ;
1031      const customData = {};
1032
1033      if (iadvizePageType === 'PRODUCT_DETAIL_PAGE') {
1034        customData.page_type = 'product';
1035      }
1036
1037      if (iadvizePageType) {
1038        customData.iadvize_page_type = iadvizePageType;
1039      }
1040
1041      if (productId) {
1042        customData.product_id = productId;
1043      }
1044
1045      if (Object.keys(customData).length > 0) {
1046        iAdvize.set('customData', customData);
1047      }
1048
1049      // Listen for navigation events and update variant
1050      iAdvize.on('tag:eventsChange', function(events) {
1051        try {
1052          if (Array.isArray(events)) {
1053            events.forEach(function(event) {
1054              if (event.type === 'data-pipeline' && event.event === 'visitor.navigate') {
1055                // Visitor navigated, update variant
1056                setTimeout(function() {
1057                  const form = document.querySelector('form[id*="product"], [data-product-form]');
1058                  const variantInput = form?.querySelector('input[name="id"][type="hidden"]');
1059                  const currentVariant = variantInput?.value;
1060
1061                  if (currentVariant) {
1062                    const existingCustomData = iAdvize.get('customData') || {};
1063                    iAdvize.set('customData', {
1064                      ...existingCustomData,
1065                      product_id: currentVariant,
1066                      iadvize_page_type: 'PRODUCT_DETAIL_PAGE'
1067                    });
1068                  }
1069                }, 100);
1070              }
1071            });
1072          }
1073        } catch (e) {
1074          // Ignore errors
1075        }
1076      });
1077
1078      // register product id watcher, to react to variant changes
1079      (function initVariantObserver(){
1080        try {
1081          if (window.__idzVariantObserverStarted) return; // avoid duplicates
1082          window.__idzVariantObserverStarted = true;
1083
1084          let lastVariantId = null;
1085          const getVariantId = function() {
1086            try {
1087              const variantParam = document.location.search.replace('?', '').split('&').map((param) => param.split('=')).find(([key, value]) => {
1088                return (key === 'variant' && value)
1089              });
1090
1091              return (variantParam && variantParam[1]) || null;
1092            } catch (e) {
1093              return null;
1094            }
1095          };
1096
1097          const onChange = function(newId) {
1098            // Update iAdvize custom data with the new product/variant id
1099            iAdvize.set('customData', { product_id: newId });
1100          };
1101
1102          setInterval(function(){
1103            const current = getVariantId();
1104            if (current !== lastVariantId && current != null) {
1105              lastVariantId = current;
1106              onChange(current);
1107            }
1108          }, 250);
1109
1110          // Trigger immediately if value already present
1111          const initial = getVariantId();
1112          if (initial != null) {
1113            lastVariantId = initial;
1114            onChange(initial);
1115          }
1116
1117        } catch (e) {
1118          // fail-safe: do nothing if observer setup fails
1119        }
1120      })();
1121
1122
1123      // Register the callback for Add-to-Cart events
1124      iAdvize.labs().onAddToCart((itemId) => {
1125        return new Promise((resolve, reject) => {
1126          // From here, the loading state is automatically enabled
1127
1128          // Use Shopify's Ajax API to add the item to cart
1129          fetch('/cart/add.js', {
1130            method: 'POST',
1131            headers: {
1132              'Content-Type': 'application/json',
1133            },
1134            body: JSON.stringify({
1135              id: itemId,
1136              quantity: 1
1137            })
1138          })
1139          .then(response => {
1140            if (response.ok) {
1141              return response.json();
1142            }
1143            throw new Error('Network response was not ok');
1144          })
1145          .then(data => {
1146            // Successfully added to cart
1147            resolve(true);
1148          })
1149          .catch(error => {
1150            console.error('Error adding product to cart:', error);
1151            resolve(false);
1152          });
1153        });
1154      });
1155    });
1156    const script = document.createElement("script");
1157    
1158      script.src = "//halc.iadvize.com/iadvize.js";
1159    
1160    (function() {
1161      if (document.body) {
1162        document.body.append(script);
1163        return;
1164      }
1165      const deadline = Date.now() + 10000;
1166      const intervalId = setInterval(function() {
1167        if (document.body) {
1168          clearInterval(intervalId);
1169          document.body.append(script);
1170        } else if (Date.now() >= deadline) {
1171          clearInterval(intervalId);
1172        }
1173      }, 250);
1174    })();
1175  }
1176
1177  (function() {
1178    const region = 'FR';
1179    const consentMode = 'always';
1180    const hasConsentApi = !!(window.Shopify && window.Shopify.loadFeatures);
1181    const POLL_INTERVAL_MS = 250;
1182    const POLL_MAX_MS = 10000;
1183
1184    function checkConsent() {
1185      const cp = window.Shopify && window.Shopify.customerPrivacy;
1186      return cp && cp.preferencesProcessingAllowed() && cp.analyticsProcessingAllowed();
1187    }
1188
1189    let pollIntervalId = null;
1190    function stopPolling() {
1191      if (pollIntervalId !== null) {
1192        clearInterval(pollIntervalId);
1193        pollIntervalId = null;
1194      }
1195    }
1196
1197    function grantAndLoad() {
1198      stopPolling();
1199      document.removeEventListener('visitorConsentCollected', onConsentCollected);
1200      loadIAdvize();
1201    }
1202
1203    // Registered upfront — catches CMP events even if loadFeatures callback fires
1204    // late or not at all (known Shopify issue on some shops).
1205    function onConsentCollected(event) {
1206      if (event.detail.analyticsAllowed && event.detail.preferencesAllowed) {
1207        grantAndLoad();
1208      }
1209    }
1210    document.addEventListener('visitorConsentCollected', onConsentCollected);
1211
1212    // 'never': embed stays inert. iAdvize is loaded outside Shopify (CMP / tag
1213    // manager), which is the source of truth. Do nothing.
1214    if (consentMode === 'never') {
1215      stopPolling();
1216      document.removeEventListener('visitorConsentCollected', onConsentCollected);
1217      return;
1218    }
1219
1220    // 'always': load immediately, never gate on Shopify consent.
1221    if (consentMode === 'always') {
1222      grantAndLoad();
1223      return;
1224    }
1225
1226    // 'auto' (legacy default): US loads immediately; fail-open when the consent
1227    // API is unavailable. Other regions fall through to the consent-required path.
1228    if (consentMode === 'auto' && (region === 'US' || !hasConsentApi)) {
1229      grantAndLoad();
1230      return;
1231    }
1232
1233    // 'sync', or non-US 'auto': require Shopify consent. Load now if already
1234    // granted, otherwise rely on the upfront listener + poll + loadFeatures
1235    // fallback below. 'sync' is fail-closed: if consent is never granted (or the
1236    // API is absent) the tag does not fire — clients whose CMP doesn't sync with
1237    // Shopify should use 'always' or 'never' instead.
1238    if (checkConsent()) {
1239      grantAndLoad();
1240      return;
1241    }
1242
1243    // Without Shopify's consent API there is nothing to poll or load. We reach
1244    // here only in 'sync' mode (non-US 'auto' with no API loaded immediately
1245    // above), so stay fail-closed: the tag does not fire. The upfront listener
1246    // remains registered in case the CMP populates consent later.
1247    if (!hasConsentApi) {
1248      return;
1249    }
1250
1251    // Poll customerPrivacy for late population (some CMPs write async without
1252    // firing visitorConsentCollected, and Shopify.loadFeatures callback may
1253    // never fire on affected shops). Listener stay active past deadline.
1254    const deadline = Date.now() + POLL_MAX_MS;
1255    pollIntervalId = setInterval(function() {
1256      if (checkConsent()) {
1257        grantAndLoad();
1258        return;
1259      }
1260      if (Date.now() >= deadline) {
1261        stopPolling();
1262      }
1263    }, POLL_INTERVAL_MS);
1264
1265    window.Shopify.loadFeatures(
1266      [{ name: 'consent-tracking-api', version: '0.1' }],
1267      function(error) {
1268        if (error) {
1269          // Fail open for legacy 'auto' (preserve prior behavior); stay
1270          // fail-closed for 'sync'.
1271          if (consentMode === 'auto') {
1272            grantAndLoad();
1273          }
1274        } else if (checkConsent()) {
1275          grantAndLoad();
1276        }
1277      }
1278    );
1279  })();
1280</script>
1280
1281
1282<!-- END IADVIZE LIVECHAT -->
1283
1284
1285<!-- END app block --><!-- BEGIN app block: shopify://apps/regios-discounts/blocks/regios_discounts_embed/dc1514bb-4830-4102-bffa-e8b300bac5bd -->
1286
1287<script id="regios-dopp-config" type="application/json">
1288{
1289  "discountConfigs": {"1898210165074":"null","1898227859794":"null","1898289201490":"null","1905427972434":"null","1906147262802":"null","1906154668370":"null","1906156372306":"null","1906156601682":"null","1906158928210":"null","1906159747410":"null","1906160238930":"null","1906160828754":"null","1906161451346":"null","1906644123986":"null","1910377906514":"null","1910573629778":"null","1911809573202":"null","1912379277650":"null","1918336434514":"null","1918341546322":"null","1918341710162":"null","1918342005074":"null","1918343610706":"null","1918345019730":"null","1918358421842":"null","1918845419858":"null","1918846566738":"null","1919076139346":"null","1919127355730":"null","1920344883538":"null","1920345178450":"null","1920345538898":"null","1920345702738":"null","1920345768274":"null","1920345833810":"null","1920346030418":"null","1920346259794":"null","1920346521938":"null","1920346816850":"null","1920347210066":"null","1920347472210":"null","1920347668818":"null","1920347865426":"null","1920810352978":"null"},
1290  "calculateDiscountBasedOnQuantity": false,
1291  "countryCode": "FR",
1292  "currencyCode": "EUR",
1293  "currencySymbol": "€",
1294  
1295  "customer": null,
1296  
1297  "customerMetafieldsToCheck": "",
1298  
1299  "moneyFormat": "0,00 €",
1300  "moneyFormatString": "{{amount_with_comma_separator}} €",
1301  
1302  "themeType": "auto_detect",
1303  "badgeTemplate": "[discount_percentage] OFF",
1304  "badgeCss": "",
1305  "descriptionTemplate": "[discount_message]",
1306  "descriptionCss": "",
1307  "priceOnSaleClass": "",
1308  "delay": 0,
1309  "logLevel": "error",
1310  "regularPriceTemplate": "[regular_price]",
1311  "salePriceTemplate": "[sale_price]",
1312  "regiosDiscountsAppProxyUrl": "\/apps\/regios-discounts",
1313  "useAppProxyForManualCodeStrikethrough": false,
1314  "cart": {
1315    "attributes": {},
1316    "discountCodes": [],
1317    "items": [
1318      
1319    ]
1320  },
1321  "featureFlags": "",
1322  "designMode": false,
1323  
1324    "marketId": 116017496402,
1325  
1326
1327  "doppV3Fallbacks": {
1328    
1329      "product": null,
1330    
1331    "keep-this-last": ""
1332  }
1333  
1334}
1335</script>
1335
1336
1337<script id="regios-dopp-script">
1338  var configScript = document.getElementById('regios-dopp-config');
1339
1340  if (!configScript) {
1341    throw new Error('[Regios Discounts] Critical error: Configuration script not found.');
1342  } 
1343
1344  var config = JSON.parse(configScript.textContent);
1345  window.RegiosDOPP = Object.assign(window.RegiosDOPP || {}, config);
1346</script>
1346
1347
1348
1349<!-- END app block --><!-- BEGIN app block: shopify://apps/regios-discounts/blocks/regios_add_to_cart_embed/dc1514bb-4830-4102-bffa-e8b300bac5bd -->
1349<script>
1350  window.RegiosDOPP_AddToCart = window.RegiosDOPP_AddToCart || {
1351    reloadInUnsupportedThemes: true,
1352    maxRetries: null,
1353    reAddAfterManualRemoval: false,
1354  };
1355</script>
1355
1356
1357
1358
1359<!-- END app block --><!-- BEGIN app block: shopify://apps/ab-tasty/blocks/abtasty-tag/50439cd8-89e0-4240-838a-2948c07c763d -->
1360  
1361    
1361<script
1362      type="text/javascript"
1363      src="https://try.abtasty.com/5be224b640656bd60a8a6fe441325bc0.js"
1364      async
1365    ></script>
1365
1366  
1367  
1367<script type="text/javascript">
1368    // This waits for all the external ressources (including ABTasty tag) to load before executing the callback function.
1369    window.addEventListener('load', function () {
1370      if(!window.ABTasty) {
1371        // AB Tasty tag is not loaded so exit.
1372        return
1373      }
1374
1375      if (window.ABTasty.eventState?.['consentValid']?.status === 'complete') {
1376        updateShopifyDataForWebPixel();
1377      } else {
1378        window.addEventListener('abtasty_consentValid', () => {
1379          updateShopifyDataForWebPixel();
1380        });
1381      }
1382
1383
1384      async function waitForVisitorId(maxRetries = 5, delayMs = 500) {
1385        for (let i = 0; i < maxRetries; i++) {
1386          const visitorId = ABTasty.api.v1.getValue('visitorId')
1387          if (visitorId) {
1388            return visitorId;
1389          }
1390          await new Promise(resolve => setTimeout(resolve, delayMs));
1391        }
1392        return null;
1393      }
1394
1395
1396      async function updateShopifyDataForWebPixel() {
1397        const STORAGE_KEY = 'ABTastyShopify';
1398        const consentReady = ABTasty.consentReady;
1399        const shouldHandleSubdomain = "false" === "true";
1400
1401        if(!consentReady) {
1402          if(shouldHandleSubdomain) {
1403            await cookieStore.delete(STORAGE_KEY);
1404          }
1405          return localStorage.removeItem(STORAGE_KEY);
1406        }
1407
1408        const visitorId = await waitForVisitorId(5, 500);
1409
1410        if (!visitorId) {
1411          console.error('[AB Tasty] Unable to get AB Tasty visitorID after 5 retry');
1412          return;
1413        }
1414
1415        const ABTastyData = {
1416          identifier: "5be224b640656bd60a8a6fe441325bc0",
1417          campaigns: ABTasty.getCampaignHistory(),
1418          visitorId: visitorId,
1419          accountId: ABTasty.getAccountSettings().id,
1420          consent: ABTasty.consentReady,
1421        };
1422
1423        if (shouldHandleSubdomain) {
1424          await cookieStore.set({
1425            name: STORAGE_KEY,
1426            value: JSON.stringify(ABTastyData),
1427            expires: Date.now() + 1 * 24 * 60 * 60 * 1000, // 1 day
1428            domain: window.location.hostname,
1429          });
1430        }
1431        localStorage.setItem(STORAGE_KEY, JSON.stringify(ABTastyData));
1432      }
1433    });
1434  </script>
1434
1435
1436
1437
1438
1439
1440<!-- END app block --><!-- BEGIN app block: shopify://apps/addingwell/blocks/aw-gtm/c8ed21e7-0ac8-4249-8c91-cbdde850b5b8 -->
1440<script
1441  type="module"
1442>
1443  setTimeout(async function () {
1444    const keySessionStorage = 'aw_settings';
1445    let __AW__settings = JSON.parse(sessionStorage.getItem(keySessionStorage));
1446    if(!__AW__settings) {
1447      const awSettings = await fetch(
1448              "/apps/addingwell-proxy",
1449              {
1450                method: "GET",
1451                redirect: "follow",
1452                headers: {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'}
1453              }
1454      );
1455      if (awSettings.ok) {
1456        __AW__settings = await awSettings.json();
1457        sessionStorage.setItem(keySessionStorage, JSON.stringify(__AW__settings));
1458      } else {
1459        console.error('Addingwell - Loading proxy error', awSettings.status);
1460        return;
1461      }
1462    }
1463
1464    if(__AW__settings.insertGtmTag && __AW__settings.gtmId) {
1465      let __AW__gtmUrl = 'https://www.googletagmanager.com/gtm.js';
1466      let __AW__isAddingwellCdn = false;
1467      if(__AW__settings.insertGtmUrl && __AW__settings.gtmUrl) {
1468        __AW__gtmUrl = __AW__settings.gtmUrl;
1469        __AW__isAddingwellCdn = __AW__settings.isAddingwellCdn;
1470      }
1471
1472      (function(w,d,s,l,i){
1473        w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
1474        var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
1475        j.async=true;
1476        j.src=`${__AW__gtmUrl}?${__AW__isAddingwellCdn ? 'awl' : 'id'}=`+(__AW__isAddingwellCdn ? i.replace(/^GTM-/, '') : i)+dl;f.parentNode.insertBefore(j,f);
1477      })(window,document,'script',`${__AW__settings.dataLayerVariableName}`,`${__AW__settings.gtmId}`);
1478    }
1479
1480    const __AW__getEventNameWithSuffix = (eventName) => {
1481      return eventName + (__AW__settings.dataLayerEventSuffix ? "_" + __AW__settings.dataLayerEventSuffix : "");
1482    }
1483
1484    function __AW__waitForShopifyYCookie(maxAttempts, intervalMs) {
1485      return new Promise(function(resolve) {
1486        let attempts = 0;
1487        maxAttempts = maxAttempts || 5;
1488        intervalMs = intervalMs || 200;
1489        function check() {
1490          const match = document.cookie.match(/(?:^|;\s*)_shopify_y=([^;]*)/);
1491          if (match) {
1492            resolve(match[1]);
1493          } else if (attempts < maxAttempts) {
1494            attempts++;
1495            setTimeout(check, intervalMs);
1496          } else {
1497            console.warn('[AW] _shopify_y cookie not found after consent');
1498            resolve(null);
1499          }
1500        }
1501        check();
1502      });
1503    }
1504
1505    const __AW__CONSENT_KEY = 'aw_consent_state';
1506
1507    function __AW__getConsentState() {
1508      try {
1509        if (window.Shopify?.customerPrivacy?.currentVisitorConsent) {
1510          return JSON.stringify(window.Shopify.customerPrivacy.currentVisitorConsent());
1511        }
1512      } catch(e) {}
1513      return null;
1514    }
1515
1516    function __AW__isEmptyConsent(stateStr) {
1517      try {
1518        return Object.values(JSON.parse(stateStr)).every(v => v === '');
1519      } catch(e) {}
1520      return true;
1521    }
1522
1523    let __AW__prevConsentState = __AW__getConsentState() ?? localStorage.getItem(__AW__CONSENT_KEY);
1524
1525    document.addEventListener('visitorConsentCollected', async function(event) {
1526      const currentConsentState = __AW__getConsentState();
1527
1528      if (currentConsentState !== null && currentConsentState === __AW__prevConsentState) {
1529        return;
1530      }
1531
1532      __AW__prevConsentState = currentConsentState;
1533
1534      if (currentConsentState !== null) {
1535        if (__AW__isEmptyConsent(currentConsentState)) {
1536          localStorage.removeItem(__AW__CONSENT_KEY);
1537        } else {
1538          localStorage.setItem(__AW__CONSENT_KEY, currentConsentState);
1539        }
1540      }
1541
1542      window.Shopify.analytics.publish('addingwell:shopify_update_consent', {visitorConsentCollected: true});
1543
1544      const shopifyY = await __AW__waitForShopifyYCookie();
1545      if (!shopifyY) return;
1546
1547      window[__AW__settings.dataLayerVariableName] = window[__AW__settings.dataLayerVariableName] || [];
1548      window[__AW__settings.dataLayerVariableName].push({
1549        event: __AW__getEventNameWithSuffix('shopify_consent_updated'),
1550      });
1551    });
1552
1553    if(__AW__settings.enableDataLayer) {
1554      const MAX_ITEMS_BATCH = 10;
1555      const sendBatchEvents = (items, eventName, eventObject) => {
1556        let batch = [];
1557        for(let i  = 0; i < items.length; i++) {
1558          batch.push(items[i]);
1559          if(batch.length === MAX_ITEMS_BATCH || i === items.length - 1) {
1560            const eventClone = {
1561              ...eventObject,
1562              ecommerce: {
1563                ...eventObject.ecommerce,
1564                items: [...batch]
1565              }
1566            };
1567            window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
1568            window[__AW__settings.dataLayerVariableName].push({
1569              ...{'event': __AW__getEventNameWithSuffix(eventName)},
1570              ...eventClone
1571            });
1572
1573            batch = [];
1574          }
1575        }
1576      }
1577
1578      function __AW__filterNullOrEmpty(obj) {
1579        let filteredObj = {};
1580
1581        for (let key in obj) {
1582          if (obj.hasOwnProperty(key)) {
1583            let value = obj[key];
1584
1585            // If value is an object (and not null), recursively filter sub-elements
1586            if (typeof value === "object" && value !== null && value !== undefined) {
1587              let filteredSubObject = __AW__filterNullOrEmpty(value);
1588
1589              // Add the filtered sub-object only if it's not empty
1590              if (Object.keys(filteredSubObject).length > 0) {
1591                filteredObj[key] = filteredSubObject;
1592              }
1593            } else {
1594              // Add the value only if it's neither null nor an empty string
1595              if (value !== null && value !== "" && value !== undefined) {
1596                filteredObj[key] = value;
1597              }
1598            }
1599          }
1600        }
1601        return filteredObj;
1602      }
1603
1604      function getPageType(value) {
1605        const pageTypeMapping = {
1606          404: '404',
1607          article: 'article',
1608          blog: 'blog',
1609          cart: 'cart',
1610          collection: 'collection',
1611          gift_card: 'gift_card',
1612          index: 'homepage',
1613          product: 'product',
1614          search: 'searchresults',
1615          'customers/login': 'login',
1616          'customers/register': 'sign_up'
1617        };
1618        return pageTypeMapping[value] || 'other';
1619      }
1620      let __AW__cartReady = false;
1621      const cartRegex = /\/cart\/(add|change|update)(\.js|\.json)?(\?.*)?$/;
1622      const pendingCartEventName = "aw_pending_cart_event";
1623      let awCartQueue = Promise.resolve();
1624
1625      function pushDataLayerEvents() {
1626        initCart();
1627        window[__AW__settings.dataLayerVariableName] = window[__AW__settings.dataLayerVariableName] || [];  // init data layer if doesn't already exist
1628        const templateName = "cart";
1629
1630        const getFormattedPrice = (priceInCents) => priceInCents/100;
1631        /**********************
1632         * DATALAYER SECTIONS
1633         ***********************/
1634        /**
1635         * DATALAYER: User Data
1636         * Build user_data properties.
1637         */
1638        let newCustomer = true;
1639        window.__AW__CommonData = {
1640          user_data: {
1641            new_customer: newCustomer,
1642          }
1643        };
1644
1645        
1646
1647        window.__AW__CommonData.country = "FR"
1648        window.__AW__CommonData.market = "fr"
1649        window.__AW__CommonData.marketId = 116017496402
1650
1651        
1652          window.__AW__CommonData.language = "fr-FR";
1653        
1654        window.__AW__CommonData = __AW__filterNullOrEmpty(window.__AW__CommonData);
1655
1656        // Ajout du hash SHA256 des champs sensibles de user_data (version robuste)
1657        async function sha256(str) {
1658          if (!str) return undefined;
1659          if (!(window.crypto && window.crypto.subtle)) {
1660            console.error('Crypto.subtle non supporté, hash impossible pour :', str);
1661            return undefined;
1662          }
1663          try {
1664            const buf = await window.crypto.subtle.digest('SHA-256', new TextEncoder().encode(str));
1665            return Array.from(new Uint8Array(buf)).map(x => x.toString(16).padStart(2, '0')).join('');
1666          } catch (e) {
1667            console.error('Erreur lors du hash SHA256 pour', str, e);
1668            return undefined;
1669          }
1670        }
1671        async function getUserDataHash(user_data) {
1672          const hashObj = {};
1673          if (!user_data) return hashObj;
1674          try {
1675            if (user_data.email_address) hashObj.email_address = await sha256(user_data.email_address);
1676            if (user_data.phone_number) hashObj.phone_number = await sha256(user_data.phone_number);
1677            if (user_data.address && typeof user_data.address === 'object') {
1678              hashObj.address = {};
1679              if (user_data.address.first_name) hashObj.address.first_name = await sha256(user_data.address.first_name);
1680              if (user_data.address.last_name) hashObj.address.last_name = await sha256(user_data.address.last_name);
1681              if (user_data.address.street) hashObj.address.street = await sha256(user_data.address.street);
1682              if (user_data.address.city) hashObj.address.city = await sha256(user_data.address.city);
1683              if (user_data.address.region) hashObj.address.region = await sha256(user_data.address.region);
1684              if (user_data.address.postal_code) hashObj.address.postal_code = await sha256(user_data.address.postal_code);
1685              if (user_data.address.country) hashObj.address.country = await sha256(user_data.address.country);
1686            }
1687          } catch (e) {
1688            console.error('Erreur lors du hash user_data_hashed', e);
1689          }
1690          return __AW__filterNullOrEmpty(hashObj);
1691        }
1692        (async function() {
1693          if (window.__AW__CommonData && window.__AW__CommonData.user_data) {
1694            window.__AW__CommonData.user_data_hashed = await getUserDataHash(window.__AW__CommonData.user_data);
1695          }
1696        })();
1697
1698        window.__AW__CommonData["page_type"] = getPageType(templateName);
1699        window.__AW__CommonData["theme"] = window?.Shopify?.theme;
1700        window[__AW__settings.dataLayerVariableName].push(window.__AW__CommonData);
1701
1702        window[__AW__settings.dataLayerVariableName].push({"event": __AW__getEventNameWithSuffix("page_view")});
1703
1704        /** DATALAYER: select_item handoff */
1705        const pendingSelectItemName = "aw_pending_select_item";
1706
1707        const __AW__pushSelectItem = (payload) => {
1708          window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
1709          window[__AW__settings.dataLayerVariableName].push(payload);
1710        };
1711
1712        const __AW__flushPendingSelectItem = () => {
1713          let pending = null;
1714          try {
1715            pending = sessionStorage.getItem(pendingSelectItemName);
1716            sessionStorage.removeItem(pendingSelectItemName);
1717          } catch (e) {
1718            return;
1719          }
1720          if (!pending) return;
1721          try {
1722            __AW__pushSelectItem(JSON.parse(pending));
1723          } catch (e) {
1724            console.warn('[AW] pending select_item error', e);
1725          }
1726        };
1727
1728        __AW__flushPendingSelectItem();
1729
1730
1731        /**
1732         * DATALAYER: 404 Pages
1733         * Fire on 404 Pages */
1734        
1735
1736
1737        /**
1738         * DATALAYER: Blog Articles
1739         * Fire on Blog Article Pages */
1740        
1741
1742        
1743
1744        
1745
1746        /** DATALAYER: Product List Page (Collections, Category)
1747         * Fire on all product listing pages. */
1748
1749        const __AW__transformNumberToString = (value) => {
1750          if (value !== null && value !== undefined && typeof value === 'number') {
1751            return value.toString();
1752          }
1753          /** By Default return the current value */
1754          return value;
1755        };
1756
1757        let discountPrice = 0.00;
1758        
1759
1760        /** DATALAYER: Product Page
1761         * Fire on all Product View pages. */
1762        
1763
1764        /** DATALAYER: Cart View
1765         * Fire anytime a user views their cart (non-dynamic) */
1766        
1767        const awEcommerceCart = {
1768                  ecommerce: {
1769                    currency: "EUR",
1770                    value: getFormattedPrice(0),
1771                    items:[
1772                      
1773                    ],
1774                  }
1775                };
1776        window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
1777        window[__AW__settings.dataLayerVariableName].push({
1778          ...{'event': __AW__getEventNameWithSuffix('view_cart')},
1779          ...awEcommerceCart
1780        });
1781        
1782
1783        let drawerCartAlreadyOpened = false;
1784        let pendingViewCartTimeout = null;
1785
1786        let stateObserver = null;
1787        let domObserver = null;
1788
1789        function initCart() {
1790          fetch(`${window.Shopify?.routes?.root || "/"}cart.js?adw=1&init=1`, {
1791            credentials: 'same-origin',
1792            headers: { 'Accept': 'application/json' }
1793          }).then(r => r.ok ? r.json() : null)
1794            .then(freshCart => {
1795              if (freshCart) {
1796                window.__AW__slaveShopifyCart = freshCart;
1797              } else {
1798                window.__AW__slaveShopifyCart = { items: [] };
1799              }
1800              __AW__cartReady = true;
1801            })
1802            .catch(e => {
1803              console.warn('[AW] Cart hydration failed', e);
1804              window.__AW__slaveShopifyCart = { items: [] };
1805              __AW__cartReady = true;
1806            })
1807            .finally(() => {
1808              // A snapshot left by a non-AJAX add to cart (form submit + reload) can only be synced once the cart is ready
1809              if (sessionStorage.getItem(pendingCartEventName)) {
1810                scheduleCartSync();
1811              }
1812            });
1813        }
1814
1815        function fireViewCartOncePerOpen() {
1816          if (pendingViewCartTimeout) return;
1817
1818          drawerCartAlreadyOpened = true;
1819
1820          pendingViewCartTimeout = setTimeout(() => {
1821            pendingViewCartTimeout = null;
1822            if (!__AW__cartReady) return;
1823            const ecommerceDataLayer = {
1824              ecommerce: {
1825                currency: window.__AW__slaveShopifyCart.currency,
1826                value: window.__AW__slaveShopifyCart.total_price / 100,
1827                items: window.__AW__slaveShopifyCart.items.map(item => {
1828                  const price = (item.discounted_price ?? item.price) / 100;
1829                  const discount = (item.price - (item.discounted_price ?? 0)) / 100;
1830
1831                  let coupon = "";
1832                  if (Array.isArray(item?.discounts)) {
1833                    coupon = item.discounts
1834                            .filter(d => typeof d?.title === "string")
1835                            .map(d => d.title)
1836                            .join(", ");
1837                  }
1838
1839                  return {
1840                    item_id: __AW__transformNumberToString(item.product_id),
1841                    item_variant: item.variant_title,
1842                    item_variant_title: item.variant_title,
1843                    item_variant_id: __AW__transformNumberToString(item.variant_id),
1844                    item_product_id: __AW__transformNumberToString(item.product_id),
1845                    item_product_title: item.product_title,
1846                    item_name: item.product_title,
1847                    price,
1848                    discount,
1849                    item_brand: item.vendor,
1850                    item_category: item.product_type,
1851                    item_list_name: item.collection || "",
1852                    item_list_id: "",
1853                    quantity: item.quantity,
1854                    sku: __AW__transformNumberToString(item.sku),
1855                    coupon,
1856                    url: item.url,
1857                    selling_plan_id     : item?.selling_plan_allocation?.selling_plan?.id,
1858                    selling_plan_name   : item?.selling_plan_allocation?.selling_plan?.name
1859
1860                  };
1861                })
1862              }
1863            };
1864
1865            window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
1866            window[__AW__settings.dataLayerVariableName].push({
1867              event: __AW__getEventNameWithSuffix("view_cart"),
1868              ...ecommerceDataLayer
1869            });
1870          }, 1000);
1871        }
1872
1873        function resetOnClose() {
1874          drawerCartAlreadyOpened = false;
1875          if (pendingViewCartTimeout) {
1876            clearTimeout(pendingViewCartTimeout);
1877            pendingViewCartTimeout = null;
1878          }
1879        }
1880
1881        function getTargets() {
1882          const cartDrawer = document.querySelector("cart-drawer");
1883          const dialog =
1884                  document.querySelector("cart-drawer dialog") ||
1885                  document.querySelector("cart-drawer-component dialog") ||
1886                  document.querySelector("cart-drawer-component dialog[ref='dialog']");
1887
1888          return { cartDrawer, dialog };
1889        }
1890
1891        function isCartOpen({ cartDrawer, dialog }) {
1892          const openByDialog = !!dialog && (dialog.open || dialog.hasAttribute("open"));
1893          const openByClass = !!cartDrawer && cartDrawer.classList.contains("active");
1894          const openByAttr = !!cartDrawer && cartDrawer.hasAttribute("open");
1895          return openByDialog || openByClass || openByAttr;
1896        }
1897
1898        function attachStateObserver() {
1899          const { cartDrawer, dialog } = getTargets();
1900
1901          if (stateObserver) stateObserver.disconnect();
1902
1903          stateObserver = new MutationObserver(() => {
1904            const openNow = isCartOpen(getTargets());
1905
1906            if (openNow) {
1907              if (!drawerCartAlreadyOpened) fireViewCartOncePerOpen();
1908            } else {
1909              resetOnClose();
1910            }
1911          });
1912
1913          if (cartDrawer) {
1914            stateObserver.observe(cartDrawer, {
1915              attributes: true,
1916              attributeFilter: ["class", "open"]
1917            });
1918          }
1919
1920          if (dialog) {
1921            stateObserver.observe(dialog, {
1922              attributes: true,
1923              attributeFilter: ["open"]
1924            });
1925          }
1926
1927          const openNow = isCartOpen(getTargets());
1928          if (openNow) {
1929            if (!drawerCartAlreadyOpened) fireViewCartOncePerOpen();
1930          } else {
1931            resetOnClose();
1932          }
1933        }
1934
1935        function observeCartDrawerOpen() {
1936          attachStateObserver();
1937
1938          if (domObserver) domObserver.disconnect();
1939
1940          domObserver = new MutationObserver(() => {
1941            attachStateObserver();
1942          });
1943
1944          domObserver.observe(document.documentElement, {
1945            childList: true,
1946            subtree: true
1947          });
1948        }
1949
1950        observeCartDrawerOpen();
1951
1952
1953        /** DATALAYER: Search Results */
1954        var searchPage = new RegExp("search", "g");
1955        if(document.location.pathname.match(searchPage)){
1956          var __AW__items = [];
1957          
1958
1959          const awEcommerceSearch = {
1960            search_term: null,
1961            results_count: null,
1962            ecommerce: {
1963              currency: "EUR",
1964              items : []
1965            }
1966          };
1967          sendBatchEvents(__AW__items, "search", awEcommerceSearch);
1968        }
1969
1970
1971        document.addEventListener('click', async function(e) {
1972          const btn = e.target.closest('[href*="/cart/add"], [action*="/cart/add"], button[name="add"]');
1973          if (!btn || !__AW__cartReady) return;
1974          snapshotCart();
1975        }, true);
1976
1977        patchFetch();
1978        patchXhr();
1979
1980        function snapshotCart() {
1981          try {
1982            sessionStorage.setItem(
1983              pendingCartEventName,
1984              JSON.stringify(window.__AW__slaveShopifyCart ?? { items: [] })
1985            );
1986          } catch (e) {
1987            console.warn('[AW] snapshot error', e);
1988          }
1989        }
1990
1991        function patchXhr() {
1992          const nativeSend = typeof XMLHttpRequest === 'function' ? XMLHttpRequest.prototype?.send : null;
1993          if (typeof nativeSend !== 'function' || nativeSend.__AW__patched) return;
1994
1995          XMLHttpRequest.prototype.send = function(body) {
1996            this.addEventListener('load', () => {
1997              try {
1998                const abs = this.responseURL || '';
1999                const u = new URL(abs, location.origin);
2000                const mt = u.pathname + (u.search || '');
2001                if (this.status === 200 && cartRegex.test(mt)) {
2002                  scheduleCartSync();
2003                }
2004              } catch (e) {
2005                console.error('[AW] XHR handler error', e);
2006              }
2007            });
2008            return nativeSend.apply(this, arguments);
2009          };
2010
2011          XMLHttpRequest.prototype.send.__AW__patched = true;
2012        }
2013
2014        function patchFetch() {
2015          const previousFetch = window.fetch;
2016          if (typeof previousFetch !== 'function' || previousFetch.__AW__patched) return;
2017
2018          window.fetch = async function (...args) {
2019            const resource = args[0];
2020            try {
2021
2022              const url = resource instanceof Request ? resource.url  : resource instanceof URL ? resource.href : String(resource);
2023              if (cartRegex.test(url)) {
2024                const response = await previousFetch.apply(this, args);
2025                if (response.ok) {
2026                  scheduleCartSync();
2027                } else {
2028                  console.warn(`Fetch for ${url} failed with status: ${response.status}`);
2029                }
2030                return response;
2031              }
2032            } catch (error) {
2033              console.error('[AW] Fetch Wrapper Error:', error);
2034            }
2035
2036            return previousFetch.apply(this, args);
2037          };
2038
2039          window.fetch.__AW__patched = true;
2040        }
2041
2042        function scheduleCartSync() {
2043          if (!__AW__cartReady) return;
2044          awCartQueue = awCartQueue
2045            .then(() => {
2046              if (!sessionStorage.getItem(pendingCartEventName)) snapshotCart();
2047              return runCartSyncOnce();
2048            }).catch(e => {
2049              console.error('[AW] scheduleCartSync error', e);
2050            });
2051        }
2052
2053        async function runCartSyncOnce() {
2054          try {
2055            const response = await fetch(`${window.Shopify.routes.root || "/"}cart.js?adw=1`, {
2056              credentials: 'same-origin',
2057              headers: { 'Accept': 'application/json' }
2058            });
2059            if (!response.ok) throw new Error('HTTP ' + response.status);
2060            const newCart = await response.json();
2061            await compareCartData(newCart);
2062          } catch (error) {
2063            console.error('[AW] Error fetching /cart.js (singleton):', error);
2064          }
2065        }
2066
2067        function compareCartData(newCartData) {
2068          return new Promise((resolve) => {
2069            setTimeout(() => {
2070              try {
2071                const oldCartData = sessionStorage.getItem(pendingCartEventName) ? JSON.parse(sessionStorage.getItem(pendingCartEventName)) : {items: []};
2072                newCartData = newCartData || {items: []};
2073                const cartItemKey = item => `${item.variant_id ?? item.id}:${item.selling_plan_allocation?.selling_plan?.id ?? ''}`;
2074                const oldItems = new Map(oldCartData.items.map(item => [cartItemKey(item), item]));
2075                const newItems = new Map(newCartData.items.map(item => [cartItemKey(item), item]));
2076
2077                newItems.forEach((newItem, key) => {
2078                  const oldItem = oldItems.get(key);
2079                  const eventName = "add_to_cart";
2080                  if (!oldItem) {
2081                    handleCartDataLayer(eventName, newItem.quantity, newItem);
2082                  } else if (newItem.quantity > oldItem.quantity) {
2083                    handleCartDataLayer(eventName, newItem.quantity - oldItem.quantity, newItem);
2084                  }
2085                });
2086
2087                oldItems.forEach((oldItem, key) => {
2088                  const newItem = newItems.get(key);
2089                  const eventName = "remove_from_cart";
2090                  if (!newItem) {
2091                    handleCartDataLayer(eventName, oldItem.quantity, oldItem);
2092                  } else if (oldItem.quantity > newItem.quantity) {
2093                    handleCartDataLayer(eventName, oldItem.quantity - newItem.quantity, newItem);
2094                  }
2095                });
2096
2097                sessionStorage.removeItem(pendingCartEventName);
2098                window.__AW__slaveShopifyCart = newCartData;
2099              } catch(e) {
2100                console.error('[AW] compareCartData error', e);
2101                sessionStorage.removeItem(pendingCartEventName);
2102              } finally {
2103                resolve();
2104              }
2105            }, 500);
2106          });
2107        }
2108
2109        function handleCartDataLayer(eventName, quantity, item) {
2110          const price = (item.discounted_price ?? item.price) / 100;
2111          const discount = (item.price - (item.discounted_price ?? 0)) / 100;
2112          const totalValue = price * quantity;
2113          let coupon = "";
2114          if(Array.isArray(item?.discounts)) {
2115            coupon = item.discounts
2116                    .filter(discount => typeof discount?.title === 'string')
2117                    .map(discount => discount.title)
2118                    .join(', ');
2119          }
2120
2121          const ecommerceCart = {
2122            ecommerce: {
2123              currency: "EUR",
2124              value: totalValue,
2125              items: [{
2126                item_id: __AW__transformNumberToString(item.product_id),
2127                item_variant: item.variant_title || "Default Variant",
2128                item_variant_id: __AW__transformNumberToString(item.variant_id),
2129                item_variant_title: item.variant_title || "Default Variant",
2130                item_name: item.product_title,
2131                item_product_id: __AW__transformNumberToString(item.product_id),
2132                item_product_title: item.product_title,
2133                sku: __AW__transformNumberToString(item.sku),
2134                discount: discount,
2135                price: price,
2136                item_brand: item.vendor,
2137                item_category: item.product_type,
2138                quantity: quantity,
2139                coupon: coupon,
2140                url: item?.url,
2141                selling_plan_id     : item?.selling_plan_allocation?.selling_plan?.id,
2142                selling_plan_name   : item?.selling_plan_allocation?.selling_plan?.name
2143              }]
2144            }
2145          };
2146
2147          window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
2148          window[__AW__settings.dataLayerVariableName].push({
2149            ...{ 'event': __AW__getEventNameWithSuffix(eventName) },
2150            ...ecommerceCart
2151          });
2152
2153        }
2154      }
2155
2156      if (document.readyState === 'loading') {
2157        // document still loading...
2158        document.addEventListener('DOMContentLoaded', () => {
2159          pushDataLayerEvents();
2160        });
2161      } else {
2162        // already loaded, chocs away!
2163        pushDataLayerEvents();
2164      }
2165    }
2166  }, 0);
2167</script>
2167
2168
2169
2170<!-- END app block --><!-- BEGIN app block: shopify://apps/yotpo-product-reviews/blocks/settings/eb7dfd7d-db44-4334-bc49-c893b51b36cf -->
2171
2172
2173  
2173<script type="text/javascript" src="https://cdn-widgetsrepository.yotpo.com/v1/loader/gLTEH61CavIahnKMBUMow8H10Up5GsgD5uocpXc1?languageCode=fr" async></script>
2173
2174
2175
2176
2177  
2178<!-- END app block -->
2178<script src="https://cdn.shopify.com/extensions/019aea34-75f8-7342-949f-278781ecad92/tradedoubler-affiliate-6/assets/library-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 2178
2178
2179<script src="https://cdn.shopify.com/extensions/01a0fc09-fc82-7b7d-a2d5-0cf4cae65dc9/regios-automatic-discounts-1516/assets/regios_discounts_embed.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 2179
2179
2180<script src="https://cdn.shopify.com/extensions/01a0fc09-fc82-7b7d-a2d5-0cf4cae65dc9/regios-automatic-discounts-1516/assets/regios_add_to_cart_embed.js" type="text/javascript" defer="defer"></script>
2180
2181<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2182<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: 107173183826,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};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 2182
2182
2183<script>
2184  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
2185</script>
vendor: 1 bytes, line 2185
2185
2186<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}
2186).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: 107173183826,storefrontBaseUrl: "https://fr.melvita.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://fr.melvita.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"5854495058","configuration":"{\"organization\":\"1767477\",\"programId\":\"null\",\"eventId\":\"339413\",\"newCustomerEventId\":\"339703\",\"includeTax\":\"false\",\"productGroups\":\"[]\",\"host\":\"null\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"75d4fc2bd30ae0beeb35aa8060f656b1","type":"APP","apiClientId":186380156929,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
2186,"dataSharingState":"unrestricted"},{"id":"5821694290","configuration":"{\"cart_viewed\":\"true\",\"checkout_address_info_submitted\":\"true\",\"checkout_completed\":\"true\",\"checkout_contact_info_submitted\":\"true\",\"checkout_shipping_info_submitted\":\"true\",\"checkout_started\":\"true\",\"collection_viewed\":\"true\",\"page_viewed\":\"true\",\"payment_info_submitted\":\"true\",\"product_added_to_cart\":\"true\",\"product_removed_from_cart\":\"true\",\"product_viewed\":\"true\",\"search_submitted\":\"true\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4b912d4db8d67578541bfae8b70a40a9","type":"APP","apiClientId":100317265921,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"5821661522","configuration":"{\"joinDomain\":\"melvita\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"aba44f25bef6b6f9c5cce3989ad88990","type":"APP","apiClientId":111364603905,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"5761958226","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-E3KFRWX15F\\\",\\\"GT-W6VNBNKS\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-E3KFRWX15F\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-E3KFRWX15F\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-E3KFRWX15F\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-E3KFRWX15F\\\",\\\"MC-2N5E5MQZ09\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-E3KFRWX15F\\\",\\\"MC-2N5E5MQZ09\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-E3KFRWX15F\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-E3KFRWX15F\\\",\\\"MC-2N5E5MQZ09\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-E3KFRWX15F\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-E3KFRWX15F\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-E3KFRWX15F\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-E3KFRWX15F\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"5741314386","configuration":"{\"pixel_id\":\"2201243340146442\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"5554143570","configuration":"{\"projectId\":\"9464\", \"platform\": \"ha\", \"transactionEndpoint\": \"https:\/\/api.iadvize.com\/engagement\/short-conversions?platform=ha\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"02fbb4bc7ea3748896c6dc59ec131b8a","type":"APP","apiClientId":86693281793,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"5134877010","configuration":"{\"accountID\":\"VVuEpA\",\"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":"optimized","enabledFlags":["9a3ed68a"]},{"id":"351895890","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"Pixel Addingwell"},{"id":"355369298","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"10","type":"CUSTOM","privacyPurposes":[],"name":"Affilae - Purchase"},{"id":"366477650","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"Kolsquare"},{"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":"Melvita","paymentSettings":{"currencyCode":"EUR"},"myshopifyDomain":"melvita2026.myshopify.com","countryCode":"FR","storefrontUrl":"https:\/\/fr.melvita.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"
218610926775075154","handle":"eau-extraordinaire-source-de-roses","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53940039090514","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://fr.melvita.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"202104996178","themePublished":"true","eventMetadataId":"dc157971-8ef9-4d17-98c4-f533471f21c7","pageType":"cart","shopId":"107173183826","storefrontBaseUrl":"https:\/\/fr.melvita.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2186<script>
2187  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
2188  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
2189  window.ShopifyAnalytics.meta.currency = 'EUR';
2190  var meta = {"page":{"pageType":"cart","requestId":"3001d3e8-f815-4e5f-9008-631dc6281aba-1791063549"}};
2191  for (var attr in meta) {
2192    window.ShopifyAnalytics.meta[attr] = meta[attr];
2193  }
2194</script>
vendor: 1 bytes, line 2194
2194
2195<script class="analytics">
2196  (function () {
2197    var customDocumentWrite = function(content) {
2198      var jquery = null;
2199
2200      if (window.jQuery) {
2201        jquery = window.jQuery;
2202      } else if (window.Checkout && window.Checkout.$) {
2203        jquery = window.Checkout.$;
2204      }
2205
2206      if (jquery) {
2207        jquery('body').append(content);
2208      }
2209    };
2210
2211    var hasLoggedConversion = function(token) {
2212      if (token) {
2213        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
2214      }
2215      return false;
2216    }
2217
2218    var setCookieIfConversion = function(token) {
2219      if (token) {
2220        var twoMonthsFromNow = new Date(Date.now());
2221        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
2222
2223        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
2224      }
2225    }
2226
2227    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
2228    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
2229    if (trekkie.integrations) {
2230      return;
2231    }
2232    trekkie.methods = [
2233      'identify',
2234      'page',
2235      'ready',
2236      'track',
2237      'trackForm',
2238      'trackLink'
2239    ];
2240    trekkie.factory = function(method) {
2241      return function() {
2242        var args = Array.prototype.slice.call(arguments);
2243        args.unshift(method);
2244        trekkie.push(args);
2245        if (method == 'track' || method == 'page') {
2246          var pageUrl;
2247          try {
2248            pageUrl = window.location.href;
2249          } catch (e) {}
2250          var pageReferrer;
2251          try {
2252            pageReferrer = document.referrer;
2253          } catch (e) {}
2254          try {
2255            if (window.__TREKKIE_SHIM_QUEUE == null) {
2256              window.__TREKKIE_SHIM_QUEUE = [];
2257            }
2258            window.__TREKKIE_SHIM_QUEUE.push({
2259              from: 'trekkie-stub',
2260              method: method,
2261              args: args.slice(1),
2262              pageContext: {
2263                url: pageUrl,
2264                referrer: pageReferrer
2265              }
2266            });
2267          } catch (e) {
2268            // no-op
2269          }
2270        }
2271        return trekkie;
2272      };
2273    };
2274    for (var i = 0; i < trekkie.methods.length; i++) {
2275      var key = trekkie.methods[i];
2276      trekkie[key] = trekkie.factory(key);
2277    }
2278    trekkie.load = function(config) {
2279      trekkie.config = config || {};
2280      trekkie.config.initialDocumentCookie = document.cookie;
2281      var first = document.getElementsByTagName('script')[0];
2282var script = document.createElement('script');
2283script.type = 'text/javascript';
2284script.onerror = function(e) {
2285  var scriptFallback = document.createElement('script');
2286  scriptFallback.type = 'text/javascript';
2287  scriptFallback.onerror = function(error) {
2288          var Monorail = {
2289      produce: function produce(monorailDomain, schemaId, payload) {
2290        var currentMs = new Date().getTime();
2291        var event = {
2292          schema_id: schemaId,
2293          payload: payload,
2294          metadata: {
2295            event_created_at_ms: currentMs,
2296            event_sent_at_ms: currentMs
2297          }
2298        };
2299        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
2300      },
2301      sendRequest: function sendRequest(endpointUrl, payload) {
2302        // Try the sendBeacon API
2303        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
2304          var blobData = new window.Blob([payload], {
2305            type: 'text/plain'
2306          });
2307
2308          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
2309            return true;
2310          } // sendBeacon was not successful
2311
2312        } // XHR beacon
2313
2314        var xhr = new XMLHttpRequest();
2315
2316        try {
2317          xhr.open('POST', endpointUrl);
2318          xhr.setRequestHeader('Content-Type', 'text/plain');
2319          xhr.send(payload);
2320        } catch (e) {
2321          console.log(e);
2322        }
2323
2324        return false;
2325      },
2326      isIos12: function isIos12() {
2327        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
2328      }
2329    };
2330    Monorail.produce('monorail-edge.shopifysvc.com',
2331      'trekkie_storefront_load_errors/1.1',
2332      {shop_id: 107173183826,
2333      theme_id: 202104996178,
2334      app_name: "storefront",
2335      context_url: window.location.href,
2336      source_url: "//fr.melvita.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
2337
2338  };
2339  scriptFallback.async = true;
2340  scriptFallback.src = '//fr.melvita.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
2341  first.parentNode.insertBefore(scriptFallback, first);
2342};
2343script.async = true;
2344script.src = '//fr.melvita.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
2345first.parentNode.insertBefore(script, first);
2346
2347    };
2348    trekkie.load(
2349      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":107173183826,"isMerchantRequest":null,"themeId":202104996178,"themeCityHash":"9498158764090115809","contentLanguage":"fr","currency":"EUR","eventMetadataId":"dc157971-8ef9-4d17-98c4-f533471f21c7"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
2350    );
2351
2352    var loaded = false;
2353    trekkie.ready(function() {
2354      if (loaded) return;
2355      loaded = true;
2356
2357      window.ShopifyAnalytics.lib = window.trekkie;
2358
2359      var originalDocumentWrite = document.write;
2360      document.write = customDocumentWrite;
2361      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
2362      document.write = originalDocumentWrite;
2363
2364      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
2365      var token = match? match[1]: undefined;
2366      if (!hasLoggedConversion(token)) {
2367        setCookieIfConversion(token);
2368        
2369      }
2370    });
2371
2372    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"3001d3e8-f815-4e5f-9008-631dc6281aba-1791063549","shopifyEmitted":true});
2373
2374    var eventsListenerScript = document.createElement('script');
2375    eventsListenerScript.async = true;
2376    eventsListenerScript.src = "//fr.melvita.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
2377    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
2378})();</script>
vendor: 1 bytes, line 2378
2378
2379<script
2380  defer
2381  src="https://fr.melvita.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
2382  data-application="storefront-renderer"
2383  data-shop-id="107173183826"
2384  data-render-region="gcp-us-west1"
2385  data-page-type="cart"
2386  data-theme-instance-id="202104996178"
2387  data-theme-name="Axome - Melvita"
2388  data-theme-version="1.0.0"
2389  data-monorail-region="shop_domain"
2390  data-resource-timing-sampling-rate="10"
2391  data-shs="true"
2392  data-shs-beacon="true"
2393  data-shs-export-with-fetch="true"
2394  data-shs-logs-sample-rate="1"
2395  data-shs-beacon-endpoint="https://fr.melvita.com/api/collect"
2396></script>
vendor: 1 bytes, line 2396
2396
2397<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
2397<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"107173183826","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Se connecter ou créer un compte"},{"key":"account_menu.signed_out_state.section_divider","value":"Autres moyens de connexion"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OU"},{"key":"account_menu.signed_out_state.email_field_label","value":"E-mail"},{"key":"account_menu.signed_out_state.orders_button","value":"Commandes"},{"key":"account_menu.signed_out_state.profile_button","value":"Profil"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Se connecter avec Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continuer avec Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continuer avec Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Envoyez-moi des nouvelles et des offres par e-mail"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Bonjour, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Compte"},{"key":"account_menu.signed_in_state.orders_button","value":"Commandes"},{"key":"account_menu.signed_in_state.profile_button","value":"Profil"},{"key":"account_menu.location_picker.sheet_title","value":"Emplacements"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Rechercher"},{"key":"account_menu.aria_labels.close_menu","value":"Fermer le menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Retour au menu principal depuis {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, ouvre le sous-menu"},{"key":"account_menu.aria_labels.loading_menu","value":"Chargement du menu"},{"key":"account_menu.aria_labels.account","value":"Compte"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Se connecter avec e-mail"},{"key":"account_menu.aria_labels.sign_in","value":"Se connecter"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":false},"visitor":{"country":"FR","language":"fr"}}</script>
2397
2398<meta name="shopify-y" content="a99cb99e-14da-424e-b586-f51e04eaba52" data-expiration="1822621149000"><meta name="shopify-s" content="43d528ac-22b3-4542-b71b-db8dc11e5ad1" data-expiration="1791065349000"><meta name="new-cookie-storage-activated" content="t">
2399</head>
2400
2401  
2402
2403  <body class="features--zoom-image "><template id="drawer-default-template">
2404  <div part="base">
2405    <div part="overlay"></div>
2406
2407    <div part="content">
2408      <header part="header">
2409        <dialog-close-button style="display: contents">
2410          <button type="button" part="close-button">
2411            <span class="sr-only" part="sr-only">Fermer</span><svg aria-hidden="true" focusable="false" width="10" class="icon icon-close"  part="icon" fill="none" viewBox="0 0 10 10">
2412        <path stroke="currentColor" d="m1 1 8 8m0-8L1 9" />
2413      </svg></button>
2414        </dialog-close-button>
2415
2416        <slot name="header"></slot>
2417      </header>
2418
2419      <div part="body">
2420        <slot></slot>
2421      </div>
2422
2423      <footer part="footer">
2424        <slot name="footer"></slot>
2425      </footer>
2426    </div>
2427  </div>
2428</template><template id="drawer-popover-default-template">
2429  <div part="base">
2430    <div part="overlay"></div>
2431
2432    <div part="content">
2433      <header part="header">
2434        <dialog-close-button style="display: contents">
2435          <button type="button" part="close-button">
2436            <span class="sr-only" part="sr-only">Fermer</span><svg aria-hidden="true" focusable="false" width="10" class="icon icon-close"  part="icon" fill="none" viewBox="0 0 10 10">
2437        <path stroke="currentColor" d="m1 1 8 8m0-8L1 9" />
2438      </svg></button>
2439        </dialog-close-button>
2440
2441        <slot name="header"></slot>
2442      </header>
2443
2444      <div part="body">
2445        <slot></slot>
2446      </div>
2447    </div>
2448  </div>
2449</template><template id="modal-default-template">
2450  <div part="base">
2451    <div part="overlay"></div>
2452
2453    <div part="content">
2454      <slot name="image"></slot>
2455
2456      <div part="body">
2457        <dialog-close-button style="display: contents">
2458          <button type="button" part="close-button">
2459            <span class="sr-only" part="sr-only">Fermer</span><svg aria-hidden="true" focusable="false" width="10" class="icon icon-close"  part="icon" fill="none" viewBox="0 0 10 10">
2460        <path stroke="currentColor" d="m1 1 8 8m0-8L1 9" />
2461      </svg></button>
2462        </dialog-close-button>
2463
2464        <slot></slot>
2465      </div>
2466    </div>
2467  </div>
2468</template><template id="popover-default-template">
2469  <div part="base">
2470    <div part="overlay"></div>
2471
2472    <div part="content">
2473      <header part="header">
2474        <slot name="header"></slot>
2475
2476        <dialog-close-button style="display: contents">
2477          <button type="button" part="close-button">
2478            <span class="sr-only" part="sr-only">Fermer</span><svg aria-hidden="true" focusable="false" width="10" class="icon icon-close"  part="icon" fill="none" viewBox="0 0 10 10">
2479        <path stroke="currentColor" d="m1 1 8 8m0-8L1 9" />
2480      </svg></button>
2481        </dialog-close-button>
2482      </header>
2483
2484      <div part="body">
2485        <slot></slot>
2486      </div>
2487    </div>
2488  </div>
2489</template><template id="simple-popover-default-template">
2490  <div part="base">
2491    <div part="overlay"></div>
2492
2493    <div part="content">
2494      <dialog-close-button style="display: contents">
2495        <button type="button" part="close-button overlaid-close-button">
2496          <span class="sr-only" part="sr-only">Fermer</span><svg aria-hidden="true" focusable="false" width="10" class="icon icon-close"  part="icon" fill="none" viewBox="0 0 10 10">
2497        <path stroke="currentColor" d="m1 1 8 8m0-8L1 9" />
2498      </svg></button>
2499      </dialog-close-button>
2500
2501      <div part="body">
2502        <slot></slot>
2503      </div>
2504    </div>
2505  </div>
2506</template><template id="video-media-default-template">
2507  <slot></slot>
2508
2509  <div part="play-button"><svg aria-hidden="true" focusable="false" width="12" class="icon icon-play-triangle"  part="icon" fill="none" viewBox="0 0 12 17">
2510        <path fill="#ffffff" d="M1.783 15.889A1 1 0 0 1 .2 15.076V1.148A1 1 0 0 1 1.783.335l9.71 6.964a1 1 0 0 1 0 1.626l-9.71 6.964Z"/>
2511      </svg></div>
2512</template><loading-bar class="loading-bar" aria-hidden="true"></loading-bar>
2513
2514    <a href="#main" allow-hash-change class="skip-to-content sr-only">Passer au contenu</a>
2514<div class="sr-only" role="status" aria-live="polite" aria-atomic="true">
2515      <span id="status-announcement"></span>
2516    </div>
2517
2518    <div class="sr-only" role="alert" aria-live="assertive" aria-atomic="true">
2519      <span id="error-announcement"></span>
2520    </div>
2521
2522    <span id="header-scroll-tracker" style="position: absolute; width: 1px; height: 1px; top: 200px; left: 0;"></span><!-- BEGIN sections: header-group -->
2523<aside id="shopify-section-sections--30543191376210__announcement-bar" class="shopify-section shopify-section-group-header-group shopify-section--announcement-bar"><style>
2524      :root {
2525        --announcement-bar-is-sticky: 0;
2526      }</style>
2527
2528    <div class="color-scheme color-scheme--scheme-5">
2529      <height-observer variable="announcement-bar"><announcement-bar id="carousel-sections--30543191376210__announcement-bar" allow-swipe cell-selector=".announcement-bar__message-list > *" autoplay="5" class="announcement-bar"><carousel-prev-button aria-controls="carousel-sections--30543191376210__announcement-bar">
2530              <button type="button" class="tap-area">
2531                <span class="sr-only">Précédent</span>
2532                <svg xmlns="http://www.w3.org/2000/svg" width="13" height="11" viewB
2532ox="0 0 11 8" fill="none">
2533                  <path d="M3.82703 6.59355L0.707031 3.47355L3.82703 0.353546" stroke="currentColor" stroke-miterlimit="10"/>
2534                  <path d="M0.707031 3.4736H10.707" stroke="currentColor" stroke-miterlimit="10"/>
2535                </svg>
2536              </button>
2537            </carousel-prev-button><div class="announcement-bar__message-list"><div class="is-selected prose prose-justify-center" >
2538                  <p class="text-xs">Faites-vous plaisir : -20% sur tout le site* | Code FRENCHDAYS</p>
2539                </div><div class=" prose prose-justify-center" >
2540                  <p class="text-xs">Livraison offerte dès 49€ d'achat</p>
2541                </div><div class=" prose prose-justify-center" >
2542                  <p class="text-xs">Votre mini duo Nectar Sublime offert dès 50€ d'achat | Code SUBLIME26 &nbsp;</p>
2543                </div></div><carousel-next-button aria-controls="carousel-sections--30543191376210__announcement-bar">
2544              <button type="button" class="tap-area">
2545                <span class="sr-only">Suivant</span>
2546                <svg xmlns="http://www.w3.org/2000/svg" width="13" height="11" viewB
2546ox="0 0 11 8" fill="none">
2547                  <path d="M7.17297 6.59355L10.293 3.47355L7.17297 0.353546" stroke="currentColor" stroke-miterlimit="10"/>
2548                  <path d="M10.293 3.4736H0.292969" stroke="currentColor" stroke-miterlimit="10"/>
2549                </svg>
2550              </button>
2551            </carousel-next-button></announcement-bar>
2552      </height-observer>
2553    </div>
2554
2555    
2555<script>
2556      document.documentElement.style.setProperty('--announcement-bar-height', `${Math.round(document.getElementById('shopify-section-sections--30543191376210__announcement-bar').clientHeight)}px`);
2557    </script>
2557
2558</aside><header id="shopify-section-sections--30543191376210__header" class="shopify-section shopify-section-group-header-group shopify-section--header"><style>
2559  :root {
2560    --header-is-sticky: 1;
2561    --header-is-visible: 1;
2562  }
2563
2564  #shopify-section-sections--30543191376210__header {--header-grid: "primary-nav logo secondary-nav" "search search search" / minmax(0, 1fr) auto minmax(0, 1fr);--header-transparent-header-text-color: 255 255 255;
2565    --header-non-transparent-text-color: 17 13 14;
2566  }
2567
2568  @media screen and (min-width: 1000px) {
2569    #shopify-section-sections--30543191376210__header {--header-grid: "logo primary-nav secondary-nav" / auto minmax(0, 1fr) auto;}
2570  }#shopify-section-sections--30543191376210__header {
2571      position: sticky;
2572      top: 0;
2573    }
2574
2575    .shopify-section--announcement-bar ~ #shopify-section-sections--30543191376210__header {
2576      top: calc(var(--announcement-bar-is-sticky, 0) * var(--announcement-bar-height, 0px));
2577    }#shopify-section-sections--30543191376210__header {
2578      --header-logo-width: 95px;
2579    }
2580
2581    @media screen and (min-width: 700px) {
2582      #shopify-section-sections--30543191376210__header {
2583        --header-logo-width: 110px;
2584      }
2585    }#shopify-section-sections--30543191376210__header .header {
2586    --highlight-link-background: #f0f1f2;
2587    --highlight-link-text-color: #110d0e;
2588    --highlight-link-background-hover: #6b0000;
2589    --highlight-link-text-color-hover: #ffffff;
2590  }
2591
2592  :root:has(.shopify-section:first-child [allow-transparent-header]):not(:has(.shopify-section--header ~ .shopify-section-group-header-group)) #shopify-section-sections--30543191376210__header .header:not(.is-solid, :has([open])) {
2593    --highlight-link-background: #6b0000;
2594    --highlight-link-text-color: #ffffff;
2595    --highlight-link-background-hover: #f0f1f2;
2596    --highlight-link-text-color-hover: #110d0e;
2597  }.header__primary-nav > ul > li > :is(a, span, button) {
2598    font: var(--button-font);
2599    letter-spacing: var(--button-letter-spacing);
2600    text-transform: var(--button-text-transform);
2601  }.header__dropdown-menu :is(span, button) {
2602    display: grid;
2603    grid-auto-flow: column;
2604    justify-content: space-between;
2605    align-items: center;
2606    padding: .4rem 1.75rem;
2607    text-align: start;
2608  }
2609
2610  .header__dropdown-menu:has(.header__dropdown-menu) :is(span, button) {
2611    grid-template-columns: minmax(0, 1fr) 1.5rem;
2612  }
2613
2614  .header__dropdown-menu .header__dropdown-menu :is(span, button) {
2615    grid-template-columns: auto;
2616  }
2617
2618  .header__dropdown-menu :is(span, button):where(:hover, :has(~ [open])) .icon-chevron-right {
2619    transform: translateX(4px);
2620  }.menu-link-static {
2621    cursor: default;
2622  }
2623
2624  .menu-link-static:is(.link, .link-reversed):hover {
2625    background-size: 0 1px;
2626  }
2627
2628  .menu-link-static.link-faded:hover {
2629    color: rgb(var(--text-color) / .6);
2630  }
2631
2632  .menu-link-static.link-faded-reverse:hover {
2633    color: rgb(var(--text-color));
2634  }
2635
2636  .menu-link-static.header__nav-highlight:hover {
2637    background-color: var(--highlight-link-background);
2638    color: var(--highlight-link-text-color);
2639  }
2640
2641  .header__nav-highlight {
2642    background-color: var(--highlight-link-background);
2643    color: var(--highlight-link-text-color);
2644    border-radius: 4px;
2645    padding: .25rem .5rem;
2646    margin-block: -.375rem;
2647    transition: background-color .2s ease-in-out, color .2s ease-in-out;
2648  }
2649
2650  .header__nav-highlight:hover {
2651    background-color: var(--highlight-link-background-hover);
2652    color: var(--highlight-link-text-color-hover);
2653  }
2654
2655  .menu-drawer__link-highlight {
2656    background-color: #6b0000;
2657    color: #ffffff;
2658    border-radius: 6px;
2659    padding: .375rem .75rem;
2660    display: inline-block;
2661  }.header__search-field {
2662    align-items: center;
2663    justify-content: space-between;
2664    gap: 1.5rem;
2665    min-width: 14rem;
2666    font-size: var(--text-sm);
2667    font-weight: 400;
2668    border: 1px solid rgb(var(--text-color) / .2);
2669    border-radius: 8px;
2670    padding: .625rem 1rem;
2671    transition: border-color .2s ease-in-out;
2672    display: flex;
2673  }
2674
2675  @media screen and (min-width: 1200px) {
2676    .header__search-field {
2677      min-width: 16.375rem;
2678    }
2679  }
2680
2681  .header__search-field:hover {
2682    border-color: rgb(var(--text-color) / .5);
2683  }
2684
2685  .header__search-bar {
2686    grid-area: search;
2687    margin-block-start: .75rem;
2688  }@media screen and (min-width: 1000px) {
2689    .header__search-bar {
2690      display: none;
2691    }
2692  }
2693</style>
2694
2695<height-observer variable="header">
2696  <x-header class="header color-scheme color-scheme--scheme-2" ><a href="/" class="header__logo"><span class="sr-only">Melvita</span><img src="//fr.melvita.com/cdn/shop/files/logo-melvita-dark.svg?v=1788265829&amp;width=112" alt="Melvita" srcset="//fr.melvita.com/cdn/shop/files/logo-melvita-dark.svg?v=1788265829&amp;width=112 112w, //fr.melvita.com/cdn/shop/files/logo-melvita-dark.svg?v=1788265829&amp;width=112 112w" width="112" height="26" sizes="110px" class="header__logo-image"><img src="//fr.melvita.com/cdn/shop/files/Logo.png?v=1781171577&amp;width=112" alt="" srcset="//fr.melvita.com/cdn/shop/files/Logo.png?v=1781171577&amp;width=112 112w, //fr.melvita.com/cdn/shop/files/Logo.png?v=1781171577&amp;width=112 112w" width="112" height="26" sizes="110px" class="header__logo-image header__logo-image--transparent"></a><nav class="header__primary-nav " aria-label="Navigation principale">
2697        <button type="button" aria-controls="menu-drawer" class="tap-area md:hidden">
2698          <span class="sr-only">Menu</span>
2699
2700          <div class="h-stack gap-3" aria-hidden="true">
2701            <svg aria-hidden="true" focusable="false" width="16" height="13" viewBox="0 0 16 13" fill="none" xmlns="http://www.w3.org/2000/svg">
2702              <path d="M16 0.5H0" stroke="currentColor" stroke-linejoin="round"/>
2703              <path d="M12 6.5H0" stroke="currentColor" stroke-linejoin="round"/>
2704              <path d="M16 12.5H0" stroke="currentColor" stroke-linejoin="round"/>
2705            </svg>
2706
2707            <span class="subheading md-max:hidden">Menu</span>
2708          </div>
2709        </button><a href="/pages/nos-boutiques" class="header__store-locator-link tap-area md:hidden">
2710            <span class="sr-only">Trouver un magasin</span>
2711            <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2712              <path d="M13.6179 4.45024C11.0709 1.84992 6.94854 1.84992 4.40932 4.45024C1.86226 7.05057 1.86226 11.2591 4.40932 13.8514L9.01754 18.5L13.6258 13.8514C16.1728 11.2511 16.1728 7.04257 13.6258 4.45024H13.6179Z" stroke="currentColor" stroke-linecap="round"/>
2713              <circle cx="9.01855" cy="8" r="1.5" stroke="currentColor"/>
2714            </svg>
2715          </a><ul class="contents unstyled-list md-max:hidden">
2716
2717              <li><a href="/collections/tous-les-produits" class="block text-sm bold"  aria-expanded="false" aria-controls="header-menu-dropdown-1" data-open-on-hover>Produits</a><header-mega-menu id="header-menu-dropdown-1" class="mega-menu justify-between mega-menu--categories color-scheme color-scheme--scheme-2" style="--mega-menu-columns: 4; --mega-menu-category-count: 3;" ><div class="mega-menu__aside v-stack">
2718        <ul class="mega-menu__linklist mega-menu__linklist--aside unstyled-list"><li><a href="/collections/french-days" class="mega-menu__title link-reversed" >French Days</a></li><li><a href="/collections/best-sellers" class="mega-menu__title link-reversed" >Best-sellers</a></li><li><a href="/collections/cadeaux" class="mega-menu__title link-reversed" >Cadeaux</a></li></ul>
2719      </div><div class="mega-menu__navigation"><div class="mega-menu__column v-stack gap-4"><span class="mega-menu__title link-reversed menu-link-static">Soins visage</span><ul class="mega-menu__linklist unstyled-list"><li><a href="/collections/serum-visage" class="link-reversed" >Essence et sérum visage</a></li><li><a href="/collections/creme-visage" class="link-reversed" >Crème visage </a></li><li><a href="/collections/nettoyant-demaquillant" class="link-reversed" >Nettoyant et démaquillant </a></li><li><a href="/collections/exfoliant-visage" class="link-reversed" >Exfoliant et masque visage </a></li><li><a href="/collections/soin-contour-des-yeux" class="link-reversed" >Soin contour des yeux </a></li><li><a href="/collections/eaux-florales" class="link-reversed" >Eau florale</a></li><li><a href="/collections/huile-visage" class="link-reversed" >Huile visage </a></li><li><a href="/collections/bb-creme" class="link-reversed" >BB crème</a></li><li><a href="/collections/baume-a-levres" class="link-reversed" >Baume à lèvres </a></li><li><a href="/collections/tous-les-soins-visage" class="link-reversed" >Tous les soins visage </a></li></ul>
2720          </div><div class="mega-menu__column v-stack gap-4"><span class="mega-menu__title link-reversed menu-link-static">Soins corps </span><ul class="mega-menu__linklist unstyled-list"><li><a href="/collections/serum-corps" class="link-reversed" >Sérum corps</a></li><li><a href="/collections/huile-corps" class="link-reversed" >Huile corps</a></li><li><a href="/collections/creme-corps" class="link-reversed" >Crème corps</a></li><li><a href="/collections/gel-douche-savon" class="link-reversed" >Gel douche et savon</a></li><li><a href="/collections/gommage-corps" class="link-reversed" >Gommage corps</a></li><li><a href="/collections/hygiene" class="link-reversed" >Hygiène quotidienne</a></li><li><a href="/collections/creme-mains" class="link-reversed" >Crème mains</a></li><li><a href="/collections/soin-cheveux" class="link-reversed" >Soin cheveux</a></li><li><a href="/collections/tous-les-soins-corps" class="link-reversed" >Tous les soins corps</a></li></ul>
2721          </div><div class="mega-menu__column v-stack gap-4"><span class="mega-menu__title link-reversed menu-link-static">Préoccupations</span><ul class="mega-menu__linklist unstyled-list"><li><a href="/collections/soin-visage-hydratant" class="link-reversed" >Manque d'hydratation</a></li><li><a href="/collections/soin-visage-eclat" class="link-reversed" >Manque d'éclat</a></li><li><a href="/collections/soin-rides-et-ridules" class="link-reversed" >Rides et ridules</a></li><li><a href="/collections/peau-seche-inconfortable" class="link-reversed" >Peau sèche et inconfortable</a></li><li><a href="/collections/soin-visage-fermete" class="link-reversed" >Manque de fermeté</a></li><li><a href="/collections/soin-visage-taches" class="link-reversed" >Taches pigmentaires</a></li><li><a href="/collections/soin-visage-rougeurs" class="link-reversed" >Peau sensible et rougeurs</a></li><li><a href="/collections/soin-visage-imperfections" class="link-reversed" >Peau à imperfections</a></li></ul>
2722          </div></div>
2722<script src="//fr.melvita.com/cdn/shop/t/4/assets/ax-menu-promo.js?v=174421363216936711411789037182" defer="defer"></script>
2722<style>
2723    #promo-block-list-mega_menu_qQWnVzmega-menu {
2724      --menu-promo-block-column-gap: 12px;
2725      --menu-promo-blocks-count: 1;
2726    }
2727  </style>
2728
2729  <div id="promo-block-list-mega_menu_qQWnVzmega-menu" class="menu-promo menu-promo--without-spacing">
2730    <scroll-carousel id="promo-block-list-mega_menu_qQWnVzmega-menu-carousel" class="menu-promo__carousel scroll-area" allow-drag>
2731
2732
2733
2734
2735
2736
2737        <a href="/products/eau-extraordinaire-source-de-roses" class="menu-promo__item @container/content-box group"><div class="content-box overflow-hidden h-full" style="--text-color: 255 255 255; color: rgb(var(--text-color));--border-color: var(--text-color) / 0.15;"><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/TEX-SDR-EAU_EXTRA_1200x1200_1ceaa359-0990-4cc2-8ffb-c00a2bfabf53.png?v=1787301174&amp;width=1200" alt="" srcset="//fr.melvita.com/cdn/shop/files/TEX-SDR-EAU_EXTRA_1200x1200_1ceaa359-0990-4cc2-8ffb-c00a2bfabf53.png?v=1787301174&amp;width=420 420w, //fr.melvita.com/cdn/shop/files/TEX-SDR-EAU_EXTRA_1200x1200_1ceaa359-0990-4cc2-8ffb-c00a2bfabf53.png?v=1787301174&amp;width=840 840w" width="1200" height="1200" loading="lazy" sizes="420px" class="zoom-image group-hover:zoom"></div><div class="place-self-end-start text-start"><div class="v-stack text-start gap-1"><p class="subheading">L’efficacité par le plaisir</p>
2738          
2739</div></div></div></a></scroll-carousel>
2740  </div></header-mega-menu>
2741</li>
2742
2743              <li><a href="/pages/marque" class="block text-sm bold"  aria-expanded="false" aria-controls="header-menu-dropdown-2" data-open-on-hover>Marque </a><header-mega-menu id="header-menu-dropdown-2" class="mega-menu justify-between color-scheme color-scheme--scheme-2" >
2743<script src="//fr.melvita.com/cdn/shop/t/4/assets/ax-menu-promo.js?v=174421363216936711411789037182" defer="defer"></script>
2743<style>
2744    #promo-block-list-mega_menu_N3Ed7Cmega-menu {
2745      --menu-promo-block-column-gap: 12px;
2746      --menu-promo-blocks-count: 3;
2747    }
2748  </style>
2749
2750  <div id="promo-block-list-mega_menu_N3Ed7Cmega-menu" class="menu-promo menu-promo--without-spacing">
2751    <scroll-carousel id="promo-block-list-mega_menu_N3Ed7Cmega-menu-carousel" class="menu-promo__carousel scroll-area" allow-drag>
2752
2753        <a href="/pages/notre-histoire" class="menu-promo__item @container/content-box group"><div class="content-box overflow-hidden h-full" style="--text-color: 255 255 255; color: rgb(var(--text-color));--border-color: var(--text-color) / 0.15;"><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/VISUEL-HISTOIRE-MENU.jpg?v=1787925243&amp;width=840" alt="" srcset="//fr.melvita.com/cdn/shop/files/VISUEL-HISTOIRE-MENU.jpg?v=1787925243&amp;width=420 420w, //fr.melvita.com/cdn/shop/files/VISUEL-HISTOIRE-MENU.jpg?v=1787925243&amp;width=840 840w" width="840" height="680" loading="lazy" sizes="420px" class="zoom-image group-hover:zoom"></div><div class="place-self-end-start text-start"><div class="v-stack text-start gap-1"><p class="subheading">NOTRE HISTOIRE</p>
2754          
2755</div></div></div></a>
2756
2757        <a href="/pages/notre-expertise" class="menu-promo__item @container/content-box group"><div class="content-box overflow-hidden h-full" style="--text-color: 255 255 255; color: rgb(var(--text-color));--border-color: var(--text-color) / 0.15;"><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/TEX-HAIRCARE-SERUM_840x680_21c44065-4b15-4e12-b18f-4c6e6f3daead.jpg?v=1788189419&amp;width=840" alt="" srcset="//fr.melvita.com/cdn/shop/files/TEX-HAIRCARE-SERUM_840x680_21c44065-4b15-4e12-b18f-4c6e6f3daead.jpg?v=1788189419&amp;width=420 420w, //fr.melvita.com/cdn/shop/files/TEX-HAIRCARE-SERUM_840x680_21c44065-4b15-4e12-b18f-4c6e6f3daead.jpg?v=1788189419&amp;width=840 840w" width="840" height="680" loading="lazy" sizes="420px" class="zoom-image group-hover:zoom"></div><div class="place-self-end-start text-start"><div class="v-stack text-start gap-1"><p class="subheading">NOTRE EXPERTISE</p>
2758          
2759</div></div></div></a>
2760
2761        <a href="/pages/nos-engagements" class="menu-promo__item @container/content-box group"><div class="content-box overflow-hidden h-full" style="--text-color: 255 255 255; color: rgb(var(--text-color));--border-color: var(--text-color) / 0.15;"><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/VISUEL-ENGAGEMENT.jpg?v=1787925182&amp;width=840" alt="" srcset="//fr.melvita.com/cdn/shop/files/VISUEL-ENGAGEMENT.jpg?v=1787925182&amp;width=420 420w, //fr.melvita.com/cdn/shop/files/VISUEL-ENGAGEMENT.jpg?v=1787925182&amp;width=840 840w" width="840" height="680" loading="lazy" sizes="420px" class="zoom-image group-hover:zoom"></div><div class="place-self-end-start text-start"><div class="v-stack text-start gap-1"><p class="subheading">NOS ENGAGEMENTS</p>
2762          
2763</div></div></div></a>
2764
2765
2766</scroll-carousel>
2767  </div></header-mega-menu>
2768</li></ul></nav><nav class="header__secondary-nav" aria-label="Navigation secondaire">
2769      <ul class="contents unstyled-list"><li class="header__news-link" hidden>
2770          <news-modal-button class="contents">
2771            <button class="tap-area" aria-controls="news-modal" aria-expanded="false">
2772              <span class="sr-only">Modale des actualités</span><svg aria-hidden="true" focusable="false" width="16" fill="none" class="icon icon-bell" style="--icon-mobile-max-width: 16px; --icon-max-width: 20px" part="icon" viewBox="0 0 16 16">
2773        <path stroke-width="1" stroke="currentColor" d="M3.333 7v3.333L2 12.5h12l-1.333-2.167V7A4.665 4.665 0 0 0 4.7 3.7 4.667 4.667 0 0 0 3.333 7ZM6.5 15.5h3" />
2774      </svg></button>
2775          </news-modal-button>
2776        </li>
2777
2778        <li class="header__search-link md-max:hidden">
2779          <a href="/search" class="header__search-field" aria-controls="search-drawer">
2780            <span>Que recherchez-vous ?</span><svg aria-hidden="true" focusable="false" width="24" fill="none" class="icon icon-search"  part="icon" viewB
2780ox="0 0 16 16">
2781        <path stroke-width="1" stroke="currentColor" d="M1.333 7.333a6 6 0 1 0 12 0 6 6 0 0 0-12 0ZM11.575 11.576l3.09 3.09" />
2782      </svg></a>
2783        </li><li class="md-max:hidden">
2784          <hr class="header__secondary-nav-separator" />
2785        </li><li class="header__store-locator-link md-max:hidden">
2786            <a href="/pages/nos-boutiques" class="block tap-area">
2787              <span class="sr-only">Trouver un magasin</span>
2788              <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2789                <path d="M13.6179 4.45024C11.0709 1.84992 6.94854 1.84992 4.40932 4.45024C1.86226 7.05057 1.86226 11.2591 4.40932 13.8514L9.01754 18.5L13.6258 13.8514C16.1728 11.2511 16.1728 7.04257 13.6258 4.45024H13.6179Z" stroke="currentColor" stroke-linecap="round"/>
2790                <circle cx="9.01855" cy="8" r="1.5" stroke="currentColor"/>
2791              </svg>
2792            </a>
2793          </li><li class="header__account-link">
2794            <shopify-store store-domain="https://fr.melvita.com" country="FR" language="fr"></shopify-store>
2795<shopify-account menu="customer-account-main-menu">
2796              <div slot="signed-out-avatar" class="tap-area">
2797                <span class="sr-only">Connexion</span>
2798                <svg aria-hidden="true" focusable="false" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2799                  <circle cx="10" cy="5.94336" r="1.5" stroke="currentColor"/>
2800                  <path d="M3.88672 16.0566C3.88672 12.6827 6.62136 9.94336 10 9.94336C13.3786 9.94336 16.1133 12.678 16.1133 16.0566" stroke="currentColor" stroke-linejoin="round"/>
2801                </svg>
2802              </div>
2803            </shopify-account>
2804          </li><li class="header__cart-link relative">
2805          <a href="/cart" class="block tap-area"  data-no-instant>
2806            <span class="sr-only">Panier</span>
2807            <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="14" height="15" viewBox="0 0 14 15" fill="none">
2808              <path d="M10.2196 3.16578V5.31865C10.2196 7.11693 8.75689 8.57962 6.95861 8.57962C5.16033 8.57962 3.69764 7.11693 3.69764 5.31865V3.16578M0.5 0.5H13.4236V14.5H0.5V0.5Z" stroke="currentColor"/>
2809            </svg>
2810          </a>
2811
2812          <cart-count class="header__active-dot"hidden>
2813            <span class="sr-only">0 article</span>
2814          </cart-count>
2815        </li></ul>
2816    </nav><a href="/search" class="header__search-field header__search-bar md:hidden" aria-controls="search-drawer">
2817        <span>Que recherchez-vous ?</span><svg aria-hidden="true" focusable="false" width="24" fill="none" class="icon icon-search"  part="icon" viewBox="0 0 16 16">
2818        <path stroke-width="1" stroke="currentColor" d="M1.333 7.333a6 6 0 1 0 12 0 6 6 0 0 0-12 0ZM11.575 11.576l3.09 3.09" />
2819      </svg></a><link href="//fr.melvita.com/cdn/shop/t/4/assets/ax-menu-drawer.css?v=20666038638637104561787828863" rel="stylesheet" type="text/css" media="all" />
2820
2821<header-menu-drawer id="menu-drawer" class="menu-drawer color-scheme color-scheme--scheme-2">
2822  <template>
2823    <div part="overlay"></div>
2824
2825    <div part="content">
2826      <slot></slot>
2827    </div>
2828  </template><header-menu-drawer-panel id="menu-drawer-panel-main" data-main-panel class="menu-drawer__panel">
2829    <div class="menu-drawer__panel-body">
2830      <div class="menu-drawer__sections"><div class="menu-drawer__cards scroll-area"><a href="/collections/french-days" class="menu-drawer__card content-box" ><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/OFFRES_1200x1200_4aeb87f3-932c-40b2-8a49-fb8d87e4fbc5.png?v=1787854405&amp;width=1200" alt="" srcset="//fr.melvita.com/cdn/shop/files/OFFRES_1200x1200_4aeb87f3-932c-40b2-8a49-fb8d87e4fbc5.png?v=1787854405&amp;width=142 142w, //fr.melvita.com/cdn/shop/files/OFFRES_1200x1200_4aeb87f3-932c-40b2-8a49-fb8d87e4fbc5.png?v=1787854405&amp;width=284 284w, //fr.melvita.com/cdn/shop/files/OFFRES_1200x1200_4aeb87f3-932c-40b2-8a49-fb8d87e4fbc5.png?v=1787854405&amp;width=426 426w" width="1200" height="1200" loading="lazy" sizes="142px"></div><span class="menu-drawer__card-title h5">French Days</span></a><a href="/collections/best-sellers" class="menu-drawer__card content-box" ><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/Large-2026_SDR_-_GLOW_GEL_CREAM_-_2IN1_MASK_-_GLOW_GEL_CREAM.jpg?v=1787300178&amp;width=1200" alt="" srcset="//fr.melvita.com/cdn/shop/files/Large-2026_SDR_-_GLOW_GEL_CREAM_-_2IN1_MASK_-_GLOW_GEL_CREAM.jpg?v=1787300178&amp;width=142 142w, //fr.melvita.com/cdn/shop/files/Large-2026_SDR_-_GLOW_GEL_CREAM_-_2IN1_MASK_-_GLOW_GEL_CREAM.jpg?v=1787300178&amp;width=284 284w, //fr.melvita.com/cdn/shop/files/Large-2026_SDR_-_GLOW_GEL_CREAM_-_2IN1_MASK_-_GLOW_GEL_CREAM.jpg?v=1787300178&amp;width=426 426w" width="1200" height="1200" loading="lazy" sizes="142px"></div><span class="menu-drawer__card-title h5">Best-sellers</span></a><a href="/collections/cadeaux" class="menu-drawer__card content-box" ><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/ING-ROSE2_1200x1200_c4171a2c-3cf0-4fb9-9891-29a87c77d7f1.png?v=1787300780&amp;width=1200" alt="" srcset="//fr.melvita.com/cdn/shop/files/ING-ROSE2_1200x1200_c4171a2c-3cf0-4fb9-9891-29a87c77d7f1.png?v=1787300780&amp;width=142 142w, //fr.melvita.com/cdn/shop/files/ING-ROSE2_1200x1200_c4171a2c-3cf0-4fb9-9891-29a87c77d7f1.png?v=1787300780&amp;width=284 284w, //fr.melvita.com/cdn/shop/files/ING-ROSE2_1200x1200_c4171a2c-3cf0-4fb9-9891-29a87c77d7f1.png?v=1787300780&amp;width=426 426w" width="1200" height="1200" loading="lazy" sizes="142px"></div><span class="menu-drawer__card-title h5">Cadeaux</span></a></div><ul class="menu-drawer__nav faded-linklist unstyled-list"><li><button type="button" class="menu-drawer__link" data-panel-toggle aria-controls="menu-drawer-panel-primary-1"><span>Soins visage</span><svg aria-hidden="true" focusable="false" width="10" class="menu-drawer__link-chevron icon icon-chevron-right"  part="icon" viewB
2830ox="0 0 9 10">
2831        <path fill="none" stroke="currentColor" stroke-width="1.5" d="m2.5 9 4-4-4-4"/>
2832      </svg></button></li><li><button type="button" class="menu-drawer__link" data-panel-toggle aria-controls="menu-drawer-panel-primary-2"><span>Soins corps</span><svg aria-hidden="true" focusable="false" width="10" class="menu-drawer__link-chevron icon icon-chevron-right"  part="icon" viewBox="0 0 9 10">
2833        <path fill="none" stroke="currentColor" stroke-width="1.5" d="m2.5 9 4-4-4-4"/>
2834      </svg></button></li><li><button type="button" class="menu-drawer__link" data-panel-toggle aria-controls="menu-drawer-panel-primary-3"><span>Préoccupations</span><svg aria-hidden="true" focusable="false" width="10" class="menu-drawer__link-chevron icon icon-chevron-right"  part="icon" viewBox="0 0 9 10">
2835        <path fill="none" stroke="currentColor" stroke-width="1.5" d="m2.5 9 4-4-4-4"/>
2836      </svg></button></li><li><button type="button" class="menu-drawer__link" data-panel-toggle aria-controls="menu-drawer-panel-primary-4"><span>Marque </span><svg aria-hidden="true" focusable="false" width="10" class="menu-drawer__link-chevron icon icon-chevron-right"  part="icon" viewBox="0 0 9 10">
2837        <path fill="none" stroke="currentColor" stroke-width="1.5" d="m2.5 9 4-4-4-4"/>
2838      </svg></button></li></ul><a href="/products/eau-extraordinaire-source-de-roses" class="menu-drawer__push content-box"><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/TEXT-SDR-EAU-EXTRA_981x558_9107dab0-51a9-4c3b-a17a-ff352015bb2c.png?v=1787316353&amp;width=837" alt="" srcset="//fr.melvita.com/cdn/shop/files/TEXT-SDR-EAU-EXTRA_981x558_9107dab0-51a9-4c3b-a17a-ff352015bb2c.png?v=1787316353&amp;width=400 400w, //fr.melvita.com/cdn/shop/files/TEXT-SDR-EAU-EXTRA_981x558_9107dab0-51a9-4c3b-a17a-ff352015bb2c.png?v=1787316353&amp;width=600 600w, //fr.melvita.com/cdn/shop/files/TEXT-SDR-EAU-EXTRA_981x558_9107dab0-51a9-4c3b-a17a-ff352015bb2c.png?v=1787316353&amp;width=800 800w" width="837" height="558" loading="lazy" sizes="(max-width: 480px) 100vw, 432px"></div><span class="menu-drawer__push-heading h2">Un soin pour hydrater</span></a></div>
2839    </div></header-menu-drawer-panel><header-menu-drawer-panel id="menu-drawer-panel-primary-1" class="menu-drawer__panel color-scheme color-scheme--scheme-2">
2840  <div class="menu-drawer__panel-body">
2841    <div class="menu-drawer__sections menu-drawer__sections--panel">
2842      <button type="button" class="menu-drawer__back" data-panel-toggle aria-controls="menu-drawer-panel-main">Retour</button>
2843
2844      <div class="menu-drawer__sections"><ul class="menu-drawer__nav unstyled-list"><li><a href="/collections/serum-visage" class="menu-drawer__panel-link link-reversed" >Essence et sérum visage</a></li><li><a href="/collections/creme-visage" class="menu-drawer__panel-link link-reversed" >Crème visage</a></li><li><a href="/collections/nettoyant-demaquillant" class="menu-drawer__panel-link link-reversed" >Nettoyant et démaquillant</a></li><li><a href="/collections/exfoliant-visage" class="menu-drawer__panel-link link-reversed" >Exfoliant et masque visage</a></li><li><a href="/collections/soin-contour-des-yeux" class="menu-drawer__panel-link link-reversed" >Soin contour des yeux</a></li><li><a href="/collections/eaux-florales" class="menu-drawer__panel-link link-reversed" >Eau florale</a></li><li><a href="/collections/huile-visage" class="menu-drawer__panel-link link-reversed" >Huile visage</a></li><li><a href="/collections/bb-creme" class="menu-drawer__panel-link link-reversed" >BB crème</a></li><li><a href="/collections/baume-a-levres" class="menu-drawer__panel-link link-reversed" >Baume à lèvres</a></li><li><a href="/collections/tous-les-soins-visage" class="menu-drawer__panel-link link-reversed" >Tous les soins visage</a></li></ul></div>
2845    </div>
2846  </div>
2847</header-menu-drawer-panel>
2848<header-menu-drawer-panel id="menu-drawer-panel-primary-2" class="menu-drawer__panel color-scheme color-scheme--scheme-2">
2849  <div class="menu-drawer__panel-body">
2850    <div class="menu-drawer__sections menu-drawer__sections--panel">
2851      <button type="button" class="menu-drawer__back" data-panel-toggle aria-controls="menu-drawer-panel-main">Retour</button>
2852
2853      <div class="menu-drawer__sections"><ul class="menu-drawer__nav unstyled-list"><li><a href="/collections/serum-corps" class="menu-drawer__panel-link link-reversed" >Sérum corps</a></li><li><a href="/collections/huile-corps" class="menu-drawer__panel-link link-reversed" >Huile corps</a></li><li><a href="/collections/creme-corps" class="menu-drawer__panel-link link-reversed" >Crème corps</a></li><li><a href="/collections/gel-douche-savon" class="menu-drawer__panel-link link-reversed" >Gel douche et savon</a></li><li><a href="/collections/gommage-corps" class="menu-drawer__panel-link link-reversed" >Gommage corps</a></li><li><a href="/collections/hygiene" class="menu-drawer__panel-link link-reversed" >Hygiène quotidienne</a></li><li><a href="/collections/creme-mains" class="menu-drawer__panel-link link-reversed" >Crème mains</a></li><li><a href="/collections/soin-cheveux" class="menu-drawer__panel-link link-reversed" >Soin cheveux</a></li><li><a href="/collections/tous-les-soins-corps" class="menu-drawer__panel-link link-reversed" >Tous les soins corps</a></li></ul></div>
2854    </div>
2855  </div>
2856</header-menu-drawer-panel>
2857<header-menu-drawer-panel id="menu-drawer-panel-primary-3" class="menu-drawer__panel color-scheme color-scheme--scheme-2">
2858  <div class="menu-drawer__panel-body">
2859    <div class="menu-drawer__sections menu-drawer__sections--panel">
2860      <button type="button" class="menu-drawer__back" data-panel-toggle aria-controls="menu-drawer-panel-main">Retour</button>
2861
2862      <div class="menu-drawer__sections"><ul class="menu-drawer__nav unstyled-list"><li><a href="/collections/soin-visage-hydratant" class="menu-drawer__panel-link link-reversed" >Manque d'hydratation</a></li><li><a href="/collections/soin-visage-eclat" class="menu-drawer__panel-link link-reversed" >Manque d'éclat</a></li><li><a href="/collections/soin-rides-et-ridules" class="menu-drawer__panel-link link-reversed" >Rides et ridules</a></li><li><a href="/collections/peau-seche-inconfortable" class="menu-drawer__panel-link link-reversed" >Peau sèche et inconfortable</a></li><li><a href="/collections/soin-visage-fermete" class="menu-drawer__panel-link link-reversed" >Manque de fermeté</a></li><li><a href="/collections/soin-visage-taches" class="menu-drawer__panel-link link-reversed" >Tâches pigmentaires</a></li><li><a href="/collections/soin-visage-rougeurs" class="menu-drawer__panel-link link-reversed" >Peau sensible et rougeurs</a></li><li><a href="/collections/soin-visage-imperfections" class="menu-drawer__panel-link link-reversed" >Peau à imperfections</a></li></ul></div>
2863    </div>
2864  </div>
2865</header-menu-drawer-panel>
2866<header-menu-drawer-panel id="menu-drawer-panel-primary-4" class="menu-drawer__panel color-scheme color-scheme--scheme-2">
2867  <div class="menu-drawer__panel-body">
2868    <div class="menu-drawer__sections menu-drawer__sections--panel">
2869      <button type="button" class="menu-drawer__back" data-panel-toggle aria-controls="menu-drawer-panel-main">Retour</button>
2870
2871      <div class="menu-drawer__sections">
2871<script src="//fr.melvita.com/cdn/shop/t/4/assets/ax-menu-promo.js?v=174421363216936711411789037182" defer="defer"></script>
2871<style>
2872    #promo-block-list-mega_menu_N3Ed7Cmenu-drawer-panel-primary-4 {
2873      --menu-promo-block-column-gap: 12px;
2874      --menu-promo-blocks-count: 3;
2875    }
2876  </style>
2877
2878  <div id="promo-block-list-mega_menu_N3Ed7Cmenu-drawer-panel-primary-4" class="menu-promo menu-promo--without-spacing">
2879    <scroll-carousel id="promo-block-list-mega_menu_N3Ed7Cmenu-drawer-panel-primary-4-carousel" class="menu-promo__carousel scroll-area" allow-drag>
2880
2881        <a href="/pages/notre-histoire" class="menu-promo__item @container/content-box group"><div class="content-box overflow-hidden h-full" style="--text-color: 255 255 255; color: rgb(var(--text-color));--border-color: var(--text-color) / 0.15;"><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/VISUEL-HISTOIRE-MENU.jpg?v=1787925243&amp;width=840" alt="" srcset="//fr.melvita.com/cdn/shop/files/VISUEL-HISTOIRE-MENU.jpg?v=1787925243&amp;width=420 420w, //fr.melvita.com/cdn/shop/files/VISUEL-HISTOIRE-MENU.jpg?v=1787925243&amp;width=840 840w" width="840" height="680" loading="lazy" sizes="420px" class="zoom-image group-hover:zoom"></div><div class="place-self-end-start text-start"><div class="v-stack text-start gap-1"><p class="subheading">NOTRE HISTOIRE</p>
2882          
2883</div></div></div></a>
2884
2885        <a href="/pages/notre-expertise" class="menu-promo__item @container/content-box group"><div class="content-box overflow-hidden h-full" style="--text-color: 255 255 255; color: rgb(var(--text-color));--border-color: var(--text-color) / 0.15;"><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/TEX-HAIRCARE-SERUM_840x680_21c44065-4b15-4e12-b18f-4c6e6f3daead.jpg?v=1788189419&amp;width=840" alt="" srcset="//fr.melvita.com/cdn/shop/files/TEX-HAIRCARE-SERUM_840x680_21c44065-4b15-4e12-b18f-4c6e6f3daead.jpg?v=1788189419&amp;width=420 420w, //fr.melvita.com/cdn/shop/files/TEX-HAIRCARE-SERUM_840x680_21c44065-4b15-4e12-b18f-4c6e6f3daead.jpg?v=1788189419&amp;width=840 840w" width="840" height="680" loading="lazy" sizes="420px" class="zoom-image group-hover:zoom"></div><div class="place-self-end-start text-start"><div class="v-stack text-start gap-1"><p class="subheading">NOTRE EXPERTISE</p>
2886          
2887</div></div></div></a>
2888
2889        <a href="/pages/nos-engagements" class="menu-promo__item @container/content-box group"><div class="content-box overflow-hidden h-full" style="--text-color: 255 255 255; color: rgb(var(--text-color));--border-color: var(--text-color) / 0.15;"><div class="content-box__background-media with-overlay"><img src="//fr.melvita.com/cdn/shop/files/VISUEL-ENGAGEMENT.jpg?v=1787925182&amp;width=840" alt="" srcset="//fr.melvita.com/cdn/shop/files/VISUEL-ENGAGEMENT.jpg?v=1787925182&amp;width=420 420w, //fr.melvita.com/cdn/shop/files/VISUEL-ENGAGEMENT.jpg?v=1787925182&amp;width=840 840w" width="840" height="680" loading="lazy" sizes="420px" class="zoom-image group-hover:zoom"></div><div class="place-self-end-start text-start"><div class="v-stack text-start gap-1"><p class="subheading">NOS ENGAGEMENTS</p>
2890          
2891</div></div></div></a>
2892
2893
2894</scroll-carousel>
2895  </div></div>
2896    </div>
2897  </div>
2898</header-menu-drawer-panel>
2899</header-menu-drawer>
2900</x-header>
2901</height-observer>
2902
2903<script>
2904  document.documentElement.style.setProperty('--header-height', `${Math.round(document.getElementById('shopify-section-sections--30543191376210__header').clientHeight)}px`);
2905</script>
2905
2906
2907</header>
2908<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->
2909<section id="shopify-section-sections--30543191408978__cart-drawer" class="shopify-section shopify-section-group-overlay-group shopify-section--cart-drawer">
2910</section><section id="shopify-section-sections--30543191408978__search-drawer" class="shopify-section shopify-section-group-overlay-group shopify-section--search-drawer"><link href="//fr.melvita.com/cdn/shop/t/4/assets/ax-search.css?v=9963105301847081791787240104" rel="stylesheet" type="text/css" media="all" />
2911<script src="//fr.melvita.com/cdn/shop/t/4/assets/ax-search.js?v=35820209326577726131786011914" defer></script>
2911
2912
2913<x-drawer id="search-drawer" class="drawer drawer--search color-scheme color-scheme--scheme-1" handle-editor-events>
2914  <div slot="header">
2915    <form action="/search" id="predictive-search-form" method="GET" aria-owns="predictive-search" class="ax-search__form" role="search"><svg aria-hidden="true" focusable="false" width="20" fill="none" class="icon icon-search"  part="icon" viewBox="0 0 16 16">
2916        <path stroke-width="1" stroke="currentColor" d="M1.333 7.333a6 6 0 1 0 12 0 6 6 0 0 0-12 0ZM11.575 11.576l3.09 3.09" />
2917      </svg><label for="search-drawer-input" class="sr-only">Recherche...</label>
2918      <input id="search-drawer-input" type="search" class="ax-search__input" name="q" placeholder="Recherche..." autocomplete="off" autocorrect="off" spellcheck="false">
2919
2920      <button type="reset" class="ax-search__clear">
2921        <span class="sr-only">Effacer</span><svg aria-hidden="true" focusable="false" width="14" class="icon icon-remove-bin"  part="icon" viewBox="0 0 16 17">
2922        <path stroke="currentColor" fill="none" d="M2 4.5h12M3.5 4.5h9v10h-9v-10ZM6.5 7v5M9.5 7v5M5.5 4.5a2.5 2.5 0 1 1 5 0" />
2923      </svg></button>
2924    </form>
2925  </div>
2926
2927  <predictive-search id="predictive-search">
2928    <div slot="placeholder"><div class="ax-search ax-search--placeholder ax-search--no-aside"></div>
2929    </div><div slot="skeleton" aria-hidden="true">
2930      <div class="ax-search ax-search--skeleton">
2931        <div class="ax-search__aside"><div class="ax-search__group">
2932              <span class="ax-skeleton ax-skeleton--title"></span>
2933              <div class="ax-search__links"><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 70%"></span><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 85%"></span><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 55%"></span><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 70%"></span><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 85%"></span><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 55%"></span></div>
2934            </div><div class="ax-search__group">
2935              <span class="ax-skeleton ax-skeleton--title"></span>
2936              <div class="ax-search__links"><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 70%"></span><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 85%"></span><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 55%"></span><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 70%"></span></div>
2937            </div><div class="ax-search__group">
2938              <span class="ax-skeleton ax-skeleton--title"></span>
2939              <div class="ax-search__links"><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 70%"></span><span class="ax-skeleton ax-skeleton--aside-line" style="--ax-skeleton-w: 85%"></span></div>
2940            </div></div>
2941
2942        <div class="ax-search__main">
2943          <span class="ax-skeleton ax-skeleton--title"></span>
2944          <div class="ax-search__grid ax-search__grid--skeleton"><div class="ax-skeleton-card">
2945                <span class="ax-skeleton ax-skeleton--media aspect-portrait_crop"></span>
2946                <span class="ax-skeleton ax-skeleton--card-title" style="--ax-skeleton-w: 70%"></span>
2947                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 90%"></span>
2948                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 55%"></span>
2949                <span class="ax-skeleton ax-skeleton--card-price" style="--ax-skeleton-w: 30%"></span>
2950              </div><div class="ax-skeleton-card">
2951                <span class="ax-skeleton ax-skeleton--media aspect-portrait_crop"></span>
2952                <span class="ax-skeleton ax-skeleton--card-title" style="--ax-skeleton-w: 70%"></span>
2953                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 90%"></span>
2954                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 55%"></span>
2955                <span class="ax-skeleton ax-skeleton--card-price" style="--ax-skeleton-w: 30%"></span>
2956              </div><div class="ax-skeleton-card">
2957                <span class="ax-skeleton ax-skeleton--media aspect-portrait_crop"></span>
2958                <span class="ax-skeleton ax-skeleton--card-title" style="--ax-skeleton-w: 70%"></span>
2959                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 90%"></span>
2960                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 55%"></span>
2961                <span class="ax-skeleton ax-skeleton--card-price" style="--ax-skeleton-w: 30%"></span>
2962              </div><div class="ax-skeleton-card">
2963                <span class="ax-skeleton ax-skeleton--media aspect-portrait_crop"></span>
2964                <span class="ax-skeleton ax-skeleton--card-title" style="--ax-skeleton-w: 70%"></span>
2965                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 90%"></span>
2966                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 55%"></span>
2967                <span class="ax-skeleton ax-skeleton--card-price" style="--ax-skeleton-w: 30%"></span>
2968              </div><div class="ax-skeleton-card">
2969                <span class="ax-skeleton ax-skeleton--media aspect-portrait_crop"></span>
2970                <span class="ax-skeleton ax-skeleton--card-title" style="--ax-skeleton-w: 70%"></span>
2971                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 90%"></span>
2972                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 55%"></span>
2973                <span class="ax-skeleton ax-skeleton--card-price" style="--ax-skeleton-w: 30%"></span>
2974              </div><div class="ax-skeleton-card">
2975                <span class="ax-skeleton ax-skeleton--media aspect-portrait_crop"></span>
2976                <span class="ax-skeleton ax-skeleton--card-title" style="--ax-skeleton-w: 70%"></span>
2977                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 90%"></span>
2978                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 55%"></span>
2979                <span class="ax-skeleton ax-skeleton--card-price" style="--ax-skeleton-w: 30%"></span>
2980              </div><div class="ax-skeleton-card">
2981                <span class="ax-skeleton ax-skeleton--media aspect-portrait_crop"></span>
2982                <span class="ax-skeleton ax-skeleton--card-title" style="--ax-skeleton-w: 70%"></span>
2983                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 90%"></span>
2984                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 55%"></span>
2985                <span class="ax-skeleton ax-skeleton--card-price" style="--ax-skeleton-w: 30%"></span>
2986              </div><div class="ax-skeleton-card">
2987                <span class="ax-skeleton ax-skeleton--media aspect-portrait_crop"></span>
2988                <span class="ax-skeleton ax-skeleton--card-title" style="--ax-skeleton-w: 70%"></span>
2989                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 90%"></span>
2990                <span class="ax-skeleton ax-skeleton--card-sub" style="--ax-skeleton-w: 55%"></span>
2991                <span class="ax-skeleton ax-skeleton--card-price" style="--ax-skeleton-w: 30%"></span>
2992              </div></div>
2993          <span class="ax-skeleton ax-skeleton--view-all"></span>
2994        </div>
2995      </div>
2996    </div>
2997
2998    <div slot="results" class="contents"><!-- FILL IN JS --></div>
2999  </predictive-search>
3000</x-drawer>
3001
3002</section>
3003<!-- END sections: overlay-group --><main id="main" class="anchor ">
3004      <section id="shopify-section-template--30543204778322__main" class="shopify-section shopify-section--main-cart"><div class="color-scheme color-scheme--scheme-1">
3005  <div class="section-spacing">
3006    <div class="container">
3007      <div class="max-w-2xl mx-auto"><div class="empty-state">
3008            <div class="prose prose-justify-center">
3009              <h1 class="h3">Panier</h1>
3010              <p>Votre panier est vide</p>
3011<a  class="button" href="/collections/best-sellers" ><button-content class="button__content" >Explorer nos produits</button-content></a></div>
3012          </div></div>
3013    </div>
3014  </div>
3015</div>
3016
3017
3018</section>
3019    </main><!-- BEGIN sections: footer-group -->
3020<section id="shopify-section-sections--30543190688082__trust_icons_dhwgem" class="shopify-section shopify-section-group-footer-group shopify-section--trust-icons"><style>
3021    #shopify-section-sections--30543190688082__trust_icons_dhwgem {
3022      --trust-icons-item-count: 4;
3023    }
3024  </style>
3024<script src="//fr.melvita.com/cdn/shop/t/4/assets/ax-product-slider.js?v=135989042043708014381787222692" defer></script>
3024<div class="color-scheme color-scheme--scheme-2"><ax-autoplay-carousel class="trust-icons trust-icons--slider" autoplay="4000">
3025        <scroll-carousel id="trust-icons-sections--30543190688082__trust_icons_dhwgem" class="trust-icons__carousel scroll-area snap-x" allow-drag><div class="trust-icons__item snap-center" role="group" aria-label="Elément 1 de 4" >
3026        <div class="prose prose-justify-center prose--compact"><p class="h7">PAIEMENT SÉCURISÉ</p><p class="text-subdued">Transactions 100% protégées</p></div>
3027      </div><div class="trust-icons__item snap-center" role="group" aria-label="Elément 2 de 4" >
3028        <div class="prose prose-justify-center prose--compact"><p class="h7">FORMULES CERTIFIÉES BIOLOGIQUES</p><p class="text-subdued">Des actifs d'origine naturelle</p></div>
3029      </div><div class="trust-icons__item snap-center" role="group" aria-label="Elément 3 de 4" >
3030        <div class="prose prose-justify-center prose--compact"><p class="h7">LIVRAISON RAPIDE</p><p class="text-subdued">Offerte dès 49€ d'achat</p></div>
3031      </div><div class="trust-icons__item snap-center" role="group" aria-label="Elément 4 de 4" >
3032        <div class="prose prose-justify-center prose--compact"><p class="h7">RETOURS FACILES</p><p class="text-subdued">Sous 14 jours</p></div>
3033      </div></scroll-carousel>
3034
3035        <progress-bar track-scroll-target="trust-icons-sections--30543190688082__trust_icons_dhwgem" class="progress-bar progress-bar--limit-width sm:hidden"></progress-bar>
3036      </ax-autoplay-carousel></div>
3037</section><section id="shopify-section-sections--30543190688082__newsletter" class="shopify-section shopify-section-group-footer-group shopify-section--newsletter"><style>
3038  #shopify-section-sections--30543190688082__newsletter .newsletter-band {
3039    display: grid;
3040    gap: 1.5rem;
3041  }
3042
3043  #shopify-section-sections--30543190688082__newsletter .newsletter-band__description {
3044    max-width: 28rem;
3045  }
3046
3047  /* Email field and submit button on a single row, but kept separate (gap + rounded corners) */
3048  #shopify-section-sections--30543190688082__newsletter .newsletter-band .input-with-connected-submit {
3049    flex-direction: row;
3050    align-items: stretch;
3051    gap: .75rem;
3052  }
3053
3054  #shopify-section-sections--30543190688082__newsletter .newsletter-band .input-with-connected-submit .form-control {
3055    flex-grow: 1;
3056  }
3057
3058  #shopify-section-sections--30543190688082__newsletter .newsletter-band .input-with-connected-submit .input {
3059    --input-padding-block: .5rem;
3060    min-height: 100%;
3061    border-inline-end-width: 1px;
3062    border-radius: var(--input-border-radius);
3063    background-color: transparent;
3064  }
3065
3066  #shopify-section-sections--30543190688082__newsletter .newsletter-band .input-with-connected-submit .button {
3067    --button-padding-block: .5rem;
3068    border-radius: var(--button-border-radius);
3069    font-weight: 700;
3070  }
3071
3072  /* Placeholder ("Votre mail") in solid black instead of the default subdued tone */
3073  #shopify-section-sections--30543190688082__newsletter .newsletter-band .floating-label {
3074    color: rgb(var(--input-text-color, var(--text-color)));
3075    font-size: 14px;
3076  }
3077
3078  /* The theme lowercases every heading; the mockup keeps the original casing */
3079  #shopify-section-sections--30543190688082__newsletter .newsletter-band__heading :where(h1, h2, h3, h4, h5, h6) {
3080    font-weight: 400;
3081    text-transform: none;
3082    line-height: 110%;
3083  }
3084
3085   #shopify-section-sections--30543190688082__newsletter .newsletter-band__heading * {
3086    margin: 0;
3087   }
3088
3089  /* Two-tone heading: light first words, bold highlighted part */
3090  #shopify-section-sections--30543190688082__newsletter .newsletter-band__heading :where(h1, h2, h3, h4, h5, h6) strong {
3091    font-weight: 800;
3092  }
3093
3094  @media screen and (min-width: 1000px) {
3095    #shopify-section-sections--30543190688082__newsletter .newsletter-band {
3096      grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
3097      align-items: center;
3098      gap: clamp(2.5rem, 5vw, 6rem);
3099    }
3100
3101    #shopify-section-sections--30543190688082__newsletter .newsletter-band__heading {
3102      max-width: 21rem;
3103    }
3104
3105    #shopify-section-sections--30543190688082__newsletter .newsletter-band__form {
3106      width: 22rem;
3107    }
3108  }
3109</style>
3110
3111<div class="color-scheme color-scheme--scheme-1"><div class="container section-spacing">
3112      <div class="newsletter-band">
3113        <div class="newsletter-band__heading prose"><h2  class="h3" >Inscrivez-vous <br/>À NOTRE NEWSLETTER !</h2></div><div class="newsletter-band__description text-sm text-subdued">Profitez de -15 % sur votre prochaine commande et découvrez en avant-première nos nouveautés, nos offres exclusives et nos conseils pour prendre soin de votre peau.</div><div class="newsletter-band__form"><form method="post" action="/contact#newsletter-form-sections--30543190688082__newsletter" id="newsletter-form-sections--30543190688082__newsletter" accept-charset="UTF-8" class="form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="contact[tags]" value="newsletter"><div class="input-with-connected-submit"><div class="form-control" ><input id="input--sections--30543190688082__newsletter--contactemail" class="input " type="email" dir="ltr" name="contact[email]" 
3114  
3115  
3116  
3117  
3118  placeholder=" "
3119  autocomplete="email"
3120  
3121  enterkeyhint="send"
3122  required
3123  
3124  
3125  
3126><label for="input--sections--30543190688082__newsletter--contactemail" class="floating-label ">Votre mail</label></div>
3127<button type="submit"  class="button" ><button-content class="button__content" >Envoyer</button-content></button></div></form></div>
3128      </div>
3129    </div></div>
3130
3131
3132</section><footer id="shopify-section-sections--30543190688082__footer" class="shopify-section shopify-section-group-footer-group shopify-section--footer"><div class="footer color-scheme color-scheme--scheme-11">
3133  <div class="container">
3133<div class="footer__content"><div class="footer__block-list"><div class="footer__block footer__block--links footer__block--accordion-links" ><div class="v-stack gap-4.5 sm-max:hidden"><p class="footer__menu-title"><strong>Besoin d'aide ?</strong></p><ul class="v-stack gap-2.5 unstyled-list" role="list"><li><span class="footer__menu-link">Nous contacter</span><ul class="footer__submenu v-stack gap-2.5 unstyled-list" role="list"><li><a href="tel:0475370948" class="footer__menu-link link-reversed link-tap-area">04 75 37 09 48 </a></li><li><a href="mailto:[email protected]" class="footer__menu-link link-reversed link-tap-area">[email protected]</a></li></ul></li><li><a href="/pages/programme-de-fidelite" class="footer__menu-link link-reversed link-tap-area">Programme de fidélité</a></li><li><a href="/pages/programme-de-parrainage" class="footer__menu-link link-reversed link-tap-area">Programme de parrainage</a></li>
3134                      </ul></div><accordion-disclosure class="accordion   sm:hidden" >
3135  <details class="accordion__disclosure"  >
3136    <summary class="accordion__summary   "><span><strong>Besoin d'aide ?</strong></span><svg ria-hidden="true" focusable="false" width="11" class="icon icon-accordion-small-arrow"  part="icon" width="11" height="6" viewBox="0 0 11 6" fill="none">
3137        <path d="M10.5133 0.367188L5.42631 5.06284L0.339355 0.367188" stroke="currentColor" stroke-linejoin="round"/>
3138      </svg></summary>
3139
3140    <div class="accordion__content "><ul class="v-stack gap-2.5 unstyled-list" role="list"><li><span class="footer__menu-link">Nous contacter</span><ul class="footer__submenu v-stack gap-2.5 unstyled-list" role="list"><li>
3140<a href="tel:0475370948" class="footer__menu-link link-reversed link-tap-area">04 75 37 09 48 </a></li><li><a href="mailto:[email protected]" class="footer__menu-link link-reversed link-tap-area">[email protected]</a></li></ul></li><li><a href="/pages/programme-de-fidelite" class="footer__menu-link link-reversed link-tap-area">Programme de fidélité</a></li><li><a href="/pages/programme-de-parrainage" class="footer__menu-link link-reversed link-tap-area">Programme de parrainage</a></li>
3141                      </ul></div>
3142  </details>
3143</accordion-disclosure>
3144</div><div class="footer__block footer__block--links footer__block--accordion-links" ><div class="v-stack gap-4.5 sm-max:hidden"><p class="footer__menu-title"><strong>Nous trouver</strong></p><ul class="v-stack gap-2.5 unstyled-list" role="list"><li><a href="/pages/nos-boutiques" class="footer__menu-link link-reversed link-tap-area">Nos points de vente</a></li><li><a href="/pages/notre-usine" class="footer__menu-link link-reversed link-tap-area">Lagorce : boutique et visite de l'usine</a></li><li><a href="/pages/notre-boutique-et-institut" class="footer__menu-link link-reversed link-tap-area">Aubenas : boutique et institut</a></li>
3145                      </ul></div><accordion-disclosure class="accordion   sm:hidden" >
3146  <details class="accordion__disclosure"  >
3147    <summary class="accordion__summary   "><span><strong>Nous trouver</strong></span><svg ria-hidden="true" focusable="false" width="11" class="icon icon-accordion-small-arrow"  part="icon" width="11" height="6" viewBox="0 0 11 6" fill="none">
3148        <path d="M10.5133 0.367188L5.42631 5.06284L0.339355 0.367188" stroke="currentColor" stroke-linejoin="round"/>
3149      </svg></summary>
3150
3151    <div class="accordion__content "><ul class="v-stack gap-2.5 unstyled-list" role="list"><li><a href="/pages/nos-boutiques" class="footer__menu-link link-reversed link-tap-area">Nos points de vente</a></li><li><a href="/pages/notre-usine" class="footer__menu-link link-reversed link-tap-area">Lagorce : boutique et visite de l'usine</a></li><li><a href="/pages/notre-boutique-et-institut" class="footer__menu-link link-reversed link-tap-area">Aubenas : boutique et institut</a></li>
3152                      </ul></div>
3153  </details>
3154</accordion-disclosure>
3155</div><div class="footer__block footer__block--links footer__block--accordion-links" ><div class="v-stack gap-4.5 sm-max:hidden"><p class="footer__menu-title"><strong>Melvita</strong></p><ul class="v-stack gap-2.5 unstyled-list" role="list"><li><a href="/pages/notre-histoire" class="footer__menu-link link-reversed link-tap-area">Notre histoire </a></li><li><a href="/pages/notre-expertise" class="footer__menu-link link-reversed link-tap-area">Notre expertise </a></li><li><a href="/pages/nos-engagements" class="footer__menu-link link-reversed link-tap-area">Nos engagements </a></li><li><a href="/pages/gammes" class="footer__menu-link link-reversed link-tap-area">Nos gammes </a></li><li><a href="/blogs/articles" class="footer__menu-link link-reversed link-tap-area">Nos articles beauté </a></li><li><a href="/pages/offres" class="footer__menu-link link-reversed link-tap-area">Nos offres saisonnières </a></li><li><a href="/collections/tous-les-produits" class="footer__menu-link link-reversed link-tap-area">Tous nos produits </a></li>
3156                      </ul></div><accordion-disclosure class="accordion   sm:hidden" >
3157  <details class="accordion__disclosure"  >
3158    <summary class="accordion__summary   "><span><strong>Melvita</strong></span><svg ria-hidden="true" focusable="false" width="11" class="icon icon-accordion-small-arrow"  part="icon" width="11" height="6" viewBox="0 0 11 6" fill="none">
3159        <path d="M10.5133 0.367188L5.42631 5.06284L0.339355 0.367188" stroke="currentColor" stroke-linejoin="round"/>
3160      </svg></summary>
3161
3162    <div class="accordion__content "><ul class="v-stack gap-2.5 unstyled-list" role="list"><li><a href="/pages/notre-histoire" class="footer__menu-link link-reversed link-tap-area">Notre histoire </a></li><li><a href="/pages/notre-expertise" class="footer__menu-link link-reversed link-tap-area">Notre expertise </a></li><li><a href="/pages/nos-engagements" class="footer__menu-link link-reversed link-tap-area">Nos engagements </a></li><li><a href="/pages/gammes" class="footer__menu-link link-reversed link-tap-area">Nos gammes </a></li><li><a href="/blogs/articles" class="footer__menu-link link-reversed link-tap-area">Nos articles beauté </a></li><li><a href="/pages/offres" class="footer__menu-link link-reversed link-tap-area">Nos offres saisonnières </a></li><li><a href="/collections/tous-les-produits" class="footer__menu-link link-reversed link-tap-area">Tous nos produits </a></li>
3163                      </ul></div>
3164  </details>
3165</accordion-disclosure>
3166</div><div class="footer__block footer__block--image " ><img src="//fr.melvita.com/cdn/shop/files/Bcorp_Entreprise_Certifiee_White.png?v=1786367857&amp;width=225" alt="Entreprise B Certifiée" srcset="//fr.melvita.com/cdn/shop/files/Bcorp_Entreprise_Certifiee_White.png?v=1786367857&amp;width=60 60w, //fr.melvita.com/cdn/shop/files/Bcorp_Entreprise_Certifiee_White.png?v=1786367857&amp;width=120 120w" width="225" height="343" sizes="60px" style="--image-max-width: 60px; --image-mobile-max-width: 34px" class="constrained-image"></div></div></div><div class="footer__logo-bar" ><div class="footer__big-logo footer__big-logo--static"><img src="//fr.melvita.com/cdn/shop/files/logo-melvita-white.svg?v=1788265829&amp;width=600" alt="" srcset="//fr.melvita.com/cdn/shop/files/logo-melvita-white.svg?v=1788265829&amp;width=200 200w, //fr.melvita.com/cdn/shop/files/logo-melvita-white.svg?v=1788265829&amp;width=400 400w, //fr.melvita.com/cdn/shop/files/logo-melvita-white.svg?v=1788265829&amp;width=600 600w" width="600" height="136" loading="lazy" style="--image-mobile-max-width: 70vw; --image-max-width: 32vw;" class="constrained-image"></div><ul class="social-media unstyled-list" role="list"><li class="social-media__item branding-colors--facebook">
3167      <a href="https://www.facebook.com/MelvitaFR/" class="tap-area" target="_blank" rel="noopener" aria-label="Nous suivre sur Facebook"><svg aria-hidden="true" focusable="false" width="24" class="icon icon-facebook-outline"  viewBox="0 0 24 24" fill="none">
3168        <path transform="translate(6 1.5)" d="M11.5 0.5H8.5C7.17392 0.5 5.90215 1.02678 4.96447 1.96447C4.02678 2.90215 3.5 4.17392 3.5 5.5V8.5H0.5V12.5H3.5V20.5
3168H7.5V12.5H10.5L11.5 8.5H7.5V5.5C7.5 5.23478 7.60536 4.98043 7.79289 4.79289C7.98043 4.60536 8.23478 4.5 8.5 4.5H11.5V0.5Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
3169      </svg></a>
3170    </li><li class="social-media__item branding-colors--instagram">
3171      <a href="https://www.instagram.com/melvitaofficial/" class="tap-area" target="_blank" rel="noopener" aria-label="Nous suivre sur Instagram"><svg aria-hidden="true" focusable="false" width="24" class="icon icon-instagram-outline"  viewBox="0 0 24 24" fill="none">
3172        <path d="M17 2H7C4.23858 2 2 4.23858 2 7V17C2 19.7614 4.23858 22 7 22H17C19.7614 22 22 19.7614 22 17V7C22 4.23858 19.7614 2 17 2Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
3173        <path d="M15.9997 11.3703C16.1231 12.2025 15.981 13.0525 15.5935 13.7993C15.206 14.5461 14.5929 15.1517 13.8413 15.53C13.0898 15.9082 12.2382 16.0399 11.4075 15.9062C10.5768 15.7726 9.80947 15.3804 9.21455 14.7855C8.61962 14.1905 8.22744 13.4232 8.09377 12.5925C7.96011 11.7619 8.09177 10.9102 8.47003 10.1587C8.84829 9.40716 9.45389 8.79404 10.2007 8.40654C10.9475 8.01904 11.7975 7.87689 12.6297 8.0003C13.4786 8.12619 14.2646 8.52176 14.8714 9.12861C15.4782 9.73545 15.8738 10.5214 15.9997 11.3703Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
3174        <path d="M17.5 6.5H17.51" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
3175      </svg></a>
3176    </li><li class="social-media__item branding-colors--youtube">
3177      <a href="https://www.youtube.com/user/MelvitaFR" class="tap-area" target="_blank" rel="noopener" aria-label="Nous suivre sur YouTube"><svg aria-hidden="true" focusable="false" width="24" class="icon icon-youtube-outline"  viewBox="0 0 24 24" fill="none">
3178        <path d="M22.5401 6.42C22.4213 5.94541 22.1794 5.51057 21.8387 5.15941C21.4981 4.80824 21.0708 4.55318 20.6001 4.42C18.8801 4 12.0001 4 12.0001 4C12.0001 4 5.12008 4 3.40008 4.46C2.92933 4.59318 2.50206 4.84824 2.16143 5.19941C1.8208 5.55057 1.57887 5.98541 1.46008 6.46C1.1453 8.20556 0.991319 9.97631 1.00008 11.75C0.988863 13.537 1.14285 15.3213 1.46008 17.08C1.59104 17.5398 1.83839 17.9581 2.17823 18.2945C2.51806 18.6308 2.9389 18.8738 3.40008 19C5.12008 19.46 12.0001 19.46 12.0001 19.46C12.0001 19.46 18.8801 19.46 20.6001 19C21.0708 18.8668 21.4981 18.6118 21.8387 18.2606C22.1794 17.9094 22.4213 17.4746 22.5401 17C22.8524 15.2676 23.0064 13.5103 23.0001 11.75C23.0113 9.96295 22.8573 8.1787 22.5401 6.42Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
3179        <path d="M9.75 15.0205L15.5 11.7505L9.75 8.48047V15.0205Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
3180      </svg></a>
3181    </li></ul></div><div class="footer__aside"><ul class="footer__legal-links unstyled-list" role="list"><li><a href="/pages/donnees-personnelles" class="footer__legal-link link-reversed link-tap-area">Données personnelles</a></li><li><a href="/pages/conditions-generales-de-vente" class="footer__legal-link link-reversed link-tap-area">Conditions générales de vente </a></li><li><a href="/pages/charte-cookie" class="footer__legal-link link-reversed link-tap-area">Charte cookies </a></li><li><a
3182    href="#cookie"
3183    class="footer__legal-link link-reversed link-tap-area"
3184    onclick="if(window.OneTrust){event.preventDefault();OneTrust.ToggleInfoDisplay()}"
3185  >Gestion des cookies </a></li><li><a href="/pages/mentions-legales" class="footer__legal-link link-reversed link-tap-area">Mentions légales </a></li><li><a href="/pages/conditions-generales-programme-de-fidelite" class="footer__legal-link link-reversed link-tap-area">Conditions générales - Programme de fidélité</a></li></ul></div></div>
3186</div>
3187
3188</footer>
3189<!-- END sections: footer-group --><x-toast class="toast">
3190      
3191    </x-toast>
3192
3193    
3193<script>
3194      if (window) {const urlParams = new URLSearchParams(window?.location?.search);
3195      const sales_token = urlParams.get('ts');
3196      if (sales_token) {window.localStorage.setItem('kolsquare', JSON.stringify({ sales_token }));}}
3197    </script>
3197
3198  
3198<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3198
3199</body>
3200</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.