PageSourceSearch

https://www.we-wall.com/customer/account/login/

html we-wall.com collected 2026-10-08 11:24:29 UTC 309,663 bytes, 5,280 lines download raw bytes

1<!doctype html>
2<html lang="fr-FR">
3<head >
4    <meta charset="utf-8"/>
5<meta name="title" content="Accès client"/>
6<meta name="robots" content="INDEX,FOLLOW"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<meta name="p:domain_verify" content="d389a291a8f8dd4dbe792d189fd2b956"/>
9<title>Accès client</title>
10<link  rel="stylesheet" type="text/css"  media="all" href="https://www.we-wall.com/static/version1786625269/_cache/merged/7248ab8d3fcb52de06488d6407b768c1.min.css" />
11<link  rel="icon" type="image/x-icon" href="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/Magento_Theme/favicon.ico" />
12<link  rel="shortcut icon" type="image/x-icon" href="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/Magento_Theme/favicon.ico" />
13
14<meta name="clarity-site-verification" content="4de2f6ce-a325-4f60-9f27-1602f7e5bcbf”/>    
15
16
17
18<style>
19    picture.mfwebp source.lazyload,
20    picture.mfwebp source.lazy {background:none;content:none;}
21</style>
22
23
24
25
26<!-- GOOGLE TAG MANAGER -->
27
28<!-- END GOOGLE TAG MANAGER -->
29
30
31
32
33
34
35
36
37    
38
39    
40
41    
42
43    
44<!-- added by Trusted Shops app: Start -->
45
46<!-- End -->
47    
48</head>
49<body id="html-body" class="mst-nav__theme-hyva-reset mst-nav__theme-hyva-default mst-nav__theme-texdecor-default customer-account-login page-layout-1column">
50
51<input name="form_key" type="hidden" value="Re5fy3d9lYbPZkVe" /><div class="page-wrapper"><header id="header-container" class="page-header bg-white">        
52
53    
54<a class="action skip sr-only contentarea"
55   href="#contentarea">
56    <span>
57        Allez au contenu    </span>
58</a>
59
60
61<!--Clarity-->
62
63
64
65<div id="header"
66     class="container px-2 xlg:px-4 relative z-50 bg-white"
67     x-data="initHeader()"
68     @keydown.window.escape="searchOpen = false;"
69     @private-content-loaded.window="getData(event.detail.data)"
70     @scroll.window="scroll();">
71    <div id="pre-header-links" class="hidden xlg:flex gap-5 py-2">
72        <div class="full-width bg-neutral-100 hidden xlg:flex absolute top-0 left-0 h-[32px]"></div>
73        <div class="w-5/12">
74            <!-- Begin eTrusted widget tag -->
75            <etrusted-widget data-etrusted-widget-id="wdg-40912a33-e472-4606-850b-e3dbdde0c85a" class="h-[32px] block absolute -top-4 -left-20 w-[400px] z-[120]"></etrusted-widget>
76            <!-- End eTrusted widget tag -->
77        </div>
78
79        <div class="flex justify-end w-7/12">
80                            <span data-o="aHR0cHM6Ly93d3cud2Utd2FsbC5jb20vbm9zLXNlcnZpY2VzI3JldHJhaXQ,"
81                      class="hidden-when-print btn btn-tertiary btn-link text-xs text-neutral-700 obfuscated mr-4"
82                      title="Retrait&#x20;gratuit">
83                    <span>Retrait gratuit</span>
84                </span>
85                                        <span data-o="aHR0cHM6Ly93d3cud2Utd2FsbC5jb20vbm9zLXNlcnZpY2VzI3NhbXBsZQ,,"
86                      class="hidden-when-print btn btn-tertiary btn-link text-xs text-neutral-700 obfuscated mr-4"
87                      title="Commandes&#x20;&#xE9;chantillons">
88                    <span>Commandes échantillons</span>
89                </span>
90                                                    <span data-o="aHR0cHM6Ly93d3cud2Utd2FsbC5jb20vbm9zLW1hcnF1ZXM,"
91                      class="hidden-when-print btn btn-tertiary btn-link text-xs text-neutral-700 obfuscated mr-4"
92                      title="Nos&#x20;marques">
93                    <span>Nos marques</span>
94                </span>
95                                        <span data-o="aHR0cHM6Ly93d3cud2Utd2FsbC5jb20vcmV0YWlsZXIvYWNjb3VudC9sb2dpbi8,"
96                      class="hidden-when-print btn btn-tertiary btn-link text-xs text-neutral-700 obfuscated"
97                      title="Espace&#x20;partenaire">
98                    <span>Espace partenaire</span>
99                </span>
100                    </div>
101    </div>
102
103    <div class="contain-header flex flex-wrap items-center xlg:items-center justify-between mt-0 xlg:mt-2 xlg:h-auto">
104        <button @click="navMobile = !navMobile; document.documentElement.classList.add('noscroll');" type="button"
105                class="inline-flex xlg:hidden btn btn-tertiary btn-icon-only btn-size-md"
106                aria-label="Ouvrir&#x20;la&#x20;navigation">
107            <svg fill="currentColor" class="w-6 h-6" focusable="false" aria-hidden="true"
108                 xmlns="http://www.w3.org/2000/svg"
109                 viewBox="0 0 24 24">
110                <path d="M22 4.5H2v1.108h20V4.5Zm-2.523 7.108H2v1.109h20v-1.109Zm-2.523 7H2v1.109h20v-1.109Z"/>
111            </svg>
112        </button>
113
114        
115<a class="max-w-144 md:max-w-none logo block"
116   href="https://www.we-wall.com/"
117   title="WE&#x20;WALL"
118   aria-label="store logo">
119    <img class="block" src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/images/we-wall.svg"
120         title="WE&#x20;WALL"
121         alt="WE&#x20;WALL"
122        width="240"        height="60"    />
123</a>
124
125
126
127        <div class="w-full xlg:w-[48rem] flex justify-center order-last xlg:order-none">
128            <button id="menu-search-icon"
129                    title="Recherche interne"
130                    class="inline-flex items-center w-full xlg:w-2/3 mx-3 mb-3 xlg:m-0 h-9 border-solid border border-black hover:bg-neutral-100"
131                    rel="nofollow"
132                    @click.prevent="
133                        searchOpen = !searchOpen;
134                        $nextTick(function () { document.querySelector('#search').select(); });">
135                <div class="w-full flex items-center justify-start">
136                    <span class="ml-4 text-neutral-600 text-sm">Quel papier peint cherchez-vous ?</span>
137                </div>
138
139                <div class="w-9 h-[calc(2.25rem-2px)] bg-primary-500 flex items-center justify-center">
140                    <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="w-6 h-6" width="24" height="24">
141                        <path d="M10.64 19.28C5.88 19.28 2 15.4 2 10.64 2 5.88 5.88 2 
14110.64 2c4.76 0 8.64 3.88 8.64 8.64 0 4.76-3.88 8.64-8.64 8.64Zm0-16.08c-4.1 0-7.44 3.34-7.44 7.44 0 4.1 3.34 7.44 7.44 7.44 4.1 0 7.44-3.34 7.44-7.44 0-4.1-3.34-7.44-7.44-7.44Z"></path>
142                        <path d="m16.706 15.846-.849.848 5.346 5.346.849-.848-5.346-5.346Z"></path>
143                    </svg>
144                </div>
145            </button>
146        </div>
147
148        <ul class="flex relative right-2 xlg:right-auto transform xl:gap-1 order-3 hidden-when-print">
149                            <li>
150                    <a href="https://www.we-wall.com/magasin-papier-peint" title="Magasins&#x20;papier&#x20;peint"
151                       class="btn btn-tertiary btn-icon-only btn-size-md" aria-label="Magasins&#x20;papier&#x20;peint">
152                        <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="w-6 h-6" width="24" height="24">
153                            <path d="m12.043 22.294-5.99-7.09c-1.24-1.47-1.95-3.13-2.04-4.82-.1-1.79.39-3.58 1.38-5.02.59-.85 1.36-1.58 2.29-2.14a8.41 8.41 0 0 1 8.48-.15c1.2.67 2.14 1.59 2.81 2.71 1.63 2.73 1.46 6.22-.43 8.88l-6.49 7.63h-.01Zm0-19.08c-1.31 0-2.62.35-3.75 1.04-.79.48-1.43 1.08-1.92 1.8a6.894 6.894 0 0 0-1.17 4.27c.1 1.8 1.02 3.23 1.76 4.12l5.08 6.01 5.54-6.51c1.58-2.23 1.73-5.2.35-7.53-.56-.94-1.36-1.71-2.37-2.28a7.16 7.16 0 0 0-3.52-.91v-.01Z"></path>
154                            <path d="M12.043 14.394c-2.45 0-4.44-1.99-4.44-4.44s1.99-4.44 4.44-4.44 4.44 1.99 4.44 4.44-1.99 4.44-4.44 4.44Zm0-7.67c-1.78 0-3.24 1.45-3.24 3.23s1.45 3.24 3.24 3.24a3.23 3.23 0 0 0 3.23-3.24c0-1.79-1.45-3.23-3.23-3.23Z"></path>
155                        </svg>
156                    </a>
157                </li>
158                        <li>
159                
160<div class="hidden xlg:block" x-data="initCustomerPopin()">
161    <button
162        id="customer-menu"
163        class="xlg:inline-flex btn btn-tertiary btn-icon-only btn-size-md relative"
164        aria-label="Mon&#x20;compte"
165        x-ref="button"
166        rel="nofollow"
167        title="Compte&#x20;client"
168        x-on:click="toggle()"
169        :aria-expanded="open"
170        aria-expanded="false"
171        aria-controls="dropdown-customer-popin">
172
173        
174        <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
175             fill="currentColor" class="w-6 h-6" width="24" height="24">
176            <path
177                d="M12 13.4c-3.21 0-5.82-2.61-5.82-5.82 0-3.21 2.61-5.82 5.82-5.82 3.21 0 5.82 2.61 5.82 5.82 0 3.21-2.61 5.82-5.82 5.82Zm0-10.44c-2.55 0-4.62 2.07-4.62 4.62 0 2.55 2.07 4.62 4.62 4.62 2.55 0 4.62-2.07 4.62-4.62 0-2.55-2.07-4.62-4.62-4.62Z"></path>
178            <path
179                d="M3.2 22 2 21.96c.17-5.35 4.65-9.73 10-9.76 5.39-.02 9.93 4.35 10.1 9.76l-1.2.04c-.15-4.75-4.12-8.6-8.85-8.6H12c-4.71.02-8.66 3.88-8.81 8.6h.01Z"></path>
180        </svg>
181    </button>
182
183            <div class="absolute hidden -right-24 2xl:right-auto left-auto 2xl:left-1/2 z-50 bg-white p-6 shadow-sm w-80
184            text-center 2xl:transform 2xl:-translate-x-1/2"
185            x-ref="panel"
186            :class="{ 'block': open, 'hidden': !open }"
187            x-on:click.outside="close($refs.button)"
188            id="dropdown-customer-popin">
189            <span data-o="aHR0cHM6Ly93d3cud2Utd2FsbC5jb20vY3VzdG9tZXIvYWNjb3VudC9sb2dpbi8,"
190               class="btn btn-primary btn-size-md w-full justify-center obfuscated"
191               title="Compte&#x20;client">
192                Me connecter            </span>
193            <div class="flex gap-2 items-center justify-center mt-4 text-sm">
194                <span>Nouveau ?</span>
195                <span data-o="aHR0cHM6Ly93d3cud2Utd2FsbC5jb20vY3VzdG9tZXIvYWNjb3VudC9jcmVhdGUv"
196                   class="btn btn-tertiary btn-link btn-size-xs underline obfuscated"
197                   title="Compte&#x20;client">
198                    <span>
199                        Inscrivez-vous                    </span>
200                </span>
201            </div>
202        </div>
203    </div>
204
205<div class="xlg:hidden">
206    <a class="xlg:inline-flex btn btn-tertiary btn-icon-only btn-size-md relative" href="https://www.we-wall.com/customer/account/login/">
207        
208        <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
209             fill="currentColor" class="w-6 h-6" width="24" height="24">
210            <path
211                d="M12 13.4c-3.21 0-5.82-2.61-5.82-5.82 0-3.21 2.61-5.82 5.82-5.82 3.21 0 5.82 2.61 5.82 5.82 0 3.21-2.61 5.82-5.82 5.82Zm0-10.44c-2.55 0-4.62 2.07-4.62 4.62 0 2.55 2.07 4.62 4.62 4.62 2.55 0 4.62-2.07 4.62-4.62 0-2.55-2.07-4.62-4.62-4.62Z"></path>
212            <path
213                d="M3.2 22 2 21.96c.17-5.35 4.65-9.73 10-9.76 5.39-.02 9.93 4.35 10.1 9.76l-1.2.04c-.15-4.75-4.12-8.6-8.85-8.6H12c-4.71.02-8.66 3.88-8.81 8.6h.01Z"></path>
214        </svg>
215    </a>
216</div>
217
218
219            </li>
220            <li>
221                <span data-o="aHR0cHM6Ly93d3cud2Utd2FsbC5jb20vd2lzaGxpc3Qv"
222                   class="hidden xlg:inline-flex btn btn-tertiary btn-icon-only btn-size-md obfuscated"
223                   aria-label="Ma liste d’envies"
224                   title="Ma liste d’envies">
225                    <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="w-6 h-6" width="24" height="24">
226                        <path d="m12.057 22 8.062-8.061c2.559-2.56 3.534-5.493 2.68-8.043a5.67 5.67 0 0 0-4.593-3.834c-2.24-.328-4.442.647-6.158 2.681C10.342 2.71 8.13 1.734 5.89 2.063a5.657 5.657 0 0 0-4.593 3.833c-.844 2.56.13 5.493 2.68 8.043L12.048 22h.01ZM2.618 6.327a4.283 4.283 0 0 1 3.478-2.905c.215-.029.431-.047.647-.047 1.743 0 3.45 1.03 4.752 2.896l.563.806.562-.806c1.462-2.1 3.43-3.13 5.4-2.85a4.27 4.27 0 0 1 3.477 2.906c.684 2.044-.178 4.462-2.353 6.637l-7.086 7.086-7.087-7.086C2.796 10.789 1.943 8.37 2.618 6.327Z"></path>
227                    </svg>
228                </span>
229            </li>
230            <li>
231                <span id="menu-cart-icon"                    class="btn btn-tertiary btn-icon-only btn-size-md relative obfuscated"
232                   aria-label="Panier"
233                   title="Panier"
234                   data-o="aHR0cHM6Ly93d3cud2Utd2FsbC5jb20vY2hlY2tvdXQvY2FydC9pbmRleC8,">
235                    <template x-if="cart.summary_count">
236                        <span class="absolute top-2 right-2 rounded-full w-4 h-4 bg-black outline-badge flex items-center justify-center text-white text-[11px]" x-text="cart.summary_count"></span>
237                    </template>
238                    <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="w-6 h-6" width="24" height="24">
239                        <path d="M20.85 6.2H16.9L15.84 2H8.19L7.13 6.2H3.11L1.4 22.07h21.11L20.85 6.2Zm-11.72-3h5.77l.76 3H8.37l.76-3ZM4.18 7.4h15.59l1.41 13.47H2.74L4.18 7.4Z"></path>
240                    </svg>
241                </span>
242            </li>
243        </ul>
244
245        
246<nav id="menu-links" class="h-screen xlg:h-auto nav-menu w-full order-last xlg:mx-3 xlg:mt-3" role="navigation"
247     aria-label="Menu"
248     :class="searchOpen ? 'hidden' : ''"
249     x-show="!isMobile || navMobile">
250    <div class="nav-mobile-header">
251        
252<a class="max-w-144 md:max-w-none"
253   href="https://www.we-wall.com/"
254   title="WE&#x20;WALL"
255   aria-label="store logo">
256        <img src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/images/we-wall.svg"
257             title="WE&#x20;WALL"
258             alt="WE&#x20;WALL"
259            width="144"            height="36"        />
260</a>
261
262
263        <button id="button-close"
264                @click="navMobile = !navMobile; document.documentElement.classList.remove('noscroll');"
265                type="button"
266                class="absolute right-4 top-1/2 transform -translate-y-1/2 btn btn-tertiary btn-icon-only btn-size-xs"
267                aria-label="Fermer">
268            <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
269                 class="text-neutral-900 w-6 h-6">
270                <path
271                    d="M12.04 12.677 5.93 18.92l-.858-.84 6.13-6.26-5.776-5.9.857-.84 5.759 5.882L17.8 5.08l.858.84-5.777 5.9 6.13 6.26-.857.84-6.112-6.243Z"/>
272            </svg>
273        </button>
274    </div>
275
276    <div class="xlg:flex xlg:flex-row xlg:w-full overflow-y-scroll xlg:overflow-y-auto h-[calc(100%-8.5rem)] xlg:h-auto">
277        <ul class="menu xlg:!justify-start xlg:gap-8 xlg:w-3/4">
278                                                            
279                                    <li>
280                        <a href="https://www.we-wall.com/fin-de-serie.html"
281                           :class="{'underlineHover' : !isMobile && subMenuOpen[212]}"
282                           title="Papier&#x20;peint&#x20;Fin&#x20;de&#x20;s&#xE9;rie">
283                            <span class="font-medium xlg:font-normal" style="font-weight&#x3A;&#x20;bolder&#x3B;background-color&#x3A;&#x20;&#x23;FFFF00">
284                                Fin de série                            </span>
285                        </a>
286                    </li>
287                                                                            
288                                    <li>
289                        <a href="https://www.we-wall.com/meilleures-ventes.html"
290                           :class="{'underlineHover' : !isMobile && subMenuOpen[381]}"
291                           title="Papier&#x20;peint&#x20;Meilleures&#x20;Ventes">
292                            <span class="font-medium xlg:font-normal" style="font-weight&#x3A;&#x20;bolder">
293                                Meilleures Ventes                            </span>
294                        </a>
295                    </li>
296                                                                            
297                                    <li>
298                        <a href="https://www.we-wall.com/papier-peint.html"
299                           @mouseover="isMobile ? '' : openSubMenu('5'); searchOpen = false"
300                           @click.prevent="isMobile ? $event.preventDefault() :
301                               window.location.href = 'https://www.we-wall.com/papier-peint.html'"
302                           @click="isMobile ? openSubMenu('5') : ''"
303                           :class="{'underlineHover' : !isMobile && subMenuOpen[5]}"
304                           title="Papier peint">
305                            <span class="font-medium xlg:font-normal" style="">
306                                Papier peint                            </span>
307                        </a>
308                        <div x-show="subMenuOpen[5]"
309                             x-trap="subMenuOpen[5]"
310                             @mouseleave="isMobile ? '' : openSubMenu('5');"
311                             class="submenu"
312                             style="display: none;"
313                             role="navigation">
314                            <div class="nav-mobile-header">
315                                
316<a class="max-w-144 md:max-w-none"
317   href="https://www.we-wall.com/"
318   title="WE&#x20;WALL"
319   aria-label="store logo">
320        <img src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/images/we-wall.svg"
321             title="WE&#x20;WALL"
322             alt="WE&#x20;WALL"
323            width="144"            height="36"        />
324</a>
325
326
327                                <button
328                                    @click="document.getElementById('button-close').dispatchEvent(new Event('click'));"
329                                    type="button"
330                                    class="absolute right-4 top-1/2 transform -translate-y-1/2 btn btn-tertiary btn-icon-only btn-size-xs"
331                                    aria-label="Fermer">
332                                    <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
333                                         viewBox="0 0 24 24" class="text-neutral-900 w-6 h-6">
334                                        <path
335                                            d="M12.04 12.677 5.93 18.92l-.858-.84 6.13-6.26-5.776-5.9.857-.84 5.759 5.882L17.8 5.08l.858.84-5.777 5.9 6.13 6.26-.857.84-6.112-6.243Z"/>
336                                    </svg>
337                                </button>
338                            </div>
339                            <div class="nav-mobile-child-header">
340                                <button id="contentsearch" type="button"
341                                        @click="subMenuOpen[5] = !subMenuOpen[5]"
342                                        aria-label="Retour">
343                                    <svg fill="currentColor" class="w-5 h-5 relative -left-1" focusable="false"
344                                         aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
345                                        <path d="M3 11.84 6.886 14v-1.529H21V11.21H6.886V9.68L3 11.84Z"/>
346                                    </svg>
347                                </button>
348                                <span class="text-black">
349                                Papier  peint                            </span>
350                                <a href="https://www.we-wall.com/papier-peint.html"
351                                   title="Papier&#x20;&#x20;peint"
352                                   class="text-black">
353                                    <span>Voir tout</span>
354                                </a>
355                            </div>
356                            <ul>
357                                                                    <li x-data="{open : (window.innerWidth < 1200 ? false : true)}">
358                                                                                <a
359                                            href="https://www.we-wall.com/papier-peint/papier-peint-motif.html"
360                                            title="Papier&#x20;peint&#x20;Motif"
361                                            @click.prevent="window.innerWidth < 1200 ? $event.preventDefault() :
362                                           window.location.href = 'https://www.we-wall.com/papier-peint/papier-peint-motif.html'"
363                                            @click="window.innerWidth < 1200 ? open = !open : ''">
364                                        <span class="uppercase font-medium">
365                                            Motif                                        </span>
366                                            <svg class="w-6 h-6 xlg:hidden" xmlns="http://www.w3.org/2000/svg"
367                                                 viewBox="0 0 24 24"
368                                                 fill="currentColor" focusable="false" aria-hidden="true">
369                                                <path x-show="!open"
370                                                      d="M18 11.4v1.2h-5.4V18h-1.2v-5.4H6v-1.2h5.4V6h1.2v5.4H18Z"/>
371                                                <path x-show="open" d="M18.06 11h-12v1.2h12V11Z"/>
372                                            </svg>
373                                            <svg class="w-6 h-6 hidden xlg:block" aria-hidden="true" focusable="false"
374                                                 xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
375                                                <path
376                                                    d="m9.65 17.88-.84-.85L13.88 12 8.81 6.97l.84-.85L15.58 12l-5.93 5.88Z"></path>
377                                            </svg>
378                                        </a>
379
380                                                                                    <ul class="mb-3" x-show="open">
381                                                                                                    <li>
382                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
383                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-rayures.html"
384                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Rayures">
385                                                                                                                        <span>Rayures</span>
386                                                        </a>
387                                                    </li>
388                                                                                                    <li>
389                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
390                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-toile-de-jouy.html"
391                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Toile&#x20;de&#x20;jouy">
392                                                                                                                        <span>Toile de jouy</span>
393                                                        </a>
394                                                    </li>
395                                                                                                    <li>
396                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
397                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-floral.html"
398                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Floral">
399                                                                                                                        <span>Floral</span>
400                                                        </a>
401                                                    </li>
402                                                                                                    <li>
403                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
404                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-geometrique.html"
405                                                           title="Papier&#x20;peint&#x20;Motif&#x20;G&#xE9;om&#xE9;trique">
406                                                                                                                        <sp
406an>Géométrique</span>
407                                                        </a>
408                                                    </li>
409                                                                                                    <li>
410                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
411                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-art-deco.html"
412                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Art&#x20;d&#xE9;co">
413                                                                                                                        <span>Art déco</span>
414                                                        </a>
415                                                    </li>
416                                                                                                    <li>
417                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
418                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-vegetal.html"
419                                                           title="Papier&#x20;peint&#x20;Motif&#x20;V&#xE9;g&#xE9;tal">
420                                                                                                                        <span>Végétal</span>
421                                                        </a>
422                                                    </li>
423                                                                                                    <li>
424                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
425                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-rayures-bleues.html"
426                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Rayures&#x20;bleues">
427                                                                                                                        <span>Rayures bleues</span>
428                                                        </a>
429                                                    </li>
430                                                                                                    <li>
431                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
432                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-unis.html"
433                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Unis">
434                                                                                                                        <span>Unis</span>
435                                                        </a>
436                                                    </li>
437                                                                                                    <li>
438                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
439                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-enfants.html"
440                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Enfants">
441                                                                                                                        <sp
441an>Enfants</span>
442                                                        </a>
443                                                    </li>
444                                                                                                    <li>
445                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
446                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-rayures-verticales.html"
447                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Rayures&#x20;verticales">
448                                                                                                                        <span>Rayures verticales</span>
449                                                        </a>
450                                                    </li>
451                                                                                                    <li>
452                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
453                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-vichy.html"
454                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Vichy">
455                                                                                                                        <span>Vichy</span>
456                                                        </a>
457                                                    </li>
458                                                                                                    <li>
459                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
460                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-feuillage.html"
461                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Feuillage">
462                                                                                                                        <span>Feuillage</span>
463                                                        </a>
464                                                    </li>
465                                                                                                    <li>
466                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
467                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-oiseaux.html"
468                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Oiseaux">
469                                                                                                                        <span>Oiseaux</span>
470                                                        </a>
471                                                    </li>
472                                                                                                    <li>
473                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
474                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-japonais.html"
475                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Japonais">
476                                                                                                                        <sp
476an>Japonais</span>
477                                                        </a>
478                                                    </li>
479                                                                                                    <li>
480                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
481                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-jungle.html"
482                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Jungle">
483                                                                                                                        <span>Jungle</span>
484                                                        </a>
485                                                    </li>
486                                                                                                    <li>
487                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
488                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-animal.html"
489                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Animal">
490                                                                                                                        <span>Animal</span>
491                                                        </a>
492                                                    </li>
493                                                                                                    <li>
494                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
495                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-foret.html"
496                                                           title="Papier&#x20;peint&#x20;Motif&#x20;For&#xEA;t">
497                                                                                                                        <span>Forêt</span>
498                                                        </a>
499                                                    </li>
500                                                                                                    <li>
501                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
502                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-carreaux.html"
503                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Carreaux">
504                                                                                                                        <span>Carreaux</span>
505                                                        </a>
506                                                    </li>
507                                                                                                    <li>
508                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
509                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-imitation-bois.html"
510                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Bois">
511                                                                                                                        <sp
511an>Bois</span>
512                                                        </a>
513                                                    </li>
514                                                                                                    <li>
515                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
516                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-nature.html"
517                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Nature">
518                                                                                                                        <span>Nature</span>
519                                                        </a>
520                                                    </li>
521                                                                                                    <li>
522                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
523                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-trompe-l-oeil.html"
524                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Trompe&#x20;l&#x27;&#x0153;il">
525                                                                                                                        <span>Trompe l&#039;œil</span>
526                                                        </a>
527                                                    </li>
528                                                                                                    <li>
529                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
530                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/leopard.html"
531                                                           title="Papier&#x20;peint&#x20;Motif&#x20;L&#xE9;opard">
532                                                                                                                        <span>Léopard</span>
533                                                        </a>
534                                                    </li>
535                                                                                                    <li>
536                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
537                                                           href="https://www.we-wall.com/catalog/category/view/s/faux-uni-texture/id/423/"
538                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Faux&#x20;uni&#x2F;texture">
539                                                                                                                        <span>Faux uni/texture</span>
540                                                        </a>
541                                                    </li>
542                                                                                                    <li>
543                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
544                                                           href="https://www.we-wall.com/papier-peint/papier-peint-motif/papier-peint-vintage.html"
545                                                           title="Papier&#x20;peint&#x20;Motif&#x20;Vintage">
546                                                                                                                        <sp
546an>Vintage</span>
547                                                        </a>
548                                                    </li>
549                                                                                            </ul>
550                                                                            </li>
551                                                                    <li x-data="{open : (window.innerWidth < 1200 ? false : true)}">
552                                                                                <a
553                                            href="https://www.we-wall.com/papier-peint/papier-peint-couleur.html"
554                                            title="Papier&#x20;peint&#x20;Couleur"
555                                            @click.prevent="window.innerWidth < 1200 ? $event.preventDefault() :
556                                           window.location.href = 'https://www.we-wall.com/papier-peint/papier-peint-couleur.html'"
557                                            @click="window.innerWidth < 1200 ? open = !open : ''">
558                                        <span class="uppercase font-medium">
559                                            Couleur                                        </span>
560                                            <svg class="w-6 h-6 xlg:hidden" xmlns="http://www.w3.org/2000/svg"
561                                                 viewBox="0 0 24 24"
562                                                 fill="currentColor" focusable="false" aria-hidden="true">
563                                                <path x-show="!open"
564                                                      d="M18 11.4v1.2h-5.4V18h-1.2v-5.4H6v-1.2h5.4V6h1.2v5.4H18Z"/>
565                                                <path x-show="open" d="M18.06 11h-12v1.2h12V11Z"/>
566                                            </svg>
567                                            <svg class="w-6 h-6 hidden xlg:block" aria-hidden="true" focusable="false"
568                                                 xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
569                                                <path
570                                                    d="m9.65 17.88-.84-.85L13.88 12 8.81 6.97l.84-.85L15.58 12l-5.93 5.88Z"></path>
571                                            </svg>
572                                        </a>
573
574                                                                                    <ul class="mb-3" x-show="open">
575                                                                                                    <li>
576                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
577                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-vert.html"
578                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;VERT">
579                                                                                                                            <img class="mr-3"
580                                                                     src="/media/catalog/category/vert.JPG"
581                                                                     width="16" height="16"/>
582                                                                                                                        <span>VERT</span>
583                                                        </a>
584                                                    </li>
585                                                                                                    <li>
586                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
587                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-sauge.html"
588                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;VERT&#x20;SAUGE">
589                                                                                                                            <img class="mr-3"
590                                                                     src="/media/catalog/category/vert-sauge.jpg"
591                                                                     width="16" height="16"/>
592                                                                                                                        <span>VERT SAUGE</span>
593                                                        </a>
594                                                    </li>
595                                                                                                    <li>
596                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
597                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-bleu.html"
598                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;BLEU">
599                                                                                                                            <img class="mr-3"
600                                                                     src="/media/catalog/category/bleu.JPG"
601                                                                     width="16" height="16"/>
602                                                                                                                        <sp
602an>BLEU</span>
603                                                        </a>
604                                                    </li>
605                                                                                                    <li>
606                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
607                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-beige.html"
608                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;BEIGE">
609                                                                                                                            <img class="mr-3"
610                                                                     src="/media/catalog/category/beige_1.JPG"
611                                                                     width="16" height="16"/>
612                                                                                                                        <span>BEIGE</span>
613                                                        </a>
614                                                    </li>
615                                                                                                    <li>
616                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
617                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-rose.html"
618                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;ROSE">
619                                                                                                                            <img class="mr-3"
620                                                                     src="/media/catalog/category/rose.JPG"
621                                                                     width="16" height="16"/>
622                                                                                                                        <span>ROSE</span>
623                                                        </a>
624                                                    </li>
625                                                                                                    <li>
626                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
627                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-noir.html"
628                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;NOIR">
629                                                                                                                            <img class="mr-3"
630                                                                     src="/media/catalog/category/noir_1.JPG"
631                                                                     width="16" height="16"/>
632                                                                                                                        <span>NOIR</span>
633                                                        </a>
634                                                    </li>
635                                                                                                    <li>
636                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
637                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-rouge.html"
638                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;ROUGE">
639                                                                                                                            <img class="mr-3"
640                                                                     src="/media/catalog/category/rouge.JPG"
641                                                                     width="16" height="16"/>
642                                                                                                                        <sp
642an>ROUGE</span>
643                                                        </a>
644                                                    </li>
645                                                                                                    <li>
646                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
647                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-peche.html"
648                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;P&#xCA;CHE">
649                                                                                                                            <img class="mr-3"
650                                                                     src="/media/catalog/category/peinture-murale-peche-decohom.jpg"
651                                                                     width="16" height="16"/>
652                                                                                                                        <span>PÊCHE</span>
653                                                        </a>
654                                                    </li>
655                                                                                                    <li>
656                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
657                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-terracotta.html"
658                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;TERRACOTTA">
659                                                                                                                            <img class="mr-3"
660                                                                     src="/media/catalog/category/w_2__1.png"
661                                                                     width="16" height="16"/>
662                                                                                                                        <span>TERRACOTTA</span>
663                                                        </a>
664                                                    </li>
665                                                                                                    <li>
666                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
667                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-marron.html"
668                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;MARRON">
669                                                                                                                            <img class="mr-3"
670                                                                     src="/media/catalog/category/marron_1.JPG"
671                                                                     width="16" height="16"/>
672                                                                                                                        <span>MARRON</span>
673                                                        </a>
674                                                    </li>
675                                                                                                    <li>
676                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
677                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-dore.html"
678                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;DOR&#xC9;">
679                                                                                                                            <img class="mr-3"
680                                                                     src="/media/catalog/category/Design_sans_titre_-_2024-07-03T1049
68004.589.png"
681                                                                     width="16" height="16"/>
682                                                                                                                        <span>DORÉ</span>
683                                                        </a>
684                                                    </li>
685                                                                                                    <li>
686                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
687                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-noir-et-blanc.html"
688                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;NOIR&#x20;ET&#x20;BLANC">
689                                                                                                                            <img class="mr-3"
690                                                                     src="/media/catalog/category/noir-et-blanc_1.png"
691                                                                     width="16" height="16"/>
692                                                                                                                        <span>NOIR ET BLANC</span>
693                                                        </a>
694                                                    </li>
695                                                                                                    <li>
696                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
697                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-bleu-canard.html"
698                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;BLEU&#x20;CANARD">
699                                                                                                                            <img class="mr-3"
700                                                                     src="/media/catalog/category/bleu-canard.jpg"
701                                                                     width="16" height="16"/>
702                                                                                                                        <span>BLEU CANARD</span>
703                                                        </a>
704                                                    </li>
705                                                                                                    <li>
706                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
707                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-orange.html"
708                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;ORANGE">
709                                                                                                                            <img class="mr-3"
710                                                                     src="/media/catalog/category/orange.JPG"
711                                                                     width="16" height="16"/>
712                                                                                                                        <span>ORANGE</span>
713                                                        </a>
714                                                    </li>
715                                                                                                    <li>
716                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
717                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-jaune.html"
718                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;JAUNE">
719                                                                                                                            <img class="mr-3"
720                                                                     src="/media/catalog/category/jaune.JPG"
721                                                                     width="16" height="16"/>
722                                                                                                                        <sp
722an>JAUNE</span>
723                                                        </a>
724                                                    </li>
725                                                                                                    <li>
726                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
727                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-blanc.html"
728                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;BLANC">
729                                                                                                                            <img class="mr-3"
730                                                                     src="/media/catalog/category/blanc_3.JPG"
731                                                                     width="16" height="16"/>
732                                                                                                                        <span>BLANC</span>
733                                                        </a>
734                                                    </li>
735                                                                                                    <li>
736                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
737                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-violet.html"
738                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;VIOLET">
739                                                                                                                            <img class="mr-3"
740                                                                     src="/media/catalog/category/violet.JPG"
741                                                                     width="16" height="16"/>
742                                                                                                                        <span>VIOLET</span>
743                                                        </a>
744                                                    </li>
745                                                                                                    <li>
746                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
747                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-gris.html"
748                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;GRIS">
749                                                                                                                            <img class="mr-3"
750                                                                     src="/media/catalog/category/gris_1.JPG"
751                                                                     width="16" height="16"/>
752                                                                                                                        <span>GRIS</span>
753                                                        </a>
754                                                    </li>
755                                                                                                    <li>
756                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
757                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-multicouleurs.html"
758                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;MULTICOULEURS">
759                                                                                                                            <img class="mr-3"
760                                                                     src="/media/catalog/category/test-multicouleurs2_1.jpg"
761                                                                     width="16" height="16"/>
762                                                                                                                        <sp
762an>MULTICOULEURS</span>
763                                                        </a>
764                                                    </li>
765                                                                                                    <li>
766                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
767                                                           href="https://www.we-wall.com/papier-peint/papier-peint-couleur/papier-peint-cuivre.html"
768                                                           title="Papier&#x20;peint&#x20;Couleur&#x20;CUIVRE">
769                                                                                                                            <img class="mr-3"
770                                                                     src="/media/catalog/category/Capture_d_cran_2026-02-12_172018.png"
771                                                                     width="16" height="16"/>
772                                                                                                                        <span>CUIVRE</span>
773                                                        </a>
774                                                    </li>
775                                                                                            </ul>
776                                                                            </li>
777                                                                    <li x-data="{open : (window.innerWidth < 1200 ? false : true)}">
778                                                                                <a
779                                            href="https://www.we-wall.com/papier-peint/papier-peint-piece.html"
780                                            title="Papier&#x20;peint&#x20;Pi&#xE8;ce"
781                                            @click.prevent="window.innerWidth < 1200 ? $event.preventDefault() :
782                                           window.location.href = 'https://www.we-wall.com/papier-peint/papier-peint-piece.html'"
783                                            @click="window.innerWidth < 1200 ? open = !open : ''">
784                                        <span class="uppercase font-medium">
785                                            Pièce                                        </span>
786                                            <svg class="w-6 h-6 xlg:hidden" xmlns="http://www.w3.org/2000/svg"
787                                                 viewBox="0 0 24 24"
788                                                 fill="currentColor" focusable="false" aria-hidden="true">
789                                                <path x-show="!open"
790                                                      d="M18 11.4v1.2h-5.4V18h-1.2v-5.4H6v-1.2h5.4V6h1.2v5.4H18Z"/>
791                                                <path x-show="open" d="M18.06 11h-12v1.2h12V11Z"/>
792                                            </svg>
793                                            <svg class="w-6 h-6 hidden xlg:block" aria-hidden="true" focusable="false"
794                                                 xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
795                                                <path
796                                                    d="m9.65 17.88-.84-.85L13.88 12 8.81 6.97l.84-.85L15.58 12l-5.93 5.88Z"></path>
797                                            </svg>
798                                        </a>
799
800                                                                                    <ul class="mb-3" x-show="open">
801                                                                                                    <li>
802                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
803                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-salle-de-bain.html"
804                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Salle&#x20;de&#x20;bain">
805                                                                                                                        <span>Salle de bain</span>
806                                                        </a>
807                                                    </li>
808                                                                                                    <li>
809                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
810                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-chambre.html"
811                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Chambre">
812                                                                                                                        <span>Chambre</span>
813                                                        </a>
814                                                    </li>
815                                                                                                    <li>
816                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
817                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-cuisine-1.html"
818                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Cuisine">
819                                                                                                                        <span>Cuisine</span>
820                                                        </a>
821                                                    </li>
822                                                                                                    <li>
823                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
824                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-entree-couloir.html"
825                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Entr&#xE9;e,&#x20;couloir">
826                                                                                                                        <sp
826an>Entrée, couloir</span>
827                                                        </a>
828                                                    </li>
829                                                                                                    <li>
830                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
831                                                           href="https://www.we-wall.com/papier-peint/papier-peint-pieces/papier-peint-cage-d-escalier-moderne.html"
832                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Cage&#x20;d&#x2019;escalier&#x20;moderne">
833                                                                                                                        <span>Cage d’escalier moderne</span>
834                                                        </a>
835                                                    </li>
836                                                                                                    <li>
837                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
838                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-salle-a-manger.html"
839                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Salle&#x20;&#xE0;&#x20;manger">
840                                                                                                                        <span>Salle à manger</span>
841                                                        </a>
842                                                    </li>
843                                                                                                    <li>
844                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
845                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-salon.html"
846                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Salon">
847                                                                                                                        <span>Salon</span>
848                                                        </a>
849                                                    </li>
850                                                                                                    <li>
851                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
852                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-entree.html"
853                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Entr&#xE9;e">
854                                                                                                                        <span>Entrée</span>
855                                                        </a>
856                                                    </li>
857                                                                                                    <li>
858                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
859                                                           href="https://www.we-wall.com/papier-peint/papier-peint-pieces/papier-peint-bebe.html"
860                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Chambre&#x20;b&#xE9;b&#xE9;">
861                                                                                                                        <sp
861an>Chambre bébé</span>
862                                                        </a>
863                                                    </li>
864                                                                                                    <li>
865                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
866                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-chambre-d-enfants.html"
867                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Chambre&#x20;d&#x27;enfants">
868                                                                                                                        <span>Chambre d&#039;enfants</span>
869                                                        </a>
870                                                    </li>
871                                                                                                    <li>
872                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
873                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-bureau.html"
874                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Bureau">
875                                                                                                                        <span>Bureau</span>
876                                                        </a>
877                                                    </li>
878                                                                                                    <li>
879                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
880                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-couloir.html"
881                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Couloir">
882                                                                                                                        <span>Couloir</span>
883                                                        </a>
884                                                    </li>
885                                                                                                    <li>
886                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
887                                                           href="https://www.we-wall.com/papier-peint/papier-peint-piece/papier-peint-piece-d-eau.html"
888                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Pi&#xE8;ce&#x20;d&#x27;eau">
889                                                                                                                        <span>Pièce d&#039;eau</span>
890                                                        </a>
891                                                    </li>
892                                                                                                    <li>
893                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
894                                                           href="https://www.we-wall.com/papier-peint/papier-peint-pieces/chambre-adulte-tendance.html"
895                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Chambre&#x20;adulte&#x20;tendance&#x200B;">
896                                                                                                                        <sp
896an>Chambre adulte tendance​</span>
897                                                        </a>
898                                                    </li>
899                                                                                                    <li>
900                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
901                                                           href="https://www.we-wall.com/papier-peint/papier-peint-pieces/papier-peint-bibliotheque.html"
902                                                           title="Papier&#x20;peint&#x20;Pi&#xE8;ce&#x20;Biblioth&#xE8;que">
903                                                                                                                        <span>Bibliothèque</span>
904                                                        </a>
905                                                    </li>
906                                                                                            </ul>
907                                                                            </li>
908                                
909                                <div class="w-px mt-12 bg-neutral-300 self-bottom hidden xlg:block"></div>
910                                <div class="hidden xlg:flex xlg:flex-col">
911                                                                        
912                                                                            <a href="https://we-wall.com/papier-peint.html"
913                                           title="Voir&#x20;tous&#x20;les&#x20;papiers&#x20;peints"
914                                           class="btn btn-tertiary btn-size-xs text-sm px-0 mb-3">
915                                            <span>Voir tous les papiers peints</span>
916                                            <svg class="w-6 h-6 ml-1" xmlns="http://www.w3.org/2000/svg"
917                                                 viewBox="0 0 24 24">
918                                                <path d="m21 12.48-3.886-2.16v1.529H3v1.262h14.114v1.53L21 12.48Z"></path>
919                                            </svg>
920                                        </a>
921                                    
922                                    
923                                                                            <div class="block mt-10">
924                                            <p><a href="https://www.we-wall.com/papier-peint.html" title="SOLDES"> <img class="mb-3" src="https://www.we-wall.com/media/wysiwyg/rayures-we-wall-linen-lines-caselio.jpg" alt="RAYURES" width="227" height="324"></a></p>
925<p>PAPIER PEINT</p>
926<p>TENDANCE</p>                                        </div>
927                                                                    </div>
928                            </ul>
929                        </div>
930                    </li>
931                                                                            
932                                    <li>
933                        <a href="https://www.we-wall.com/panoramique.html"
934                           @mouseover="isMobile ? '' : openSubMenu('6'); searchOpen = false"
935                           @click.prevent="isMobile ? $event.preventDefault() :
936                               window.location.href = 'https://www.we-wall.com/panoramique.html'"
937                           @click="isMobile ? openSubMenu('6') : ''"
938                           :class="{'underlineHover' : !isMobile && subMenuOpen[6]}"
939                           title="Papier peint Panoramique">
940                            <span class="font-medium xlg:font-normal" style="">
941                                Panoramique                            </span>
942                        </a>
943                        <div x-show="subMenuOpen[6]"
944                             x-trap="subMenuOpen[6]"
945                             @mouseleave="isMobile ? '' : openSubMenu('6');"
946                             class="submenu"
947                             style="display: none;"
948                             role="navigation">
949                            <div class="nav-mobile-header">
950                                
951<a class="max-w-144 md:max-w-none"
952   href="https://www.we-wall.com/"
953   title="WE&#x20;WALL"
954   aria-label="store logo">
955        <img src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/images/we-wall.svg"
956             title="WE&#x20;WALL"
957             alt="WE&#x20;WALL"
958            width="144"            height="36"        />
959</a>
960
961
962                                <button
963                                    @click="document.getElementById('button-close').dispatchEvent(new Event('click'));"
964                                    type="button"
965                                    class="absolute right-4 top-1/2 transform -translate-y-1/2 btn btn-tertiary btn-icon-only btn-size-xs"
966                                    aria-label="Fermer">
967                                    <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
968                                         viewBox="0 0 24 24" class="text-neutral-900 w-6 h-6">
969                                        <path
970                                            d="M12.04 12.677 5.93 18.92l-.858-.84 6.13-6.26-5.776-5.9.857-.84 5.759 5.882L17.8 5.08l.858.84-5.777 5.9 6.13 6.26-.857.84-6.112-6.243Z"/>
971                                    </svg>
972                                </button>
973                            </div>
974                            <div class="nav-mobile-child-header">
975                                <button id="contentsearch" type="button"
976                                        @click="subMenuOpen[6] = !subMenuOpen[6]"
977                                        aria-label="Retour">
978                                    <svg fill="currentColor" class="w-5 h-5 relative -left-1" focusable="false"
979                                         aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
980                                        <path d="M3 11.84 6.886 14v-1.529H21V11.21H6.886V9.68L3 11.84Z"/>
981                                    </svg>
982                                </button>
983                                <span class="text-black">
984                                Panoramique                            </span>
985                                <a href="https://www.we-wall.com/panoramique.html"
986                                   title="Panoramique"
987                                   class="text-black">
988                                    <span>Voir tout</span>
989                                </a>
990                            </div>
991                            <ul>
992                                                                    <li x-data="{open : (window.innerWidth < 1200 ? false : true)}">
993                                                                                <a
994                                            href="https://www.we-wall.com/panoramique/panoramique-motif.html"
995                                            title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif"
996                                            @click.prevent="window.innerWidth < 1200 ? $event.preventDefault() :
997                                           window.location.href = 'https://www.we-wall.com/panoramique/panoramique-motif.html'"
998                                            @click="window.innerWidth < 1200 ? open = !open : ''">
999                                        <span class="uppercase font-medium">
1000                                            Motif                                        </span>
1001                                            <svg class="w-6 h-6 xlg:hidden" xmlns="http://www.w3.org/2000/svg"
1002                                                 viewBox="0 0 24 24"
1003                                                 fill="currentColor" focusable="false" aria-hidden="true">
1004                                                <path x-show="!open"
1005                                                      d="M18 11.4v1.2h-5.4V18h-1.2v-5.4H6v-1.2h5.4V6h1.2v5.4H18Z"/>
1006                                                <path x-show="open" d="M18.06 11h-12v1.2h12V11Z"/>
1007                                            </svg>
1008                                            <svg class="w-6 h-6 hidden xlg:block" aria-hidden="true" focusable="false"
1009                                                 xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
1010                                                <path
1011                                                    d="m9.65 17.88-.84-.85L13.88 12 8.81 6.97l.84-.85L15.58 12l-5.93 5.88Z"></path>
1012                                            </svg>
1013                                        </a>
1014
1015                                                                                    <ul class="mb-3" x-show="open">
1016                                                                                                    <li>
1017                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1018                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-vegetal.html"
1019                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;V&#xE9;g&#xE9;tal">
1020                                                                                                                        <span>Végétal</span>
1021                                                        </a>
1022                                                    </li>
1023                                                                                                    <li>
1024                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1025                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-floral.html"
1026                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Floral">
1027                                                                                                                        <span>Floral</span>
1028                                                        </a>
1029                                                    </li>
1030                                                                                                    <li>
1031                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1032                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-geometrique.html"
1033                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;G&#xE9;om&#xE9;trique">
1034                                                                                                                        <span>Géométrique</span>
1035                                                        </a>
1036                                                    </li>
1037                                                                                                    <li>
1038                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1039                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-jungle.html"
1040                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Jungle">
1041                                                                                                                        <sp
1041an>Jungle</span>
1042                                                        </a>
1043                                                    </li>
1044                                                                                                    <li>
1045                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1046                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-paysage.html"
1047                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Paysage">
1048                                                                                                                        <span>Paysage</span>
1049                                                        </a>
1050                                                    </li>
1051                                                                                                    <li>
1052                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1053                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-abstrait.html"
1054                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Abstrait">
1055                                                                                                                        <span>Abstrait</span>
1056                                                        </a>
1057                                                    </li>
1058                                                                                                    <li>
1059                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1060                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-animal.html"
1061                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Animal">
1062                                                                                                                        <span>Animal</span>
1063                                                        </a>
1064                                                    </li>
1065                                                                                                    <li>
1066                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1067                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-enfants.html"
1068                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Enfants">
1069                                                                                                                        <span>Enfants</span>
1070                                                        </a>
1071                                                    </li>
1072                                                                                                    <li>
1073                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1074                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-trompe-l-oeil.html"
1075                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Trompe&#x20;l&#x27;&#x0153;il">
1076                                                                                                                        <sp
1076an>Trompe l&#039;œil</span>
1077                                                        </a>
1078                                                    </li>
1079                                                                                                    <li>
1080                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1081                                                           href="https://www.we-wall.com/papier-peint-panoramique/panoramique-motif/panoramique-foret.html"
1082                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;For&#xEA;t">
1083                                                                                                                        <span>Forêt</span>
1084                                                        </a>
1085                                                    </li>
1086                                                                                                    <li>
1087                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1088                                                           href="https://www.we-wall.com/panoramique/panoramique-motif/panoramique-faux-unis-texture.html"
1089                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Faux&#x20;unis&#x20;&#x2F;&#x20;Texture">
1090                                                                                                                        <span>Faux unis / Texture</span>
1091                                                        </a>
1092                                                    </li>
1093                                                                                                    <li>
1094                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1095                                                           href="https://www.we-wall.com/papier-peint-panoramique/panoramique-motif/papier-peint-panoramique-arbre.html"
1096                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Arbre">
1097                                                                                                                        <span>Arbre</span>
1098                                                        </a>
1099                                                    </li>
1100                                                                                                    <li>
1101                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1102                                                           href="https://www.we-wall.com/papier-peint-panoramique/panoramique-motif/carnaval-de-rio.html"
1103                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Motif&#x20;Carnaval&#x20;de&#x20;Rio">
1104                                                                                                                        <span>Carnaval de Rio</span>
1105                                                        </a>
1106                                                    </li>
1107                                                                                            </ul>
1108                                                                            </li>
1109                                                                    <li x-data="{open : (window.innerWidth < 1200 ? false : true)}">
1110                                                                                <a
1111                                            href="https://www.we-wall.com/panoramique/panoramique-couleur.html"
1112                                            title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur"
1113                                            @click.prevent="window.innerWidth < 1200 ? $event.preventDefault() :
1114                                           window.location.href = 'https://www.we-wall.com/panoramique/panoramique-couleur.html'"
1115                                            @click="window.innerWidth < 1200 ? open = !open : ''">
1116                                        <span class="uppercase font-medium">
1117                                            Couleur                                        </span>
1118                                            <svg class="w-6 h-6 xlg:hidden" xmlns="http://www.w3.org/2000/svg"
1119                                                 viewBox="0 0 24 24"
1120                                                 fill="currentColor" focusable="false" aria-hidden="true">
1121                                                <path x-show="!open"
1122                                                      d="M18 11.4v1.2h-5.4V18h-1.2v-5.4H6v-1.2h5.4V6h1.2v5.4H18Z"/>
1123                                                <path x-show="open" d="M18.06 11h-12v1.2h12V11Z"/>
1124                                            </svg>
1125                                            <svg class="w-6 h-6 hidden xlg:block" aria-hidden="true" focusable="false"
1126                                                 xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
1127                                                <path
1128                                                    d="m9.65 17.88-.84-.85L13.88 12 8.81 6.97l.84-.85L15.58 12l-5.93 5.88Z"></path>
1129                                            </svg>
1130                                        </a>
1131
1132                                                                                    <ul class="mb-3" x-show="open">
1133                                                                                                    <li>
1134                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1135                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-vert.html"
1136                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;VERT">
1137                                                                                                                            <img class="mr-3"
1138                                                                     src="/media/catalog/category/vert_1.JPG"
1139                                                                     width="16" height="16"/>
1140                                                                                                                        <span>VERT</span>
1141                                                        </a>
1142                                                    </li>
1143                                                                                                    <li>
1144                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1145                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-bleu.html"
1146                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;BLEU">
1147                                                                                                                            <img class="mr-3"
1148                                                                     src="/media/catalog/category/bleu_1.JPG"
1149                                                                     width="16" height="16"/>
1150                                                                                                                        <span>BLEU</span>
1151                                                        </a>
1152                                                    </li>
1153                                                                                                    <li>
1154                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1155                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-noir-et-blanc.html"
1156                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;NOIR&#x20;ET&#x20;BLANC">
1157                                                                                                                            <img class="mr-3"
1158                                                                     src="/media/catalog/category/noir-et-blanc.jpg"
1159                                                                     width="16" height="16"/>
1160                                                                                                                        <sp
1160an>NOIR ET BLANC</span>
1161                                                        </a>
1162                                                    </li>
1163                                                                                                    <li>
1164                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1165                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-beige.html"
1166                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;BEIGE">
1167                                                                                                                            <img class="mr-3"
1168                                                                     src="/media/catalog/category/beige_2.JPG"
1169                                                                     width="16" height="16"/>
1170                                                                                                                        <span>BEIGE</span>
1171                                                        </a>
1172                                                    </li>
1173                                                                                                    <li>
1174                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1175                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-rose.html"
1176                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;ROSE">
1177                                                                                                                            <img class="mr-3"
1178                                                                     src="/media/catalog/category/rose_1.JPG"
1179                                                                     width="16" height="16"/>
1180                                                                                                                        <span>ROSE</span>
1181                                                        </a>
1182                                                    </li>
1183                                                                                                    <li>
1184                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1185                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-blanc.html"
1186                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;BLANC">
1187                                                                                                                            <img class="mr-3"
1188                                                                     src="/media/catalog/category/blanc_4.JPG"
1189                                                                     width="16" height="16"/>
1190                                                                                                                        <span>BLANC</span>
1191                                                        </a>
1192                                                    </li>
1193                                                                                                    <li>
1194                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1195                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-jaune.html"
1196                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;JAUNE">
1197                                                                                                                            <img class="mr-3"
1198                                                                     src="/media/catalog/category/jaune_1.JPG"
1199                                                                     width="16" height="16"/>
1200                                                                                                                        <sp
1200an>JAUNE</span>
1201                                                        </a>
1202                                                    </li>
1203                                                                                                    <li>
1204                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1205                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-orange.html"
1206                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;ORANGE">
1207                                                                                                                            <img class="mr-3"
1208                                                                     src="/media/catalog/category/orange_1.JPG"
1209                                                                     width="16" height="16"/>
1210                                                                                                                        <span>ORANGE</span>
1211                                                        </a>
1212                                                    </li>
1213                                                                                                    <li>
1214                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1215                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-noir.html"
1216                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;NOIR">
1217                                                                                                                            <img class="mr-3"
1218                                                                     src="/media/catalog/category/noir.JPG"
1219                                                                     width="16" height="16"/>
1220                                                                                                                        <span>NOIR</span>
1221                                                        </a>
1222                                                    </li>
1223                                                                                                    <li>
1224                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1225                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-marron.html"
1226                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;MARRON">
1227                                                                                                                            <img class="mr-3"
1228                                                                     src="/media/catalog/category/marron.JPG"
1229                                                                     width="16" height="16"/>
1230                                                                                                                        <span>MARRON</span>
1231                                                        </a>
1232                                                    </li>
1233                                                                                                    <li>
1234                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1235                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-rouge.html"
1236                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;ROUGE">
1237                                                                                                                            <img class="mr-3"
1238                                                                     src="/media/catalog/category/rouge_1.JPG"
1239                                                                     width="16" height="16"/>
1240                                                                                                                        <sp
1240an>ROUGE</span>
1241                                                        </a>
1242                                                    </li>
1243                                                                                                    <li>
1244                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1245                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-violet.html"
1246                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;VIOLET">
1247                                                                                                                            <img class="mr-3"
1248                                                                     src="/media/catalog/category/violet_1.JPG"
1249                                                                     width="16" height="16"/>
1250                                                                                                                        <span>VIOLET</span>
1251                                                        </a>
1252                                                    </li>
1253                                                                                                    <li>
1254                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1255                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-gris.html"
1256                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;GRIS">
1257                                                                                                                            <img class="mr-3"
1258                                                                     src="/media/catalog/category/gris.JPG"
1259                                                                     width="16" height="16"/>
1260                                                                                                                        <span>GRIS</span>
1261                                                        </a>
1262                                                    </li>
1263                                                                                                    <li>
1264                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1265                                                           href="https://www.we-wall.com/panoramique/panoramique-couleur/panoramique-multicouleurs.html"
1266                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;MULTICOULEURS">
1267                                                                                                                            <img class="mr-3"
1268                                                                     src="/media/catalog/category/test-multicouleurs2.jpg"
1269                                                                     width="16" height="16"/>
1270                                                                                                                        <span>MULTICOULEURS</span>
1271                                                        </a>
1272                                                    </li>
1273                                                                                                    <li>
1274                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1275                                                           href="https://www.we-wall.com/catalog/category/view/s/noir-et-blanc/id/408/"
1276                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Couleur&#x20;NOIR&#x20;ET&#x20;BLANC">
1277                                                                                                                        <sp
1277an>NOIR ET BLANC</span>
1278                                                        </a>
1279                                                    </li>
1280                                                                                            </ul>
1281                                                                            </li>
1282                                                                    <li x-data="{open : (window.innerWidth < 1200 ? false : true)}">
1283                                                                                <a
1284                                            href="https://www.we-wall.com/panoramique/panoramique-piece.html"
1285                                            title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce"
1286                                            @click.prevent="window.innerWidth < 1200 ? $event.preventDefault() :
1287                                           window.location.href = 'https://www.we-wall.com/panoramique/panoramique-piece.html'"
1288                                            @click="window.innerWidth < 1200 ? open = !open : ''">
1289                                        <span class="uppercase font-medium">
1290                                            Pièce                                        </span>
1291                                            <svg class="w-6 h-6 xlg:hidden" xmlns="http://www.w3.org/2000/svg"
1292                                                 viewBox="0 0 24 24"
1293                                                 fill="currentColor" focusable="false" aria-hidden="true">
1294                                                <path x-show="!open"
1295                                                      d="M18 11.4v1.2h-5.4V18h-1.2v-5.4H6v-1.2h5.4V6h1.2v5.4H18Z"/>
1296                                                <path x-show="open" d="M18.06 11h-12v1.2h12V11Z"/>
1297                                            </svg>
1298                                            <svg class="w-6 h-6 hidden xlg:block" aria-hidden="true" focusable="false"
1299                                                 xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
1300                                                <path
1301                                                    d="m9.65 17.88-.84-.85L13.88 12 8.81 6.97l.84-.85L15.58 12l-5.93 5.88Z"></path>
1302                                            </svg>
1303                                        </a>
1304
1305                                                                                    <ul class="mb-3" x-show="open">
1306                                                                                                    <li>
1307                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1308                                                           href="https://www.we-wall.com/panoramique/panoramique-piece/panoramique-chambre.html"
1309                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Chambre">
1310                                                                                                                        <span>Chambre</span>
1311                                                        </a>
1312                                                    </li>
1313                                                                                                    <li>
1314                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1315                                                           href="https://www.we-wall.com/panoramique/panoramique-piece/panoramique-salon.html"
1316                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Salon">
1317                                                                                                                        <span>Salon</span>
1318                                                        </a>
1319                                                    </li>
1320                                                                                                    <li>
1321                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1322                                                           href="https://www.we-wall.com/panoramique/panoramique-piece/panoramique-salle-a-manger.html"
1323                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Salle&#x20;&#xE0;&#x20;manger">
1324                                                                                                                        <span>Salle à manger</span>
1325                                                        </a>
1326                                                    </li>
1327                                                                                                    <li>
1328                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1329                                                           href="https://www.we-wall.com/papier-peint-panoramique/panoramique-pieces/papier-peint-chambre-adulte.html"
1330                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Chambre&#x20;Adulte">
1331                                                                                                                        <sp
1331an>Chambre Adulte</span>
1332                                                        </a>
1333                                                    </li>
1334                                                                                                    <li>
1335                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1336                                                           href="https://www.we-wall.com/panoramique/panoramique-piece/panoramique-chambre-d-enfants.html"
1337                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Chambre&#x20;d&#x27;enfants">
1338                                                                                                                        <span>Chambre d&#039;enfants</span>
1339                                                        </a>
1340                                                    </li>
1341                                                                                                    <li>
1342                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1343                                                           href="https://www.we-wall.com/panoramique/panoramique-piece/panoramique-bureau.html"
1344                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Bureau">
1345                                                                                                                        <span>Bureau</span>
1346                                                        </a>
1347                                                    </li>
1348                                                                                                    <li>
1349                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1350                                                           href="https://www.we-wall.com/panoramique/panoramique-piece/panoramique-entree-couloir.html"
1351                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Entr&#xE9;e,&#x20;couloir">
1352                                                                                                                        <span>Entrée, couloir</span>
1353                                                        </a>
1354                                                    </li>
1355                                                                                                    <li>
1356                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1357                                                           href="https://www.we-wall.com/panoramique/panoramique-piece/panoramique-piece-d-eau.html"
1358                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Pi&#xE8;ce&#x20;d&#x27;eau">
1359                                                                                                                        <span>Pièce d&#039;eau</span>
1360                                                        </a>
1361                                                    </li>
1362                                                                                                    <li>
1363                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1364                                                           href="https://www.we-wall.com/papier-peint-panoramique/panoramique-pieces/papier-peint-panoramique-salle-de-bain.html"
1365                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Salle&#x20;de&#x20;bain">
1366                                                                                                                        <sp
1366an>Salle de bain</span>
1367                                                        </a>
1368                                                    </li>
1369                                                                                                    <li>
1370                                                                                                                <a class="btn btn-tertiary btn-link flex px-6 xlg:px-0 py-2 xlg:py-0 items-baseline"
1371                                                           href="https://www.we-wall.com/panoramique/panoramique-piece/panoramique-cuisine.html"
1372                                                           title="Papier&#x20;peint&#x20;Panoramique&#x20;Pi&#xE8;ce&#x20;Cuisine">
1373                                                                                                                        <span>Cuisine</span>
1374                                                        </a>
1375                                                    </li>
1376                                                                                            </ul>
1377                                                                            </li>
1378                                
1379                                <div class="w-px mt-12 bg-neutral-300 self-bottom hidden xlg:block"></div>
1380                                <div class="hidden xlg:flex xlg:flex-col">
1381                                                                        
1382                                                                            <a href="https://we-wall.com/panoramique.html"
1383                                           title="Voir&#x20;tous&#x20;les&#x20;panoramiques"
1384                                           class="btn btn-tertiary btn-size-xs text-sm px-0 mb-3">
1385                                            <span>Voir tous les panoramiques</span>
1386                                            <svg class="w-6 h-6 ml-1" xmlns="http://www.w3.org/2000/svg"
1387                                                 viewBox="0 0 24 24">
1388                                                <path d="m21 12.48-3.886-2.16v1.529H3v1.262h14.114v1.53L21 12.48Z"></path>
1389                                            </svg>
1390                                        </a>
1391                                    
1392                                    
1393                                                                            <div class="block mt-10">
1394                                            <p><a href="https://www.we-wall.com/panoramique.html" title="ECHANTILLONS">&nbsp;<img class="mb-3" src="https://www.we-wall.com/media/wysiwyg/PAPIER_PEINT_1_.png" width="227" height="324"></a></p>
1395<p>PAPIER PEINT</p>
1396<p>PANORAMIQUE</p>                                        </div>
1397                                                                    </div>
1398                            </ul>
1399                        </div>
1400                    </li>
1401                                                                            
1402                                    <li>
1403                        <a href="https://www.we-wall.com/frise.html"
1404                           :class="{'underlineHover' : !isMobile && subMenuOpen[240]}"
1405                           title="Papier&#x20;peint&#x20;Frise">
1406                            <span class="font-medium xlg:font-normal" style="">
1407                                Frise                            </span>
1408                        </a>
1409                    </li>
1410                                                                            
1411                                    <li>
1412                        <a href="https://www.we-wall.com/nouveautes.html"
1413                           :class="{'underlineHover' : !isMobile && subMenuOpen[11]}"
1414                           title="Papier&#x20;peint&#x20;Nouveaut&#xE9;s">
1415                            <span class="font-medium xlg:font-normal" style="">
1416                                Nouveautés                            </span>
1417                        </a>
1418                    </li>
1419                                    </ul>
1420
1421        <ul class="menu xlg:flex xlg:flex-row xlg:gap-8 xlg:w-1/4 xlg:justify-end">
1422                            <li>
1423                    <a href="https://www.we-wall.com/conseils"
1424                       @mouseover="isMobile ? '' : openSubMenu(0); searchOpen = false"
1425                       class="text-sm btn btn-tertiary btn-link uppercase !bg-neutral-300 xlg:!bg-transparent"
1426                       title="Conseils&#x20;papier&#x20;peint">
1427                        <span class="font-medium xlg:font-normal">Nos conseils</span>
1428                    </a>
1429                </li>
1430            
1431                            <li>
1432                    <a href="https://www.we-wall.com/magasin-papier-peint"
1433                       class="text-sm btn btn-tertiary btn-link uppercase !bg-neutral-300 xlg:!bg-transparent"
1434                       title="Magasins&#x20;papier&#x20;peint">
1435                        <span class="font-medium">Trouvez-nous !</span>
1436                    </a>
1437                </li>
1438            
1439                            <li class="xlg:hidden">
1440                    <a href="https://www.we-wall.com/retailer/account/login/"
1441                       class="text-sm btn btn-tertiary btn-link uppercase !bg-neutral-300"
1442                       rel="nofollow"
1443                       title="Espace&#x20;partenaire">
1444                        <span class="font-medium">Espace partenaire</span>
1445                    </a>
1446                </li>
1447                    </ul>
1448    </div>
1449</nav>
1450
1451<div x-show="navMobile" @click="navMobile = !navMobile; document.documentElement.classList.remove('noscroll');"
1452     class="xlg:hidden fixed bg-black bg-opacity-60 w-full h-full top-0 left-0 z-200"></div>
1453    </div>
1454
1455    <!--Search-->
1456    <div class="c-nav-search border border-neutral-300 z-300 w-full fixed top-[94px] max-w-425 xlg:max-w-none
1457        bottom-0 left-0 lg:left-1/2 lg:transform lg:-translate-x-1/2 bg-white lg:pt-6 lg:pb-12 lg:px-10 hidden"
1458         id="search-content"
1459         :class="{ 'block': searchOpen, 'hidden': !searchOpen }"
1460         @click.away="closeNav(); searchOpen = false"
1461         x-show="true">
1462        <button id="button-close-search"
1463                @click="searchOpen = false; navMobile = false; document.documentElement.classList.remove('noscroll');"
1464                type="button"
1465                class="xlg:hidden absolute left-4 top-[34px] transform -translate-y-1/2 bt
1465n btn-tertiary btn-icon-only btn-size-xs"
1466                aria-label="Fermer">
1467            <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
1468                 class="text-neutral-900 w-6 h-6">
1469                <path d="M3 11.84 6.886 14v-1.529H21V11.21H6.886V9.68L3 11.84Z"/>
1470            </svg>
1471        </button>
1472        
1473
1474<div class="container p-0" x-data="initMiniSearch()" @private-content-loaded.window="setCurrentWishlist($event.detail.data)">
1475    <div class="flex flex-row justify-center items-center w-full h-full fixed select-none"
1476     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%); background: rgba(255,255,255,0.7); z-index:1000;"
1477     x-show="isLoading"
1478     x-transition:enter="ease-out duration-200"
1479     x-transition:enter-start="opacity-0"
1480     x-transition:enter-end="opacity-100"
1481     x-transition:leave="ease-in duration-200"
1482     x-transition:leave-start="opacity-100"
1483     x-transition:leave-end="opacity-0">
1484    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
1485    <svg width="57" height="57" viewBox="0 0 57 57" xmlns="http://www.w3.org/2000/svg" stroke="#fff"
1486         class="stroke-current text-primary">
1487        <g fill="none" fill-rule="evenodd">
1488            <g transform="translate(1 1)" stroke-width="2">
1489                <circle cx="5" cy="50" r="5">
1490                    <animate attributeName="cy"
1491                             begin="0s" dur="2.2s"
1492                             values="50;5;50;50"
1493                             calcMode="linear"
1494                             repeatCount="indefinite"/>
1495                    <animate attributeName="cx"
1496                             begin="0s" dur="2.2s"
1497                             values="5;27;49;5"
1498                             calcMode="linear"
1499                             repeatCount="indefinite"/>
1500                </circle>
1501                <circle cx="27" cy="5" r="5">
1502                    <animate attributeName="cy"
1503                             begin="0s" dur="2.2s"
1504                             from="5" to="5"
1505                             values="5;50;50;5"
1506                             calcMode="linear"
1507                             repeatCount="indefinite"/>
1508                    <animate attributeName="cx"
1509                             begin="0s" dur="2.2s"
1510                             from="27" to="27"
1511                             values="27;49;5;27"
1512                             calcMode="linear"
1513                             repeatCount="indefinite"/>
1514                </circle>
1515                <circle cx="49" cy="50" r="5">
1516                    <animate attributeName="cy"
1517                             begin="0s" dur="2.2s"
1518                             values="50;50;5;50"
1519                             calcMode="linear"
1520                             repeatCount="indefinite"/>
1521                    <animate attributeName="cx"
1522                             from="49" to="49"
1523                             begin="0s" dur="2.2s"
1524                             values="49;5;27;49"
1525                             calcMode="linear"
1526                             repeatCount="indefinite"/>
1527                </circle>
1528            </g>
1529        </g>
1530    </svg>
1531</div>
1532    <form class="form minisearch relative" id="search_mini_form" x-ref="form" @submit.prevent="search()"
1533          action="https://www.we-wall.com/catalogsearch/result/" method="get">
1534        <label class="hidden" for="search" data-role="minisearch-label">
1535            <span>Recherche</span>
1536        </label>
1537        <div class="field required text field-search has-value"
1538             :class="{'has-value': value.length > 0, 'input-focus': makeSearch === true}">
1539            <div class="field-wrapper">
1540                <div class="control  ">
1541                    <input x-on:focus="makeSearch = true"
1542                           x-on:blur="makeSearch = false"
1543                           x-model="value"
1544                           x-ref="searchInput"
1545                           name="q"
1546                           class="form-input pl-18 lg:pl-4 "
1547                           required=""
1548                           value=""
1549                           autocomplete="off"
1550                           placeholder="Rechercher..."
1551                           id="search"
1552                           maxlength="128"
1553                           type="text"
1554                           @focus.once="suggest();"
1555                           @input.debounce.300="suggest();"
1556                           @keydown.arrow-down.prevent="focusElement($el.querySelector('[tabindex]'))">
1557                </div>
1558            </div>
1559        </div>
1560        <button @click="clearValues()" type="button"
1561                class="hidden lg:flex btn btn-tertiary btn-icon-only btn-size-lg absolute right-16 top-1/2 transform -translate-y-1/2"
1562                aria-label="Vider le champ de recherche">
1563            <svg class="w-6 h-6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" focusable="false"
1564                 aria-hidden="true">
1565                <path fill-rule="evenodd"
1566                      d="M12.04 12.677 5.93 18.92l-.858-.84 6.13-6.26-5.776-5.9.857-.84 5.759 5.882L17.8 5.08l.858.84-5.777 5.9 6.13 6.26-.857.84-6.112-6.243Z"/>
1567            </svg>
1568        </button>
1569        <button type="submit" title="Recherche"
1570                class="action search btn btn-tertiary btn-icon-only btn-size-lg absolute right-2 top-1/2 transform -translate-y-1/2"
1571                aria-label="Recherche">
1572            <svg class="w-6 h-6" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
1573                 viewBox="0 0 24 24">
1574                <path
1575                    d="M10.64 19.28C5.88 19.28 2 15.4 2 10.64 2 5.88 5.88 2 10.64 2c4.76 0 8.64 3.88 8.64 8.64 0 4.76-3.88 8.64-8.64 8.64Zm0-16.08c-4.1 0-7.44 3.34-7.44 7.44 0 4.1 3.34 7.44 7.44 7.44 4.1 0 7.44-3.34 7.44-7.44 0-4.1-3.34-7.44-7.44-7.44Z"/>
1576                <path d="m16.706 15.846-.849.848 5.346 5.346.849-.848-5.346-5.346Z"/>
1577            </svg>
1578        </button>
1579    </form>
1580
1581    <div class="flex flex-col lg:flex-row justify-between mt-4 lg:mt-8 px-3 lg:px-4">
1582        <div class="px-3 lg:px-0 w-full md:w-1/3">
1583            <p class="font-secondary text-xl uppercase font-bold mb-6" :class="suggestions.length > 0 ? 'block' : 'hidden'">
1584                Suggestions de recherche            </p>
1585            <template x-if="suggestions.length > 0">
1586                <ul class="mb-6">
1587                    <template x-for="suggestion in suggestions">
1588                        <li class="mb-4">
1589                            <a class="btn btn-tertiary btn-link text-sm lg:text-base" href="#"
1590                               tabindex="0"
1591                               @click="search(suggestion.title)"
1592                               @keydown.enter="search(suggestion.title)"
1593                               @keydown.arrow-up.prevent="focusElement($event.target.previousElementSibling) || $refs.searchInput.focus()"
1594                               @keydown.arrow-down.prevent="focusElement($event.target.nextElementSibling)">
1595                                <span x-text="suggestion.title"></span>
1596                                <b class="ml-1 font-semibold">(<span x-text="suggestion.num_results"></span>)</b>
1597                            </a>
1598                        </li>
1599                    </template>
1600                </ul>
1601            </template>
1602
1603            <p class="font-secondary text-xl uppercase font-bold mb-6" :class="categories.length > 0 ? 'block' : 'hidden'">
1604                Catégories            </p>
1605            <template x-if="categories.length > 0">
1606                <ul>
1607                    <template x-for="category in categories">
1608                        <li class="mb-4">
1609                            <a class="btn btn-tertiary btn-link text-sm lg:text-base" x-bind:href="category.url">
1610                                <span x-text="category.title"></span>
1611                            </a>
1612                        </li>
1613                    </template>
1614                </ul>
1615            </template>
1616        </div>
1617        <div class="w-full md:w-2/3">
1618            <template x-if="products.length > 0">
1619                <p class="font-secondary text-xl uppercase font-bold mb-6" :class="suggestions.length > 0 ? 'block' : 'hidden'">
1620                    Nos meilleures ventes                </p>
1621            </template>
1622            <div class="products wrapper mode-grid products-grid lg:max-w-2xl">
1623                <template x-if="products.length > 0">
1624                    <div
1625                        class="mx-auto pb-12 grid gap-x-3 md:gap-x-10 gap-y-8 grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-3">
1626                        <template x-for="product in products">
1627                            <div class="item product product-item product_addtocart_form">
1628                                <div class="relative" @mouseenter.self="product.hoverImg = true"
1629                                     @mouseleave.self="product.hoverImg = false">
1630                                    <a x-bind:href="product.url" class="product photo product-item-photo block overflow-hidden"
1631                                       tabindex="-1">
1632                                        <template x-if="product.hoverImg">
1633                                            <img class="absolute top-0 hidden md:block"
1634                                                 :src="product.image_src_hover"
1635                                                 :alt="product.name"
1636                                                 :title="product.name"
1637                                                 :width="product.image_src_w"
1638                                                 :height="product.image_src_h">
1639                                        </template>
1640                                        <img loading="lazy"
1641                                             :alt="product.name"
1642                                             :title="product.name"
1643                                             :src="product.image_src"
1644                                             :width="product.image_src_hover_w"
1645                                             :height="product.image_src_hover_h">
1646                                    </a>
1647                                </div>
1648                                <div class="product-info relative mt-1 md:mt-3 flex flex-col">
1649                                    <div class="flex justify-between items-center"">
1650                                        <div class="md:pt-1 text-neutral-900 text-sm">
1651                                            <div class="price-box price-final_price" data-role="priceBox"
1652                                                 :data-product-id="product.entity_id"
1653                                                 :data-price-box="getDataPriceBox(product.entity_id)">
1654                                          <span class="normal-price">
1655                                            <span class="price-container price-final_price tax">
1656                                              <span :id="getDataPriceBox(product.entity_id)" :data-price-amount="product.price"
1657                                                    data-price-type="finalPrice" class="price-wrapper "><span
1658                                                      class="price">
1659                                                       <span x-text="product.formatted_price"></span>
1660                                                  </span></span>
1661                                            </span>
1662                                          </span>
1663                                            </div>
1664                                        </div>
1665                                        <div class="absolute md:relative top-0.5 right-0">
1666                                            <button @click.prevent="addToWishlist(product.entity_id)"
1667                                                    aria-label="Ajouter à ma liste d’envie"
1668                                                    type="button"
1669                                                    class="p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-neutral-900 hover:text-neutral-800 ">
1670                                                <template x-if="resultProductId[product.entity_id]">
1671                                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
1672                                                         fill="currentColor" class="w-4 h-4" width="24" height="24">
1673                                                        <path
1674                                                            d="M22.79,5.894C22.114,3.851 20.331,2.362 18.2,2.062C15.96,1.735 13.75,2.709 12.045,4.751C10.331,2.709 8.129,1.735 5.881,2.062C3.751,2.36 1.97,3.85 1.301,5.894C0.448,8.451 1.431,11.384 3.979,13.941L12.045,21.997L20.101,13.941C22.659,11.383 23.633,8.451 22.79,5.894Z"/>
1675                                                    </svg>
1676                                                </template>
1677                                                <template x-if="!resultProductId[product.entity_id]">
1678                                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
1679                                                         fill="currentColor" class="w-4 h-4" width="24" height="24">
1680                                                        <path
1681                                                            d="m12.057 22 8.062-8.061c2.559-2.56 3.534-5.493 2.68-8.043a5.67 5.67 0 0 0-4.593-3.834c-2.24-.328-4.442.647-6.158 2.681C10.342 2.71 8.13 1.734 5.89 2.063a5.657 5.657 0 0 0-4.593 3.833c-.844 2.56.13 5.493 2.68 8.043L12.048 22h.01ZM2.618 6.327a4.283 4.283 0 0 1 3.478-2.905c.215-.029.431-.047.647-.047 1.743 0 3.45 1.03 4.752 2.896l.563.806.562-.806c1.462-2.1 3.43-3.13 5.4-2.85a4.27 4.27 0 0 1 3.477 2.906c.684 2.044-.178 4.462-2.353 6.637l-7.086 7.086-7.087-7.086C2.796 10.789 1.943 8.37 2.618 6.327Z"/>
1682                                                    </svg>
1683                                                </template>
1684                                            </button>
1685                                        </div>
1686                                    </div>
1687                                    <a class="product-item-link text-[13px] uppercase" x-bind:href="product.url">
1688                                        <template x-if="product.seo_product_name">
1689                                            <span x-text="product.seo_product_name + ' ' + product.color"></span>
1690                                        </template>
1691                                        <template x-if="!product.seo_product_name">
1692                                            <span x-text="product.name + ' ' + product.color"></span>
1693                                        </template>
1694                                    </a>
1695                                    <div>
1696                                        <p class="text-xs text-neutral-900 flex flex-wrap items-center">
1697                                            <span x-text="product.manufacturer"></span>
1698                                            <svg class="mx-2 fill-current text-primary-500" width="6" height="7"
1699                                                 viewBox="0 0 6 7" xmlns="http://www.w3.org/2000/svg">
1700                                                <circle cx="3" cy="3.5" r="3"/>
1701                                            </svg>
1702                                            <span x-text="product.supportName"></span>
1703                                        </p>
1704                                    </div>
1705                                </div>
1706                            </div>
1707                        </template>
1708                    </div>
1709                </template>
1710            </div>
1711        </div>
1712    </div>
1713</div>
1714    </div>
1715
1716    <!--Cart Drawer-->
1717    </div>
1718</header><main id="maincontent" class="page-main"><a id="contentarea" tabindex="-1"></a>
1719<div class="page messages">
1720<section id="messages"
1721         x-data="initMessages()"
1722         x-spread="eventListeners"
1723>
1724    <template x-if="!isEmpty()">
1725        <div class="w-full">
1726            <div role="alert" class="messages container mx-auto">
1727                <template x-for="(message, index) in messages" :key="index">
1728                    <div>
1729                        <template x-if="message">
1730                            <div
1731                                class="text-sm py-3 px-4 flex items-center relative message rounded-none justify-center pr-10  md:mb-5"
1732                                :ui-id="'message-' + message.type"
1733                            >
1734                                <div class="h-6 w-6 flex-shrink-0 mr-3 rounded-full" :class="'bg-' + message.type">
1735                                    <template x-if="message.type === 'error'">
1736                                        <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg"
1737                                             viewBox="0 0 24 24">
1738                                            <path fill-rule="evenodd"
1739                                                  d="M12.04 12.677 5.93 18.92l-.858-.84 6.13-6.26-5.776-5.9.857-.84 5.759 5.882L17.8 5.08l.858.84-5.777 5.9 6.13 6.26-.857.84-6.112-6.243Z"/>
1740                                        </svg>
1741                                    </template>
1742                                    <template x-if="message.type !== 'error'">
1743                                        <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg"
1744                                             viewBox="0 0 24 24">
1745                                            <path fill-rule="evenodd"
1746                                                  d="M19.424 7.924 10 17.35l-5.424-5.425.848-.848L10 15.65l8.576-8.575.848.848Z"></path>
1747                                        </svg>
1748                                    </template>
1749                                </div>
1750                                <span x-html="message.text"></span>
1751                                <button
1752                                    class="btn btn-icon-only btn-size-xs close cursor-pointer absolute right-4 top-1/2 transform -translate-y-1/2 fill-current "
1753                                    title="Fermer"
1754                                    aria-label="Fermer"
1755                                    @click.prevent="removeMessage(index)">
1756                                    <svg class="w-4 h-4" fill="currentColor" xmlns="http://www.w3.org/2000/svg"
1757                                         viewBox="0 0 24 24">
1758                                        <path fill-rule="evenodd"
1759                                              d="M12.04 12.677 5.93 18.92l-.858-.84 6.13-6.26-5.776-5.9.857-.84 5.759 5.882L17.8 5.08l.858.84-5.777 5.9 6.13 6.26-.857.84-6.112-6.243Z"></path>
1760                                    </svg>
1761                                </button>
1762                            </div>
1763                        </template>
1764                    </div>
1765                </template>
1766            </div>
1767        </div>
1768    </template>
1769</section>
1770</div><div class="columns"><div class="column main"><div id="customer-login-container" class="login-container mb-16 mt-16">
1771<div class="flex flex-col md:flex-row md:divide-x divide-neutral-300">
1772    
1773<div class="md:w-1/2">
1774    <div class="px-8">
1775        <h2 class="text-2xl md:text-3xl font-secondary font-medium uppercase text-center mb-6 md:mb-20">Me connecter</h2>
1776        <form class="form form-login max-w-[420px] mx-auto"
1777              action="https://www.we-wall.com/customer/account/loginPost/"
1778              method="post"
1779              id="customer-login-form"
1780              x-data="initCustomerLoginForm()"
1781              @submit.prevent="submitForm()">
1782            <input name="form_key" type="hidden" value="Re5fy3d9lYbPZkVe" />            <fieldset class="fieldset login">
1783                <legend class="sr-only">Connexion</legend>
1784
1785                <div class="field field-inline email required"
1786                     :class='{
1787                        "has-value": value_email.length > 0,
1788                        "input-focus": add_email === true
1789                     }'
1790                >
1791                    <div class="field-wrapper">
1792                        <label class="label" for="email"><span>Email*</span></label>
1793                        <div class="control">
1794                            <input x-on:focus="add_email = true"
1795                                   x-on:blur="add_email = false"
1796                                   x-model="value_email"
1797                                   name="login[username]"
1798                                   class="form-input"
1799                                   title="Email"
1800                                   value=""
1801                                   id="email"
1802                                   type="email"
1803                                   required>
1804                        </div>
1805                    </div>
1806                </div>
1807                <div class="field required field-inline password required mt-6"
1808                     :class='{
1809                        "has-value": value_pass.length > 0,
1810                        "input-focus": add_pass === true
1811                        }'>
1812                    <div class="field-wrapper">
1813                        <label class="label"
1814                               for="password"><span>Mot de passe *</span></label>
1815                        <div class="control control-with-btn">
1816                            <input x-on:focus="add_pass = true"
1817                                   x-on:blur="add_pass = false"
1818                                   x-model="value_pass"
1819                                   name="login[password]"
1820                                   class="form-input"
1821                                   title="Mot&#x20;de&#x20;passe"
1822                                   autocomplete="new-password"
1823                                   id="pass"
1824                                   type="password"
1825                                   :type="showPass ? 'text' : 'password'"
1826                                   required>
1827                            <button
1828                                @click="showPass = !showPass" type="button"
1829                                class="btn btn-tertiary btn-icon-only btn-size-md fill-current text-neutral-700"
1830                                aria-label="afficher / cacher le mot de passe">
1831                                <svg x-show="!showPass" class="w-6 h-6" xmlns="http://www.w3.org/2000/svg"
1832                                     viewBox="0 0 24 24" focusable="false" aria-hidden="true">
1833                                    <g>
1834                                        <path
1835                                            d="M22.573 11.73C22.436 11.5 19.03 6.095 12.457 6h-.17C5.635 6 2.144 11.5 2 11.73c.145.23 3.636 5.732 10.286 5.732h.17c6.574-.086 9.98-5.501 10.125-5.723l-.008-.008Zm-10.125 4.71h-.153a11.59 11.59 0 0 1-9.052-4.7c1.03-1.363 4.147-4.803 9.197-4.71a11.555 11.555 0 0 1 8.89 4.71 11.564 11.564 0 0 1-8.882 4.7Z"/>
1836                                        <path
1837                                            d="M12.295 15.367a3.551 3.551 0 1 1 0-7.102 3.551 3.551 0 0 1 0 7.102Zm0-6.123c-.505 0-1 .193-1.42.473a2.555 2.555 0 1 0 3.975 2.124 2.556 2.556 0 0 0-2.555-2.597Z"/>
1838                                    </g>
1839                                </svg>
1840                                <svg x-show="showPass" class="w-6 h-6" xmlns="http://www.w3.org/2000/svg"
1841                                     viewBox="0 0 24 24" focusable="false" aria-hidden="true">
1842                                    <path
1843                                        d="M12.41 6.28h-.18c-6.88 0-10.49 5.69-10.64 5.93.06.11.89 1.41 2.44 2.76l.98-.54c-1.01-.84-1.73-1.67-2.14-2.21 1.07-1.41 4.29-4.97 9.52-4.87 1.47.02 2.79.33 3.92.78l1.15-.64a11.83 11.83 0 0 0-5.06-1.2l.01-.01Zm10.47 5.92c-.07-.11-.9-1.41-2.45-2.75l-.98.55c1.02.84 1.74 1.68 2.14 2.21-1.05 1.38-4.15 4.8-9.19 4.87h-.16c-1.54 0-2.91-.31-4.09-.78L7 16.93c1.45.71 3.21 1.21 5.24 1.21h.18c6.76-.09 10.32-5.68 10.47-5.92l-.01-.02Z"/>
1844                                    <path
1845                                        d="m15.91 11.98-1.08.6a2.606 2.606 0 0 1-3.68 2.05l-1.07.59c.61.44 1.35.71 2.16.71 2.03 0 3.68-1.65 3.68-3.68v-.27h-.01Zm-3.67-3.4c-2.03 0-3.68 1.65-3.68 3.68v.19l1.08-.6c.19-1.25 1.28-2.2 2.58-2.2.36 0 .7.07 1.01.2l1.08-.61c-.59-.41-1.31-.65-2.09-.65l.02-.01Zm10.89-1.84-3.58 2-1.02.57-2.87 1.6-.93.52-4.49 2.5-.93.52-2.33 1.3-1.07.6-4.07 2.26-.51-.92 3.6-2.01 1.01-.56 2.86-1.6.93-.52 4.47-2.49.93-.52 2.36-1.32 1.07-.59 4.06-2.26.51.92Z"/>
1846                                </svg>
1847                            </button>
1848                        </div>
1849                    </div>
1850                </div>
1851
1852                <div class="text-right mt-6">
1853                    <a class="btn btn-tertiary btn-icon-right btn-link underline text-sm"
1854                       href="https://www.we-wall.com/customer/account/forgotpassword/">
1855                        <span>Mot de passe oublié ?</span>
1856                        <svg focusable="false" aria-hidden="true" class="w-5 h-5 ml-1" fill="currentColor"
1857                             xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
1858                            <path d="m9.65 17.88-.84-.85L13.88 12 8.81 6.97l.84-.85L15.58 12l-5.93 5.88Z"/>
1859                        </svg>
1860                    </a>
1861                </div>
1862
1863                                
1864                <div class="actions-toolbar text-center mt-12">
1865                    <button type="submit"
1866                            class="btn btn-secondary md:btn-primary btn-size-lg w-full max-w-xs justify-center"
1867                            name="send">
1868                        <span>Connexion</span>
1869                    </button>
1870                </div>
1871
1872                <div>
1873                    <template x-if="displayErrorMessage">
1874                        <p class="text-red flex items-center">
1875                            <span class="inline-block w-8 h-8 mr-3">
1876                                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
1877                                     stroke="currentColor">
1878                                  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1879                                        d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
1880                                </svg>
1881                            </span>
1882                            <template x-for="errorMessage in errorMessages">
1883                                <span x-html="errorMessage"></span>
1884                            </template>
1885                        </p>
1886                    </template>
1887                </div>
1888
1889                <div class="text-center">
1890                    <p class="text-xs text-neutral-600 text-center mt-2">* Champs requis</p>
1891                </div>
1892
1893            </fieldset>
1894        </form>
1895    </div>
1896
1897    <div class="w-full">
1898            </div>
1899
1900    
1901</div>
1902
1903
1904
1905
1906        <div class="md:w-1/2 order-first md:order-none mb-8 md:mb-0 pb-8 md:pb-0 border-b  border-neutral-300 md:border-0">
1907        <div class="px-8 xl:px-36">
1908            <h2 class="text-2xl md:text-3xl font-secondary font-medium uppercase text-center mb-6 md:mb-20">
1909                Nouveaux clients            </h2>
1910            <div class="text-center hidden md:block">
1911                <p>
1912                    La création d’un compte a de nombreux avantages : consultation rapide, sauvegarder plusieurs adresses, suivre les commandes, et bien plus encore.                </p>
1913            </div>
1914            <div class="text-center md:mt-28">
1915                <a class="btn btn-primary md:btn-secondary btn-size-lg w-full max-w-xs justify-center" href="https://www.we-wall.com/customer/account/create/">
1916                    Créer un compte                </a>
1917            </div>
1918        </div>
1919    </div>
1920</div>
1921</div><style>
1922    .product-slider .m-logo {
1923        display: none;
1924    }
1925
1926    .m-logo {
1927        display: inline-block;
1928    }
1929
1930    .m-logo .m-brand-tooltip {
1931        position: relative;
1932        float: left;
1933        margin-right: 10px;
1934    }
1935
1936    .m-logo .m-brand-tooltip .mst_tooltip {
1937        position: absolute;
1938        width: 350px;
1939        padding: 10px;
1940        border: 1px solid #ccc;
1941        bottom: 100%;
1942        margin-bottom: 20px;
1943        left: 10%;
1944        opacity: 1;
1945        text-align: justify;
1946        z-index: 1000;
1947    }
1948
1949    .catalog-product-view .m-logo .m-brand-tooltip .mst_tooltip {
1950        left: 27%;
1951    }
1952
1953    .m-logo .m-brand-tooltip .mst_tooltip img {
1954        width: 100px;
1955        margin: auto;
1956        padding: 0;
1957    }
1958
1959    .m-logo .m-brand-tooltip .mst_tooltip .mst_tooltip__pointer {
1960        position: absolute;
1961        width: 15px;
1962        height: 15px;
1963        border-left: 1px solid #ccc;
1964        border-bottom: 1px solid #ccc;
1965        bottom: -8px;
1966        left: 10px;
1967        transform: rotate(-0.125turn);
1968    }
1969
1970    .m-logo .m-brand-tooltip:hover .mst_tooltip {
1971        display: block;
1972
1973        -webkit-animation: fadeInFromNone 0.5s ease-in-out;
1974        -moz-animation: fadeInFromNone 0.5s ease-in-out;
1975        -o-animation: fadeInFromNone 0.5s ease-in-out;
1976        animation: fadeInFromNone 0.5s ease-in-out;
1977    }
1978
1979    @-webkit-keyframes fadeInFromNone {
1980        0% {
1981            display: none;
1982            opacity: 0;
1983        }
1984
1985        1% {
1986            display: block;
1987            opacity: 0;
1988        }
1989
1990        100% {
1991            display: block;
1992            opacity: 1;
1993        }
1994    }
1995
1996    @-moz-keyframes fadeInFromNone {
1997        0% {
1998            display: none;
1999            opacity: 0;
2000        }
2001
2002        1% {
2003            display: block;
2004            opacity: 0;
2005        }
2006
2007        100% {
2008            display: block;
2009            opacity: 1;
2010        }
2011    }
2012
2013    @-o-keyframes fadeInFromNone {
2014        0% {
2015            display: none;
2016            opacity: 0;
2017        }
2018
2019        1% {
2020            display: block;
2021            opacity: 0;
2022        }
2023
2024        100% {
2025            display: block;
2026            opacity: 1;
2027        }
2028    }
2029
2030    @keyframes fadeInFromNone {
2031        0% {
2032            display: none;
2033            opacity: 0;
2034        }
2035
2036        1% {
2037            display: block;
2038            opacity: 0;
2039        }
2040
2041        100% {
2042            display: block;
2043            opacity: 1;
2044        }
2045    }
2046</style>
2047
2048</div></div></main><footer class="page-footer bg-white"><div class="footer content">
2049    <a x-data="{showButton : false  }"
2050       @scroll.window="showButton = (window.pageYOffset > 800) ? true : false"
2051       :class="showButton ? 'opacity-100' : 'opacity-0'"
2052       class="btn btn-icon-only transition duration-100 bg-neutral-900 text-white rounded-full p-0 w-12 md:w-18 h-12 md:h-18 fixed z-100 right-6 bottom-8 opacity-0"
2053       href="#html-body" aria-label="Retour en haut de page">
2054        <svg class="w-6 rotate-90 md:w-10 h-6 md:h-10 fill-current" aria-hidden="true" focusable="false"
2055             xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2056            <path d="M3 11.84 6.886 14v-1.529H21V11.21H6.886V9.68L3 11.84Z"/>
2057        </svg>
2058    </a>
2059
2060
2061<div class="bg-primary-500 py-10 pb-0 lg:py-12">
2062    <div class="container flex justify-center font-medium">
2063    <div class="hidden lg:block lg:order-1 text-center max-w-sm w-full">
2064        <img class="w-10 h-10 inline-block" src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/images/homepage/magasin.svg"
2065             alt="" width="48" height="48">
2066        <p class="mt-3 lg:mt-6 uppercase text-11 lg:text-sm">
2067            <span>Retrait gratuit en magasin</span>
2068        </p>
2069    </div>
2070    <div class="order-3 lg:order-2 text-center max-w-sm w-full">
2071        <img class="w-10 h-10 inline-block" src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/images/footer/echantillon.svg"
2072             alt="" width="48" height="48">
2073        <p class="mt-3 lg:mt-6 uppercase text-11 lg:text-sm">
2074            <span>Commande d'échantillons</span>
2075        </p>
2076    </div>
2077    <div class="order-2 lg:order-3 text-center max-w-sm w-full">
2078        <img class="w-10 h-10 inline-block" src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/images/footer/paiement-securise.svg"
2079             alt="" width="48" height="48">
2080        <p class="mt-3 lg:mt-6 uppercase text-11 lg:text-sm">
2081            <span>Paiement 100% sécurisé</span>
2082        </p>
2083    </div>
2084    <div class="order-1 lg:order-4 text-center max-w-sm w-full">
2085        <img class="w-10 h-10 inline-block" src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/images/homepage/livraison.svg"
2086             alt="" width="48" height="48">
2087        <p class="mt-3 lg:mt-6 uppercase text-11 lg:text-sm">
2088            <span class="hidden lg:block">Livraison sous 72H</span>
2089            <span class="lg:hidden">Retrait gratuit en magasin</span>
2090        </p>
2091    </div>
2092</div>
2093    
2094<div class="container flex flex-col w-[calc(100%-2rem)] mx-4 lg:mx-auto lg:flex-row mt-10 lg:mt-14 gap-6 max-w-6xl">
2095            <div
2096            class="flex justify-between items-center lg:w-full lg:max-w-344 leading-3 bg-neutral-900 lg:rounded-full p-4 pl-6 lg:pl-10 -mx-4 lg:mx-0">
2097        <span class="text-white">
2098          <span class="text-13">Une question ? <br>Notre équipe vous répond</span>
2099          <span class="block mt-2 font-medium">03&#x20;74&#x20;02&#x20;81&#x20;82</span>
2100        </span>
2101            <a href="tel:03&#x20;74&#x20;02&#x20;81&#x20;82" id="select_phone"
2102               title="Une question ? Notre équipe vous répond"
2103               class="ml-6 flex items-center justify-center w-14 lg:w-16 h-14 lg:h-16 rounded-full bg-white hover:bg-neutral-100">
2104                <svg class="w-8 h-8" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
2105                     viewBox="0 0 24 24">
2106                    <path
2107                        d="m16.73 23-.247-.051c-2.437-.537-7.054-2.121-10.598-6.654-3.101-3.97-3.757-8.22-3.868-10.393L2 5.646 6.481 2l4.038 4.609-2.922 2.488c.154.851.69 3.084 2.386 5.052 1.576 1.84 3.475 2.675 4.6 3.032l3.007-2.42 3.706 4.337L16.73 23ZM3.048 6.106c.145 2.122.835 5.964 3.638 9.559 3.228 4.132 7.403 5.665 9.763 6.227l3.399-2.905-2.403-2.802-2.65 2.13-.255-.069c-1.192-.34-3.475-1.235-5.35-3.424-2.061-2.403-2.556-5.086-2.666-5.853l-.034-.281 2.564-2.181-2.7-3.093-3.306 2.692Z"/>
2108                </svg>
2109            </a>
2110        </div>
2111    
2112    
2113<form
2114    class="form subscribe lg:w-full lg:flex lg:items-center bg-white lg:rounded-full py-6 px-4 lg:p-4 lg:pl-10 -mx-4 lg:mx-0"
2115    action="https://www.we-wall.com/newsletter/subscriber/new/"
2116    method="post"
2117    x-data="initNewsletterForm()"
2118    @submit.prevent="submitForm()"
2119    id="newsletter-validate-detail">
2120    <p class="w-56 lg:w-36 pl-2 lg:pl-0 text-sm lg:text-13 flex-shrink-0">
2121        Soyez informés des dernières tendances papier peint    </p>
2122    <div class="flex flex-grow items-center mt-4 lg:mt-0">
2123        <div class="w-full">
2124            <div class="field required field-inline email w-full pl-4"  :class="{'has-value': email.length > 0 }">
2125                <div class="field-wrapper">
2126                    <label class="label"
2127                           for="newsletter-subscribe"><span>Votre e-mail*</span></label>
2128                    <div class="control ">
2129                        <input id="newsletter-subscribe"
2130                               name="email"
2131                               type="email"
2132                               class="form-input"
2133                               required
2134                               value=""
2135                               autocomplete="off"
2136                               x-model="email">
2137                        <input name="form_key" type="hidden" value="Re5fy3d9lYbPZkVe" />                    </div>
2138                </div>
2139                <div class="mt-2">
2140                    <input type="checkbox" class="checkbox mr-2" name="allow" value="1" id="newsletter_allow" required>
2141                    <label for="newsletter_allow" class="text-sm">
2142                        J&#039;autorise We Wall à m&#039;envoyer des informations                    </label>
2143                </div>
2144            </div>
2145        </div>
2146        <button class="btn btn-primary w-14 lg:w-16 h-14 lg:h-16 btn-icon-only p-0 rounded-full ml-4"
2147                aria-label="S&#039;abonner à la newsletter">
2148            <svg class="w-8 h-8" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
2149                 viewBox="0 0 24 24">
2150                <path d="m21 12.48-3.886-2.16v1.529H3v1.262h14.114v1.53L21 12.48Z"/>
2151            </svg>
2152        </button>
2153        <div class="control">
2154    <input type="hidden"
2155           value=""
2156           class="form-input"
2157           name="g-recaptcha-response"
2158    />
2159</div>
2160    </div>
2161    <div>
2162        <template x-if="displayErrorMessage">
2163            <p class="flex items-center text-red">
2164                    <span class="inline-block w-8 h-8 mr-3">
2165                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
2166                             stroke="currentColor">
2167                          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
2168                                d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
2169                        </svg>
2170                    </span>
2171                <template x-for="errorMessage in errorMessages">
2172                    <span x-html="errorMessage"></span>
2173                </template>
2174            </p>
2175        </template>
2176    </div>
2177    <div>
2178        <p class="my-4 text-sm text-gray-900 hidden">
2179Ce formulaire est protégé par reCAPTCHA. Les <a class="underline" href="https://policies.google.com/privacy">règles de confidentialité</a> et les <a class="underline" href="https://policies.google.com/terms">conditions d&#039;</a> utilisation de <a class="underline" href="https://policies.google.com/privacy">Google</a> s&#039;appliquent.</p>
2180    </div>
2181</form>
2182
2183
2184</div>
2185<p class="lg:hidden text-11 text-center py-3 px-4">*chez un partenaire déco</p>
2186</div>
2187<div class="container flex flex-wrap lg:flex-nowrap flex-row justify-around mt-12">
2188<div class="mb-6 lg:mb-0 w-1/2 lg:w-auto">
2189<p class="font-medium uppercase text-xs md:text-sm">Nos produits</p>
2190<ul class="mt-2 md:mt-5">
2191<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/papier-peint.html" title="Papier peint"> Papier peint tendance</a></li>
2192<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/panoramique.html" title="Papier peint panoramique"> Papier peint panoramique</a></li>
2193<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/conseils" title="Conseils papier peint">Conseils déco papier peint</a></li>
2194<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="https://www.we-wall.com/conseils/echantillons-de-papier-peint" title="Echantillons de papier peint">Echantillons papier peint</a></li>
2195<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/fin-de-serie.html" title="Papiers peints fins de série">Papiers peints fins de série</a></li>
2196<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/soldes.html" title="Papiers peints en soldes">Papiers peints en soldes</a></li>
2197<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/conseils/papier-peint-tendance-2025" title="Tendances Papier Peint 2025">Tendances Papier Peint 2025</a></li>
2198<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/conseils/black-friday" title="Black Friday WE WALL 2025">Black Friday WE WALL 2025</a></li>
2199</ul>
2200</div>
2201<div class="mb-6 lg:mb-0 w-1/2 lg:w-auto">
2202<p class="font-medium uppercase text-xs md:text-sm">Nos spécialistes déco</p>
2203<ul class="mt-2 md:mt-5">
2204<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/magasin-papier-peint" title="Trouver un magasin de papier peint">Trouver un magasin de papier peint</a></li>
2205<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/retailer/account/login"> Espace partenaire déco</a></li>
2206<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/magasin-papier-peint-lille" title="Magasin Papier Peint Lille">Magasin Papier Peint Lille</a></li>
2207</ul>
2208</div>
2209<div class="mb-6 lg:mb-0 w-1/2 lg:w-auto">
2210<p class="font-medium uppercase text-xs md:text-sm">Nous découvrir</p>
2211<ul class="mt-2 md:mt-5">
2212<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="https://www.we-wall.com/notre-concept">Qui sommes-nous ?</a></li>
2213<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/nos-services"> Nos services</a></li>
2214<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/nos-marques"> Nos marques</a></li>
2215<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="vos-realisations"> Vos réalisations avec nos papiers peints</a></li>
2216</ul>
2217</div>
2218<div class="mb-6 lg:mb-0 w-1/2 lg:w-auto">
2219<p class="font-medium uppercase text-xs md:text-sm">Une question ?</p>
2220<ul class="mt-2 md:mt-5">
2221<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/faq"> FAQ</a></li>
2222<li class="mb-1 md:mb-4"><a class="btn btn-tertiary btn-link text-xs md:text-sm" href="/contact"> Nous contacter</a></li>
2223</ul>
2224</div>
2225</div><div class="container text-center lg:mt-16 pb-4">
2226<p class="mt-4 lg:mt-12"><span style="font-size: 14px;">
2227<ul class="flex justify-center gap-6">
2228            <li>
2229            <a class="btn btn-tertiary btn-icon-only btn-size-md"
2230               href="https&#x3A;&#x2F;&#x2F;www.instagram.com&#x2F;wewall_official"
2231               aria-label="Instagram">
2232                <img src="https&#x3A;&#x2F;&#x2F;www.we-wall.com&#x2F;static&#x2F;version1786625269&#x2F;frontend&#x2F;Texdecor&#x2F;default&#x2F;fr_FR&#x2F;images&#x2F;footer&#x2F;instagram.svg" alt="Instagram" width="24" height="24">
2233            </a>
2234        </li>
2235    
2236            <li>
2237            <a class="btn btn-tertiary btn-icon-only btn-size-md"
2238               href="https&#x3A;&#x2F;&#x2F;www.pinterest.fr&#x2F;wewall_official"
2239               aria-label="Pinterest">
2240                <img src="https&#x3A;&#x2F;&#x2F;www.we-wall.com&#x2F;static&#x2F;version1786625269&#x2F;frontend&#x2F;Texdecor&#x2F;default&#x2F;fr_FR&#x2F;images&#x2F;footer&#x2F;pinterest.svg" alt="Pinterest" width="24" height="24">
2241            </a>
2242        </li>
2243    
2244    </ul>
2245</span></p>
2246<p class="mt-4 lg:mt-12" style="font-size: 14px;"><span class="obfuscated" title="Conditions Générales de Vente" data-o="L2NvbmRpdGlvbnMtZ2VuZXJhbGVzLWRlLXZlbnRl">CGV</span> - <span class="btn btn-tertiary btn-link text-neutral-700 text-sm obfuscated" title="Mentions légales" data-o="L21lbnRpb25zLWxlZ2FsZXM,">Mentions légales</span> - <span class="btn btn-tertiary btn-link text-neutral-700 text-sm obfuscated" title="Charte des données personnelles" data-o="L2Rvbm5lZXMtcGVyc29ubmVsbGVz">Données personnelles</span></p>
2247</div></div></footer>            <!-- added by Trusted Shops app: Start -->
2248                                <!-- End -->
2249    
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260    
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273<style>
2274    .overview {
2275        max-height: 70px;
2276    }
2277
2278    .overview .gradient {
2279        background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 5%, #FFFFFF 90%);
2280    }
2281
2282    .overview.active .gradient {
2283        display: none;
2284    }
2285</style>
2286
2287
2288
2289</div>
2290<script  type="text/javascript"  src="https://www.we-wall.com/static/version1786625269/_cache/merged/a9f1572fab66393af85782c6ccb5e8a7.min.js"></script>
vendor: 1 bytes, line 2290
2290
2291<script data-rocketjavascript="false">
2292    var MagefanWebP = {
2293
2294        _canUseWebP: null,
2295
2296        getUserAgentInfo: function(){
2297            try {
2298                var ua = navigator.userAgent,
2299                    tem,
2300                    M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
2301                if (/trident/i.test(M[1])) {
2302                    tem = /\brv[ :]+(\d+)/g.exec(ua) || [];
2303                    return ['IE', (tem[1] || '')];
2304                }
2305                if (M[1] === 'Chrome') {
2306                    tem = ua.match(/\b(OPR|Edge)\/(\d+)/);
2307                    if (tem != null) {
2308                        tem = tem.slice(1);
2309                        tem[0] = tem[0].replace('OPR', 'Opera');
2310                        return tem;
2311                    }
2312                }
2313                M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];
2314                if ((tem = ua.match(/version\/(\d+)/i)) != null) M.splice(1, 1, tem[1]);
2315                return M;
2316            } catch (e) {
2317                return ['', 0];
2318            }
2319        },
2320
2321        canUseWebP: function(){
2322
2323                        this._canUseWebP = false;
2324            
2325            if (null !== this._canUseWebP){
2326                return this._canUseWebP;
2327            }
2328
2329            try {
2330                var elem = document.createElement('canvas');
2331                if (!!(elem.getContext && elem.getContext('2d'))) {
2332                    var r = (elem.toDataURL('image/webp').indexOf('data:image/webp') == 0);
2333                    if (!r) {
2334                        var ua = this.getUserAgentInfo();
2335                        if (ua && ua.length > 1) {
2336                            ua[0] = ua[0].toLowerCase();
2337                            if ('firefox' == ua[0] && parseInt(ua[1]) >= 65) {
2338                                this._canUseWebP = true;
2339                                return this._canUseWebP;
2340                            }
2341                            if ('edge' == ua[0] && parseInt(ua[1]) >= 18) {
2342                                this._canUseWebP = true;
2343                                return this._canUseWebP;
2344                            }
2345                            if ('safari' == ua[0]) {
2346                                if (navigator.platform.includes('Mac')) {
2347                                    if (parseInt(ua[1]) >= 16) {
2348                                        this._canUseWebP = true;
2349                                    }
2350                                } else {
2351                                    if (parseInt(ua[1]) >= 15) {
2352                                        this._canUseWebP = true;
2353                                    }
2354                                }
2355
2356                                return this._canUseWebP;
2357                            }
2358                        }
2359                    }
2360
2361                    this._canUseWebP = r;
2362                    return this._canUseWebP;
2363                }
2364                this._canUseWebP = false;
2365                return this._canUseWebP;
2366            } catch (e) {
2367                console.log(e);
2368                this._canUseWebP = false;
2369                return this._canUseWebP;
2370            }
2371        },
2372
2373        getOriginWebPImage: function(src) {
2374            if (src.indexOf('mf_webp') == -1) {
2375                return src;
2376            }
2377
2378            var $array = src.split('/');
2379            var $imageFormat = '';
2380
2381            for (var i = 0; i < $array.length; i++) {
2382                if ($array[i] == "mf_webp") {
2383                    $imageFormat = $array[i + 1];
2384                    $array.splice(i, 3);
2385                    break;
2386                }
2387            }
2388            src = $array.join('/');
2389            return src.replace('.webp', '.' + $imageFormat);
2390        },
2391
2392        getWebUrl: function (imageUrl) {
2393            /* @var string */
2394            imageUrl = imageUrl.trim();
2395            var baseUrl = 'https://www.we-wall.com/';
2396            var imageFormat = imageUrl.split('.').pop();
2397
2398            if ('webp' === imageFormat) {
2399                return imageUrl;
2400            }
2401
2402            var mediaBaseUrl = 'https://www.we-wall.com/media/';
2403            var staticBaseUrl = 'https://www.we-wall.com/static/';
2404
2405            if (imageUrl.indexOf(mediaBaseUrl) == -1 && imageUrl.indexOf(staticBaseUrl) == -1) {
2406                return false;
2407            }
2408
2409            var imagePath = imageUrl;
2410            imagePath = imagePath.replace(mediaBaseUrl, 'media/');
2411            imagePath = imagePath.replace(staticBaseUrl, 'static/');
2412            imagePath = imagePath.replace(baseUrl + 'pub/media/', 'media/');
2413            imagePath = imagePath.replace(baseUrl + 'pub/static/', 'static/');
2414            imagePath = imagePath.replace(/\.(jpg|jpeg|png|JPG|JPEG|PNG|gif|GIF)/i, '.webp');
2415            imagePath = mediaBaseUrl + 'mf_webp/' + imageFormat + '/' + imagePath;
2416            imagePath = imagePath.replace('%20', ' ');
2417            imagePath = imagePath.replace(/version\d{10}\//g, '');
2418            return imagePath;
2419        }
2420    };
2421
2422    /* MagicToolboxContainer Fix */
2423    function MagefanWebPMagicToolboxContainerFix()
2424    {
2425        if (!MagefanWebP.canUseWebP()) {
2426            (function(){
2427                var i;
2428                var els = document.querySelectorAll(".MagicToolboxContainer a, .MagicToolboxContainer img");
2429                if (!els) return;
2430                var el;
2431                for (i=0; i<els.length; i++) {
2432                    el = els[i];
2433                    if (el.href) {
2434                        el.href = MagefanWebP.getOriginWebPImage(el.href);
2435                    }
2436
2437                    if (el.getAttribute('webpimg')) {
2438                        el.src = MagefanWebP.getOriginWebPImage(el.getAttribute('webpimg'));
2439                    } else {
2440                        if (el.src) {
2441                            el.src = MagefanWebP.getOriginWebPImage(el.src);
2442                        }
2443                    }
2444
2445                    if (el.dataset && el.dataset.image) {
2446                        el.dataset.image = MagefanWebP.getOriginWebPImage(el.dataset.image);
2447                    }
2448
2449                }
2450            })();
2451        } else {
2452            replacePixelMagicToolbox();
2453            checkIfPixelReplaced();
2454        }
2455    }
2456
2457    function replacePixelMagicToolbox() {
2458        (function() {
2459            var i, els = document.querySelectorAll(".MagicToolboxContainer img");
2460
2461            if (!els) return;
2462            var el;
2463
2464            for (i=0; i<els.length; i++) {
2465                el = els[i];
2466
2467                if (el.getAttribute('webpimg')) {
2468                    el.src = el.getAttribute('webpimg');
2469                }
2470            }
2471        })();
2472    }
2473
2474    function checkIfPixelReplaced() {
2475        var intervalCounter = 0,
2476            waitForMagicToolbox = setInterval(function() {
2477                if (document.querySelectorAll('figure img[src$="/p.jpg"]').length) {
2478                    replacePixelMagicToolbox();
2479                    clearInterval(waitForMagicToolbox);
2480                }
2481
2482                if (intervalCounter > 10) {
2483                    clearInterval(waitForMagicToolbox);
2484                }
2485
2486                intervalCounter++;
2487            }, 500);
2488    }
2489
2490    document.addEventListener("DOMContentLoaded", function(){
2491        if (!MagefanWebP.canUseWebP()) {
2492            document.body.className += ' no-webp ';
2493
2494            (function(){
2495                var i;
2496                var els = document.querySelectorAll('a[href$=".webp"]');
2497                if (!els) return;
2498                var el;
2499                for (i=0; i<els.length; i++) {
2500                    el = els[i];
2501                    if (el.href) {
2502                        el.href = MagefanWebP.getOriginWebPImage(el.href);
2503                    }
2504                }
2505            })();
2506
2507        } else {
2508            document.body.className += ' webp-supported ';
2509        }
2510    });
2511</script>
vendor: 1 bytes, line 2511
2511
2512<script>
2513    document.addEventListener("DOMContentLoaded", function(e){
2514        if (!MagefanWebP.canUseWebP()) {
2515            /* Replace some custom webp images with original one if webp is not supported */
2516            /* Can add <a> tag in future as well */
2517            setInterval(function(){
2518                document.querySelectorAll("img[src$='.webp']:not(.no-origin-webp-img)").forEach(function(el){
2519                    var scr = el.getAttribute('src');
2520                    var newScr = MagefanWebP.getOriginWebPImage(scr);
2521
2522                    if (scr != newScr) {
2523                        el.setAttribute('src', newScr);
2524                    } else {
2525                        el.classList.add('no-origin-webp-img');
2526                    }
2527                });
2528
2529            }, 1000);
2530        }
2531
2532        function processLazyPictureImg(img)
2533        {
2534            var src = img.getAttribute('src');
2535            var keys = ['original', 'src', 'lazyload'];
2536            var original, _original;
2537            for (var i=0;i<keys.length;i++) {
2538                _original = img.getAttribute('data-' + keys[i]);
2539                if (_original) {
2540                    original = _original;
2541                    break;
2542                }
2543            }
2544            if (original == src) {
2545
2546                if (img.getAttribute('data-mf-lazy-picture-img')) return;
2547                img.setAttribute('data-mf-lazy-picture-img', 1);
2548
2549
2550                img.parentElement.querySelectorAll('source').forEach(function(el){
2551                    var srcset = el.getAttribute('srcset');
2552                    var originalset = el.getAttribute('data-originalset');
2553                    if (originalset && (originalset != srcset)) {
2554                        el.setAttribute('srcset', originalset);
2555                        el.classList.remove('lazyload');
2556                    }
2557                });
2558
2559                var lazyLoader = img.closest('.lazy-loader');
2560                if (lazyLoader) {
2561                    lazyLoader.classList.remove('lazy-loader');
2562                }
2563
2564                document.querySelectorAll("picture img[src='"+src+"']").forEach(function(img){
2565                    processLazyPictureImg(img);
2566                });
2567
2568            }
2569        }
2570
2571        document.querySelectorAll('picture img[data-original],picture img[data-src],picture img[data-lazyload]').forEach(function(el){
2572            el.addEventListener('load', function(e){
2573                processLazyPictureImg(e.target);
2574            });
2575            processLazyPictureImg(el);
2576        });
2577    });
2578</script>
vendor: 1 bytes, line 2578
2578
2579<script src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/Texdecor_GoogleTagManager/js/gtm_helper_js.min.js"></script>
vendor: 1 bytes, line 2579
2579
2580<script>
2581    'use strict';
2582    (function( hyva, undefined ) {
2583
2584        function lifetimeToExpires(options, defaults) {
2585
2586            var lifetime = options.lifetime || defaults.lifetime;
2587
2588            if (lifetime) {
2589                var date = new Date;
2590                date.setTime(date.getTime() + lifetime * 1000);
2591                return date;
2592            }
2593
2594            return null;
2595        }
2596
2597        function generateRandomString() {
2598
2599            const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
2600                length = 16;
2601
2602            let formKey = '',
2603                charactersLength = allowedCharacters.length;
2604
2605            for (var i = 0; i < length; i++) {
2606                formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))]
2607            }
2608
2609            return formKey;
2610        }
2611
2612        const cookieTempStorage = {};
2613
2614        const internalCookie = {
2615            get(name) {
2616                const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
2617                return v ? v[2] : null;
2618            },
2619            set(name, value, days, skipSetDomain) {
2620                let expires,
2621                    path,
2622                    domain,
2623                    secure,
2624                    samesite;
2625
2626                const defaultCookieConfig = {
2627                    expires: null,
2628                    path: '/',
2629                    domain: null,
2630                    secure: false,
2631                    lifetime: null,
2632                    samesite: 'lax'
2633                };
2634
2635                const cookieConfig = window.COOKIE_CONFIG || {};
2636
2637                expires = days
2638                    ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig)
2639                    : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires;
2640
2641                path = cookieConfig.path || defaultCookieConfig.path;
2642                domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain);
2643                secure = cookieConfig.secure || defaultCookieConfig.secure;
2644                samesite = cookieConfig.samesite || defaultCookieConfig.samesite;
2645
2646                document.cookie = name + "=" + encodeURIComponent(value) +
2647                    (expires ? '; expires=' + expires.toGMTString() : '') +
2648                    (path ? '; path=' + path : '') +
2649                    (domain ? '; domain=' + domain : '') +
2650                    (secure ? '; secure' : '') +
2651                    (samesite ? '; samesite=' + samesite : 'lax');
2652            },
2653            isWebsiteAllowedToSaveCookie() {
2654                const allowedCookies = this.get('user_allowed_save_cookie');
2655                if (allowedCookies) {
2656                    const allowedWebsites = JSON.parse(unescape(allowedCookies));
2657
2658                    return allowedWebsites[CURRENT_WEBSITE_ID] === 1;
2659                }
2660                return false;
2661            },
2662            getGroupByCookieName(name) {
2663                const cookieConsentConfig = window.cookie_consent_config || {};
2664                let group = null;
2665                for (let prop in cookieConsentConfig) {
2666                    if (!cookieConsentConfig.hasOwnProperty(prop)) continue;
2667                    if (cookieConsentConfig[prop].includes(name)) {
2668                        group = prop;
2669                        break;
2670                    }
2671                }
2672                return group;
2673            },
2674            isCookieAllowed(name) {
2675                const cookieGroup = this.getGroupByCookieName(name);
2676                return cookieGroup
2677                    ? window.cookie_consent_groups[cookieGroup]
2678                    : this.isWebsiteAllowedToSaveCookie();
2679            },
2680            saveTempStorageCookies() {
2681                for (const [name, data] of Object.entries(cookieTempStorage)) {
2682                    if (this.isCookieAllowed(name)) {
2683                        this.set(name, data['value'], data['days'], data['skipSetDomain']);
2684                        delete cookieTempStorage[name];
2685                    }
2686                }
2687            }
2688        };
2689
2690        hyva.getCookie = (name) => {
2691            const cookieConfig = window.COOKIE_CONFIG || {};
2692
2693            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
2694                return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null;
2695            }
2696
2697            return internalCookie.get(name);
2698        }
2699
2700        hyva.setCookie = (name, value, days, skipSetDomain) => {
2701            const cookieConfig = window.COOKIE_CONFIG || {};
2702
2703            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
2704                cookieTempStorage[name] = {value, days, skipSetDomain};
2705                return;
2706            }
2707            return internalCookie.set(name, value, days, skipSetDomain);
2708        }
2709
2710        hyva.getBrowserStorage = () => {
2711            const browserStorage = window.localStorage || window.sessionStorage;
2712            if (!browserStorage) {
2713                console.warn('Browser Storage is unavailable');
2714                return false;
2715            }
2716            try {
2717                browserStorage.setItem('storage_test', 1);
2718                browserStorage.removeItem('storage_test');
2719            } catch (error) {
2720                console.warn('Browser Storage is not accessible', error);
2721                return false;
2722            }
2723            return browserStorage;
2724        }
2725
2726        hyva.postForm = (postParams) => {
2727            const form = document.createElement("form");
2728
2729            let data = postParams.data;
2730
2731            if (!data.uenc) {
2732                data.uenc = btoa(window.location.href);
2733            }
2734            form.method = "POST";
2735            form.action = postParams.action;
2736
2737            Object.keys(postParams.data).map(key => {
2738                const field = document.createElement("input");
2739                field.type = 'hidden'
2740                field.value = postParams.data[key];
2741                field.name = key;
2742                form.appendChild(field);
2743            });
2744
2745            const form_key = document.createElement("input");
2746            form_key.type = 'hidden';
2747            form_key.value = hyva.getFormKey();
2748            form_key.name="form_key";
2749            form.appendChild(form_key);
2750
2751            document.body.appendChild(form);
2752
2753            form.submit();
2754        }
2755
2756        hyva.getFormKey = function () {
2757            let formKey = hyva.getCookie('form_key');
2758
2759            if (!formKey) {
2760                formKey = generateRandomString();
2761                hyva.setCookie('form_key', formKey);
2762            }
2763
2764            return formKey;
2765        }
2766
2767        hyva.formatPrice = (value, showSign) => {
2768            var formatter = new Intl.NumberFormat(
2769                'fr\u002DFR',
2770                {
2771                    style: 'currency',
2772                    currency: 'EUR',
2773                    signDisplay: showSign ? "always" : "auto"
2774                }
2775            );
2776            return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ?
2777                formatter.formatToParts(value).map(({type, value}) => {
2778                    switch (type) {
2779                        case 'currency':
2780                            return '€' || value;
2781                        case 'minusSign':
2782                            return '- ';
2783                        case 'plusSign':
2784                            return '+ ';
2785                        default :
2786                            return value;
2787                    }
2788                }).reduce((string, part) => string + part) :
2789                formatter.format(value);
2790        }
2791
2792        /**
2793         * Replace positional parameters like %0 with the additional argument in the matching position.
2794         * The first additional argument replaces %0, the second %1 and so on.
2795         *
2796         * Example: hyva.srtf('%1 %0 %2', 'a', 'b', 'c') => "b a c"
2797         *
2798         * To insert a literal % symbol followed by a number, duplicate the %, for example %%2 is returned as %2.
2799         */
2800        hyva.strf = function (string) {
2801            // According to caniuse.com rest arguments support isn't at 97% yet at the time of writing
2802            const args = Array.from(arguments).slice(1);
2803
2804            return string.replaceAll(/(%?%)[0-9]+/g, (m, p) => {
2805                return '%%' === p
2806                    ? m.substr(1)
2807                    : args[m.substr(1)] ?? m;
2808            })
2809        }
2810
2811
2812        /**
2813         * Take a html string as `content` parameter and
2814         * extract an element from the DOM to replace in
2815         * the current page under the same selector,
2816         * defined by `targetSelector`
2817         */
2818        hyva.replaceDomElement = (targetSelector, content) => {
2819
2820            // Parse the content and extract the DOM node using the `targetSelector`
2821            const parser = new DOMParser();
2822            const doc = parser.parseFromString(content, 'text/html');
2823            const contentNode = doc.querySelector(targetSelector);
2824
2825            // Bail if content can't be found
2826            if (!contentNode) {
2827                return;
2828            }
2829
2830            // Extract all the script tags from the new content.
2831            // Script tags won't execute when inserted into a dom-element directly,
2832            // therefore we need to inject them to the head of the document.
2833            const tmpScripts = contentNode.getElementsByTagName('script');
2834
2835            if (tmpScripts.length > 0) {
2836                // Push all script tags into an array
2837                // (to prevent dom manipulation while iterating over dom nodes)
2838                const scripts = [];
2839                for (let i = 0; i < tmpScripts.length; i++) {
2840                    scripts.push(tmpScripts[i]);
2841                }
2842
2843                // Iterate over all script tags and duplicate+inject each into the head
2844                for (let i = 0; i < scripts.length; i++) {
2845                    let script = document.createElement('script');
2846                    script.innerHTML = scripts[i].innerHTML;
2847
2848                    document.head.appendChild(script);
2849
2850                    // Remove the original (non-executing) node from the page
2851                    scripts[i].parentNode.removeChild(scripts[i]);
2852                }
2853            }
2854
2855            // Replace the old DOM node with the new content
2856            document.querySelector(targetSelector).replaceWith(contentNode);
2857
2858            // Reload customerSectionData and display cookie-messages if present
2859            window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
2860            hyva.initMessages();
2861        }
2862
2863        window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies())
2864
2865    }( window.hyva = window.hyva || {} ));
2866</script>
vendor: 1 bytes, line 2866
2866
2867<script>
2868
2869    function initGa() {
2870        let f,
2871            j,
2872            dl;
2873
2874        window.dataLayer = window.dataLayer || [];
2875
2876        (function (w, d, s, l, i) {
2877            w[l] = w[l] || [];
2878            w[l].push({
2879                'gtm.start': new Date().getTime(),
2880                event: 'gtm.js'
2881            });
2882            f = d.getElementsByTagName(s)[0];
2883            j = d.createElement(s);
2884            dl = l != 'dataLayer' ? '&l=' + l : '';
2885            j.async = true;
2886            j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
2887            f.parentNode.insertBefore(j, f);
2888        })(window, document, 'script', 'dataLayer', 'GTM-TBK2B7B');
2889
2890        window.dlCurrencyCode = "EUR";
2891
2892        const event = new CustomEvent("ga:inited", {});
2893        document.dispatchEvent(event);
2894    }
2895
2896    document.addEventListener('DOMContentLoaded', function () {
2897        initGa();
2898    });
2899
2900
2901</script>
vendor: 1 bytes, line 2901
2901
2902<script>
2903    function notifyDlLoad() {
2904        let elem = document.getElementById("breadcrumbs_gtm");
2905        let content_breadcrumb = '';
2906        let typeUser = '';
2907        if (elem && elem.dataset && elem.dataset.value) {
2908            content_breadcrumb = elem.dataset.value;
2909        }
2910
2911        if (hyva.getCookie('GTM_COOKIE_TYPE_USER')) {
2912            typeUser = hyva.getCookie('GTM_COOKIE_TYPE_USER');
2913        }
2914
2915        window.dataLayer = window.dataLayer || []
2916        window.dataLayer.push({
2917            'content_type': formatString('My\u0020account'),
2918            'content_group': formatString(''),
2919            'content_breadcrumb': formatString(content_breadcrumb),
2920            'user_type': formatString(typeUser),
2921            'event': 'dl_load'
2922        });
2923    }
2924
2925    window.dataLayer ?
2926        notifyDlLoad() :
2927        document.addEventListener("ga:inited", function () {
2928            notifyDlLoad()
2929        });
2930</script>
vendor: 1 bytes, line 2930
2930
2931<script>
2932    function notifyPhone() {
2933        window.dataLayer.push({
2934            'event': 'select_phone',
2935            'type': 'call-center'
2936        })
2937    }
2938
2939    const get = document.getElementById('select_phone');
2940    get.addEventListener('click', e => {
2941        window.dataLayer ?
2942            notifyPhone() :
2943            document.addEventListener("ga:inited", function () {
2944                notifyPhone()
2945            });
2946    });
2947
2948</script>
vendor: 1 bytes, line 2948
2948
2949<script>
2950    function notifyNewsletter() {
2951        if (hyva.getCookie('GTM_COOKIE_NEWSLETTER_SIGNUP') &&
2952            hyva.getCookie('GTM_COOKIE_NEWSLETTER_SIGNUP') === '1') {
2953            window.dataLayer.push({
2954                'event': 'newsletter_signup',
2955                'type': 'footer'
2956            });
2957            let cookieExpires = 31536000 / 60 / 60 / 24;
2958            hyva.setCookie('GTM_COOKIE_NEWSLETTER_SIGNUP', 0, cookieExpires);
2959        }
2960    }
2961
2962    window.dataLayer ?
2963        notifyNewsletter() :
2964        document.addEventListener("ga:inited", function () {
2965            notifyNewsletter()
2966        });
2967</script>
vendor: 1 bytes, line 2967
2967
2968<script>
2969        function notifyAddWishlist() {
2970            if (hyva.getCookie('GTM_COOKIE_WISHLIST_ADD') &&
2971                hyva.getCookie('GTM_COOKIE_WISHLIST_ADD') !== '') {
2972                let cookieValue = hyva.getCookie('GTM_COOKIE_WISHLIST_ADD');
2973                cookieValue = decodeURIComponent(cookieValue);
2974                cookieValue = JSON.parse(cookieValue);
2975
2976                let i = 0, product,
2977                    dlUpdate = {
2978                        'event': 'add_to_wishlist',
2979                        'ecommerce': {
2980                            'currency': "EUR",
2981                            'value': cookieValue.value,
2982                            'items': []
2983                        }
2984                    };
2985
2986                for (i; i < cookieValue.items.length; i++) {
2987                    product = cookieValue.items[i];
2988
2989                    let index = '';
2990                    if (product.item_list_name !== ''){
2991                        index = product.index;
2992                    }
2993
2994                    dlUpdate.ecommerce.items.push({
2995                        'item_id': formatString(product.item_id),
2996                        'item_name': formatString(product.item_name),
2997                        'item_brand': formatString(product.item_brand),
2998                        'item_category': formatString(product.item_category),
2999                        'item_category2': formatString(product.item_category2),
3000                        'item_category3': formatString(product.item_category3),
3001                        'item_category4': formatString(product.item_category4),
3002                        'item_variant': formatString(product.item_variant),
3003                        'item_category5': formatString(product.item_category5),
3004                        'price': formatString(product.price),
3005                        'currency': formatString(product.currency),
3006                        'quantity': formatString(product.quantity),
3007                        'item_list_name': formatString(product.item_list_name),
3008                        'index': formatString(index)
3009                    });
3010                }
3011
3012                window.dataLayer.push({ecommerce: null});
3013                window.dataLayer.push(dlUpdate);
3014
3015                let cookieExpires = 31536000 / 60 / 60 / 24;
3016                hyva.setCookie('GTM_COOKIE_WISHLIST_ADD', '', cookieExpires);
3017            }
3018        }
3019
3020        window.dataLayer ?
3021            notifyAddWishlist() :
3022            document.addEventListener("ga:inited", function () {
3023                notifyAddWishlist()
3024            });
3025    </script>
vendor: 1 bytes, line 3025
3025
3026<script>
3027        function notifyAddToCart() {
3028            if (hyva.getCookie('GTM_COOKIE_ADD_TO_CART') &&
3029                hyva.getCookie('GTM_COOKIE_ADD_TO_CART') !== '') {
3030                let cookieValue = hyva.getCookie('GTM_COOKIE_ADD_TO_CART');
3031                cookieValue = decodeURIComponent(cookieValue);
3032                cookieValue = JSON.parse(cookieValue);
3033
3034                let i = 0, product,
3035                    dlUpdate = {
3036                        'event': 'add_to_cart',
3037                        'ecommerce': {
3038                            'currency': formatString("EUR"),
3039                            'value': formatString(cookieValue.value),
3040                            'items': []
3041                        }
3042                    };
3043
3044                for (i; i < cookieValue.items.length; i++) {
3045                    product = cookieValue.items[i];
3046                    dlUpdate.ecommerce.items.push({
3047                        'item_id': formatString(product.item_id),
3048                        'item_name': formatString(product.item_name),
3049                        'item_brand': formatString(product.item_brand),
3050                        'item_category': formatString(product.item_category),
3051                        'item_category2': formatString(product.item_category2),
3052                        'item_category3': formatString(product.item_category3),
3053                        'item_category4': formatString(product.item_category4),
3054                        'item_variant': formatString(product.item_variant),
3055                        'item_category5': formatString(product.item_category5),
3056                        'price': formatString(product.price),
3057                        'currency': formatString(product.currency),
3058                        'quantity': formatString(product.quantity),
3059                        'item_list_name': formatString('listing'),
3060                        'index': formatString('')
3061                    });
3062                }
3063
3064                window.dataLayer.push({ecommerce: null});
3065                window.dataLayer.push(dlUpdate);
3066
3067                let cookieExpires = 31536000 / 60 / 60 / 24;
3068                hyva.setCookie('GTM_COOKIE_ADD_TO_CART', '', cookieExpires);
3069            }
3070        }
3071
3072        window.dataLayer ?
3073            notifyAddToCart() :
3074            document.addEventListener("ga:inited", function () {
3075                notifyAddToCart()
3076            });
3077    </script>
vendor: 1 bytes, line 3077
3077
3078<script>
3079        function notifyLogin() {
3080            if (hyva.getCookie('GTM_COOKIE_LOGIN') &&
3081                hyva.getCookie('GTM_COOKIE_LOGIN') === '1') {
3082
3083                window.dataLayer.push({
3084                    'event': 'login'
3085                });
3086
3087                let cookieExpires = 31536000 / 60 / 60 / 24;
3088                hyva.setCookie('GTM_COOKIE_LOGIN', 0, cookieExpires);
3089            }
3090        }
3091
3092        window.dataLayer ?
3093            notifyLogin() :
3094            document.addEventListener("ga:inited", function () {
3095                notifyLogin()
3096            });
3097    </script>
vendor: 1 bytes, line 3097
3097
3098<script>
3099        function notifySignUp() {
3100            if (hyva.getCookie('GTM_COOKIE_CUSTOMER_CREATE') &&
3101                hyva.getCookie('GTM_COOKIE_CUSTOMER_CREATE') !== '0') {
3102                window.dataLayer.push({
3103                    'event': 'sign_up',
3104                    'type': hyva.getCookie('GTM_COOKIE_CUSTOMER_CREATE')
3105                });
3106
3107                let cookieExpires = 31536000 / 60 / 60 / 24;
3108                hyva.setCookie('GTM_COOKIE_CUSTOMER_CREATE', 0, cookieExpires);
3109            }
3110        }
3111
3112        window.dataLayer ?
3113            notifySignUp() :
3114            document.addEventListener("ga:inited", function () {
3115                notifySignUp()
3116            });
3117    </script>
vendor: 1 bytes, line 3117
3117
3118<script src="https://integrations.etrusted.com/applications/widget.js/v2" async defer></script>
vendor: 1 bytes, line 3118
3118
3119<script>
3120        (function(w, k) {w[k] = window[k] || function () { (window[k].q = window[k].q || []).push(arguments) }})(window, "doofinderApp")
3121    
3122        doofinderApp("config", "language", "fr")
3123        doofinderApp("config", "currency", "EUR")
3124    </script>
vendor: 1 bytes, line 3124
3124
3125<script src="https://eu1-config.doofinder.com/2.x/05b8d3b1-4968-45bb-82e1-a98044d1f35d.js" async></script>
vendor: 1 bytes, line 3125
3125
3126<script>
3127    var BASE_URL = 'https://www.we-wall.com/';
3128    var THEME_PATH = 'https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR';
3129    var COOKIE_CONFIG = {
3130        "expires": null,
3131        "path": "\u002F",
3132        "domain": ".www.we\u002Dwall.com",
3133        "secure": false,
3134        "lifetime": "3600",
3135        "cookie_restriction_enabled": false    };
3136    var CURRENT_STORE_CODE = 'default';
3137    var CURRENT_WEBSITE_ID = '1';
3138
3139    window.hyva = window.hyva || {}
3140
3141    window.cookie_consent_groups = window.cookie_consent_groups || {}
3142    window.cookie_consent_groups['necessary'] = true;
3143
3144    window.cookie_consent_config = window.cookie_consent_config || {};
3145    window.cookie_consent_config['necessary'] = [].concat(
3146        window.cookie_consent_config['necessary'] || [],
3147        [
3148            'user_allowed_save_cookie',
3149            'form_key',
3150            'mage-messages',
3151            'private_content_version',
3152            'mage-cache-sessid',
3153            'last_visited_store',
3154            'section_data_ids'
3155        ]
3156    );
3157</script>
vendor: 1 bytes, line 3157
3157
3158<script type="application/javascript" async
3159            src=https://static.klaviyo.com/onsite/js/XFvTTk/klaviyo.js ></script>
vendor: 1 bytes, line 3159
3159
3160<script type="text/x-magento-init">
3161        {
3162            "*": {
3163                "KlaviyoCustomerData": {}
3164            }
3165        }
3166    </script>
vendor: 1 bytes, line 3166
3166
3167<script>
3168    function initHeader () {
3169        return {
3170            searchOpen: false,
3171            cart: {},
3172            isMobile: window.innerWidth < 1200,
3173            subMenuOpen: [],
3174            navMobile: false,
3175            getBackgroundImage(url) {
3176                return (this.isMobile && url !== '') ? `background-image: url(${url})` : '';
3177            },
3178            openSubMenu(id) {
3179                if (this.isMobile) {
3180                    this.navMobile = true;
3181                }
3182
3183                for (let i = 1; i <= 100000; i++) {
3184                    if (parseInt(id) === i) {
3185                        this.subMenuOpen[id] = this.subMenuOpen[id] !== true;
3186                    } else {
3187                        this.subMenuOpen[i] = false;
3188                    }
3189                }
3190            },
3191            getData(data) {
3192                if (data.cart) { this.cart = data.cart }
3193            },
3194            toggleSearch() {
3195                if (this.searchOpen) {
3196                    return this.closeSearch()
3197                }
3198                this.$refs.buttonSearch.focus();
3199                this.searchOpen = true
3200            },
3201            closeSearch(focusAfter) {
3202                if (! this.searchOpen) return
3203                this.searchOpen = false
3204                focusAfter && focusAfter.focus()
3205            },
3206            getSubmenuLink(url) {
3207                return (this.isMobile) ? '#' : url;
3208            },
3209            scroll() {
3210                let header = document.getElementById('header-container');
3211                let preHeader = document.getElementById('pre-header-links');
3212                let searchContent = document.getElementById('search-content');
3213
3214                if (window.scrollY > 0) {
3215                    header.classList.add('fixed', 'w-full', 'top-0', 'z-50', 'border-solid', 'border-b', 'border-black');
3216                    preHeader.classList.remove('xlg:flex');
3217                    searchContent.classList.remove('top-[94px]');
3218                    searchContent.classList.add('top-[68px]');
3219                } else {
3220                    header.classList.remove('fixed', 'w-full', 'top-0', 'z-50', 'border-solid', 'border-b', 'border-black');
3221                    preHeader.classList.add('xlg:flex');
3222                    searchContent.classList.remove('top-[68px]');
3223                    searchContent.classList.add('top-[94px]');
3224                }
3225            },
3226            closeNav() {
3227                let nav = document.getElementById('menu-links')
3228                nav.classList.add('xlg:flex')
3229                nav.classList.remove('xlg:hidden')
3230            }
3231        }
3232    }
3233    function initCompareHeader() {
3234        return {
3235            compareProducts: null,
3236            itemCount: 0,
3237            receiveCompareData(data) {
3238                if (data['compare-products']) {
3239                    this.compareProducts = data['compare-products'];
3240                    this.itemCount = this.compareProducts.count;
3241                }
3242            }
3243        }
3244    }
3245</script>
vendor: 1 bytes, line 3245
3245
3246<script>
3247    (function(c,l,a,r,i,t,y){
3248        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
3249        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
3250        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
3251    })(window, document, "clarity", "script", "pbbi0x7ola");
3252</script>
vendor: 1 bytes, line 3252
3252
3253<script>
3254    'use strict';
3255    function initCustomerPopin() {
3256        return {
3257            open: false,
3258            toggle() {
3259                if (this.open) {
3260                    return this.close()
3261                }
3262
3263                this.$refs.button.focus()
3264                this.open = true
3265            },
3266            close(focusAfter) {
3267                if (! this.open) return
3268                this.open = false
3269                focusAfter && focusAfter.focus()
3270            }
3271        }
3272    }
3273</script>
vendor: 1 bytes, line 3273
3273
3274<script>
3275    'use strict';
3276
3277    function initMiniSearch() {
3278        return {
3279            isLoading: false,
3280            minSearchLength: 3,
3281            resultProductId: [],
3282            suggestions: [],
3283            products: [],
3284            categories: [],
3285            makeSearch: false,
3286            value: '',
3287            wishlist: '',
3288            suggest() {
3289                this.suggestions = [];
3290                this.products = [];
3291                this.categories = [];
3292
3293                const search = this.$refs.searchInput;
3294                if (search.value.length >= this.minSearchLength) {
3295                    search.setCustomValidity('');
3296                    search.reportValidity();
3297                    this.fetchSuggestions(search.value);
3298                }
3299            },
3300            setCurrentWishlist(data) {
3301                if (data.wishlist) {
3302                    let wishlistItems = data.wishlist.items;
3303                    for (let i = 0; i < wishlistItems.length; i++) {
3304                        let json = JSON.stringify(wishlistItems[i]);
3305                        let itemsData = JSON.parse(json);
3306                        this.resultProductId[parseInt(itemsData.product_id)] = true;
3307                    }
3308                }
3309            },
3310            clearValues() {
3311                this.value = '';
3312                this.products = [];
3313                this.suggestions = [];
3314                this.categories = [];
3315            },
3316            fetchSuggestions(term) {
3317                let self = this;
3318
3319                self.isLoading = true;
3320
3321                fetch(
3322                    window.BASE_URL + 'catalogsearch/ajax/suggest?' + new URLSearchParams({q: term}),
3323                    {
3324                        headers: {
3325                            'X-Requested-With': 'XMLHttpRequest'
3326                        }
3327                    }
3328                ).then(response => response.json())
3329                    .then(function (response) {
3330                        self.isLoading = false;
3331                        self.suggestions = response.suggestions;
3332                        self.products = response.products;
3333                        self.categories = response.categories;
3334                    });
3335            },
3336            search(term) {
3337                const search = this.$refs.searchInput;
3338                term = term || search.value;
3339                if (term.length < this.minSearchLength) {
3340                    search.setCustomValidity('La\u0020longueur\u0020minimale\u0020de\u0020la\u0020requ\u00EAte\u0020de\u0020recherche\u0020est\u0020de\u00203');
3341                    search.reportValidity();
3342                } else {
3343                    search.setCustomValidity('');
3344                    search.value = term;
3345                    this.$refs.form.submit();
3346                }
3347            },
3348            focusElement(element) {
3349                if (element && element.nodeName === "DIV") {
3350                    element.focus();
3351                    return true;
3352                } else {
3353                    return false;
3354                }
3355            },
3356            getDataPriceBox(id) {
3357                return 'product-id-' + id;
3358            },
3359            addToWishlist(productId, position = '', listName = '') {
3360                const formKey = hyva.getFormKey();
3361                fetch(BASE_URL + "wishlist/index/add/", {
3362                    "headers": {
3363                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
3364                    },
3365                    "body": "form_key=" + formKey + "&product=" + productId + "&position=" + position + "&listName=" + listName + "&uenc=" + btoa(window.location.href),
3366                    "method": "POST",
3367                    "mode": "cors",
3368                    "credentials": "include"
3369                }).then(function (response) {
3370                    if (response.redirected) {
3371                        window.location.href = response.url;
3372                    } else if (response.ok) {
3373                        return response.json();
3374                    } else {
3375                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
3376                            [{
3377                                type: "warning",
3378                                text: "Impossible d&#039;ajouter un article à la liste de souhaits."
3379                            }], 5000
3380                        );
3381                    }
3382                }).then(function (response) {
3383                    if (!response) {
3384                        return
3385                    }
3386                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
3387                        [{
3388                            type: (response.success) ? "success" : "error",
3389                            text: (response.success)
3390                                ? "Produit a été ajouté à votre liste d’envies"
3391                                : response.error_message
3392                        }], 5000
3393                    );
3394                    const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
3395                    window.dispatchEvent(reloadCustomerDataEvent);
3396                }).catch(function (error) {
3397                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
3398                        [{
3399                            type: "error",
3400                            text: error
3401                        }], 5000
3402                    );
3403                });
3404            }
3405        }
3406    }
3407</script>
vendor: 1 bytes, line 3407
3407
3408<script>
3409    function initMessages() {
3410        "use strict";
3411        return {
3412            messages: window.mageMessages || [],
3413            isEmpty() {
3414                return this.messages.reduce(
3415                    function (isEmpty, message) {
3416                        return isEmpty && message === undefined
3417                    }, true
3418                )
3419            },
3420            removeMessage(messageIndex) {
3421                this.messages[messageIndex] = undefined;
3422            },
3423            addMessages(messages, hideAfter) {
3424                messages.map((message) => {
3425                    this.messages = this.messages.concat(message);
3426                    if (hideAfter) {
3427                        this.setHideTimeOut(this.messages.length - 1, hideAfter);
3428                    }
3429                });
3430            },
3431            setHideTimeOut(messageIndex, hideAfter) {
3432                setTimeout((messageIndex) => {
3433                    this.removeMessage(messageIndex);
3434                }, hideAfter, messageIndex);
3435            },
3436            eventListeners: {
3437                ['@messages-loaded.window']() {
3438                    this.addMessages(event.detail.messages, event.detail.hideAfter)
3439                },
3440                ['@private-content-loaded.window'](event) {
3441                    const data = event.detail.data;
3442                    if (
3443                        data.messages &&
3444                        data.messages.messages &&
3445                        data.messages.messages.length
3446                    ) {
3447                        this.addMessages(data.messages.messages);
3448                    }
3449                },
3450                ['@clear-messages.window']() {
3451                    this.messages = [];
3452                }
3453            }
3454        }
3455    }
3456</script>
vendor: 1 bytes, line 3456
3456
3457<script>
3458        function initCustomerLoginForm() {
3459            return {
3460                errors: 0,
3461                hasCaptchaToken: 0,
3462                displayErrorMessage: false,
3463                errorMessages: [],
3464                value_email: "",
3465                value_pass: "",
3466                add_email: false,
3467                add_pass: false,
3468                showPass: false,
3469                setErrorMessages(messages) {
3470                    this.errorMessages = [messages]
3471                    this.displayErrorMessage = this.errorMessages.length
3472                },
3473                submitForm() {
3474                    // do not rename $form - it is the expected name in the child block output
3475                    const $form = document.querySelector('#customer-login-form');
3476                    
3477                    if (this.errors === 0) {
3478                        $form.submit();
3479                    }
3480                }
3481            }
3482        }
3483    </script>
vendor: 1 bytes, line 3483
3483
3484<script>
3485    function initNewsletterForm() {
3486        return {
3487            errors: 0,
3488            hasCaptchaToken: 0,
3489            displayErrorMessage: false,
3490            errorMessages: [],
3491            email: '',
3492            setErrorMessages(messages) {
3493                this.errorMessages = [messages]
3494                this.displayErrorMessage = this.errorMessages.length
3495            },
3496            submitForm() {
3497                // Do not rename $form, the variable is expected to be declared in the child block output
3498                const $form = document.querySelector('#newsletter-validate-detail');
3499                            if (!this.hasCaptchaToken) {
3500            this.errors = 1;
3501
3502            const recaptchaUrl = "https://www.google.com/recaptcha/api.js?render=6LenPrkkAAAAAOMjxfi6JD5WHrJXaKBVMiZFqrxA";
3503
3504            const executeGreCaptcha = () => {
3505                grecaptcha.ready(() => {
3506                    grecaptcha.execute(
3507                        '6LenPrkkAAAAAOMjxfi6JD5WHrJXaKBVMiZFqrxA',
3508                        {action: 'submit'}
3509                    ).then((token) => {
3510                        const recaptchaResponseInput = $form.querySelector('input[name="g-recaptcha-response"]');
3511                        if (recaptchaResponseInput != null) {
3512                            recaptchaResponseInput.value = token;
3513                            this.errors = 0;
3514                            this.hasCaptchaToken = 1;
3515                            this.submitForm();
3516                        } else {
3517                            this.errors = 1;
3518                            if (this.setErrorMessages) {
3519                                this.setErrorMessages(['Your form does not have the required fields for recaptcha to work.'])
3520                                this.displayErrorMessage = true;
3521                            }
3522                        }
3523                    });
3524                })
3525            }
3526
3527            if (typeof window.grecaptcha !== 'undefined') {
3528                executeGreCaptcha();
3529            } else {
3530                let script = document.createElement('script');
3531                script.setAttribute('type', 'text/javascript');
3532                script.setAttribute('src', recaptchaUrl);
3533                document.head.appendChild(script);
3534
3535                script.addEventListener("load", executeGreCaptcha, false);
3536            }
3537        }
3538        
3539                if (this.errors === 0) {
3540                    $form.submit();
3541                }
3542            }
3543        }
3544    }
3545</script>
vendor: 1 bytes, line 3545
3545
3546<script                                     async                                                 data-desktop-y-offset="0"                                                 data-mobile-y-offset="50"                                                 data-desktop-disable-reviews="false"                                                 data-desktop-enable-custom="false"                                                 data-desktop-position="right"                                                 data-desktop-custom-width="156"                                                 data-desktop-enable-fadeout="false"                                                 data-disable-mobile="false"                                                 data-disable-trustbadge="false"                                                 data-mobile-custom-width="156"                                                 data-mobile-disable-reviews="false"                                                 data-mobile-enable-custom="false"                                                 data-mobile-position="left"                                                 data-color-scheme="os-default"                                                 charset="UTF-8"                                                 src="//widgets.trustedshops.com/js/XD90044C6A29CC081EE43A5F76B0C9473.js"                            ></script>
vendor: 1 bytes, line 3546
3546
3547<script src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/Adexos_TarteAuCitron/js/lang/tarteaucitron.fr.min.js"></script>
vendor: 1 bytes, line 3547
3547
3548<script>
3549    tarteaucitron.init({
3550        "privacyUrl": "https://www.we-wall.com/donnees-personnelles", /* Privacy policy url */
3551        "hashtag": "#tarteaucitron", /* Open the panel with this hashtag */
3552        "cookieName": "tarteaucitron", /* Cookie name */
3553        "orientation": "middle", /* Banner position (top - bottom - middle - popup) */
3554        "groupServices": false, /* Group services by category */
3555        "showAlertSmall": false, /* Show the small banner on bottom right */
3556        "cookieslist": false, /* Show the cookie list */
3557        "showIcon": true, /* Show cookie icon to manage cookies */
3558        // "iconSrc": "", /* Optionnal: URL or base64 encoded image */
3559        "iconPosition": "BottomRight", /* Position of the icon between BottomRight, BottomLeft, TopRight and TopLeft */
3560        "adblocker": false, /* Show a Warning if an adblocker is detected */
3561        "DenyAllCta" : true, /* Show the deny all button */
3562        "AcceptAllCta" : true, /* Show the accept all button when highPrivacy on */
3563        "highPrivacy": true, /* HIGHLY RECOMMANDED Disable auto consent */
3564        "handleBrowserDNTRequest": false, /* If Do Not Track == 1, disallow all */
3565        "removeCredit": false, /* Remove credit link */
3566        "moreInfoLink": true, /* Show more info link */
3567        "useExternalCss": true, /* If false, the tarteaucitron.css file will be loaded */
3568        "useExternalJs": true, /* If false, the tarteaucitron.js file will be loaded */
3569        //"cookieDomain": ".my-multisite-domaine.fr", /* Shared cookie for subdomain website */
3570        "readmoreLink": "", /* Change the default readmore link pointing to tarteaucitron.io */
3571        "mandatory": true /* Show a message about mandatory cookies */
3572    });
3573</script>
vendor: 1 bytes, line 3573
3573
3574<script>
3575    (function () {
3576        "use strict";
3577
3578        const DIRECTIVE = "intersect";
3579        const X_ATTR_RE = /^x-([a-z-]*)\b/i;
3580
3581        function parseHtmlAttribute(reference) {
3582            const name = reference.name;
3583            const value = reference.value;
3584
3585            const typeMatch = name.match(X_ATTR_RE);
3586            const valueMatch = name.match(/:([a-zA-Z0-9\-:]+)/);
3587            const modifiers = name.match(/\.[^.\]]+(?=[^\]]*$)/g) || [];
3588
3589            return {
3590                type: typeMatch ? typeMatch[1] : null,
3591                value: valueMatch ? valueMatch[1] : null,
3592                modifiers: modifiers.map((i) => i.replace(".", "")),
3593                expression: value,
3594            };
3595        }
3596
3597        function getXDirectives(el) {
3598            return Array.from(el.attributes)
3599                .filter(function (attr) {
3600                    return X_ATTR_RE.test(attr.name);
3601                })
3602                .map(parseHtmlAttribute);
3603        }
3604
3605        if (window.Alpine) {
3606            console.error("Intersect plugin must be included before AlpineJs, x-intersect will not work.");
3607        }
3608
3609        const getLengthValue = (rawValue) => {
3610            // Supported: -10px, -20 (implied px), 30 (implied px), 40px, 50%
3611            let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/)
3612            return match ? match[1] + (match[2] || 'px') : undefined
3613        }
3614
3615        const getRootMargin = (modifiers) => {
3616            const key = 'margin'
3617            const fallback = '0px 0px 0px 0px'
3618            const index = modifiers.indexOf(key)
3619
3620            // If the modifier isn't present, use the default.
3621            if (index === -1) return fallback
3622
3623            // Grab the 4 subsequent length values after it: x-intersect.margin.300px.0.50%.0
3624            let values = []
3625            for (let i = 1; i < 5; i++) {
3626                values.push(getLengthValue(modifiers[index + i] || ''))
3627            }
3628
3629            // Filter out undefined values (not a valid length)
3630            values = values.filter((v) => v !== undefined)
3631
3632            return values.length ? values.join(' ').trim() : fallback
3633        }
3634
3635        const getThreshhold = (modifiers) => {
3636            if (modifiers.includes("full")) return 0.8;
3637            if (modifiers.includes("half")) return 0.5;
3638
3639            return 0;
3640        };
3641
3642        const AlpineIntersectionDirective = {
3643            start: function start() {
3644                Alpine.onBeforeComponentInitialized(function (component) {
3645                    const legacyResolveBoundAttributes = component.resolveBoundAttributes;
3646
3647                    component.resolveBoundAttributes = function (el, initialUpdate, extraVars) {
3648                        if (initialUpdate === void 0) {
3649                            initialUpdate = false;
3650                        }
3651
3652                        if (initialUpdate) {
3653                            const attrs = getXDirectives(el);
3654                            attrs.forEach(function (reference) {
3655                                const type = reference.type;
3656                                const expression = reference.expression;
3657                                const value = reference.value;
3658                                const modifiers = reference.modifiers;
3659
3660                                if (type === DIRECTIVE) {
3661                                    const options = {
3662                                        rootMargin: getRootMargin(modifiers),
3663                                        threshold: getThreshhold(modifiers),
3664                                    };
3665
3666                                    if ("IntersectionObserver" in window) {
3667                                        const observer = new IntersectionObserver((elements) => {
3668                                            elements.forEach((element) => {
3669                                                // Ignore element if intersecting in leave mode,
3670                                                // or not intersecting in enter mode
3671                                                if (element.isIntersecting === (value === 'leave')) return
3672
3673                                                component.evaluateReturnExpression(el, expression, extraVars);
3674
3675                                                modifiers.includes("once") && observer.disconnect();
3676                                            });
3677                                        }, options);
3678
3679                                        observer.observe(el);
3680                                    } else {
3681                                        component.evaluateReturnExpression(el, expression, extraVars);
3682                                    }
3683                                }
3684                            });
3685                        }
3686                        return legacyResolveBoundAttributes.bind(component)(el, initialUpdate, extraVars);
3687                    };
3688                });
3689            },
3690        };
3691
3692        const initAlpine = window.deferLoadingAlpine || ((callback) => callback());
3693        window.deferLoadingAlpine = (callback) => {
3694            AlpineIntersectionDirective.start();
3695            initAlpine(callback);
3696        };
3697    })();
3698</script>
vendor: 1 bytes, line 3698
3698
3699<script type="module"
3700        src="https://www.we-wall.com/static/version1786625269/frontend/Texdecor/default/fr_FR/Hyva_Theme/js/alpine.min.js"
3701        defer
3702        crossorigin
3703></script>
vendor: 1 bytes, line 3703
3703
3704<script>
3705    'use strict';
3706    function dispatchMessages(messages, hideAfter) {
3707        const messagesEvent = new CustomEvent("messages-loaded", {
3708            detail: {
3709                messages: messages,
3710                hideAfter: hideAfter
3711            }
3712        });
3713        window.dispatchEvent(messagesEvent);
3714    }
3715
3716    if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
3717        console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
3718    }
3719
3720    (function( hyva, undefined ) {
3721
3722        hyva.initFormKey = () => {
3723            const inputSelector = 'input[name="form_key"]',
3724                formKey = hyva.getFormKey();
3725
3726            Array.from(document.querySelectorAll(inputSelector)).map(function (input) {
3727                input.value = formKey
3728            });
3729        }
3730
3731        hyva.initMessages = () => {
3732            try {
3733                const messages = hyva.getCookie('mage-messages');
3734                window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];
3735
3736                dispatchMessages(window.mageMessages);
3737
3738                                // empty `mage-messages` cookie
3739                const skipSetDomain = true;
3740                hyva.setCookie('mage-messages','', -1, skipSetDomain);
3741
3742            } catch (error) {
3743                console.warn('Error parsing Cookie Messages:', error);
3744            }
3745        }
3746
3747        window.addEventListener('DOMContentLoaded', hyva.initFormKey);
3748        window.addEventListener('load', hyva.initMessages);
3749
3750
3751    }( window.hyva = window.hyva || {} ));
3752</script>
vendor: 1 bytes, line 3752
3752
3753<script>
3754    'use strict';
3755    {
3756        const private_content_key = 'mage-cache-storage';
3757        const private_content_expire_key = 'mage-cache-timeout';
3758        const private_content_version_key = 'private_content_version';
3759        const section_data_ids_key = 'section_data_ids';
3760        const mage_cache_session_id_key = 'mage-cache-sessid';
3761        const last_visited_store_key = 'last_visited_store';
3762
3763        const ttl = 3600;
3764
3765        if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
3766            console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
3767        }
3768
3769        function loadSectionData () {
3770            const browserStorage = hyva.getBrowserStorage();
3771            if (!browserStorage) {
3772                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
3773                    [{
3774                        type: "warning",
3775                        text: "Veuillez activer localStorage dans votre navigateur."
3776                    }]
3777                );
3778                return;
3779            }
3780            try {
3781                let isInvalid = false;
3782
3783                if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
3784                    isInvalid = true;
3785                }
3786                hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
3787
3788                if (!hyva.getCookie(mage_cache_session_id_key)) {
3789                    isInvalid = true;
3790                    const skipSetDomain = true;
3791                    const days = false;
3792                    hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
3793                }
3794
3795                const cookieVersion = hyva.getCookie(private_content_version_key);
3796                const storageVersion = browserStorage.getItem(private_content_version_key);
3797
3798                if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
3799                    isInvalid = true;
3800                }
3801
3802                const privateContentExpires = browserStorage.getItem(private_content_expire_key);
3803                if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
3804                    browserStorage.removeItem(private_content_key);
3805                }
3806
3807                if (isInvalid) {
3808                    fetchPrivateContent([]);
3809                } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
3810                    const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
3811                    if (
3812                        privateContent &&
3813                        privateContentExpires &&
3814                        privateContent.cart &&
3815                        privateContent.customer
3816                    ) {
3817                        dispatchPrivateContent(privateContent);
3818                    } else {
3819                        fetchPrivateContent([]);
3820                    }
3821                } else {
3822                    dispatchPrivateContent({});
3823                }
3824
3825            } catch (error) {
3826                console.warn('Error retrieving Private Content:', error);
3827            }
3828        }
3829
3830        window.addEventListener('load', loadSectionData);
3831        window.addEventListener('reload-customer-section-data', loadSectionData);
3832
3833        function dispatchPrivateContent(data) {
3834            const privateContentEvent = new CustomEvent("private-content-loaded", {
3835                detail: {
3836                    data: data
3837                }
3838            });
3839            window.dispatchEvent(privateContentEvent);
3840        }
3841
3842        function fetchPrivateContent(sections) {
3843            fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
3844                method: 'GET',
3845                headers: {
3846                    'Content-Type': 'application/json',
3847                    'X-Requested-With': 'XMLHttpRequest'
3848                }
3849            })
3850                .then(response => response.json())
3851                .then(
3852                    data => {
3853                        if (data) {
3854                            try {
3855                                const browserStorage = hyva.getBrowserStorage();
3856
3857                                // merge new data preserving non-invalidated sections
3858                                const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}');
3859                                const newSectionData = Object.assign(oldSectionData, data);
3860
3861                                dispatchPrivateContent(newSectionData);
3862
3863                                // don't persist messages, they've been dispatched already
3864                                if (newSectionData.messages && newSectionData.messages.messages ) {
3865                                    newSectionData.messages.messages = [];
3866                                }
3867
3868                                browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
3869
3870                                const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
3871                                browserStorage.setItem(private_content_expire_key, expiresAt);
3872
3873                                const newCookieVersion = hyva.getCookie(private_content_version_key);
3874                                browserStorage.setItem(private_content_version_key, newCookieVersion);
3875
3876                                // We don't need the section_data_ids in Hyvä, but we store them for compatibility
3877                                // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
3878                                hyva.setCookie(
3879                                    section_data_ids_key,
3880                                    JSON.stringify(
3881                                        Object.keys(data).reduce((sectionDataIds, sectionKey) => {
3882                                            sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
3883                                            return sectionDataIds;
3884                                        }, {})
3885                                    ),
3886                                    false,
3887                                    true
3888                                );
3889                            } catch (error) {
3890                                console.warn("Couldn't store privateContent", error);
3891                            }
3892                        }
3893                    }
3894                );
3895        }
3896    }
3897</script>
vendor: 1 bytes, line 3897
3897
3898<script>
3899    function initCompareOnProductList() {
3900        return {
3901            addToCompare(productId) {
3902                const formKey = document.querySelector('input[name=form_key]').value;
3903                const postUrl = BASE_URL + 'catalog/product_compare/add/';
3904
3905                fetch(postUrl, {
3906                    "headers": {
3907                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
3908                    },
3909                    "body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
3910                    "method": "POST",
3911                    "mode": "cors",
3912                    "credentials": "include"
3913                }).then(function (response) {
3914                    if (response.redirected) {
3915                        window.location.href = response.url;
3916                    }
3917                }).catch(function (error) {
3918                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
3919                        [{
3920                            type: "error",
3921                            text: error
3922                        }], 5000
3923                    );
3924                });
3925            }
3926        };
3927    }
3928</script>
vendor: 1 bytes, line 3928
3928
3929<script>
3930        function initWishlist() {
3931            return {
3932                isInWishlistList: false,
3933                deleteItemParam: '',
3934                resultProductId: [],
3935                resultdeleteParamProductId: [],
3936                receiveWishlistListData(productId, data) {
3937                    if (typeof this.resultProductId[productId] === 'undefined') {
3938                        this.resultProductId[productId] = false;
3939
3940                        if (data['wishlist']) {
3941                            let wishlistItems = data['wishlist'].items;
3942                            for (let i = 0; i < wishlistItems.length; i++) {
3943                                let json = JSON.stringify(wishlistItems[i]);
3944                                let itemsData = JSON.parse(json);
3945                                if (parseInt(itemsData.product_id) === productId) {
3946                                    this.resultProductId[productId] = true;
3947                                    this.resultdeleteParamProductId[productId] = JSON.parse(itemsData.delete_item_params);
3948                                    break;
3949                                }
3950                            }
3951                        }
3952                    }
3953
3954                    this.deleteItemParam = this.resultdeleteParamProductId[productId];
3955                    this.isInWishlistList = this.resultProductId[productId];
3956                },
3957                addToWishlist(productId, position = '', listName = '') {
3958                    const formKey = hyva.getFormKey();
3959                    fetch(BASE_URL + "wishlist/index/add/", {
3960                        "headers": {
3961                            "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
3962                        },
3963                        "body": "form_key=" + formKey + "&product=" + productId + "&position=" + position + "&listName=" + listName + "&uenc=" + btoa(window.location.href),
3964                        "method": "POST",
3965                        "mode": "cors",
3966                        "credentials": "include"
3967                    }).then(function (response) {
3968                        if (response.redirected) {
3969                            window.location.href = response.url;
3970                        } else if (response.ok) {
3971                            return response.json();
3972                        } else {
3973                            typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
3974                                [{
3975                                    type: "warning",
3976                                    text: "Impossible d&#039;ajouter un article à la liste de souhaits."
3977                                }], 5000
3978                            );
3979                        }
3980                    }).then(function (response) {
3981                        if (!response) {
3982                            return
3983                        }
3984                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
3985                            [{
3986                                type: (response.success) ? "success" : "error",
3987                                text: (response.success)
3988                                    ? "Produit a été ajouté à votre liste d’envies"
3989                                    : response.error_message
3990                            }], 5000
3991                        );
3992                        const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
3993                        window.dispatchEvent(reloadCustomerDataEvent);
3994                    }).catch(function (error) {
3995                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
3996                            [{
3997                                type: "error",
3998                                text: error
3999                            }], 5000
4000                        );
4001                    });
4002                },
4003                productIsInWishlist(productId) {
4004                }
4005            }
4006        }
4007    </script>
vendor: 1 bytes, line 4007
4007
4008<script>
4009    function initSwatchOptions(swatchConfig) {
4010        return {
4011            swatchConfig,
4012            swatchPopin: false,
4013            setSwatchTextVisibility(optionId, value) {
4014                let swatchText = document.getElementsByClassName('swatch-text-' + optionId);
4015                for (let i = 0; i < swatchText.length; i++) {
4016                    if (value) {
4017                        swatchText[i].style.display = ''
4018                    } else {
4019                        swatchText[i].style.display = 'none';
4020                    }
4021                }
4022            },
4023            openSwatchPopin() {
4024                let showPopin = window.location.href.split('showPopin=')[1]
4025
4026                if (showPopin > 0) {
4027                    this.swatchPopin = true;
4028                }
4029            },
4030            getAttributeSwatchData(attributeId) {
4031                const swatchConfig = Object.assign({}, this.swatchConfig[attributeId]);
4032                swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']);
4033
4034                return swatchConfig;
4035            },
4036            getAllAttributeOptions(attributeId) {
4037                return (
4038                    this.optionConfig.attributes[attributeId] &&
4039                    this.optionConfig.attributes[attributeId].options
4040                ) || []
4041            },
4042            optionIsActive(attributeId, optionId) {
4043                // return true if a product with this option is in stock
4044                return !!this.getAllowedAttributeOptions(attributeId).find(
4045                    option => option.id === optionId
4046                )
4047            },
4048            countSalableOptions(attributeId) {
4049                let count = 0;
4050                let options = this.optionConfig.attributes[attributeId].options;
4051
4052                for (var i = 0; i < options.length; i++) {
4053                    if (options[i].products.length) {
4054                        count++;
4055                    }
4056                }
4057
4058                return count;
4059            },
4060            optionIsEnabled(attributeId, optionId) {
4061                // return true if a product with this option is enabled
4062                for (const productId in this.optionConfig.index) {
4063                    if (this.optionConfig.index[productId][attributeId] === optionId) {
4064                        return true;
4065                    }
4066                }
4067                return false;
4068            },
4069            mapSwatchTypeNumberToTypeCode(typeNumber) {
4070                switch ("" + typeNumber) {
4071                    case "1":
4072                        return "color"
4073                    case "2":
4074                        return "image"
4075                    case "3":
4076                        return "empty"
4077                    case "0":
4078                    default:
4079                        return "text"
4080                }
4081            },
4082            getTypeOfFirstOption(attributeId) {
4083                for (const optionId in this.swatchConfig[attributeId]) {
4084                    const option = this.swatchConfig[attributeId][optionId];
4085                    if (typeof option.type !== 'undefined') {
4086                        return this.mapSwatchTypeNumberToTypeCode(option.type);
4087                    }
4088                }
4089            },
4090            getVisualSwatchType(attributeId, targetOptionId) {
4091                // If a type configuration is present for the given option id, use it
4092                const config = this.swatchConfig[attributeId];
4093                if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') {
4094                    return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type);
4095                }
4096
4097                // Otherwise - if no config is present for the target option - use the type of the first option
4098                // with a type property from the attribute, thus assuming its the same type as the target option.
4099                // (This edge case condition can occur on single swatch products if some options are not salable)
4100                return this.getTypeOfFirstOption(attributeId);
4101            },
4102            getSwatchType(attributeId, optionId) {
4103                // Deserialize the attribute details the first time they are used
4104                if (this.swatchConfig[attributeId] && !this.swatchConfig[attributeId].details) {
4105                    this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId);
4106                }
4107                const type = this.swatchConfig[attributeId] &&
4108                    this.swatchConfig[attributeId].details &&
4109                    this.swatchConfig[attributeId].details.swatch_input_type ||
4110                    "empty";
4111                return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type;
4112            },
4113            isTextSwatch(attributeId, optionId) {
4114                return this.getSwatchType(attributeId, optionId) === 'text';
4115            },
4116            isVisualSwatch(attributeId, optionId) {
4117                const type = this.getSwatchType(attributeId, optionId);
4118
4119                return ['image', 'color'].includes(type);
4120            },
4121            getSwatchBackgroundStyle(attributeId, optionId) {
4122                const config = this.getSwatchConfig(attributeId, optionId);
4123                const type = this.getSwatchType(attributeId, optionId);
4124
4125                if (type === "color") {
4126                    return 'background-color:' + config.value;
4127                } else if (type === "image") {
4128                    return "background: #ffffff url('" + config.value + "') no-repeat center";
4129                }
4130
4131                return '';
4132            },
4133            getSwatchColor(attributeId, optionId) {
4134                const config = this.getSwatchConfig(attributeId, optionId);
4135                const type = this.getSwatchType(attributeId, optionId);
4136
4137                if (type === "color") {
4138                    return config.value;
4139                }
4140
4141                return '';
4142            },
4143            getSwatchText(attributeId, optionId) {
4144                const config = this.getSwatchConfig(attributeId, optionId);
4145
4146                return config.label || config.value || this.getOptionLabelFromOptionConfig(attributeId, optionId);
4147            },
4148            getOptionLabelFromOptionConfig(attributeId, optionId) {
4149                // Fallback if no value is present in swatchConfig data
4150                // Reference issue https://gitlab.hyva.io/hyva-themes/magento2-default-theme/-/issues/190
4151                const option = this.getAllAttributeOptions(attributeId).filter(option => option.id === optionId);
4152                return option && option[0] && option[0].label || '';
4153            },
4154            getSwatchConfig(attributeId, optionId) {
4155                return this.swatchConfig[attributeId] && this.swatchConfig[attributeId][optionId]
4156                    ? this.swatchConfig[attributeId][optionId]
4157                    : false;
4158            },
4159            activeTooltipItem: false,
4160            tooltipPositionElement: false,
4161            isTooltipVisible() {
4162                return this.activeTooltipItem &&
4163                    this.getSwatchConfig(
4164                        this.activeTooltipItem.attribute,
4165                        this.activeTooltipItem.item
4166                    );
4167            },
4168            getTooltipImageStyle(attributeId, optionId) {
4169                const config = this.getSwatchConfig(attributeId, optionId);
4170                const type = this.getSwatchType(attributeId, optionId);
4171
4172                if (type === "color") {
4173                    return 'background-color:' + config.value + '; width: 110px; height: 90px;';
4174                } else if (type === "image") {
4175                    return "background: #ffffff url('" + config.thumb +
4176                        "') center center no-repeat; width: 110px; height: 90px;";
4177                } else {
4178                    return 'display:none';
4179                }
4180            },
4181            getTooltipPosition() {
4182                return this.tooltipPositionElement ?
4183                    `top: ${this.tooltipPositionElement.offsetTop}px;` +
4184                    `left: ${
4185                        this.tooltipPositionElement.offsetLeft - (
4186                            this.tooltipPositionElement.closest('.snap') &&
4187                            this.tooltipPositionElement.closest('.snap').scrollLeft ||
4188                            0
4189                        )
4190                    }px;` : ''
4191            },
4192            getTooltipLabel() {
4193                return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label
4194            },
4195            focusedLabel: false,
4196            focusLabel(optionId) {
4197                this.focusedLabel = optionId;
4198            },
4199            blurLabel() {
4200                this.focusedLabel = false;
4201            },
4202            showSwatches: false,
4203            initShowSwatchesIntersect() {
4204                if ('IntersectionObserver' in window && !window.scrollY) {
4205                    const io = new IntersectionObserver(
4206                        entries => {
4207                            entries.map(entry => {
4208                                if (entry.isIntersecting) {
4209                                    this.showSwatches = true;
4210                                    io.unobserve(this.$el);
4211                                }
4212                            })
4213                        }
4214                    );
4215                    io.observe(this.$el);
4216                } else {
4217                    this.showSwatches = true
4218                }
4219            },
4220            selectDefaultSwatch() {
4221                setTimeout(function () {
4222                    let ajaxcart = document.getElementById('ajaxcart-modal');
4223                    if (ajaxcart.style.display !== 'none') {
4224                        return;
4225                    }
4226
4227                    let hash = window.location.hash;
4228                    if (!hash || hash === '#description' || hash === '#') {
4229                        let swatchs = document.getElementsByClassName('swatch-option');
4230                        if (swatchs.length) {
4231                            swatchs[0].click();
4232                        }
4233                    }
4234                }, 250);
4235            },
4236        }
4237    }
4238</script>
vendor: 1 bytes, line 4238
4238
4239<script>
4240    function initConfigurableOptions(productId, optionConfig) {
4241
4242        function findPathParam(key) {
4243            // get all path pairs after BASE_URL/front_name/action_path/action
4244            const baseUrl = (BASE_URL.substr(0, 2) === '//' ? 'http:' : '') + BASE_URL;
4245            const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/');
4246            const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3);
4247
4248            for (let i = 0; i < pathParts.length; i += 2) {
4249                if (pathParts[i] === key && pathParts.length > i) {
4250                    return pathParts[i + 1];
4251                }
4252            }
4253        }
4254
4255        return {
4256            optionConfig,
4257            productId,
4258            itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'),
4259            allowedAttributeOptions: [],
4260            selectedValues: [],
4261            isLoading: false,
4262            viewItemSend: false,
4263            childs: [],
4264            init() {
4265                this.findAllowedAttributeOptions();
4266                this.$nextTick(() => {
4267                    if (typeof this.optionConfig.defaultValues === 'object') {
4268                        for (const [optionId, value] of Object.entries(this.optionConfig.defaultValues)) {
4269                            this.changeOption(optionId, value + '');
4270                        }
4271                    }
4272                });
4273            },
4274            findSimpleIndex() {
4275                // a better method name would be `updateSelectedSimpleIndex` but keeping for bc
4276                this.productIndex = this.calculateSimpleIndexForFullSelection(this.selectedValues);
4277            },
4278            calculateSimpleIndexForFullSelection(selectedValues) {
4279                const productIndexes = this.optionConfig.index;
4280                return Object.keys(productIndexes).find(productIndex => {
4281                    const productCandidateOptions = productIndexes[productIndex];
4282
4283                    for (const productOption in productCandidateOptions) {
4284                        if (
4285                            ! selectedValues[productOption] ||
4286                            selectedValues[productOption] !== productCandidateOptions[productOption]
4287                        ) {
4288                            return false;
4289                        }
4290                    }
4291                    return productIndex;
4292                });
4293            },
4294            productIndex: 0,
4295            findAllowedAttributeOptions() {
4296                // a better method name would be `updateAllowedAttributeOptions` but keeping for bc
4297                this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues);
4298            },
4299            calculateAllowedAttributeOptions(selectedValues) {
4300                const allAttributes = this.optionConfig.attributes;
4301                const allAttributesSorted = Object.values(allAttributes).sort((a,b) => {
4302                    return a.position - b.position
4303                });
4304                const productIndexes = this.optionConfig.index;
4305                let previousOption = false;
4306                let availableIndexes = Object.keys(productIndexes);
4307
4308                const newAllowedAttributeOptions = [];
4309
4310                allAttributesSorted.forEach(attribute => {
4311                    if (previousOption && selectedValues[previousOption]) {
4312                        availableIndexes = availableIndexes.filter(availableIndex => {
4313                            return productIndexes[availableIndex][previousOption] ===
4314                                selectedValues[previousOption]
4315                        })
4316                    }
4317                    newAllowedAttributeOptions[attribute.id] =
4318                        allAttributes[attribute.id].options.filter(option => {
4319                            return !!option.products.find(product => {
4320                                return availableIndexes.includes(product);
4321                            })
4322                        });
4323                    previousOption = attribute.id;
4324                });
4325                return newAllowedAttributeOptions;
4326            },
4327            findAttributeByOptionId(optionId) {
4328                for (const attributeId in this.optionConfig.attributes) {
4329                    const attributeOptions = this.optionConfig.attributes[attributeId].options || [];
4330                    if (attributeOptions.find(option => option.id === optionId)) {
4331                        return attributeId;
4332                    }
4333                }
4334            },
4335            getAllowedAttributeOptions(attributeId) {
4336                return this.allowedAttributeOptions[attributeId] || []
4337            },
4338            getProductIdsForOption(option) {
4339                const attributeId = this.findAttributeByOptionId(option.id);
4340                const allOptions = this.optionConfig.attributes[attributeId];
4341                const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id);
4342                return opt && opt.products
4343                    ? opt.products
4344                    : [];
4345            },
4346            findProductIdsForPartialSelection(optionSelection) {
4347                const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => {
4348                    const newCandidates = this.getProductIdsForOption({id: optionId});
4349                    return candidates === null
4350                        ? newCandidates
4351                        : candidates.filter(productId => newCandidates.includes(productId));
4352                }, null);
4353                return candidateProducts || [];
4354            },
4355            findCheapestProductForPartialSelection(optionSelection) {
4356                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
4357                return candidateProducts.reduce((cheapest, simpleIdx) => {
4358                    // in the first iteration we start with simpleIdx as the currently cheapest product
4359                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
4360                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount;
4361                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount
4362                        ? simpleIdx
4363                        : cheapest;
4364                }, 0)
4365            },
4366            findProductIdToUseForOptionPrice(option) {
4367                // try to find a product for a complete selection
4368                const attributeId = this.findAttributeByOptionId(option.id);
4369                const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id});
4370                const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection);
4371                // if there is no complete selection, use the cheapest product for the option
4372                return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection);
4373            },
4374            getAttributeOptionLabel(option) {
4375                const optionProduct = this.findProductIdToUseForOptionPrice(option);
4376                if ((! optionProduct) || (optionProduct === this.productIndex)) {
4377                    return option.label;
4378                }
4379
4380                const currentPrice = this.getOptionPriceAdjustmentBasePrice();
4381
4382                if (this.optionConfig.optionPrices[optionProduct]) {
4383                    const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount;
4384                    if (optionPrice !== currentPrice){
4385                        return option.label + ' (' + hyva.formatPrice(optionPrice - currentPrice, true) + ')';
4386                    }
4387                }
4388                return option.label;
4389            },
4390            getOptionPriceAdjustmentBasePrice() {
4391                if (this.optionConfig.optionPrices[this.productIndex]) {
4392                    return this.optionConfig.optionPrices[this.productIndex].finalPrice.amount
4393                }
4394                const cheapestForSelection = this.findCheapestProductForPartialSelection(this.selectedValues);
4395                return this.optionConfig.optionPrices[cheapestForSelection]
4396                    ? this.optionConfig.optionPrices[cheapestForSelection].finalPrice.amount
4397                    : this.optionConfig.prices.finalPrice.amount; // default price if no option selection
4398            },
4399            changeOption(optionId, value) {
4400                this.selectedValues[optionId] = value;
4401                this.findSimpleIndex();
4402                this.findAllowedAttributeOptions();
4403                this.updatePrices();
4404                this.updateGallery();
4405                this.updateProductInfoMain();
4406                this.updateStock();
4407                this.updateDot(value);
4408                this.updateReturnUrl(value);
4409                this.notifyViewItemAction();
4410                this.updateSize();
4411                window.dispatchEvent(
4412                    new CustomEvent(
4413                        'configurable-selection-changed',
4414                        {
4415                            detail: {
4416                                productId: this.productId,
4417                                optionId: this.optionId,
4418                                value: this.value,
4419                                productIndex: this.productIndex,
4420                                selectedValues: this.selectedValues
4421                            }
4422                        }
4423                    )
4424                );
4425            },
4426            notifyViewItemAction() {
4427                let self = this;
4428                window.dataLayer ?
4429                    self.notifyViewItem() :
4430                    document.addEventListener("ga:inited", function () {
4431                        self.notifyViewItem()
4432                    });
4433            },
4434            notifyViewItem() {
4435                let product,
4436                    dlUpdate = {
4437                        'event': 'view_item',
4438                        'ecommerce': {
4439                            'items': []
4440                        }
4441                    }
4442
4443                if (this.childs[this.productIndex] && !this.viewItemSend) {
4444                    product = this.childs[this.productIndex];
4445                    dlUpdate.ecommerce.items.push({
4446                        'item_id': formatString(product.item_id),
4447                        'item_name': formatString(product.item_name),
4448                        'item_brand': formatString(product.item_brand),
4449                        'item_category': formatString(product.item_category),
4450                        'item_category2': formatString(product.item_category2),
4451                        'item_category3': formatString(product.item_category3),
4452                        'item_category4': formatString(product.item_category4),
4453                        'item_variant': formatString(product.item_variant),
4454                        'item_category5': formatString(product.item_category5),
4455                        'price': formatString(product.price),
4456                        'currency': formatString(product.currency),
4457                        'quantity': formatString(product.quantity),
4458                        'item_list_name': formatString(product.item_list_name),
4459                        'index': formatString('')
4460                    });
4461
4462                    window.dataLayer.push({ecommerce: null});
4463                    window.dataLayer.push(dlUpdate);
4464                    this.viewItemSend = true;
4465                }
4466            },
4467            calculateIsMinimalPrice() {
4468                return (
4469                    this.selectedValues.filter(value => !!value).length <
4470                        Object.keys(this.optionConfig.attributes).length
4471                );
4472            },
4473            updatePrices() {
4474                const value = this.productIndex ?
4475                    this.optionConfig.optionPrices[this.productIndex] :
4476                    this.optionConfig.prices;
4477                window.dispatchEvent(
4478                    new CustomEvent(
4479                        "update-prices-" + this.productId,
4480                        {
4481                            detail: Object.assign(
4482                                value,
4483                                { isMinimalPrice: this.calculateIsMinimalPrice() }
4484                            )
4485                        }
4486                    )
4487                );
4488            },
4489            convertStringToHTML(str, id) {
4490                let parser = new DOMParser();
4491                let doc = parser.parseFromString(str, 'text/html');
4492                return doc.getElementById(id);
4493            },
4494            updateDot(itemId) {
4495                setTimeout(function () {
4496                    if (document.getElementsByClassName('swatch-dot-' + itemId).length) {
4497                        let swatchColor = document.getElementById('swatch-color');
4498
4499                        let swatchDots = document.getElementsByClassName('swatch-dot');
4500                        for (let i = 0; i < swatchDots.length; i++) {
4501                            swatchDots[i].style.display = 'none';
4502
4503                            if (swatchColor) {
4504                                swatchColor.textContent = '';
4505                            }
4506                        }
4507
4508                        let swatchChildDots = document.getElementsByClassName('swatch-dot-' + itemId);
4509                        for (let i = 0; i < swatchChildDots.length; i++) {
4510                            swatchChildDots[i].style.display = '';
4511
4512                            if (swatchColor && swatchChildDots[i].getAttribute('title')) {
4513                                swatchColor.textContent = swatchChildDots[i].getAttribute('title');
4514                            }
4515                        }
4516                    }
4517                }, 750);
4518            },
4519            updateReturnUrl(value) {
4520                let url = window.location.href;
4521                let split = url.split('=');
4522                if (split[1] && value) {
4523                    if (document.getElementById('return_url_with_message')) {
4524                        document.getElementById('return_url_with_message').value = split[0] + '=' + value;
4525                    }
4526                }
4527            },
4528            updateInputHidden() {
4529                if (document.getElementById('selected_simple_product')) {
4530                    document.getElementById('selected_simple_product').value = this.productIndex;
4531                }
4532            },
4533            updateStock() {
4534                let stockStatuses = document.getElementsByClassName('stock-status');
4535                for (let i = 0; i < stockStatuses.length; i++) {
4536                    stockStatuses[i].style.display = 'none';
4537                }
4538
4539                let stockStatusId = 'stock-status-' + this.productIndex;
4540                if (document.getElementById(stockStatusId)) {
4541                    document.getElementById(stockStatusId).style.display = '';
4542                }
4543            },
4544            updateProductInfoMain() {
4545                if (this.productIndex === undefined) {
4546                    return;
4547                }
4548
4549                this.isLoading = true;
4550
4551                fetch('/texdecor_catalog/ajax/getproductinfomain', {
4552                    method: "POST",
4553                    mode: "cors",
4554                    credentials: "include",
4555                    headers: {
4556                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
4557                    },
4558                    body: new URLSearchParams({
4559                        form_key: hyva.getFormKey(),
4560                        params: this.productIndex,
4561                        uenc: btoa(window.location.href)
4562                    })
4563                })
4564                    .then((response) => {
4565                        if (response.ok) {
4566                            return response.json();
4567                        } else {
4568                            console.warn("La requête POST a échoué", response);
4569                        }
4570                    })
4571                    .then(data => {
4572                        this.isLoading = false;
4573
4574                        if (data) {
4575                            if (data.error) {
4576                                console.error(data.message);
4577                            } else {
4578                                let descriptionBlock = document.getElementById('product-description-child');
4579                                if (descriptionBlock) {
4580                                    descriptionBlock.replaceWith(this.convertStringToHTML(data.description, 'product-description-child'));
4581                                }
4582
4583                                let attributesBlock = document.getElementById('product-attributes-child');
4584                                if (attributesBlock) {
4585                                    attributesBlock.replaceWith(this.convertStringToHTML(data.attributes, 'product-attributes-child'));
4586                                }
4587
4588                                let blockTsTitle = document.getElementById('trustedshops.product.title');
4589                                if (blockTsTitle) {
4590                                    blockTsTitle.innerHTML = data.blockTsTitle;
4591                                }
4592
4593                                let blockTsTab = document.getElementById('contain.trustedshops.review.tab');
4594                                if (blockTsTab) {
4595                                    blockTsTab.innerHTML = data.blockTsTab;
4596                                }
4597
4598                                let collection = document.getElementById('collection_name');
4599                                if (collection && data.collection && data.collection !== '') {
4600                                    collection.innerText = data.collection;
4601                                }
4602                            }
4603                        }
4604                    })
4605                    .catch((error) => {
4606                        console.error(error);
4607                    });
4608            },
4609            updateGallery () {
4610                const value = this.productIndex ?
4611                    this.optionConfig.images[this.productIndex] :
4612                    Object.values(this.optionConfig.images)[0];
4613
4614                const isNew = this.productIndex
4615                    ? this.optionConfig.isNew[this.productIndex]
4616                    : false;
4617
4618                const isEndOfSeries = this.productIndex
4619                    ? this.optionConfig.isEndOfSeries[this.productIndex]
4620                    : false;
4621
4622                const isSales = this.productIndex
4623                    ? this.optionConfig.isSales[this.productIndex]
4624                    : false;
4625
4626                if (value) {
4627                    value.sort(function (a, b) {
4628                        return (a.position > b.position) ? 1 : ((b.position > a.position) ? -1 : 0);
4629                    });
4630
4631                    window.dispatchEvent(
4632                        new CustomEvent(
4633                            "update-gallery",
4634                            { detail: value }
4635                        )
4636                    );
4637                }
4638
4639                window.dispatchEvent(
4640                    new CustomEvent(
4641                        "update-is-new",
4642                        { detail: isNew }
4643                    )
4644                );
4645
4646                window.dispatchEvent(
4647                    new CustomEvent(
4648                        "update-is-end-of-series",
4649                        { detail: isEndOfSeries }
4650                    )
4651                );
4652
4653                window.dispatchEvent(
4654                    new CustomEvent(
4655                        "update-is-sales",
4656                        { detail: isSales }
4657                    )
4658                );
4659            },
4660            onGetCartData(data) {
4661                this.preselectCartItems(data);
4662                this.preselectQuerystringItems();
4663                this.preselectLocationHashItems();
4664            },
4665            preselectCartItems(data) {
4666                // pre-select options based on cart data for current (quote) itemId
4667                const cart = data && data.cart;
4668                if (cart && cart.items) {
4669                    const cartItem = cart.items.find((item) => {
4670                        return (
4671                            item.item_id === this.itemId
4672                            && item.product_id === this.productId
4673                        )
4674                    });
4675                    if (cartItem && cartItem.options && cartItem.options.length) {
4676                        cartItem.options.map(option => {
4677                            this.changeOption(option.option_id, option.option_value);
4678                        })
4679                    }
4680                }
4681            },
4682            preselectQuerystringItems() {
4683                // pre-select option like ?size=167
4684                const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
4685                Object.values(this.optionConfig.attributes).map(attribute => {
4686                    urlQueryParams.get(attribute.code) &&
4687                    this.changeOption(attribute.id, urlQueryParams.get(attribute.code));
4688                });
4689            },
4690            preselectLocationHashItems() {
4691                // pre-select option like #144=167
4692                const urlHashParams = new URLSearchParams(window.location.hash.replace('#',''));
4693                Object.values(this.optionConfig.attributes).map(attribute => {
4694                    urlHashParams.get(attribute.id) &&
4695                    this.changeOption(attribute.id, urlHashParams.get(attribute.id));
4696                });
4697            },
4698            updateSize() {
4699                const productSize = this.productIndex
4700                    ? this.optionConfig.size[this.productIndex]
4701                    : null;
4702
4703                window.dispatchEvent(
4704                    new CustomEvent(
4705                        "update-product-size",
4706                        { detail: productSize }
4707                    )
4708                )
4709            }
4710        }
4711    }
4712
4713</script>
vendor: 1 bytes, line 4713
4713
4714<script>
4715    'use strict';
4716
4717    (() => {
4718        const equalizeButtonWidths = (buttons) => {
4719            const buttonList = buttons.querySelectorAll('[data-element="link"], [data-element="empty_link"]');
4720            let buttonMinWidth = 0;
4721
4722            buttonList.forEach(button => {
4723                const buttonWidth = button.offsetWidth;
4724
4725                if (buttonWidth > buttonMinWidth) {
4726                    buttonMinWidth = buttonWidth;
4727                }
4728            });
4729
4730            buttonList.forEach(button => {
4731                button.style.minWidth = `${buttonMinWidth}px`;
4732            });
4733        };
4734
4735        window.addEventListener('DOMContentLoaded', () => {
4736            document.querySelectorAll('[data-content-type="buttons"][data-same-width="true"]').forEach(buttons => {
4737                equalizeButtonWidths(buttons);
4738            });
4739        });
4740    })();
4741</script>
vendor: 1 bytes, line 4741
4741
4742<script>
4743    'use strict';
4744
4745    (() => {
4746        const initCarousels = (elements) => {
4747            if (!Glider) {
4748                return;
4749            }
4750
4751            const initProductCarousel = (carousel) => {
4752                const gliderElement = carousel.querySelector('[data-role="glider-content"]');
4753
4754                if (!gliderElement) {
4755                    return;
4756                }
4757
4758                const gliderDots = carousel.querySelector('.glider-dots');
4759                const gliderPrev = carousel.querySelector('.glider-prev');
4760                const gliderNext = carousel.querySelector('.glider-next');
4761
4762                const glider = new Glider(gliderElement, {
4763                    slidesToShow: 2,
4764                    slidesToScroll: 2,
4765                    scrollLock: true,
4766                    draggable: true,
4767                    dragVelocity: 2.5,
4768                    dots: gliderDots,
4769                    arrows: {
4770                        prev: gliderPrev,
4771                        next: gliderNext,
4772                    },
4773                    responsive: [
4774                        {
4775                            breakpoint: 768,
4776                            settings: {
4777                                slidesToShow: 3,
4778                                slidesToScroll: 3,
4779                            }
4780                        },
4781                        {
4782                            breakpoint: 1024,
4783                            settings: {
4784                                slidesToShow: 4,
4785                                slidesToScroll: 4,
4786                            }
4787                        },
4788                    ],
4789                });
4790
4791                carousel.classList.remove('overflow-x-scroll');
4792                gliderPrev.classList.remove('hidden');
4793                gliderNext.classList.remove('hidden');
4794
4795                if (carousel.dataset.autoplay !== 'false') {
4796                    gliderAutoplay(
4797                        glider,
4798                        carousel.dataset.autoplaySpeed,
4799                        carousel.dataset.infiniteLoop
4800                    );
4801                }
4802            };
4803
4804            const initSliderCarousel = (slider) => {
4805                slider.innerHTML = `<div data-role="glider-content">${slider.innerHTML}</div>`;
4806                slider.classList.add('glider-contain');
4807
4808                slider.insertAdjacentHTML(
4809                    'beforeend',
4810                    '\u000A\u003Cdiv\u0020class\u003D\u0022carousel\u002Dnav\u0020flex\u0020items\u002Dcenter\u0020justify\u002Dcenter\u0020flex\u002D1\u0020p\u002D4\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Pr\u00E9c\u00E9dent\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dprev\u0020w\u002D8\u0020h\u002D8\u0020mr\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020viewBox\u003D\u00220\u00200\u00201024\u00201024\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Cpath\u0020class\u003D\u0022path1\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020d\u003D\u0022M716.8\u00201024c6.552\u00200\u002013.102\u002D2.499\u002018.101\u002D7.499\u00209.998\u002D9.997\u00209.998\u002D26.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002D36.203l\u002D442.698\u002D442.698\u0020442.698\u002D442.699c9.998\u002D9.997\u00209.998\u002D26.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002D36.203s\u002D26.206\u002D9.998\u002D36.203\u00200l\u002D460.8\u0020460.8c\u002D9.998\u00209.997\u002D9.998\u002026.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002036.203l460.8\u0020460.8c5\u00205\u002011.55\u00207.499\u
4810002018.102\u00207.499z\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003C\u002Fpath\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u0020\u0020\u0020\u0020\u003Cdiv\u0020role\u003D\u0022tablist\u0022\u0020class\u003D\u0022glider\u002Ddots\u0020select\u002Dnone\u0020flex\u0020flex\u002Dwrap\u0020mx\u002D1\u0020justify\u002Dcenter\u0020p\u002D0\u0020focus\u003Aoutline\u002Dnone\u0022\u003E\u003C\u002Fdiv\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Continuer\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dnext\u0020w\u002D8\u0020h\u002D8\u0020ml\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020viewBox\u003D\u00220\u00200\u00201024\u00201024\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Cpath\u0020class\u003D\u0022path1\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020d\u003D\u0022M256\u00201024c\u002D6.552\u00200\u002D13.102\u002D2.499\u002D18.101\u002D7.499\u002D9.998\u002D9.997\u002D9.998\u002D26.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002D36.203l442.698\u002D442.698\u002D442.698\u002D442.699c\u002D9.998\u002D9.997\u002D9.998\u002D26.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002D36.203s26.206\u002D9.998\u002036.203\u00200l460.8\u0020460.8c9.998\u00209.997\u00209.998\u002026.206\u00200\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u002036.203l\u002D460.8\u0020460.8c\u002D5\u00205\u002D11.55\u00207.499\u002D18.102\u00207.499z\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003C\u002Fpath\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u003C\u002Fdiv\u003E\u000A'
4811                );
4812
4813                const gliderElement = slider.querySelector('[data-role="glider-content"]');
4814                const gliderDots = slider.querySelector('.glider-dots');
4815                const gliderPrev = slider.querySelector('.glider-prev');
4816                const gliderNext = slider.querySelector('.glider-next');
4817
4818                const glider = new Glider(gliderElement, {
4819                    slidesToShow: 1,
4820                    slidesToScroll: 1,
4821                    scrollLock: true,
4822                    scrollLockDelay: 250,
4823                    draggable: true,
4824                    dragVelocity: 2.5,
4825                    dots: gliderDots,
4826                    arrows: {
4827                        prev: gliderPrev,
4828                        next: gliderNext,
4829                    },
4830                });
4831
4832                slider.classList.add('glider-initialized');
4833                if (slider.dataset.showArrows === 'true') {
4834                    gliderPrev.classList.remove('hidden');
4835                    gliderNext.classList.remove('hidden');
4836                }
4837
4838                if (slider.dataset.autoplay !== 'false') {
4839                    gliderAutoplay(
4840                        glider,
4841                        slider.dataset.autoplaySpeed,
4842                        slider.dataset.infiniteLoop
4843                    );
4844                }
4845            };
4846
4847            const gliderAutoplay = (glider, milliseconds, loop) => {
4848                const pagesCount = glider.track.childElementCount;
4849                let slideTimeout = null;
4850                let nextIndex = 1;
4851                let paused = false;
4852
4853                const slide = () => {
4854                    slideTimeout = setTimeout(
4855                        () => {
4856                            if (loop && nextIndex >= pagesCount) {
4857                                nextIndex = 0;
4858                            }
4859                            glider.scrollItem(nextIndex);
4860                        },
4861                        parseInt(milliseconds)
4862                    );
4863                };
4864
4865                glider.ele.addEventListener('glider-animated', () => {
4866                    nextIndex = glider.slide + glider.opt.slidesToScroll;
4867                    window.clearInterval(slideTimeout);
4868                    if (!paused && (loop || nextIndex < pagesCount)) {
4869                        slide();
4870                    }
4871                });
4872
4873                const pause = () => {
4874                    if (!paused) {
4875                        clearInterval(slideTimeout);
4876                        paused = true;
4877                    }
4878                };
4879
4880                const unpause = () => {
4881                    if (paused) {
4882                        slide();
4883                        paused = false;
4884                    }
4885                };
4886
4887                glider.ele.parentElement.addEventListener('mouseover', pause, {passive: true});
4888                glider.ele.parentElement.addEventListener('touchstart', pause, {passive: true});
4889                glider.ele.parentElement.addEventListener('mouseout', unpause, {passive: true});
4890                glider.ele.parentElement.addEventListener('touchend', unpause, {passive: true});
4891
4892                slide();
4893            };
4894
4895            elements.forEach(element => {
4896                if (element.dataset.contentType === 'products') {
4897                    initProductCarousel(element);
4898                }
4899                if (element.dataset.contentType === 'slider') {
4900                    initSliderCarousel(element);
4901                }
4902            });
4903        };
4904
4905        window.addEventListener('DOMContentLoaded', () => {
4906            const carouselElements = document.querySelectorAll(
4907                `[data-content-type="products"][data-appearance="carousel"],
4908                [data-content-type="slider"]`
4909            );
4910
4911            if (carouselElements.length > 0) {
4912                const script = document.createElement('script');
4913                script.type = 'text/javascript';
4914
4915                script.addEventListener('load', () => {
4916                    initCarousels(carouselElements);
4917                });
4918
4919                script.src = 'https\u003A\u002F\u002Fwww.we\u002Dwall.com\u002Fstatic\u002Fversion1786625269\u002Ffrontend\u002FTexdecor\u002Fdefault\u002Ffr_FR\u002FMagento_PageBuilder\u002Fjs\u002Fglider.min.js';
4920                document.head.appendChild(script);
4921            }
4922        });
4923    })();
4924</script>
vendor: 1 bytes, line 4924
4924
4925<script>
4926    'use strict';
4927
4928    (() => {
4929        const initMaps = (elements) => {
4930            const renderMap = (element) => {
4931                const dataLocations = element.dataset.locations;
4932
4933                // Hide map if no locations set
4934                if (!dataLocations || dataLocations === '[]') {
4935                    element.classList.add('hidden');
4936                    return;
4937                }
4938
4939                const map = new google.maps.Map(
4940                    element,
4941                    getMapOptions(
4942                        element.dataset.showControls !== 'true',
4943                        element.dataset.showControls === 'true'
4944                    )
4945                );
4946                const locations = JSON.parse(dataLocations);
4947                const latitudeLongitudeBounds = new google.maps.LatLngBounds();
4948                const bounds = [];
4949
4950                locations.forEach(location => {
4951                    const position = {
4952                        lat: parseFloat(location.position.latitude),
4953                        lng: parseFloat(location.position.longitude),
4954                    };
4955                    bounds.push(position);
4956
4957                    const infowindow = new google.maps.InfoWindow({
4958                        content: getInfoWindowContent(location),
4959                    });
4960                    const marker = new google.maps.Marker({
4961                        position: position,
4962                        map,
4963                        title: location.location_name,
4964                    });
4965
4966                    marker.addListener('click', () => {
4967                        infowindow.open(map, marker);
4968                    });
4969                });
4970
4971                // Set bounds if multiple locations
4972                if (bounds.length > 1) {
4973                    bounds.forEach(function (bound) {
4974                        latitudeLongitudeBounds.extend(bound);
4975                    });
4976                    map.fitBounds(latitudeLongitudeBounds);
4977                }
4978
4979                // Center if single location
4980                if (bounds.length === 1) {
4981                    map.setCenter(bounds[0]);
4982                }
4983            };
4984
4985            const getMapOptions = (disableDefaultUI, mapTypeControl) => {
4986                const style = '';
4987                return {
4988                    zoom: 8,
4989                    scrollwheel: false,
4990                    disableDoubleClickZoom: false,
4991                    mapTypeControlOptions: {
4992                        style: google.maps.MapTypeControlStyle.DEFAULT,
4993                    },
4994                    styles: style ? JSON.parse(style) : [],
4995                    disableDefaultUI: disableDefaultUI,
4996                    mapTypeControl: mapTypeControl,
4997                };
4998            };
4999
5000            const getInfoWindowContent = (location) => {
5001                const title = location.location_name ?
5002                    `<h3 class="text-2xl font-medium text-gray-900 title-font">${location.location_name}</h3>` : '';
5003                const comment = location.comment ? `<p class="px-1 pt-3 text-primary">${location.comment}</p>` : '';
5004                const phone = location.phone ? `<p class="px-1 pt-3 text-primary">Phone: ${location.phone}</p>` : '';
5005                const street = location.address ? `${location.address}<br/>` : '';
5006                const city = location.city ? `${location.city}<br/>` : '';
5007                const state = location.state ? `${location.state}<br/>` : '';
5008                const zipCode = location.zipcode ? `${location.zipcode}<br/>` : '';
5009                const country = location.country ? location.country : '';
5010
5011                return `<div>
5012                            ${title}
5013                            ${comment}
5014                            ${phone}
5015                            <p class="px-1 pt-3 text-primary">
5016                                ${street}
5017                                ${city}
5018                                ${state}
5019                                ${zipCode}
5020                                ${country}
5021                            </p>
5022                        </div>`;
5023            };
5024
5025            const hideAllMaps = () => {
5026                document.querySelectorAll('[data-content-type="map"]').forEach(element => {
5027                    element.classList.add('hidden');
5028                });
5029            };
5030
5031            window.gm_authFailure = () => {
5032                hideAllMaps();
5033            };
5034
5035            if (typeof google.maps === 'undefined') {
5036                hideAllMaps();
5037                return;
5038            }
5039
5040            elements.forEach(element => {
5041                if (element.dataset.contentType === 'map') {
5042                    renderMap(element);
5043                }
5044            });
5045        };
5046
5047        window.addEventListener('DOMContentLoaded', () => {
5048            const mapElements = document.querySelectorAll('[data-content-type="map"]');
5049
5050            if (mapElements.length > 0) {
5051                const script = document.createElement('script');
5052                script.type = 'text/javascript';
5053
5054                script.addEventListener('load', () => {
5055                    initMaps(mapElements);
5056                });
5057
5058                script.src = 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3\u0026key\u003D';
5059                document.head.appendChild(script);
5060            }
5061        });
5062    })();
5063</script>
vendor: 1 bytes, line 5063
5063
5064<script>
5065    'use strict';
5066
5067    (() => {
5068        const initParallaxImage = (element) => {
5069            if (!window.jarallax) {
5070                return;
5071            }
5072
5073            element.classList.add('jarallax');
5074            element.dataset.jarallax = '';
5075            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
5076            const elementStyle = window.getComputedStyle(element);
5077
5078            window.jarallax(element, {
5079                imgPosition: elementStyle.backgroundPosition || '50% 50%',
5080                imgRepeat: elementStyle.backgroundRepeat || 'no-repeat',
5081                imgSize: elementStyle.backgroundSize || 'cover',
5082                speed: parallaxSpeed,
5083            });
5084        };
5085
5086        const initVideoBackground = (element) => {
5087            if (!window.jarallax) {
5088                return;
5089            }
5090
5091            let slider = null;
5092
5093            if (element.classList.contains('pagebuilder-slide-wrapper')) {
5094                const viewportElement = document.createElement('div');
5095                slider = element.closest('[data-content-type=slider]');
5096                viewportElement.classList.add('jarallax-viewport-element');
5097                element.dataset.elementInViewport = '.jarallax-viewport-element';
5098                element.appendChild(viewportElement);
5099            }
5100
5101            element.classList.add('jarallax');
5102            element.dataset.jarallax = '';
5103            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
5104
5105            window.jarallax(element, {
5106                imgSrc: element.dataset.videoFallbackSrc,
5107                speed: parallaxSpeed,
5108                videoLoop: element.dataset.videoLoop,
5109                videoPlayOnlyVisible: element.dataset.videoPlayOnlyVisible,
5110                videoLazyLoading: element.dataset.videoLazyLoad,
5111                disableVideo: false,
5112                elementInViewport: element.dataset.elementInViewport &&
5113                    element.querySelector(element.dataset.elementInViewport),
5114            });
5115
5116            if (slider) {
5117                if (slider.dataset.afterChangeIsSet) {
5118                    return;
5119                }
5120
5121                slider.addEventListener('glider-loaded', () => {
5122                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
5123                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
5124                    });
5125                });
5126
5127                slider.addEventListener('glider-animated', () => {
5128                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
5129                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
5130                    });
5131                });
5132
5133                slider.dataset.afterChangeIsSet = true;
5134            }
5135        };
5136
5137        window.addEventListener('DOMContentLoaded', () => {
5138            const parallaxImageElements = document.querySelectorAll(
5139                `[data-content-type="row"][data-background-type="image"][data-enable-parallax="1"],
5140                [data-content-type="row"] > [data-background-type="image"][data-enable-parallax="1"]`
5141            );
5142
5143            const videoBackgroundsElements = document.querySelectorAll(
5144                `[data-content-type="row"][data-background-type="video"][data-enable-parallax="1"],
5145                [data-content-type="row"] > [data-background-type="video"][data-enable-parallax="1"],
5146                [data-content-type="banner"] [data-background-type="video"],
5147                [data-content-type="slide"] [data-background-type="video"]`
5148            );
5149
5150            if (parallaxImageElements.length > 0 || videoBackgroundsElements.length > 0) {
5151                const jarallaxScript = document.createElement('script');
5152                jarallaxScript.type = 'text/javascript';
5153
5154                jarallaxScript.addEventListener('load', () => {
5155                    parallaxImageElements.forEach(row => {
5156                        initParallaxImage(row);
5157                    });
5158
5159                    const jarallaxVideoScript = document.createElement('script');
5160                    jarallaxVideoScript.type = 'text/javascript';
5161
5162                    jarallaxVideoScript.addEventListener('load', () => {
5163                        videoBackgroundsElements.forEach(element => {
5164                            initVideoBackground(element);
5165                        });
5166                    });
5167
5168                    jarallaxVideoScript.src = 'https\u003A\u002F\u002Fwww.we\u002Dwall.com\u002Fstatic\u002Fversion1786625269\u002Ffrontend\u002FTexdecor\u002Fdefault\u002Ffr_FR\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax\u002Dvideo.min.js';
5169                    document.head.appendChild(jarallaxVideoScript);
5170                });
5171
5172                jarallaxScript.src = 'https\u003A\u002F\u002Fwww.we\u002Dwall.com\u002Fstatic\u002Fversion1786625269\u002Ffrontend\u002FTexdecor\u002Fdefault\u002Ffr_FR\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax.min.js';
5173                document.head.appendChild(jarallaxScript);
5174            }
5175        });
5176    })();
5177</script>
vendor: 1 bytes, line 5177
5177
5178<script>
5179    'use strict';
5180
5181    (() => {
5182        const applyShowOnHover = (element) => {
5183            const showOverlayOnHover = (element) => {
5184                const overlay = element.querySelector('.pagebuilder-overlay');
5185                const color = overlay.dataset.overlayColor;
5186
5187                element.addEventListener('mouseover', () => {
5188                    overlay.style.backgroundColor = color;
5189                });
5190                element.addEventListener('mouseout', () => {
5191                    overlay.style.backgroundColor = 'transparent';
5192                });
5193            };
5194
5195            const showButtonOnHover = (element) => {
5196                const button = element.querySelector('.pagebuilder-banner-button');
5197
5198                element.addEventListener('mouseover', () => {
5199                    button.style.opacity = '1';
5200                    button.style.visibility = 'visible';
5201                });
5202                element.addEventListener('mouseout', () => {
5203                    button.style.opacity = '0';
5204                    button.style.visibility = 'hidden';
5205                });
5206            };
5207
5208            if (element.dataset.showOverlay === 'hover') {
5209                showOverlayOnHover(element);
5210            }
5211            if (element.dataset.showButton === 'hover') {
5212                showButtonOnHover(element);
5213            }
5214        };
5215
5216        window.addEventListener('DOMContentLoaded', () => {
5217            document.querySelectorAll('[data-content-type="banner"],[data-content-type="slider"]').forEach(element => {
5218                applyShowOnHover(element);
5219            });
5220        });
5221    })();
5222</script>
vendor: 1 bytes, line 5222
5222
5223<script>
5224    'use strict';
5225
5226    (() => {
5227        document.querySelectorAll('[data-content-type="tab-item"]').forEach(tabItem => {
5228            tabItem.setAttribute('x-show', `tab === '${tabItem.id}'`);
5229        });
5230
5231        document.querySelectorAll('[data-content-type="tabs"]').forEach(tab => {
5232            const defaultActiveTab = parseInt(tab.dataset.activeTab) || 0;
5233
5234            tab.querySelectorAll('.tab-header').forEach((tabHeader, index) => {
5235                const tabLink = tabHeader.querySelector('a');
5236                const tabId = tabLink.getAttribute('href').replace('#', '');
5237
5238                tabHeader.setAttribute(':class', `{ 'active': tab === '${tabId}' }`);
5239                tabLink.setAttribute('x-on:click.prevent', `tab = '${tabId}'`);
5240
5241                if (index === defaultActiveTab) {
5242                    tab.setAttribute('x-data', `{ tab: '${tabId}' }`);
5243                }
5244            });
5245        });
5246    })();
5247</script>
vendor: 1 bytes, line 5247
5247
5248<script>
5249    function showMore(e) {
5250        let target = e.target;
5251        let parent = target.parentNode;
5252        let overview = parent.querySelectorAll('.overview')[0];
5253        let content = parent.querySelectorAll('.overview-content')[0];
5254
5255        let height = content.getBoundingClientRect().height + 'px';
5256        let maxHeight = '70px';
5257
5258        if (overview.classList.contains('active')) {
5259            overview.style.maxHeight = maxHeight;
5260        } else {
5261            overview.style.maxHeight = height;
5262        }
5263
5264        overview.classList.toggle('active');
5265        target.classList.toggle('active');
5266
5267        if (target.classList.contains('active')) {
5268            target.textContent = 'Voir moins';
5269        } else {
5270            target.textContent = 'Lire la suite';
5271        }
5272    }
5273</script>
vendor: 1 bytes, line 5273
5273
5274<script>
5275    tarteaucitron.user.gtagUa = 'GTM-TBK2B7B';
5276    tarteaucitron.user.gtagMore = function () { /* add here your optionnal gtag() */ };
5277    (tarteaucitron.job = tarteaucitron.job || []).push('gtag');
5278</script>
5278
5279</body>
5280</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.