PageSourceSearch

https://diamant-strass-dmc.com/perles-broderie/custom-diamond-painting-personnalise-photo/

html diamant-strass-dmc.com collected 2026-10-04 02:16:43 UTC 623,140 bytes, 8,355 lines download raw bytes

1<!doctype html>
2<html dir="ltr" lang="fr-FR" prefix="og: https://ogp.me/ns#">
3<head>
4	
5	<meta charset="UTF-8">
6	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, viewport-fit=cover">
7	<link rel="profile" href="https://gmpg.org/xfn/11">
8
9	<title>💎 Mon diamond painting personnalisé | Diamond Painting</title>
10<style id="jdmc-anti-cls">
11  html.jdmc-prep tr[id*="estimate"],
12  html.jdmc-prep #pi-overall-estimate-cart,
13  html.jdmc-prep #pi-overall-estimate-checkout{ visibility:hidden !important; }
14  html.jdmc-prep tr.jdmc-pi-placeholder{ display:table-row !important; }
15  html:not(.jdmc-prep) tr.jdmc-pi-placeholder{ display:none !important; }
16  </style>  
16<script id="jdmc-anti-cls-boot">
17  (function(){
18    try{ document.documentElement.classList.add('jdmc-prep'); }catch(e){}
19    function ensurePlaceholderIn(tableSel, isCheckout){
20      var table = document.querySelector(tableSel);
21      if(!table) return;
22      var tfoot = table.querySelector('tfoot');
23      if(!tfoot){ tfoot = document.createElement('tfoot'); table.appendChild(tfoot); }
24      if(!tfoot.querySelector('tr.jdmc-pi-placeholder')){
25        var row = document.createElement('tr');
26        row.className = 'jdmc-pi-placeholder';
27        if(isCheckout){
28          var td = document.createElement('td'); td.colSpan = 10; td.style.height='2.6em'; row.appendChild(td);
29        }else{
30          var td2 = document.createElement('td'); td2.colSpan = 10; td2.style.height='2.6em'; row.appendChild(td2);
31        }
32        tfoot.appendChild(row);
33      }
34    }
35    var tries=0, iv = setInterval(function(){
36      ensurePlaceholderIn('.shop_table.cart', false);
37      ensurePlaceholderIn('#order_review .shop_table, .woocommerce-checkout-review-order-table, .shop_table.review-order', true);
38      if(++tries>=40){ clearInterval(iv); }
39    },25);
40  })();
41  </script>
41
42      <style>
43      #ulcmp-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:999999;background:#111;color:#fff;border-radius:12px;padding:12px;box-shadow:0 8px 30px rgba(0,0,0,.35);font:14px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
44      #ulcmp-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
45      #ulcmp-actions{display:flex;gap:10px;align-items:center}
46      #ulcmp-ok{appearance:none;border:0;border-radius:10px;padding:9px 14px;background:#fff;color:#111;font-weight:700;cursor:pointer}
47      #ulcmp-settings-link{color:#bbb;font-size:13px;text-decoration:none}
48      #ulcmp-settings-link:hover{color:#fff;text-decoration:underline}
49      #ulcmp-panel{display:none;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
50      #ulcmp-panel label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
51      #ulcmp-panel input[type="checkbox"]{margin-top:2px}
52      #ulcmp-panel .btn{appearance:none;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:8px 12px;background:transparent;color:#fff;cursor:pointer}
53      #ulcmp-panel .btn:hover{border-color:rgba(255,255,255,.5)}
54      #ulcmp-panel .danger{border-color:rgba(255,80,80,.45)}
55      #ulcmp-panel .danger:hover{border-color:rgba(255,80,80,.8)}
56      @media (max-width:700px){
57        #ulcmp-actions{width:100%;justify-content:flex-end}
58      }
59    </style>
60
61    
61<script>
62    (function(){
63      var I18N = {"bar_text":"Nous utilisons des cookies pour améliorer votre expérience et mesurer nos performances.","btn_ok":"J’ai compris","link_settings":"Paramètres","checkbox":"Désactiver les cookies","btn_save":"Enregistrer"};
64      var SHOW = false;
65
66      var LS_SEEN = 'ulcmp_seen_v1';
67      var LS_OPTOUT = 'ulcmp_optout_v1';
68
69      function optedOut(){ try{return localStorage.getItem(LS_OPTOUT)==='1'}catch(e){return false} }
70      function seen(){ try{return localStorage.getItem(LS_SEEN)==='1'}catch(e){return false} }
71      function setSeen(){ try{localStorage.setItem(LS_SEEN,'1')}catch(e){} }
72      function setOpt(o){ try{localStorage.setItem(LS_OPTOUT,o?'1':'0')}catch(e){} }
73
74      function delCookie(name){
75        var d=document.domain, parts=d.split('.'), domains=[];
76        for(var i=0;i<parts.length;i++) domains.push(parts.slice(i).join('.'));
77        var tryDomains=domains.concat(domains.map(function(x){return '.'+x;}));
78        tryDomains.forEach(function(dom){
79          document.cookie = name+"=; Max-Age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain="+dom;
80        });
81        document.cookie = name+"=; Max-Age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/;";
82      }
83
84      function purgeMarketingCookies(){
85        // Google / GA / Ads
86        ['_ga','_gid','_gat','_gcl_au'].forEach(delCookie);
87        document.cookie.split(';').map(function(c){return c.trim().split('=')[0];}).forEach(function(k){
88          if (k.indexOf('_ga_')===0) delCookie(k);
89          if (k.indexOf('_gac_')===0) delCookie(k);
90          if (k.indexOf('_gcl_')===0) delCookie(k);
91        });
92
93        // Meta
94        ['_fbp','_fbc','fr','sb','datr'].forEach(delCookie);
95
96        // Microsoft/Bing (best effort)
97        ['_uetsid','_uetvid','_uetmsclkid','MUID','MUIDB','SRCHD','SRCHUID','SRCHUSR'].forEach(delCookie);
98      }
99
100      function applyOptOut(){
101        // Google: deny
102        try{
103          window.dataLayer = window.dataLayer || [];
104          window.gtag = window.gtag || function(){ dataLayer.push(arguments); };
105          window.gtag('consent','update',{
106            ad_storage:'denied',
107            analytics_storage:'denied',
108            ad_user_data:'denied',
109            ad_personalization:'denied'
110          });
111        }catch(e){}
112
113        // Bing: deny
114        try{
115          window.uetq = window.uetq || [];
116          window.uetq.push('consent','update',{ ad_storage:'denied' });
117        }catch(e){}
118
119        // Meta: revoke
120        try{
121          if (typeof window.fbq === 'function') window.fbq('consent','revoke');
122        }catch(e){}
123
124        // Neutralisation best-effort (évite des envois futurs via JS)
125        try{
126          var oldGtag = window.gtag;
127          window.gtag = function(){
128            try{ if (arguments && arguments[0]==='consent') return oldGtag.apply(this, arguments); }catch(e){}
129            return;
130          };
131        }catch(e){}
132      }
133
134      // Si déjà opt-out, on applique partout et on ne montre pas le bandeau
135      if (optedOut()){
136        applyOptOut();
137        purgeMarketingCookies();
138        setSeen();
139        return;
140      }
141
142      if (!SHOW) return;
143      if (seen()) return;
144
145      document.addEventListener('DOMContentLoaded', function(){
146        var bar = document.createElement('div');
147        bar.id = 'ulcmp-bar';
148
149        bar.innerHTML =
150          '<div id="ulcmp-row">' +
151            '<div id="ulcmp-text"></div>' +
152            '<div id="ulcmp-actions">' +
153              '<a id="ulcmp-settings-link" href="#ulcmp-settings" rel="nofollow"></a>' +
154              '<button id="ulcmp-ok" type="button"></button>' +
155            '</div>' +
156          '</div>' +
157          '<div id="ulcmp-panel">' +
158            '<label>' +
159              '<input id="ulcmp-optout" type="checkbox" />' +
160              '<div><strong>'+ I18N.checkbox +'</strong></div>' +
161            '</label>' +
162            '<div style="margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;">' +
163              '<button id="ulcmp-save" class="btn danger" type="button"></button>' +
164            '</div>' +
165          '</div>';
166
167        document.body.appendChild(bar);
168
169        // Texte i18n
170        document.getElementById('ulcmp-text').textContent = I18N.bar_text;
171        document.getElementById('ulcmp-settings-link').textContent = I18N.link_settings;
172        document.getElementById('ulcmp-ok').textContent = I18N.btn_ok;
173        document.getElementById('ulcmp-save').textContent = I18N.btn_save;
174
175        var link = document.getElementById('ulcmp-settings-link');
176        var panel = document.getElementById('ulcmp-panel');
177        var ok = document.getElementById('ulcmp-ok');
178        var cb = document.getElementById('ulcmp-optout');
179        var save = document.getElementById('ulcmp-save');
180
181        cb.checked = false;
182
183        link.addEventListener('click', function(e){
184          e.preventDefault(); // empêche le scroll en haut
185          panel.style.display = (panel.style.display === 'block') ? 'none' : 'block';
186        });
187
188        ok.addEventListener('click', function(){
189          setSeen();
190          bar.remove();
191        });
192
193        save.addEventListener('click', function(){
194          var wantOptOut = !!cb.checked;
195          setOpt(wantOptOut);
196          setSeen();
197
198          if (wantOptOut){
199            applyOptOut();
200            purgeMarketingCookies();
201          }
202
203          // ✅ tu veux un refresh automatique à l'enregistrement
204          location.reload();
205        });
206      });
207    })();
208    </script>
208
209    <link rel="alternate" hreflang="nl" href="https://diamant-strass-dmc.com/nl/perles-broderie/custom-diamond-painting-personnalise-photo/" />
210<link rel="alternate" hreflang="en" href="https://diamant-strass-dmc.com/en/perles-broderie/custom-diamond-painting-personnalise-photo/" />
211<link rel="alternate" hreflang="fr" href="https://diamant-strass-dmc.com/perles-broderie/custom-diamond-painting-personnalise-photo/" />
212<link rel="alternate" hreflang="de" href="https://diamant-strass-dmc.com/de/perles-broderie/custom-diamond-painting-personnalise-photo/" />
213<link rel="alternate" hreflang="it" href="https://diamant-strass-dmc.com/it/perles-broderie/custom-diamond-painting-personnalise-photo/" />
214<link rel="alternate" hreflang="pt-pt" href="https://diamant-strass-dmc.com/pt-pt/perles-broderie/custom-diamond-painting-personnalise-photo/" />
215<link rel="alternate" hreflang="es" href="https://diamant-strass-dmc.com/es/perles-broderie/custom-diamond-painting-personnalise-photo/" />
216<link rel="alternate" hreflang="bg" href="https://diamant-strass-dmc.com/bg/perles-broderie/custom-diamond-painting-personnalise-photo/" />
217<link rel="alternate" hreflang="da" href="https://diamant-strass-dmc.com/da/perles-broderie/custom-diamond-painting-personnalise-photo/" />
218<link rel="alternate" hreflang="el" href="https://diamant-strass-dmc.com/el/perles-broderie/custom-diamond-painting-personnalise-photo/" />
219<link rel="alternate" hreflang="hu" href="https://diamant-strass-dmc.com/hu/perles-broderie/custom-diamond-painting-personnalise-photo/" />
220<link rel="alternate" hreflang="no" href="https://diamant-strass-dmc.com/no/perles-broderie/custom-diamond-painting-personnalise-photo/" />
221<link rel="alternate" hreflang="pl" href="https://diamant-strass-dmc.com/pl/perles-broderie/custom-diamond-painting-personnalise-photo/" />
222<link rel="alternate" hreflang="ro" href="https://diamant-strass-dmc.com/ro/perles-broderie/custom-diamond-painting-personnalise-photo/" />
223<link rel="alternate" hreflang="sv" href="https://diamant-strass-dmc.com/sv/perles-broderie/custom-diamond-painting-personnalise-photo/" />
224<link rel="alternate" hreflang="x-default" href="https://diamant-strass-dmc.com/perles-broderie/custom-diamond-painting-personnalise-photo/" />
225
226		<!-- All in One SEO 5.0.0.1 - aioseo.com -->
227	<meta name="description" content="Les diamants carrés offrent un rendu plus net que les ronds. Importez la photo ou image de votre choix et recevez-la sous forme de diamond painting quelques jours plus tard ! Tout est fourni : la toile adhésive, les sachets de perles, le plateau trieur, le stylo et les carrés de colle. Immortalisez vos plus" />
228	<meta name="robots" content="max-image-preview:large" />
229	<link rel="canonical" href="https://diamant-strass-dmc.com/perles-broderie/custom-diamond-painting-personnalise-photo/" />
230	<meta name="generator" content="All in One SEO (AIOSEO) 5.0.0.1" />
231		<meta property="og:locale" content="fr_FR" />
232		<meta property="og:site_name" content="Diamant Strass DMC - 🥇 1er fournisseur de perles pour diamond painting" />
233		<meta property="og:type" content="article" />
234		<meta property="og:title" content="💎 Mon diamond painting personnalisé | Diamond Painting" />
235		<meta property="og:description" content="Les diamants carrés offrent un rendu plus net que les ronds. Importez la photo ou image de votre choix et recevez-la sous forme de diamond painting quelques jours plus tard ! Tout est fourni : la toile adhésive, les sachets de perles, le plateau trieur, le stylo et les carrés de colle. Immortalisez vos plus" />
236		<meta property="og:url" content="https://diamant-strass-dmc.com/perles-broderie/custom-diamond-painting-personnalise-photo/" />
237		<meta property="og:image" content="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120.webp" />
238		<meta property="og:image:secure_url" content="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120.webp" />
239		<meta property="article:published_time" content="2024-11-10T16:30:30+00:00" />
240		<meta property="article:modified_time" content="2026-04-30T00:21:51+00:00" />
241		<meta name="twitter:card" content="summary" />
242		<meta name="twitter:title" content="💎 Mon diamond painting personnalisé | Diamond Painting" />
243		<meta name="twitter:description" content="Les diamants carrés offrent un rendu plus net que les ronds. Importez la photo ou image de votre choix et recevez-la sous forme de diamond painting quelques jours plus tard ! Tout est fourni : la toile adhésive, les sachets de perles, le plateau trieur, le stylo et les carrés de colle. Immortalisez vos plus" />
244		<meta name="twitter:image" content="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120.webp" />
245		
245<script type="application/ld+json" class="aioseo-schema">
246			{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/diamant-strass-dmc.com#listItem","position":1,"name":"Accueil","item":"https:\/\/diamant-strass-dmc.com","nextItem":{"@type":"ListItem","@id":"https:\/\/diamant-strass-dmc.com\/couleur\/accessoires\/#listItem","name":"Accessoires pour Diamond Painting"}},{"@type":"ListItem","@id":"https:\/\/diamant-strass-dmc.com\/couleur\/accessoires\/#listItem","position":2,"name":"Accessoires pour Diamond Painting","item":"https:\/\/diamant-strass-dmc.com\/couleur\/accessoires\/","nextItem":{"@type":"ListItem","@id":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/#listItem","name":"Mon diamond painting personnalis\u00e9"},"previousItem":{"@type":"ListItem","@id":"https:\/\/diamant-strass-dmc.com#listItem","name":"Accueil"}},{"@type":"ListItem","@id":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/#listItem","position":3,"name":"Mon diamond painting personnalis\u00e9","previousItem":{"@type":"ListItem","@id":"https:\/\/diamant-strass-dmc.com\/couleur\/accessoires\/#listItem","name":"Accessoires pour Diamond Painting"}}]},{"@type":"ItemPage","@id":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/#itempage","url":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/","name":"\ud83d\udc8e Mon diamond painting personnalis\u00e9 | Diamond Painting","description":"Les diamants carr\u00e9s offrent un rendu plus net que les ronds. Importez la photo ou image de votre choix et recevez-la sous forme de diamond painting quelques jours plus tard ! Tout est fourni : la toile adh\u00e9sive, les sachets de perles, le plateau trieur, le stylo et les carr\u00e9s de colle. Immortalisez vos plus","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/diamant-strass-dmc.com\/#website"},"breadcrumb":{"@id":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/#breadcrumblist"},"image":{"@type":"ImageObject","url":"https:\/\/diamant-strass-dmc.com\/wp-content\/uploads\/2024\/11\/custom-dp-diamond-painting.jpg","@id":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/#mainImage","width":1024,"height":1024,"caption":"Custom diamond painting"},"primaryImageOfPage":{"@id":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/#mainImage"},"datePublished":"2024-11-10T17:30:30+01:00","dateModified":"2026-04-30T02:21:51+02:00"},{"@type":"Organization","@id":"https:\/\/diamant-strass-dmc.com\/#organization","name":"Diamant Strass DMC","description":"\ud83e\udd47 1er fournisseur de perles pour diamond painting","url":"https:\/\/diamant-strass-dmc.com\/","telephone":"+33652550412","logo":{"@type":"ImageObject","url":"https:\/\/diamant-strass-dmc.com\/wp-content\/uploads\/2022\/01\/cropped-Sans-titre-17.png","@id":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/#organizationLogo","width":512,"height":512},"image":{"@id":"https:\/\/diamant-strass-dmc.com\/perles-broderie\/custom-diamond-painting-personnalise-photo\/#organizationLogo"}},{"@type":"WebSite","@id":"https:\/\/diamant-strass-dmc.com\/#website","url":"https:\/\/diamant-strass-dmc.com\/","name":"\ud83d\udc8e Diamant Strass DMC","description":"\ud83e\udd47 1er fournisseur de perles pour diamond painting","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/diamant-strass-dmc.com\/#organization"}}]}
247		</script>
247
248		<!-- All in One SEO -->
249
250<style>:root { --jdmc-search-label: "Rechercher"; }</style><style>:root { --jdmc-site-title: "Diamant Strass DMC"; }</style><link rel="preload" as="font" href="/wp-content/themes/blocksy/static/fonts/woo.woff2" data-wpacu-preload-local-font="1" crossorigin>
251<link rel="preload" as="font" href="/wp-content/plugins/woocommerce-side-cart-premium/assets/css/fonts/Woo-Side-Cart.ttf?qq7fgp" data-wpacu-preload-local-font="1" crossorigin>
252
253<link rel="alternate" type="application/rss+xml" title="Diamant Strass DMC &raquo; Flux" href="https://diamant-strass-dmc.com/feed/" />
254<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://diamant-strass-dmc.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdiamant-strass-dmc.com%2Fperles-broderie%2Fcustom-diamond-painting-personnalise-photo%2F" />
255<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://diamant-strass-dmc.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdiamant-strass-dmc.com%2Fperles-broderie%2Fcustom-diamond-painting-personnalise-photo%2F&#038;format=xml" />
256<link rel='preload' as='image' href='https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting-600x600.jpg' imagesrcset='https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting.jpg 1024w' imagesizes='(max-width: 999px) 100vw, 625px' fetchpriority='high'>
257    <style id="blocksy-mobile-title-fix">
258      /* Desktop : le titre mobile est caché */
259      .single-product .product-title-mobile-wrap { display: none; }
260
261      /* Mobile */
262      @media (max-width: 999px) {
263        /* Le wrapper devient transparent → le H1 hérite du style natif */
264        .single-product .product-title-mobile-wrap { 
265          display: contents;
266        }
267
268        /* Cache le H1 original (celui resté dans le vrai summary) */
269        .single-product .summary:not(.product-title-mobile-wrap) .product_title {
270          display: none;
271        }
272
273        /* Espacement sous l'image */
274        .single-product .woocommerce-product-gallery {
275          margin: 0 0 16px;
276        }
277      }
278    </style>
279    <style id="wp-img-auto-sizes-contain-inline-css">
280img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
281/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
282</style>
283<link rel='stylesheet' id='font-awesome-css' href='https://diamant-strass-dmc.com/wp-content/cache/asset-cleanup/one/css/item/advanced-product-labels-for-woocommerce__berocket__assets__css__font-awesome-min-css-vf36f7cb9b36d7a40f875204faf8843e2ffac56fd.css' media='all' />
284<link rel='stylesheet' id='berocket_products_label_style-css' href='https://diamant-strass-dmc.com/wp-content/plugins/advanced-product-labels-for-woocommerce/css/frontend.css?ver=3.3.3.7' media='all' />
285<style id="berocket_products_label_style-inline-css">
286
287        .berocket_better_labels:before,
288        .berocket_better_labels:after {
289            clear: both;
290            content: " ";
291            display: block;
292        }
293        .berocket_better_labels.berocket_better_labels_image {
294            position: absolute!important;
295            top: 0px!important;
296            bottom: 0px!important;
297            left: 0px!important;
298            right: 0px!important;
299            pointer-events: none;
300        }
301        .berocket_better_labels.berocket_better_labels_image * {
302            pointer-events: none;
303        }
304        .berocket_better_labels.berocket_better_labels_image img,
305        .berocket_better_labels.berocket_better_labels_image .fa,
306        .berocket_better_labels.berocket_better_labels_image .berocket_color_label,
307        .berocket_better_labels.berocket_better_labels_image .berocket_image_background,
308        .berocket_better_labels .berocket_better_labels_line .br_alabel,
309        .berocket_better_labels .berocket_better_labels_line .br_alabel span {
310            pointer-events: all;
311        }
312        .berocket_better_labels .berocket_color_label,
313        .br_alabel .berocket_color_label {
314            width: 100%;
315            height: 100%;
316            display: block;
317        }
318        .berocket_better_labels .berocket_better_labels_position_left {
319            text-align:left;
320            float: left;
321            clear: left;
322        }
323        .berocket_better_labels .berocket_better_labels_position_center {
324            text-align:center;
325        }
326        .berocket_better_labels .berocket_better_labels_position_right {
327            text-align:right;
328            float: right;
329            clear: right;
330        }
331        .berocket_better_labels.berocket_better_labels_label {
332            clear: both
333        }
334        .berocket_better_labels .berocket_better_labels_line {
335            line-height: 1px;
336        }
337        .berocket_better_labels.berocket_better_labels_label .berocket_better_labels_line {
338            clear: none;
339        }
340        .berocket_better_labels .berocket_better_labels_position_left .berocket_better_labels_line {
341            clear: left;
342        }
343        .berocket_better_labels .berocket_better_labels_position_right .berocket_better_labels_line {
344            clear: right;
345        }
346        .berocket_better_labels .berocket_better_labels_line .br_alabel {
347            display: inline-block;
348            position: relative;
349            top: 0!important;
350            left: 0!important;
351            right: 0!important;
352            line-height: 1px;
353        }.berocket_better_labels .berocket_better_labels_position {
354                display: flex;
355                flex-direction: column;
356            }
357            .berocket_better_labels .berocket_better_labels_position.berocket_better_labels_position_left {
358                align-items: start;
359            }
360            .berocket_better_labels .berocket_better_labels_position.berocket_better_labels_position_right {
361                align-items: end;
362            }
363            .rtl .berocket_better_labels .berocket_better_labels_position.berocket_better_labels_position_left {
364                align-items: end;
365            }
366            .rtl .berocket_better_labels .berocket_better_labels_position.berocket_better_labels_position_right {
367                align-items: start;
368            }
369            .berocket_better_labels .berocket_better_labels_position.berocket_better_labels_position_center {
370                align-items: center;
371            }
372            .berocket_better_labels .berocket_better_labels_position .berocket_better_labels_inline {
373                display: flex;
374                align-items: start;
375            }
376/*# sourceURL=berocket_products_label_style-inline-css */
377</style>
378<style id="wp-block-library-inline-css">
379:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}
379.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-color]){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
380
381/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
382</style>
383
384<link rel='stylesheet' id='wc-blocks-style-css' href='https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/client/blocks/wc-blocks.css?ver=wc-11.0.1' media='all' />
385
386<link rel='stylesheet' id='metaslider-blocks-editor-css-css' href='https://diamant-strass-dmc.com/wp-content/plugins/ml-slider/admin/assets/dist/css/editor-block.css?ver=3.111.2' media='all' property='stylesheet' />
387<style id="pi-edd_dummy-handle-inline-css">
388
389            .pi-edd{
390                display:block;
391                width:100%;
392                text-align:center;
393                margin-top:5px;
394                margin-bottom:5px;
395                font-size:12px;
396                border-radius:6px;
397            }
398
399            .pi-edd:empty{
400                display:none !important;
401            }
402
403            .pi-edd-show{
404                display:block;
405            }
406
407            .pi-edd-short-code-show{
408                display:inline-block;
409            }
410
411            .pi-edd-hide{
412                display:none;
413            }
414
415            .pi-edd span{
416                font-weight:bold;
417            }
418
419            .pi-edd-product, .pi-edd-ajax{
420                background:#ffffff;
421                color:#170048;
422                padding: 6px 6px;
423                margin-top:1rem;
424                margin-bottom:1rem;
425                clear:both;
426                text-align:left;
427                font-size:16px;
428                border-top: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc; border-left: 1px solid #cccccc; 
429                border-radius: 6px 6px 6px 6px;
430            }
431
432            .pi-edd-loop{
433                background:#f0947e;
434                color:#fff;
435                padding: 6px 6px;
436                text-align:center;
437                font-size:12px;
438                border-top: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc; border-left: 1px solid #cccccc; 
439                border-radius: 6px 6px 6px 6px;
440            }
441
442            .pi-edd-loop-ajax{
443                width:100%;
444            }
445
446            .pi-edd.pi-edd-cart{
447                background:#f0947e;
448                color:#ffffff;
449                padding: 6px 6px;
450                text-align:left;
451                display:block;
452                width:auto;
453                font-size:12px;
454                border-top: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc; border-left: 1px solid #cccccc; 
455                border-radius: 6px 6px 6px 6px;
456            }
457
458            .pi-edd-icon{
459                display:inline-block !important;
460                margin:0 7px;
461                vertical-align:middle;
462            }
463
464            .pi-loading{
465                background: url(https://diamant-strass-dmc.com/wp-content/plugins/estimate-delivery-date-for-woocommerce-pro//public/img/loading.gif) #ccc no-repeat 0 0;
466                background-size: cover;
467                color:transparent !important;
468            }
469
470            .pi-loading:empty{
471                display: block !important;
472                padding:15px;
473            }
474
475            [data-tooltip] {
476                position: relative;
477                cursor: help;
478            }
479
480            [data-tooltip]:hover::after,
481            [data-tooltip]:focus::after {
482                content: attr(data-tooltip);
483                position: absolute;
484                left: 50%;
485                top: 100%;
486                transform: translateX(-50%);
487                margin-top: 8px;
488                background: #333;
489                color: #fff;
490                padding: 6px 8px;
491                border-radius: 4px;
492                font-size: 12px;
493                line-height: 1.3;
494                white-space: nowrap;
495                z-index: 999999 !important;
496                opacity: 1;
497                visibility: visible;
498            }
499
500            [data-tooltip]:hover::before,
501            [data-tooltip]:focus::before {
502                content: "";
503                position: absolute;
504                left: 50%;
505                top: 100%;
506                transform: translateX(-50%);
507                margin-top: 0px;
508                border-width: 6px;
509                border-style: solid;
510                border-color: #333 transparent transparent transparent;
511                opacity: 1;
512                visibility: visible;
513            }
514
515            [data-tooltip]::before,
516            [data-tooltip]::after {
517                opacity: 0;
518                visibility: hidden;
519                transition: opacity .15s ease;
520            }
521
522            [data-tooltip=""]{
523                cursor: default;
524            }
525
526            [data-tooltip=""]::before,
527            [data-tooltip=""]::after {
528                display: none !important;
529            }
530
531            [data-tooltip]:not([data-tooltip=""])::before,
532            [data-tooltip]:not([data-tooltip=""])::after {
533                display: block;
534            }
535
536            #pi-overall-estimate-cart td {
537                overflow: visible !important;
538            }
539
540            #pi-overall-estimate-cart td [data-tooltip]:before,
541            #pi-overall-estimate-checkout td [data-tooltip]:before{
542                display:none;
543            }
544
545            #pi-overall-estimate-cart td [data-tooltip]:after,
546            #pi-overall-estimate-checkout td [data-tooltip]:after{
547                position:relative !important;
548                display:block !important;
549            }
550
551            .woocommerce-cart-form__cart-item:has(.pi-edd) .variation-128652, .cart_item:has(.pi-edd) .variation-128652{
552                display:none !important;
553            }
554
555        
556/*# sourceURL=pi-edd_dummy-handle-inline-css */
557</style>
558<link rel='stylesheet' id='wc-aelia-cs-frontend-css' href='https://diamant-strass-dmc.com/wp-content/plugins/woocommerce-aelia-currencyswitcher/src/design/css/frontend.css?ver=5.3.9.260811' media='all' />
559<style id="woocommerce-inline-inline-css">
560.woocommerce form .form-row .required { visibility: visible; }
561/*# sourceURL=woocommerce-inline-inline-css */
562</style>
563<link rel='stylesheet' id='wpml-legacy-dropdown-click-0-css' href='https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/legacy-dropdown-click/style.min.css?ver=1' media='all' />
564<link rel='stylesheet' id='wpml-menu-item-0-css' href='https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/menu-item/style.min.css?ver=1' media='all' />
565<link rel='stylesheet' id='woo-variation-swatches-css' href='https://diamant-strass-dmc.com/wp-content/plugins/woo-variation-swatches/assets/css/frontend.min.css?ver=2.3.0' media='all' />
566<style id="woo-variation-swatches-inline-css">
567:root {
568--wvs-tick:url("data:image/svg+xml;utf8,%3Csvg filter='drop-shadow(0px 0px 2px rgb(0 0 0 / .8))' xmlns='http://www.w3.org/2000/svg'  viewBox='0 0 30 30'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='M4 16L11 23 27 7'/%3E%3C/svg%3E");
569
570--wvs-cross:url("data:image/svg+xml;utf8,%3Csvg filter='drop-shadow(0px 0px 5px rgb(255 255 255 / .6))' xmlns='http://www.w3.org/2000/svg' width='72px' height='72px' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23ff0000' stroke-linecap='round' stroke-width='0.6' d='M5 5L19 19M19 5L5 19'/%3E%3C/svg%3E");
571--wvs-single-product-item-width:30px;
572--wvs-single-product-item-height:30px;
573--wvs-single-product-item-font-size:16px}
574/*# sourceURL=woo-variation-swatches-inline-css */
575</style>
576<link rel='stylesheet' id='select2-css' href='https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/css/select2.css?ver=11.0.1' media='all' />
577<link rel='stylesheet' id='xoo-wsc-fonts-css' href='https://diamant-strass-dmc.com/wp-content/cache/asset-cleanup/one/css/item/woocommerce-side-cart-premium__assets__css__xoo-wsc-fonts-css-vefa8ce83d364bc6d66a07ea53d112c0397456ae2.css' media='all' />
578<link rel='stylesheet' id='xoo-wsc-style-css' href='https://diamant-strass-dmc.com/wp-content/plugins/woocommerce-side-cart-premium/assets/css/xoo-wsc-style.css?ver=4.9.1' media='all' />
579<style id="xoo-wsc-style-inline-css">
580.xoo-wsc-empty-cart a.xoo-wsc-btn{max-width:none;width:max-content;height:auto;padding:10px 20px;background-color:#dde6ed;color:#27374d;font-weight:500;font-style:normal;font-size:15px;text-transform:capitalize;border-width:2px;border-style:solid;border-color:#27374d;border-radius:5px;
580display:inline-flex;align-items:center;justify-content:center;}.xoo-wsc-empty-cart a.xoo-wsc-btn:hover{background-color:#27374d;color:#dde6ed;border-width:2px;border-style:solid;border-color:#dde6ed;border-radius:5px;}span.xoo-wsc-sp-atc a.button,.xoo-wsc-sl-content.xoo-wsc-sl-coupon .xoo-wsc-btn,.xoo-wsc-savl-atc{max-width:none;width:max-content;height:auto;padding:8px 15px;background-color:#ffffff;color:#000000;font-weight:500;font-style:normal;font-size:14px;text-transform:capitalize;border-width:1px;border-style:solid;border-color:#dde6ed;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;}span.xoo-wsc-sp-atc a.button:hover,.xoo-wsc-sl-content.xoo-wsc-sl-coupon .xoo-wsc-btn:hover,.xoo-wsc-savl-atc:hover{background-color:;color:#000000;border-width:1px;border-style:solid;border-color:#27374d;border-radius:5px;}.xoo-wsc-slider button[name="calc_shipping"]{max-width:100%;width:100%;height:47px;padding:5px 10px;background-color:#ffffff;color:#000000;font-weight:500;font-style:normal;font-size:15px;text-transform:capitalize;border-width:1px;border-style:solid;border-color:#dde6ed;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;}.xoo-wsc-slider button[name="calc_shipping"]:hover{background-color:;color:#000000;border-width:1px;border-style:solid;border-color:#27374d;border-radius:5px;}.xoo-wsc-tooltip,.xoo-wsc-gift-ban{max-width:none;width:max-content;height:auto;padding:4px 10px;background-color:#ffffff;color:#000000;font-weight:500;font-style:normal;font-size:13px;text-transform:capitalize;border-width:1px;border-style:solid;border-color:#dde6ed;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;}a.xoo-wsc-ft-btn.xoo-wsc-ft-btn-checkout .amount{
581		color: #000000;
582	}a.xoo-wsc-ft-btn.xoo-wsc-ft-btn-checkout:hover .amount{
583		color: #000000;
584	}
585
586	
587.xoo-wsc-sp-left-col img, .xoo-wsc-sp-left-col{
588	max-width: 150px;
589}
590
591.xoo-wsc-sp-right-col{
592	font-size: 14px;
593}
594
595.xoo-wsc-sp-container, .xoo-wsc-dr-sp{
596	background-color: #ffffff;
597}
598
599
600
601.xoo-wsc-footer{
602	background-color: #ffffff;
603	color: #000000;
604	padding: 10px 20px;
605	box-shadow: 0 -5px 10px #0000001a;
606}
607
608.xoo-wsc-footer, .xoo-wsc-footer a, .xoo-wsc-footer .amount{
609	font-size: 18px;
610}
611
612.xoo-wsc-ft-buttons-cont{
613	grid-template-columns: auto;
614}
615
616.xoo-wsc-basket{
617	bottom: 50px;
618	right: 0px;
619	background-color: #ffffff;
620	color: #000000;
621	box-shadow: 0 1px 4px 0;
622	border-radius: 50%;
623	display: none;
624	width: 60px;
625	height: 60px;
626}
627
628
629.xoo-wsc-bki{
630	font-size: 35px}
631
632.xoo-wsc-items-count{
633	top: -10px;
634	left: -10px;
635}
636
637.xoo-wsc-items-count, .xoo-wsch-items-count, .xoo-wsch-save-count{
638	background-color: #000000;
639	color: #ffffff;
640}
641
642.xoo-wsc-container, .xoo-wsc-slider, .xoo-wsc-drawer{
643	max-width: 320px;
644	right: -320px;
645	top: 0;bottom: 0;
646	bottom: 0;
647	font-family: }
648
649.xoo-wsc-drawer{
650	max-width: 350px;
651}
652
653.xoo-wsc-cart-active .xoo-wsc-container, .xoo-wsc-slider-active .xoo-wsc-slider{
654	right: 0;
655}
656
657.xoo-wsc-drawer-active .xoo-wsc-drawer{
658	right: 320px;
659}
660.xoo-wsc-drawer{
661	right: 0;
662}
663
664
665.xoo-wsc-cart-active .xoo-wsc-basket{
666	right: 320px;
667}
668
669span.xoo-wsch-icon{
670	font-size: 26px;
671}
672
673
674.xoo-wsch-text, .xoo-wsc-sl-heading, .xoo-wsc-drawer-header{
675	font-size: 22px;
676}
677
678.xoo-wsc-header, .xoo-wsc-drawer-header, .xoo-wsc-sl-heading{
679	color: #000000;
680	background-color: #ffffff;
681	border-bottom: 2px solid #eee;
682	padding: 15px 15px;
683}
684
685
686.xoo-wsc-body{
687	background-color: #ffffff;
688}
689
690.xoo-wsc-body, .xoo-wsc-body span.amount, .xoo-wsc-body a{
691	font-size: 16px;
692	color: #000000;
693}
694
695.xoo-wsc-product, .xoo-wsc-sp-product, .xoo-wsc-savl-product{
696	padding: 10px 8px;
697	margin: 10px 15px;
698	border-radius: 5px;
699	box-shadow: 0 2px 2px #00000005;
700	background-color: #ffffff;
701}
702
703.xoo-wsc-body .xoo-wsc-ft-totals{
704	padding: 10px 8px;
705	margin: 10px 15px;
706}
707
708.xoo-wsc-product-cont{
709	padding: 10px 10px;
710}
711
712.xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-img-col{
713	width: 15%;
714}
715
716.xoo-wsc-pattern-card .xoo-wsc-img-col img{
717	max-width: 100%;
718	height: auto;
719}
720
721.xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-sum-col{
722	width: 85%;
723}
724
725.xoo-wsc-pattern-card .xoo-wsc-product-cont{
726	width: 50% 
727}
728
729@media only screen and (max-width: 600px) {
730	.xoo-wsc-pattern-card .xoo-wsc-product-cont  {
731		width: 50%;
732	}
733}
734
735
736.xoo-wsc-pattern-card .xoo-wsc-product{
737	border: 0;
738	box-shadow: 0px 10px 15px -12px #0000001a;
739}
740
741
742.xoo-wsc-sm-front, .xoo-wsc-card-actionbar > *{
743	background-color: #eee;
744}
745.xoo-wsc-pattern-card, .xoo-wsc-sm-front{
746	border-bottom-left-radius: 5px;
747	border-bottom-right-radius: 5px;
748}
749.xoo-wsc-pattern-card, .xoo-wsc-img-col img, .xoo-wsc-img-col, .xoo-wsc-sm-back-cont{
750	border-top-left-radius: 5px;
751	border-top-right-radius: 5px;
752}
753.xoo-wsc-sm-back{
754	background-color: #fff;
755}
756.xoo-wsc-pattern-card, .xoo-wsc-pattern-card a, .xoo-wsc-pattern-card .amount{
757	font-size: 16px;
758}
759
760.xoo-wsc-body .xoo-wsc-sm-front, .xoo-wsc-body .xoo-wsc-sm-front a, .xoo-wsc-body .xoo-wsc-sm-front .amount, .xoo-wsc-card-actionbar{
761	color: #000;
762}
763
764.xoo-wsc-sm-back, .xoo-wsc-sm-back a, .xoo-wsc-sm-back .amount{
765	color: #000;
766}
767
768
769.magictime {
770    animation-duration: 0.5s;
771}
772
773
774
775.xoo-wsc-sum-col{
776	justify-content: flex-start;
777}
778
779/***** Quantity *****/
780
781.xoo-wsc-qty-box{
782	max-width: 75px;
783}
784
785.xoo-wsc-qty-box.xoo-wsc-qtb-square{
786	border-color: #000000;
787}
788
789input[type="number"].xoo-wsc-qty{
790	border-color: #000000;
791	background-color: #ffffff;
792	color: #000000;
793	height: 28px;
794	line-height: 28px;
795}
796
797input[type="number"].xoo-wsc-qty, .xoo-wsc-qtb-square{
798	border-width: 1px;
799	border-style: solid;
800}
801.xoo-wsc-chng{
802	background-color: #ffffff;
803	color: #000000;
804	width: 20px;
805}
806
807.xoo-wsc-qtb-circle .xoo-wsc-chng{
808	height: 20px;
809	line-height: 20px;
810}
811
812/** Shortcode **/
813.xoo-wsc-sc-count{
814	background-color: #000000;
815	color: #ffffff;
816}
817
818.xoo-wsc-sc-bki{
819	font-size: 28px;
820	color: #000000;
821}
822.xoo-wsc-sc-cont{
823	color: #000000;
824}
825
826.xoo-wsc-sp-column li.xoo-wsc-sp-prod-cont{
827	width: 50%;
828}
829
830
831
832
833
834
835
836span.xoo-wsc-dtg-icon{
837	right: calc(100% - 11px );
838}
839
840
841.xoo-wsc-sp-product{
842	background-color: #fff;
843}
844
845
846
847
848@media only screen and (max-width: 600px) {
849	.xoo-wsc-basket {
850	    width: 40px;
851	    height: 40px;
852	}
853
854	.xoo-wsc-bki {
855	    font-size: 20px;
856	}
857
858	span.xoo-wsc-items-count {
859	    width: 17px;
860	    height: 17px;
861	    line-height: 17px;
862	    top: -7px;
863	    left: -7px;
864	}
865}
866
867
868
869.xoo-wsc-markup dl.variation {
870	display: block;
871}
872
873
874.xoo-wsc-sl-savelater .xoo-wsc-sl-body {
875	background-color: #eee;
876}
877
878.xoo-wsc-savl-left-col img, .xoo-wsc-savl-left-col{
879	max-width: 80px;
880}
881
882.xoo-wsc-savl-column li.xoo-wsc-savl-prod-cont{
883	width: 50%;
884}
885
886.xoo-wsc-savl-product{
887	background-color: #fff;
888}
889
890.xoo-wsc-savl-column .xoo-wsc-savl-prod-cont{
891	width: 50%;
892}
893
894
895.xoo-wsc-savl-right-col, .xoo-wsc-savl-right-col .amount, .xoo-wsc-savl-right-col a {
896	font-size: 16px;
897	color: #000;
898}
899
900.xoo-wsc-tooltip{
901	display: none!important;
902}
903
904
905
906
907.xoo-wsc-save, .xoo-wsc-smr-del{
908	font-size: 16px
909}
910
911.xoo-wsc-sm-sales{
912	background-color: #ffffff;
913	color: #000000;
914	border: 1px solid #000;
915}
916
917
918			.xoo-wsc-bar-icons i{
919				font-size: 12px;
920				width: 30px;
921				height: 30px;
922				line-height: 30px;
923			}
924			.xoo-wsc-bar-cont, .xoo-wsc-bar-cont .amount{
925				font-size: 15px;
926			}
927		
928
929
930/*# sourceURL=xoo-wsc-style-inline-css */
931</style>
932<link rel='stylesheet' id='ct-main-styles-css' href='https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/main.min.css?ver=1784478407' media='all' />
933<link rel='stylesheet' id='ct-woocommerce-styles-css' href='https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/woocommerce.min.css?ver=2.1.40' media='all' />
934<link rel='stylesheet' id='ct-page-title-styles-css' href='https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/page-title.min.css?ver=2.1.40' media='all' />
935<script id="jquery-core-js" src="https://diamant-strass-dmc.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 935
935
936<script id="jquery-core-js-after">
937(function(){var route="https:\/\/diamant-strass-dmc.com\/wp-json\/jdmc\/v1\/eta_date",allowed=[72384,84680,99940,99390,99720,99885,99775,99446,99995,99335,99665,99830,99610,99555,99445],fbPref="Livr\u00e9 avant le ";function isAllowed(id){id=parseInt(id||0,10);return allowed.indexOf(id)!==-1;}function fetchDate(pid){return fetch(route+'?product_id='+encodeURIComponent(pid),{credentials:'same-origin',cache:'no-store'}).then(r=>r.json()).then(d=>d&&d.date?String(d.date):'').catch(()=> '');}function extractPrefix(t){t=(t||'').trim();if(!t)return fbPref;var i=t.search(/[0-9]/);if(i<=0){var k=t.lastIndexOf(':');return(k>0?t.slice(0,k+1)+' ':fbPref);}var p=t.slice(0,i);if(!/\s$/.test(p))p+=' ';return p;}function replaceOne(el,dateText){if(!el||!dateText)return;var cur=el.textContent||'';var pref=extractPrefix(cur);var hasBox=/^\s*📦/.test(cur)||/^\s*📦/.test(pref);var final=(hasBox?'📦 ':'')+pref.replace(/^\s*📦\s*/,'')+dateText;el.style.opacity='0';el.textContent=final;el.setAttribute('data-jdmc-overridden','1');requestAnimationFrame(function(){el.style.opacity='';});}function process(root){var list=(root&&root.querySelectorAll)?root.querySelectorAll('.pi-edd[data-product]'):[];list=[].slice.call(list);list.forEach(function(el){var pid=parseInt(el.getAttribute('data-product')||0,10);if(!isAllowed(pid))return;fetchDate(pid).then(function(dt){if(!dt)return;if(el.getAttribute('data-jdmc-overridden')==='1'&&(el.textContent||'').indexOf(dt)!==-1)return;replaceOne(el,dt);});});}try{new MutationObserver(function(m){m.forEach(function(x){if(x.type==='childList'){[].forEach.call(x.addedNodes||[],function(n){if(n.querySelectorAll)process(n);});}});}).observe(document.documentElement,{subtree:true,childList:true});}catch(e){}if(document.readyState!=='loading')process(document);document.addEventListener('DOMContentLoaded',function(){process(document);});if(window.jQuery){jQuery(document).on('found_variation ajaxComplete',function(){process(document);});}})();
938  (function(){
939    var ACTIVE_CLASS = 'jdmc-sidecart-active';
940    function qs(sel, root){ return (root||document).querySelector(sel); }
941    function itemsCount(){ var el=qs('.xoo-wsc-items-count'); if(!el) return 0; var n=parseInt((el.textContent||'0').replace(/\D+/g,''),10); return isNaN(n)?0:n; }
942    function getBasket(){ return qs('.xoo-wsc-basket'); }
943    function applyState(){
944      var b=getBasket(), count=itemsCount();
945      if(!b){ document.documentElement.classList.remove(ACTIVE_CLASS); return; }
946      if(count>0){
947        if(!document.documentElement.classList.contains(ACTIVE_CLASS)){ document.documentElement.classList.add(ACTIVE_CLASS); }
948        b.style.setProperty('display','block','important');
949        b.style.setProperty('visibility','visible','important');
950        b.style.setProperty('opacity','1','important');
951        b.style.setProperty('pointer-events','auto','important');
952      }else{
953        document.documentElement.classList.remove(ACTIVE_CLASS);
954        ['display','visibility','opacity','pointer-events','z-index','position','right','bottom'].forEach(function(p){ b&&b.style.removeProperty(p); });
955      }
956    }
957    var tDeb=null; function later(d){ if(tDeb) clearTimeout(tDeb); tDeb=setTimeout(applyState,d||30); }
958    function boot(){
959      applyState();
960      var tries=0, t=setInterval(function(){ applyState(); if(++tries>=20) clearInterval(t); },120);
961      try{ var t1=qs('.xoo-wsc-basket')||document.body; new MutationObserver(function(){ later(30); }).observe(t1,{childList:true,subtree:true,attributes:true,characterData:true}); }catch(e){}
962      try{ var t2=qs('.xoo-wsc-items-count')||document.body; new MutationObserver(function(){ later(30); }).observe(t2,{childList:true,subtree:true,characterData:true}); }catch(e){}
963      if(window.jQuery){ jQuery(function($){ $(document.body).on('wc_fragments_loaded wc_fragments_refreshed added_to_cart removed_from_cart', function(){ later(30); }); }); }
964    }
965    if(document.readyState!=='loading') boot(); document.addEventListener('DOMContentLoaded', boot);
966  })();
967//# sourceURL=jquery-core-js-after
968</script>
vendor: 1 bytes, line 968
968
969<script id="jquery-migrate-js" src="https://diamant-strass-dmc.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 969
969
970<script id="wpml-cookie-js-extra">
971var wpml_cookies = {"wp-wpml_current_language":{"value":"fr","expires":1,"path":"/"}};
972var wpml_cookies = {"wp-wpml_current_language":{"value":"fr","expires":1,"path":"/"}};
973//# sourceURL=wpml-cookie-js-extra
974</script>
vendor: 1 bytes, line 974
974
975<script data-wp-strategy="defer" defer id="wpml-cookie-js" src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/js/cookies/language-cookie.js?ver=496000"></script>
vendor: 1 bytes, line 975
975
976<script id="pi-edd-script-js-extra">
977var pi_edd_data = {"wc_ajax_url":"/?wc-ajax=%%endpoint%%","show_first_variation_estimate":"first-variation","out_of_stock_message":"Rupture de stock","no_variation_selected_msg":"\u2705 En stock","load_single_by_ajax":"1","consider_quantity_field":"0"};
978//# sourceURL=pi-edd-script-js-extra
979</script>
vendor: 1 bytes, line 979
979
980<script id="pi-edd-script-js" src="https://diamant-strass-dmc.com/wp-content/plugins/estimate-delivery-date-for-woocommerce-pro/public/js/script.js?ver=4.7.22.14"></script>
vendor: 1 bytes, line 980
980
981<script data-wp-strategy="defer" defer id="wc-zoom-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/js/zoom/jquery.zoom.min.js?ver=1.7.21-wc.11.0.1"></script>
vendor: 1 bytes, line 981
981
982<script id="wc-single-product-js-extra">
983var wc_single_product_params = {"i18n_required_rating_text":"Veuillez s\u00e9lectionner une note","i18n_rating_options":["1\u00a0\u00e9toile sur 5","2\u00a0\u00e9toiles sur 5","3\u00a0\u00e9toiles sur 5","4\u00a0\u00e9toiles sur 5","5\u00a0\u00e9toiles sur 5"],"i18n_product_gallery_trigger_text":"Voir la galerie d\u2019images en plein \u00e9cran","review_rating_required":"yes","flexslider":{"rtl":false,"animation":"slide","smoothHeight":true,"directionNav":false,"controlNav":"thumbnails","slideshow":false,"animationSpeed":500,"animationLoop":false,"allowOneSlide":false},"zoom_enabled":"1","zoom_options":[],"photoswipe_enabled":"","photoswipe_options":{"shareEl":false,"closeOnScroll":false,"history":false,"hideAnimationDuration":0,"showAnimationDuration":0},"flexslider_enabled":""};
984//# sourceURL=wc-single-product-js-extra
985</script>
vendor: 1 bytes, line 985
985
986<script data-wp-strategy="defer" defer id="wc-single-product-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/js/frontend/single-product.min.js?ver=11.0.1"></script>
vendor: 1 bytes, line 986
986
987<script data-wp-strategy="defer" id="wc-jquery-blockui-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.11.0.1"></script>
vendor: 1 bytes, line 987
987
988<script data-wp-strategy="defer" defer id="wc-js-cookie-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4-wc.11.0.1"></script>
vendor: 1 bytes, line 988
988
989<script id="woocommerce-js-extra">
990var woocommerce_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_password_show":"Afficher le mot de passe","i18n_password_hide":"Masquer le mot de passe"};
991//# sourceURL=woocommerce-js-extra
992</script>
vendor: 1 bytes, line 992
992
993<script data-wp-strategy="defer" defer id="woocommerce-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=11.0.1"></script>
vendor: 1 bytes, line 993
993
994<script id="wpml-legacy-dropdown-click-0-js" src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/legacy-dropdown-click/script.min.js?ver=1"></script>
vendor: 1 bytes, line 994
994
995<script id="wc-add-to-cart-js-extra">
996var wc_add_to_cart_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_view_cart":"Voir le panier","cart_url":"https://diamant-strass-dmc.com/panier/","is_cart":"","cart_redirect_after_add":"no"};
997//# sourceURL=wc-add-to-cart-js-extra
998</script>
vendor: 1 bytes, line 998
998
999<script data-wp-strategy="defer" defer id="wc-add-to-cart-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=11.0.1"></script>
vendor: 1 bytes, line 999
999
1000<script id="wc-cart-fragments-js-extra">
1001var wc_cart_fragments_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","cart_hash_key":"wc_cart_hash_88aa8b8925edf9cb77463eae3dd1c42a_USD-fr","fragment_name":"wc_fragments_88aa8b8925edf9cb77463eae3dd1c42a_USD","request_timeout":"5000"};
1002//# sourceURL=wc-cart-fragments-js-extra
1003</script>
vendor: 1 bytes, line 1003
1003
1004<script data-wp-strategy="defer" defer id="wc-cart-fragments-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js?ver=11.0.1"></script>
1004
1005<link rel="https://api.w.org/" href="https://diamant-strass-dmc.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://diamant-strass-dmc.com/wp-json/wp/v2/product/72384" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://diamant-strass-dmc.com/xmlrpc.php?rsd" />
1006<meta name="generator" content="WordPress 7.0.4" />
1007<meta name="generator" content="WooCommerce 11.0.1" />
1008<link rel='shortlink' href='https://diamant-strass-dmc.com/?p=72384' />
1009    
1009<script>
1010    window.jdmcAiLang = "fr";
1011    </script>
1011
1012    <meta name="generator" content="WPML ver:4.9.6 stt:7,12,37,1,4,3,13,23,27,38,40,41,44,2,50;" />
1013<script>readMoreArgs = []</script>
1013<script type="text/javascript">
1014				EXPM_VERSION=3.55;EXPM_AJAX_URL='https://diamant-strass-dmc.com/wp-admin/admin-ajax.php';
1015			function yrmAddEvent(element, eventName, fn) {
1016				if (element.addEventListener)
1017					element.addEventListener(eventName, fn, false);
1018				else if (element.attachEvent)
1019					element.attachEvent('on' + eventName, fn);
1020			}
1021			</script>
1021<noscript><link rel='stylesheet' href='https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/no-scripts.min.css' type='text/css'></noscript>
1022<style id="ct-main-styles-inline-css">[data-header*="type-1"] .ct-header [data-row*="bottom"] {--height:80px;background-color:var(--theme-palette-color-8);background-image:none;--theme-border-top:none;--theme-border-bottom:none;--theme-box-shadow:none;} [data-header*="type-1"] .ct-header [data-row*="bottom"] > div {--theme-border-top:none;--theme-border-bottom:none;} [data-header*="type-1"] .ct-header [data-id="logo"] .site-logo-container {--logo-max-height:120px;} [data-header*="type-1"] .ct-header [data-id="logo"] .site-title {--theme-font-weight:700;--theme-font-size:25px;--theme-line-height:1.5;--theme-link-initial-color:var(--theme-palette-color-4);} [data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a {--theme-font-weight:700;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;--theme-link-initial-color:var(--theme-text-color);} [data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu .ct-menu-link {--theme-link-initial-color:var(--theme-palette-color-8);--theme-font-weight:500;--theme-font-size:12px;} [data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu {--dropdown-divider:1px dashed rgba(255, 255, 255, 0.1);--theme-box-shadow:0px 10px 20px rgba(41, 51, 61, 0.1);--theme-border-radius:0px 0px 2px 2px;} [data-header*="type-1"] .ct-header [data-row*="middle"] {--height:120px;background-color:var(--theme-palette-color-8);background-image:none;--theme-border-top:none;--theme-border-bottom:none;--theme-box-shadow:none;} [data-header*="type-1"] .ct-header [data-row*="middle"] > div {--theme-border-top:none;--theme-border-bottom:none;} [data-header*="type-1"] [data-id="mobile-menu"] {--theme-font-weight:700;--theme-font-size:20px;--theme-link-initial-color:#ffffff;--mobile-menu-divider:none;} [data-header*="type-1"] #offcanvas {--theme-box-shadow:0px 0px 70px rgba(0, 0, 0, 0.35);--side-panel-width:500px;--panel-content-height:100%;} [data-header*="type-1"] #offcanvas .ct-panel-inner {background-color:rgba(18, 21, 25, 0.98);} [data-header*="type-1"] [data-id="search"] .ct-label {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;} [data-header*="type-1"] #search-modal .ct-search-results {--theme-font-weight:500;--theme-font-size:14px;--theme-line-height:1.4;} [data-header*="type-1"] #search-modal .ct-search-form {--theme-link-initial-color:#ffffff;--theme-form-text-initial-color:#ffffff;--theme-form-text-focus-color:#ffffff;--theme-form-field-border-initial-color:rgba(255, 255, 255, 0.2);--theme-button-text-initial-color:rgba(255, 255, 255, 0.7);--theme-button-text-hover-color:#ffffff;--theme-button-background-initial-color:var(--theme-palette-color-1);--theme-button-background-hover-color:var(--theme-palette-color-1);} [data-header*="type-1"] #search-modal {background-color:rgba(18, 21, 25, 0.98);} [data-header*="type-1"] .ct-header [data-id="text"] {--max-width:100%;--theme-font-size:15px;--theme-line-height:1.3;} [data-header*="type-1"] [data-id="trigger"] {--theme-icon-size:18px;} [data-header*="type-1"] {--header-height:200px;} [data-header*="type-1"] .ct-header {background-image:none;} [data-footer*="type-1"] .ct-footer [data-row*="bottom"] > div {--container-spacing:25px;--theme-border:none;--theme-border-top:none;--theme-border-bottom:none;--grid-template-columns:initial;} [data-footer*="type-1"] .ct-footer [data-row*="bottom"] .widget-title {--theme-font-size:16px;} [data-footer*="type-1"] .ct-footer [data-row*="bottom"] {--theme-border-top:none;--theme-border-bottom:none;background-color:transparent;} [data-footer*="type-1"] .ct-footer [data-id="menu"] {--menu-item-width:100%;} [data-footer*="type-1"] .ct-footer [data-id="menu"] ul {--theme-font-weight:700;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;} [data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li > a {--theme-link-initial-color:var(--theme-text-color);} [data-footer*="type-1"] .ct-footer {background-color:var(--theme-palette-color-6);}:root {--theme-font-family:var(--theme-font-stack-default);
1022--theme-font-weight:400;--theme-text-transform:none;--theme-text-decoration:none;--theme-font-size:16px;--theme-line-height:1.65;--theme-letter-spacing:0em;--theme-button-font-weight:500;--theme-button-font-size:15px;--has-classic-forms:var(--true);--has-modern-forms:var(--false);--theme-form-field-border-initial-color:var(--theme-border-color);--theme-form-field-border-focus-color:var(--theme-palette-color-1);--theme-form-selection-field-initial-color:var(--theme-border-color);--theme-form-selection-field-active-color:var(--theme-palette-color-1);--theme-palette-color-1:#2872fa;--theme-palette-color-2:#1559ed;--theme-palette-color-3:#3A4F66;--theme-palette-color-4:#170048;--theme-palette-color-5:#e1e8ed;--theme-palette-color-6:#FFFFFF;--theme-palette-color-7:#FFFFFF;--theme-palette-color-8:#ffffff;--theme-text-color:var(--theme-palette-color-3);--theme-link-initial-color:var(--theme-palette-color-1);--theme-link-hover-color:var(--theme-palette-color-2);--theme-selection-text-color:#ffffff;--theme-selection-background-color:var(--theme-palette-color-1);--theme-border-color:var(--theme-palette-color-5);--theme-headings-color:var(--theme-palette-color-4);--theme-content-spacing:1.5em;--theme-button-min-height:40px;--theme-button-shadow:none;--theme-button-transform:none;--theme-button-text-initial-color:#ffffff;--theme-button-text-hover-color:#ffffff;--theme-button-background-initial-color:#6319FF;--theme-button-background-hover-color:#4900E1;--theme-button-border:none;--theme-button-padding:5px 20px;--theme-normal-container-max-width:1290px;--theme-content-vertical-spacing:0px;--theme-container-edge-spacing:90vw;--theme-narrow-container-max-width:750px;--theme-wide-offset:130px;}h1 {--theme-font-weight:700;--theme-font-size:40px;--theme-line-height:1.5;}h2 {--theme-font-weight:700;--theme-font-size:25px;--theme-line-height:1.5;}h3 {--theme-font-weight:700;--theme-font-size:25px;--theme-line-height:1.5;}h4 {--theme-font-weight:700;--theme-font-size:25px;--theme-line-height:1.5;}h5 {--theme-font-weight:700;--theme-font-size:20px;--theme-line-height:1.5;}h6 {--theme-font-weight:700;--theme-font-size:16px;--theme-line-height:1.5;}.wp-block-pullquote {--theme-font-family:Georgia;--theme-font-weight:600;--theme-font-size:25px;}pre, code, samp, kbd {--theme-font-family:monospace;--theme-font-weight:400;--theme-font-size:16px;}figcaption {--theme-font-size:14px;}.ct-sidebar .widget-title {--theme-font-size:20px;}.ct-breadcrumbs {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;}body {background-color:var(--theme-palette-color-7);background-image:none;} [data-prefix="single_blog_post"] .entry-header .page-title {--theme-font-size:30px;} [data-prefix="single_blog_post"] .entry-header .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;} [data-prefix="categories"] .entry-header .page-title {--theme-font-size:30px;} [data-prefix="categories"] .entry-header .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;} [data-prefix="search"] .entry-header .page-title {--theme-font-size:30px;} [data-prefix="search"] .entry-header .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;} [data-prefix="author"] .entry-header .page-title {--theme-font-size:30px;} [data-prefix="author"] .entry-header .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;} [data-prefix="author"] .hero-section[data-type="type-2"] {background-color:var(--theme-palette-color-6);background-image:none;--container-padding:50px 0px;} [data-prefix="single_page"] .entry-header .page-title {--theme-font-size:30px;} [data-prefix="single_page"] .entry-header .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;} [data-prefix="woo_categories"] .entry-header .page-title {--theme-font-size:30px;} [data-prefix="woo_categories"] .entry-header .entry-meta {--theme-font-we
1022ight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;} [data-prefix="woo_categories"] .hero-section[data-type="type-2"] {background-color:var(--theme-palette-color-6);background-image:none;--container-padding:50px 0px;} [data-prefix="product"] .entry-header .page-title {--theme-font-size:30px;} [data-prefix="product"] .entry-header .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;} [data-prefix="blog"] .entries {--grid-template-columns:repeat(3, minmax(0, 1fr));} [data-prefix="blog"] .entry-card .entry-title {--theme-font-size:20px;--theme-line-height:1.3;} [data-prefix="blog"] .entry-card .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;} [data-prefix="blog"] .entry-card {background-color:var(--theme-palette-color-8);--theme-box-shadow:0px 12px 18px -6px rgba(34, 56, 101, 0.04);} [data-prefix="categories"] .entries {--grid-template-columns:repeat(3, minmax(0, 1fr));} [data-prefix="categories"] .entry-card .entry-title {--theme-font-size:20px;--theme-line-height:1.3;} [data-prefix="categories"] .entry-card .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;} [data-prefix="categories"] .entry-card {background-color:var(--theme-palette-color-8);--theme-box-shadow:0px 12px 18px -6px rgba(34, 56, 101, 0.04);} [data-prefix="author"] .entries {--grid-template-columns:repeat(3, minmax(0, 1fr));} [data-prefix="author"] .entry-card .entry-title {--theme-font-size:20px;--theme-line-height:1.3;} [data-prefix="author"] .entry-card .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;} [data-prefix="author"] .entry-card {background-color:var(--theme-palette-color-8);--theme-box-shadow:0px 12px 18px -6px rgba(34, 56, 101, 0.04);} [data-prefix="search"] .entries {--grid-template-columns:repeat(3, minmax(0, 1fr));} [data-prefix="search"] .entry-card .entry-title {--theme-font-size:20px;--theme-line-height:1.3;} [data-prefix="search"] .entry-card .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;} [data-prefix="search"] .entry-card {background-color:var(--theme-palette-color-8);--theme-box-shadow:0px 12px 18px -6px rgba(34, 56, 101, 0.04);}.quantity[data-type="type-2"] {--quantity-arrows-initial-color:var(--theme-text-color);}.onsale, .out-of-stock-badge, [class*="ct-woo-badge-"] {--theme-font-weight:600;--theme-font-size:12px;--theme-line-height:1.1;}.out-of-stock-badge {--badge-text-color:#ffffff;--badge-background-color:#24292E;}.demo_store {--theme-text-color:#ffffff;--background-color:var(--theme-palette-color-1);}.woocommerce-info, .woocommerce-thankyou-order-received, .wc-block-components-notice-banner.is-info {--theme-text-color:var(--theme-text-color);--theme-link-hover-color:var(--theme-link-hover-color);--background-color:#F0F1F3;}.woocommerce-message, .wc-block-components-notice-banner.is-success {--background-color:#F0F1F3;}.woocommerce-error, .wc-block-components-notice-banner.is-error {--theme-text-color:#ffffff;--theme-link-hover-color:#ffffff;--background-color:rgba(218, 0, 28, 0.7);--theme-button-text-initial-color:#ffffff;--theme-button-text-hover-color:#ffffff;--theme-button-background-initial-color:#b92c3e;--theme-button-background-hover-color:#9c2131;}.ct-woocommerce-cart-form .cart_totals {--cart-totals-border:2px solid var(--theme-border-color);--cart-totals-padding:30px;}.ct-order-review {--order-review-border:2px solid var(--theme-border-color);--order-review-padding:35px;}.woo-listing-top .woocommerce-result-count {--theme-font-weight:500;--theme-text-transform:uppercase;--theme-font-size:11px;--theme-letter-spacing:0.05em;} [data-products] .product figure {--product-element-spacing:25px;} [data-products] .product .entry-meta[data-id="default"] {--product-element-spacing:10px;} [data-products] .woocommerce-loop-product__title, [data-products] .woocommerce-loop-category__title {--theme-font-weight:600;--theme-font-size:17px;}
1022 [data-products] .product .price {--theme-font-weight:600;} [data-products] .ct-woo-card-stock {--theme-font-size:15px;} [data-products] .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-link-initial-color:var(--theme-text-color);}.woocommerce-tabs .tabs, .woocommerce-tabs .ct-accordion-heading, .woocommerce-tabs[data-type*="type-4"] .entry-content > h2:first-of-type {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1;--theme-link-initial-color:var(--theme-text-color);}.woocommerce-tabs[data-type] .tabs {--tab-background:var(--theme-palette-color-1);}.related .ct-module-title, .up-sells .ct-module-title {--theme-font-size:20px;}.woocommerce-product-gallery [data-flexy="no"] .flexy-item:nth-child(n + 2) {height:1px;}.entry-summary-items > .price {--product-element-spacing:35px;}.entry-summary-items > .woocommerce-product-details__short-description {--product-element-spacing:35px;}.entry-summary-items > .ct-product-divider[data-id="divider_1"] {--product-element-spacing:35px;}.entry-summary-items > .ct-product-add-to-cart {--product-element-spacing:35px;}.entry-summary-items > .ct-product-add-to-cart > .cart {--theme-button-min-height:55px;}.entry-summary-items > .ct-product-divider[data-id="divider_2"] {--product-element-spacing:35px;}.entry-summary .entry-title {--theme-font-size:30px;}.entry-summary .price {--theme-font-weight:700;--theme-font-size:20px;}.entry-summary .quantity {--quantity-initial-color:var(--theme-palette-color-3);--quantity-hover-color:var(--theme-palette-color-4);}
1022.entry-summary .ct-product-divider {--single-product-layer-divider:1px solid var(--theme-border-color);}.entry-summary .ct-payment-methods[data-color="custom"] {--theme-icon-color:#4B4F58;}form textarea {--theme-form-field-height:170px;}.ct-sidebar {--theme-link-initial-color:var(--theme-text-color);} [data-prefix="single_blog_post"] [class*="ct-container"] > article[class*="post"] {--has-boxed:var(--false);--has-wide:var(--true);} [data-prefix="single_page"] [class*="ct-container"] > article[class*="post"] {--has-boxed:var(--false);--has-wide:var(--true);} [data-prefix="product"] [class*="ct-container"] > article[class*="post"] {--has-boxed:var(--false);--has-wide:var(--true);}@media (max-width: 999.98px) {[data-header*="type-1"] .ct-header [data-id="logo"] .site-logo-container {--logo-max-height:70px;} [data-header*="type-1"] .ct-header [data-row*="middle"] {--height:70px;} [data-header*="type-1"] #offcanvas {--side-panel-width:65vw;} [data-header*="type-1"] {--header-height:70px;} [data-footer*="type-1"] .ct-footer [data-row*="bottom"] > div {--grid-template-columns:initial;} [data-prefix="blog"] .entries {--grid-template-columns:repeat(2, minmax(0, 1fr));} [data-prefix="categories"] .entries {--grid-template-columns:repeat(2, minmax(0, 1fr));} [data-prefix="author"] .entries {--grid-template-columns:repeat(2, minmax(0, 1fr));} [data-prefix="search"] .entries {--grid-template-columns:repeat(2, minmax(0, 1fr));}.ct-woocommerce-cart-form .cart_totals {--cart-totals-padding:25px;}.ct-order-review {--order-review-padding:30px;} [data-products] {--shop-columns:repeat(3, minmax(0, 1fr));}.related [data-products], .upsells [data-products] {--shop-columns:repeat(3, minmax(0, 1fr));}}@media (max-width: 689.98px) {[data-header*="type-1"] #offcanvas {--side-panel-width:90vw;} [data-footer*="type-1"] .ct-footer [data-row*="bottom"] > div {--container-spacing:15px;--grid-template-columns:initial;} [data-prefix="blog"] .entries {--grid-template-columns:repeat(1, minmax(0, 1fr));} [data-prefix="blog"] .entry-card .entry-title {--theme-font-size:18px;} [data-prefix="categories"] .entries {--grid-template-columns:repeat(1, minmax(0, 1fr));} [data-prefix="categories"] .entry-card .entry-title {--theme-font-size:18px;} [data-prefix="author"] .entries {--grid-template-columns:repeat(1, minmax(0, 1fr));} [data-prefix="author"] .entry-card .entry-title {--theme-font-size:18px;} [data-prefix="search"] .entries {--grid-template-columns:repeat(1, minmax(0, 1fr));} [data-prefix="search"] .entry-card .entry-title {--theme-font-size:18px;}.ct-order-review {--order-review-padding:25px;} [data-products] {--shop-columns:repeat(1, minmax(0, 1fr));}.related [data-products], .upsells [data-products] {--shop-columns:repeat(1, minmax(0, 1fr));}.entry-summary-items > .ct-product-add-to-cart > .cart {--theme-button-min-height:40px;}:root {--theme-container-edge-spacing:88vw;}}</style>
1023    
1023<script>
1024    (function() {
1025        var observer = new MutationObserver(function(mutations, me) {
1026            var switcher = document.querySelector('.wpml-header-switcher');
1027            if (switcher) {
1028                var container = document.createElement('div');
1029                container.className = 'headzlinks';
1030                container.innerHTML = '<div class=\"headzlinks\"><a href=\"/code-couleur-nuancier-dmc/\" class=\"lien-header-perso\"><span>🌈</span>Nuancier DMC</a><a href=\"/diamants-par-couleur/\" class=\"lien-header-perso\"><span>🎨</span>Couleurs</a></div>';
1031                switcher.insertBefore(container, switcher.firstChild);
1032                me.disconnect(); // Stop dès que c'est fait
1033            }
1034        });
1035        observer.observe(document.documentElement, { childList: true, subtree: true });
1036    })();
1037    </script>
1037
1038        <style>
1039    /* Image "Image personnalisée" SOUS le texte, panier + checkout */
1040    .woocommerce-cart .product-name dl.variation dd.variation-Imagepersonnalise,
1041    .woocommerce-checkout .product-name dl.variation dd.variation-Imagepersonnalise {
1042        clear: both;
1043        display: block;
1044        margin: 2px 0 0 0;
1045    }
1046
1047    /* Style propre pour l’image "Image personnalisée" (cart, checkout, mini-panier XOO) */
1048    .woocommerce-cart .product-name dl.variation dd.variation-Imagepersonnalise img,
1049    .woocommerce-checkout .product-name dl.variation dd.variation-Imagepersonnalise img,
1050    .xoo-wsc-product .variation dd.variation-Imagepersonnalise img {
1051        max-width: 60px;
1052        max-height: 60px;
1053        width: auto !important;
1054        height: auto !important;
1055        object-fit: contain !important;
1056        display: block;
1057        border-radius: 4px;
1058        border: 1px solid #ddd;
1059    }
1060    </style>
1061        <style>
1062	.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
1063    background: #6319FF;
1064    color: #fff;
1065    font-weight: bold; }
1066	
1067	.quantity[data-type=type-2] {
1068		width:145px;
1069	}
1070	
1071	div.quantity input[type=number] {
1072		font-size:1.2em;
1073	}
1074	
1075	.quantity[data-type=type-2] .ct-increase {
1076    color: white;
1077    background: #840074;
1078    height: 100%;
1079    top: 0;
1080    right: 0;
1081    width: 50px;
1082	}
1083	
1084	.quantity[data-type=type-2] .ct-increase::before, .quantity[data-type=type-2] .ct-decrease::before {
1085		font-weight:bold;
1086	}
1087	
1088	.quantity[data-type=type-2] .ct-increase:hover { 
1089	background:#4A0041;
1090	}
1091	
1092	.quantity[data-type=type-2] .ct-decrease {
1093    color: white;
1094    background: #840074;
1095    height: 100%;
1096    top: 0;
1097    left: 0;
1098    width: 50px;
1099	}
1100	
1101	.quantity[data-type=type-2] .ct-decrease:hover { 
1102	background:#4A0041;
1103	}
1104	
1105
1106		</style>
1107        <style>
1108    /* Sur toutes les pages WooCommerce (produits, archives, etc.)
1109       sauf panier (.woocommerce-cart) et checkout (.woocommerce-checkout),
1110       on cache les messages, erreurs et infos. */
1111    body.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-notices-wrapper,
1112    body.woocommerce-page:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-notices-wrapper,
1113    body.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-message,
1114    body.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-error,
1115    body.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-info {
1116        display: none !important;
1117    }
1118    </style>
1119        
1119<script>
1120    document.addEventListener('DOMContentLoaded', function () {
1121
1122        // Titre original tel qu'il est dans <title> (avec emoji diamant)
1123        const original = document.title;
1124
1125        // On retire uniquement l'emoji 💎 (si tu veux un autre emoji, je modifie)
1126        const cleaned = original.replace(/💎/g, '').trim();
1127
1128        // Détection simple pour éviter Googlebot & co
1129        const isHuman = !/Googlebot|bingbot|DuckDuckBot|YandexBot|Baiduspider/i.test(navigator.userAgent);
1130
1131        if (isHuman) {
1132            document.title = cleaned;
1133        }
1134    });
1135    </script>
1135
1136        <link rel="preconnect" href="https://www.googletagmanager.com">
1137    <link rel="dns-prefetch" href="https://bat.bing.com">
1138    <link rel="dns-prefetch" href="https://app.ardalio.com">
1139    
1139<script>
1140      window.dataLayer = window.dataLayer || [];
1141      function gtag(){dataLayer.push(arguments);}
1142      gtag('consent', 'default', {
1143        'ad_storage': 'granted',
1144        'ad_user_data': 'granted',
1145        'ad_personalization': 'granted',
1146        'analytics_storage': 'granted',
1147        'wait_for_update': 500
1148      });
1149    </script>
1149
1150    
1150<script>
vendor: 323 bytes, line 1150
1150(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','
1150GTM-P233F6T
vendor: 3 bytes, line 1150
1150');
1150</script>
1150
1151        <style>
1152        /* La pastille existe toujours dans le flux, on gère ensuite opacité/visibilité en JS */
1153        .berocket_better_labels_image {
1154            display: block !important;
1155        }
1156    </style>
1157    	<noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript>
1158	<style id="jdmc-mixed-dp-style">
1159    .jdmc-mixed-dp .woocommerce-info{
1160      background:#3D9CD2 !important;
1161      color:#fff !important;
1162      border-color:#3D9CD2 !important;
1163    }
1164    .jdmc-mixed-dp .woocommerce-info::before{
1165      color:#fff !important;
1166    }
1167    .jdmc-mixed-dp .woocommerce-info a{
1168      color:#fff !important;
1169      text-decoration:underline;
1170    }
1171    </style><link rel="icon" href="https://diamant-strass-dmc.com/wp-content/uploads/2025/12/cropped-ChatGPT-Image-10-dec.-2025-15_53_19-32x32.png" sizes="32x32" />
1172<link rel="icon" href="https://diamant-strass-dmc.com/wp-content/uploads/2025/12/cropped-ChatGPT-Image-10-dec.-2025-15_53_19-192x192.png" sizes="192x192" />
1173<link rel="apple-touch-icon" href="https://diamant-strass-dmc.com/wp-content/uploads/2025/12/cropped-ChatGPT-Image-10-dec.-2025-15_53_19-180x180.png" />
1174<meta name="msapplication-TileImage" content="https://diamant-strass-dmc.com/wp-content/uploads/2025/12/cropped-ChatGPT-Image-10-dec.-2025-15_53_19-270x270.png" />
1175<script type="application/ld+json">{"@context":"https://schema.org","@type":"Product","name":"Mon diamond painting personnalisé","image":"https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting.jpg","description":"🖤🔥\r\n      Black Friday\r\n    \r\n    -50%\r\n    sur toutes les toiles\r\n  \r\n\r\n\r\n🖼️ Votre photo transformée en DP\r\n📸 Aperçu instantané du rendu\r\n✅ Tout inclus : perles, colle, stylo…\r\n✨ Créez votre image grâce à l’IA.","sku":"SKU-72384","mpn":"SKU-72384","brand":{"@type":"Brand","name":"Diamant Strass DMC"},"offers":{"@type":"Offer","priceCurrency":"USD","price":"22.40","priceValidUntil":"2027-10-04","availability":"https://schema.org/InStock","url":"https://diamant-strass-dmc.com/perles-broderie/custom-diamond-painting-personnalise-photo/","seller":{"@type":"Organization","name":"Diamant Strass DMC","address":{"@type":"PostalAddress","streetAddress":"rue du Solesmes","addressLocality":"Vendegies-sur-Écaillon","postalCode":"59213","addressCountry":"FR"}},"shippingDetails":[{"@type":"OfferShippingDetails","shippingRate":{"@type":"MonetaryAmount","value":"3.30","currency":"USD"},"shippingDestination":{"@type":"DefinedRegion","addressCountry":"FR"},"deliveryTime":{"@type":"ShippingDeliveryTime","handlingTime":{"@type":"QuantitativeValue","minValue":0,"maxValue":1,"unitCode":"DAY"},"transitTime":{"@type":"QuantitativeValue","minValue":2,"maxValue":4,"unitCode":"DAY"}}}],"hasMerchantReturnPolicy":{"@type":"MerchantReturnPolicy","returnPolicyCategory":"https://schema.org/MerchantReturnFiniteReturnWindow","merchantReturnDays":30,"returnMethod":"https://schema.org/ReturnByMail","returnFees":"https://schema.org/FreeReturn"}},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.79","bestRating":"5","ratingCount":1399}}</script>
1175	<style id="jdmc-vacation-delivery-style">
1176		.jdmc-vacation-delivery {
1177			box-sizing: border-box;
1178			width: 100%;
1179			margin: 7px 0 12px;
1180			padding: 10px 12px 10px 40px;
1181			position: relative;
1182
1183			font-size: 13px;
1184			line-height: 1.45;
1185			font-weight: 500;
1186
1187			color: #574617;
1188			background: #fff9e8;
1189			border: 1px solid #f0dfad;
1190			border-left: 3px solid #e0a82e;
1191			border-radius: 7px;
1192
1193			box-shadow: 0 1px 2px rgba(0, 0, 0, 0.025);
1194		}
1195
1196		.jdmc-vacation-delivery::before {
1197			content: "☀️";
1198			position: absolute;
1199			left: 12px;
1200			top: 50%;
1201			transform: translateY(-50%);
1202
1203			font-size: 17px;
1204			line-height: 1;
1205		}
1206
1207		@media (max-width: 600px) {
1208			.jdmc-vacation-delivery {
1209				margin-top: 6px;
1210				margin-bottom: 10px;
1211				padding: 9px 10px 9px 36px;
1212
1213				font-size: 12.5px;
1214				line-height: 1.4;
1215				border-radius: 6px;
1216			}
1217
1218			.jdmc-vacation-delivery::before {
1219				left: 10px;
1220				font-size: 16px;
1221			}
1222		}
1223	</style>
1224	<style id="wp-custom-css">
1225.ct-product-gallery-container .flexy-item img {
1226    width: auto !important;
1227    max-width: 100% !important;
1228    height: auto !important;
1229    margin: 0 auto;
1230}
1231
1232/* Cache la première occurrence de la description pour éviter le doublon */
1233.summary.entry-summary .woocommerce-product-details__short-description:first-of-type {
1234    display: none !important;
1235}
1236
1237/* Forcer l'affichage de l'étiquette Menu sur mobile */
1238.ct-header-trigger .ct-label.ct-hidden-sm, 
1239.ct-header-trigger .ct-label.ct-hidden-md, 
1240.ct-header-trigger .ct-label.ct-hidden-lg {
1241    display: block !important;
1242    font-size: 14px; /* Ajustez la taille si besoin */
1243    margin-right: 8px;
1244}
1245
1246/* S'assurer que le bouton utilise bien flexbox pour aligner texte et icône */
1247.ct-header-trigger {
1248    display: inline-flex !important;
1249    align-items: center !important;
1250}
1251</style>
1252<style id="jdmc-sidecart-center">
1253    .jdmc-sidecart-active .xoo-wsc-basket{
1254      display:flex !important; align-items:center !important; justify-content:center !important; text-align:center !important;
1255    }
1256    .jdmc-sidecart-active [class^="xoo-wsc-icon-"],
1257    .jdmc-sidecart-active [class*=" xoo-wsc-icon-"]{
1258      line-height:1.7em !important; display:inline-block !important; vertical-align:middle !important;
1259    }
1260    </style>	<style id="global-styles-inline-css">
1261:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--palette-color-1: var(--theme-palette-color-1, #2872fa);--wp--preset--color--palette-color-2: var(--theme-palette-color-2, #1559ed);--wp--preset--color--palette-color-3: var(--theme-palette-color-3, #3A4F66);--wp--preset--color--palette-color-4: var(--theme-palette-color-4, #170048);--wp--preset--color--palette-color-5: var(--theme-palette-color-5, #e1e8ed);--wp--preset--color--palette-color-6: var(--theme-palette-color-6, #FFFFFF);--wp--preset--color--palette-color-7: var(--theme-palette-color-7, #FFFFFF);--wp--preset--color--palette-color-8: var(--theme-palette-color-8, #ffffff);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
12610) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--gradient--juicy-peach: linear-gradient(to right, #ffecd2 0%, #fcb69f 100%);--wp--preset--gradient--young-passion: linear-gradient(to right, #ff8177 0%, #ff867a 0%, #ff8c7f 21%, #f99185 52%, #cf556c 78%, #b12a5b 100%);--wp--preset--gradient--true-sunset: linear-gradient(to right, #fa709a 0%, #fee140 100%);--wp--preset--gradient--morpheus-den: linear-gradient(to top, #30cfd0 0%, #330867 100%);--wp--preset--gradient--plum-plate: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--wp--preset--gradient--aqua-splash: linear-gradient(15deg, #13547a 0%, #80d0c7 100%);--wp--preset--gradient--love-kiss: linear-gradient(to top, #ff0844 0%, #ffb199 100%);--wp--preset--gradient--new-retrowave: linear-gradient(to top, #3b41c5 0%, #a981bb 49%, #ffc8a9 100%);--wp--preset--gradient--plum-bath: linear-gradient(to top, #cc208e 0%, #6713d2 100%);--wp--preset--gradient--high-flight: linear-gradient(to right, #0acffe 0%, #495aff 100%);--wp--preset--gradient--teen-party: linear-gradient(135deg, #FF057C 0%, #8D0B93 50%, #321575 100%);--wp--preset--gradient--fabled-sunset: linear-gradient(135deg, #231557 0%, #44107A 29%, #FF1361 67%, #FFF800 100%);--wp--preset--gradient--arielle-smile: radial-gradient(circle 248px at center, #16d9e3 0%, #30c7ec 47%, #46aef7 100%);--wp--preset--gradient--itmeo-branding: linear-gradient(180deg, #2af598 0%, #009efd 100%);--wp--preset--gradient--deep-blue: linear-gradient(to right, #6a11cb 0%, #2575fc 100%);--wp--preset--gradient--strong-bliss: linear-gradient(to right, #f78ca0 0%, #f9748f 19%, #fd868c 60%, #fe9a8b 100%);--wp--preset--gradient--sweet-period: linear-gradient(to top, #3f51b1 0%, #5a55ae 13%, #7b5fac 25%, #8f6aae 38%, #a86aa4 50%, #cc6b8e 62%, #f18271 75%, #f3a469 87%, #f7c978 100%);--wp--preset--gradient--purple-division: linear-gradient(to top, #7028e4 0%, #e5b2ca 100%);--wp--preset--gradient--cold-evening: linear-gradient(to top, #0c3483 0%, #a2b6df 100%, #6b8cce 100%, #a2b6df 100%);--wp--preset--gradient--mountain-rock: linear-gradient(to right, #868f96 0%, #596164 100%);--wp--preset--gradient--desert-hump: linear-gradient(to top, #c79081 0%, #dfa579 100%);--wp--preset--gradient--ethernal-constance: linear-gradient(to top, #09203f 0%, #537895 100%);--wp--preset--gradient--happy-memories: linear-gradient(300deg, #ff5858 0%, #f09819 100%);--wp--preset--gradient--grown-early: linear-gradient(to top, #0ba360 0%, #3cba92 100%);--wp--preset--gradient--morning-salad: linear-gradient(135deg, #B7F8DB 0%, #50A7C2 100%);--wp--preset--gradient--night-call: linear-gradient(135deg, #AC32E4 0%, #7918F2 48%, #4801FF 100%);--wp--preset--gradient--mind-crawl: linear-gradient(135deg, #473B7B 0%, #3584A7 51%, #30D2BE 100%);--wp--preset--gradient--angel-care: linear-gradient(135deg, #FFE29F 0%, #FFA99F 48%, #FF719A 100%);--wp--preset--gradient--juicy-cake: linear-gradient(to top, #e14fad 0%, #f9d423 100%);--wp--preset--gradient--rich-metal: linear-gradient(to right, #d7d2cc 0%, #304352 100%);--wp--preset--gradient--mole-hall: linear-gradient(340deg, #616161 0%, #9bc5c3 100%);--wp--preset--gradient--cloudy-knoxville: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);--wp--preset--gradient--soft-grass: linear-gradient(to top, #c1dfc4 0%, #deecdd 100%);--wp--preset--gradient--saint-petersburg: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--wp--preset--gradient--everlasting-sky: linear-gradient(135deg, #fdfcfb 0%, #e2d1c3 100%);--wp--preset--gradient--kind-steel: linear-gradient(340deg, #e9defa 0%, #fbfcdb 100%);--wp--preset--gradient--over-sun: linear-gradient(60deg, #abecd6 0%, #fbed96 100%);--wp--preset--gradient--premium-white: linear-gradient(to top, #d5d4d0 0%, #d5d4d0 1%, #eeeeec 31%, #efeeec 75%, #e9e9e7 100%);--wp--preset--gradient--clean-mirror: linear-gradient(45deg, #93a5cf 0%, #e4efe9 100%);--wp--preset--gradient--wild-apple: linear-gradient(to top, #d299c2 0%, #fef9d7 100%);--wp--preset--gradient--snow-again: linear-gradient(to top, #e6e9f0 0%, #eef1f5 100%);--wp--preset--gradient--confident-cloud: linear-gradient(to top, #dad4ec 0%, #dad4ec 1%, #f3e7e9 100%);
1261--wp--preset--gradient--glass-water: linear-gradient(to top, #dfe9f3 0%, white 100%);--wp--preset--gradient--perfect-white: linear-gradient(135deg, #E3FDF5 0%, #FFE6FA 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: clamp(22px, 1.375rem + ((1vw - 3.2px) * 0.625), 30px);--wp--preset--font-size--x-large: clamp(30px, 1.875rem + ((1vw - 3.2px) * 1.563), 50px);--wp--preset--font-size--xx-large: clamp(45px, 2.813rem + ((1vw - 3.2px) * 2.734), 80px);--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:root { --wp--style--global--content-size: var(--theme-block-max-width);--wp--style--global--wide-size: var(--theme-block-wide-max-width); }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: var(--theme-content-spacing); margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: var(--theme-content-spacing); }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: var(--theme-content-spacing);margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: var(--theme-content-spacing);margin-block-end: 0;}:root :where(.is-layout-flex){gap: var(--theme-content-spacing);}:root :where(.is-layout-grid){gap: var(--theme-content-spacing);}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){font-style: inherit;font-weight: inherit;letter-spacing: inherit;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-palette-color-1-color{color: var(--wp--preset--color--palette-color-1) !important;}.has-palette-color-2-color{color: var(--wp--preset--color--palette-color-2) !important;}.has-palette-color-3-color{color: var(--wp--preset--color--palette-color-3) !important;}.has-palette-color-4-color{color: var(--wp--preset--color--palette-color-4) !important;}.has-palette-color-5-color{color: var(--wp--preset--color--palette-color-5) !important;}.has-palette-color-6-color{color: var(--wp--preset--color--palette-color-6) !important;}.has-palette-color-7-color{color: var(--wp--preset--color--palette-color-7) !important;}.has-palette-color-8-color{color: var(--wp--preset--color--palette-color-8) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-palette-color-1-background-color{background-color: var(--wp--preset--color--palette-color-1) !important;}.has-palette-color-2-background-color{background-color: var(--wp--preset--color--palette-color-2) !important;}.has-palette-color-3-background-color{background-color: var(--wp--preset--color--palette-color-3) !important;}.has-palette-color-4-background-color{background-color: var(--wp--preset--color--palette-color-4) !important;}.has-palette-color-5-background-color{background-color: var(--wp--preset--color--palette-color-5) !important;}.has-palette-color-6-background-color{background-color: var(--wp--preset--color--palette-color-6) !important;}.has-palette-color-7-background-color{background-color: var(--wp--preset--color--palette-color-7) !important;}.has-palette-color-8-background-color{background-color: var(--wp--preset--color--palette-color-8) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-palette-color-1-border-color{border-color: var(--wp--preset--color--palette-color-1) !important;}.has-palette-color-2-border-color{border-color: var(--wp--preset--color--palette-color-2) !important;}.has-palette-color-3-border-color{border-color: var(--wp--preset--color--palette-color-3) !important;}.has-palette-color-4-border-color{border-color: var(--wp--preset--color--palette-color-4) !important;}.has-palette-color-5-border-color{border-color: var(--wp--preset--color--palette-color-5) !important;}.has-palette-color-6-border-color{border-color: var(--wp--preset--color--palette-color-6) !important;}.has-palette-color-7-border-color{border-color: var(--wp--preset--color--palette-color-7) !important;}.has-palette-color-8-border-color{border-color: var(--wp--preset--color--palette-color-8) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
1261.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-juicy-peach-gradient-background{background: var(--wp--preset--gradient--juicy-peach) !important;}.has-young-passion-gradient-background{background: var(--wp--preset--gradient--young-passion) !important;}.has-true-sunset-gradient-background{background: var(--wp--preset--gradient--true-sunset) !important;}.has-morpheus-den-gradient-background{background: var(--wp--preset--gradient--morpheus-den) !important;}.has-plum-plate-gradient-background{background: var(--wp--preset--gradient--plum-plate) !important;}.has-aqua-splash-gradient-background{background: var(--wp--preset--gradient--aqua-splash) !important;}.has-love-kiss-gradient-background{background: var(--wp--preset--gradient--love-kiss) !important;}.has-new-retrowave-gradient-background{background: var(--wp--preset--gradient--new-retrowave) !important;}.has-plum-bath-gradient-background{background: var(--wp--preset--gradient--plum-bath) !important;}.has-high-flight-gradient-background{background: var(--wp--preset--gradient--high-flight) !important;}
1261.has-teen-party-gradient-background{background: var(--wp--preset--gradient--teen-party) !important;}.has-fabled-sunset-gradient-background{background: var(--wp--preset--gradient--fabled-sunset) !important;}.has-arielle-smile-gradient-background{background: var(--wp--preset--gradient--arielle-smile) !important;}.has-itmeo-branding-gradient-background{background: var(--wp--preset--gradient--itmeo-branding) !important;}.has-deep-blue-gradient-background{background: var(--wp--preset--gradient--deep-blue) !important;}.has-strong-bliss-gradient-background{background: var(--wp--preset--gradient--strong-bliss) !important;}.has-sweet-period-gradient-background{background: var(--wp--preset--gradient--sweet-period) !important;}.has-purple-division-gradient-background{background: var(--wp--preset--gradient--purple-division) !important;}.has-cold-evening-gradient-background{background: var(--wp--preset--gradient--cold-evening) !important;}.has-mountain-rock-gradient-background{background: var(--wp--preset--gradient--mountain-rock) !important;}.has-desert-hump-gradient-background{background: var(--wp--preset--gradient--desert-hump) !important;}.has-ethernal-constance-gradient-background{background: var(--wp--preset--gradient--ethernal-constance) !important;}.has-happy-memories-gradient-background{background: var(--wp--preset--gradient--happy-memories) !important;}.has-grown-early-gradient-background{background: var(--wp--preset--gradient--grown-early) !important;}.has-morning-salad-gradient-background{background: var(--wp--preset--gradient--morning-salad) !important;}.has-night-call-gradient-background{background: var(--wp--preset--gradient--night-call) !important;}.has-mind-crawl-gradient-background{background: var(--wp--preset--gradient--mind-crawl) !important;}.has-angel-care-gradient-background{background: var(--wp--preset--gradient--angel-care) !important;}.has-juicy-cake-gradient-background{background: var(--wp--preset--gradient--juicy-cake) !important;}.has-rich-metal-gradient-background{background: var(--wp--preset--gradient--rich-metal) !important;}.has-mole-hall-gradient-background{background: var(--wp--preset--gradient--mole-hall) !important;}.has-cloudy-knoxville-gradient-background{background: var(--wp--preset--gradient--cloudy-knoxville) !important;}.has-soft-grass-gradient-background{background: var(--wp--preset--gradient--soft-grass) !important;}.has-saint-petersburg-gradient-background{background: var(--wp--preset--gradient--saint-petersburg) !important;}.has-everlasting-sky-gradient-background{background: var(--wp--preset--gradient--everlasting-sky) !important;}.has-kind-steel-gradient-background{background: var(--wp--preset--gradient--kind-steel) !important;}.has-over-sun-gradient-background{background: var(--wp--preset--gradient--over-sun) !important;}.has-premium-white-gradient-background{background: var(--wp--preset--gradient--premium-white) !important;}.has-clean-mirror-gradient-background{background: var(--wp--preset--gradient--clean-mirror) !important;}.has-wild-apple-gradient-background{background: var(--wp--preset--gradient--wild-apple) !important;}.has-snow-again-gradient-background{background: var(--wp--preset--gradient--snow-again) !important;}.has-confident-cloud-gradient-background{background: var(--wp--preset--gradient--confident-cloud) !important;}.has-glass-water-gradient-background{background: var(--wp--preset--gradient--glass-water) !important;}.has-perfect-white-gradient-background{background: var(--wp--preset--gradient--perfect-white) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-xx-large-font-size{font-size: var(--wp--preset--font-size--xx-large) !important;}
1262/*# sourceURL=global-styles-inline-css */
1263</style>
1264<link rel='preload' as="style" onload="this.onload=null;this.rel='stylesheet'" data-wpacu-preload-it-async='1' id='wpacu-combined-google-fonts-css-async-preload' href='https://fonts.googleapis.com/css?family=Alata&amp;display=swap' type='text/css' media='all' />
1265<script  id="wpacu-preload-async-css-fallback">
1266/*! LoadCSS. [c]2020 Filament Group, Inc. MIT License */
1267/* This file is meant as a standalone workflow for
1268- testing support for link[rel=preload]
1269- enabling async CSS loading in browsers that do not support rel=preload
1270- applying rel preload css once loaded, whether supported or not.
1271*/
1272(function(w){"use strict";var wpacuLoadCSS=function(href,before,media,attributes){var doc=w.document;var ss=doc.createElement('link');var ref;if(before){ref=before}else{var refs=(doc.body||doc.getElementsByTagName('head')[0]).childNodes;ref=refs[refs.length-1]}
1273var sheets=doc.styleSheets;if(attributes){for(var attributeName in attributes){if(attributes.hasOwnProperty(attributeName)){ss.setAttribute(attributeName,attributes[attributeName])}}}
1274ss.rel="stylesheet";ss.href=href;ss.media="only x";function ready(cb){if(doc.body){return cb()}
1275setTimeout(function(){ready(cb)})}
1276ready(function(){ref.parentNode.insertBefore(ss,(before?ref:ref.nextSibling))});var onwpaculoadcssdefined=function(cb){var resolvedHref=ss.href;var i=sheets.length;while(i--){if(sheets[i].href===resolvedHref){return cb()}}
1277setTimeout(function(){onwpaculoadcssdefined(cb)})};function wpacuLoadCB(){if(ss.addEventListener){ss.removeEventListener("load",wpacuLoadCB)}
1278ss.media=media||"all"}
1279if(ss.addEventListener){ss.addEventListener("load",wpacuLoadCB)}
1280ss.onwpaculoadcssdefined=onwpaculoadcssdefined;onwpaculoadcssdefined(wpacuLoadCB);return ss};if(typeof exports!=="undefined"){exports.wpacuLoadCSS=wpacuLoadCSS}else{w.wpacuLoadCSS=wpacuLoadCSS}}(typeof global!=="undefined"?global:this))
1281</script>
1281
1282</head>
1283
1284
1285<body class="wp-singular product-template-default single single-product postid-72384 wp-custom-logo wp-embed-responsive wp-theme-blocksy theme-blocksy jdmc-ai-dp-perso woocommerce woocommerce-page woocommerce-no-js metaslider-plugin woo-variation-swatches wvs-behavior-blur wvs-theme-blocksy wvs-show-label product_cat_accessoires product_cat_custom loggedout-product-class" data-link="type-2" data-prefix="product" data-header="type-1" data-footer="type-1" itemscope="itemscope" itemtype="https://schema.org/WebPage">
1286
1287
1288<div class="xoo-wsc-markup xoo-wsc-align-right">
1289
1290    <div class="xoo-wsc-modal">
1291
1292        <div class="xoo-wsc-container">
1293    	              
1294<span class="xoo-wsc-loader"></span>
1295<span class="xoo-wsc-icon-spinner8 xoo-wsc-loader-icon"></span>        </div>
1296
1297    	<span class="xoo-wsc-opac"></span>
1298
1299    </div>
1300
1301    <div class="xoo-wsc-slider-modal">
1302
1303        <div class="xoo-wsc-slider">
1304    	           </div>
1305
1306    </div>
1307
1308    <div class="xoo-wsc-drawer-modal">
1309
1310        <div class="xoo-wsc-drawer">
1311                    </div>
1312
1313    </div>
1314    
1315</div><a class="skip-link screen-reader-text" href="#main">Passer au contenu</a><div class="ct-drawer-canvas" data-location="start">
1316		<div id="search-modal" class="ct-panel" data-behaviour="modal" role="dialog" aria-label="Modale de recherche" inert>
1317			<div class="ct-panel-actions">
1318				<button class="ct-toggle-close" data-type="type-1" aria-label="Fermer la modale de recherche">
1319					<svg class="ct-icon" width="12" height="12" viewBox="0 0 15 15"><path d="M1 15a1 1 0 01-.71-.29 1 1 0 010-1.41l5.8-5.8-5.8-5.8A1 1 0 011.7.29l5.8 5.8 5.8-5.8a1 1 0 011.41 1.41l-5.8 5.8 5.8 5.8a1 1 0 01-1.41 1.41l-5.8-5.8-5.8 5.8A1 1 0 011 15z"/></svg>				</button>
1320			</div>
1321
1322			<div class="ct-panel-content">
1323				
1324
1325<form role="search" method="get" class="ct-search-form"  action="https://diamant-strass-dmc.com/" aria-haspopup="listbox" data-live-results="thumbs">
1326
1327	<input
1328		type="search" class="modal-field"		placeholder="Rechercher"
1329		value=""
1330		name="s"
1331		autocomplete="off"
1332		title="Rechercher…"
1333		aria-label="Rechercher…"
1334			>
1335
1336	<div class="ct-search-form-controls">
1337		
1338		<button type="submit" class="wp-element-button" data-button="icon" aria-label="Bouton de recherche">
1339			<svg class="ct-icon ct-search-button-content" aria-hidden="true" width="15" height="15" viewBox="0 0 15 15"><path d="M14.8,13.7L12,11c0.9-1.2,1.5-2.6,1.5-4.2c0-3.7-3-6.8-6.8-6.8S0,3,0,6.8s3,6.8,6.8,6.8c1.6,0,3.1-0.6,4.2-1.5l2.8,2.8c0.1,0.1,0.3,0.2,0.5,0.2s0.4-0.1,0.5-0.2C15.1,14.5,15.1,14,14.8,13.7z M1.5,6.8c0-2.9,2.4-5.2,5.2-5.2S12,3.9,12,6.8S9.6,12,6.8,12S1.5,9.6,1.5,6.8z"/></svg>
1340			<span class="ct-ajax-loader">
1341				<svg viewBox="0 0 24 24">
1342					<circle cx="12" cy="12" r="10" opacity="0.2" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="2"/>
1343
1344					<path d="m12,2c5.52,0,10,4.48,10,10" fill="none" stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2">
1345						<animateTransform
1346							attributeName="transform"
1347							attributeType="XML"
1348							type="rotate"
1349							dur="0.6s"
1350							from="0 12 12"
1351							to="360 12 12"
1352							repeatCount="indefinite"
1353						/>
1354					</path>
1355				</svg>
1356			</span>
1357		</button>
1358
1359		
1360		
1361		
1362
1363			</div>
1364
1365			<div class="screen-reader-text" aria-live="polite" role="status">
1366			Aucun résultat		</div>
1367	
1368</form>
1369
1370
1371			</div>
1372		</div>
1373
1374		<div id="offcanvas" class="ct-panel ct-header" data-behaviour="right-side" role="dialog" aria-label="Modale hors champ" inert=""><div class="ct-panel-inner">
1375				<div class="ct-panel-actions">
1376					
1377					
1378				<button class="ct-toggle-close" data-type="type-1" aria-label="Fermer le tiroir">
1379					<svg class="ct-icon" width="12" height="12" viewBox="0 0 15 15"><path d="M1 15a1 1 0 01-.71-.29 1 1 0 010-1.41l5.8-5.8-5.8-5.8A1 1 0 011.7.29l5.8 5.8 5.8-5.8a1 1 0 011.41 1.41l-5.8 5.8 5.8 5.8a1 1 0 01-1.41 1.41l-5.8-5.8-5.8 5.8A1 1 0 011 15z"/></svg>
1380				</button>
1381			
1382				</div>
1383			<div class="ct-panel-content" data-device="desktop"><div class="ct-panel-content-inner"></div></div><div class="ct-panel-content" data-device="mobile"><div class="ct-panel-content-inner">
1384<nav
1385	class="mobile-menu menu-container has-submenu"
1386	data-id="mobile-menu" data-interaction="click" data-toggle-type="type-1" data-submenu-dots="yes"	aria-label="menu mobile">
1387
1388	<ul id="menu-menu-mobile" class=""><li id="menu-item-58576" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58576"><a href="/mon-compte/" class="ct-menu-link">🙋‍♂️ Mon compte</a></li>
1389<li id="menu-item-58469" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item menu-item-58469"><a href="/perles-broderie/custom-diamond-painting-personnalise-photo/" aria-current="page" class="ct-menu-link">🖼️ Ma toile</a></li>
1390<li id="menu-item-66431" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-66431"><span class="ct-sub-menu-parent"><a href="#" class="ct-menu-link">💠 Diamants et accessoires</a><button class="ct-toggle-dropdown-mobile" aria-label="Déplier le menu déroulant" aria-haspopup="true" aria-expanded="false"><svg class="ct-icon toggle-icon-1" width="15" height="15" viewBox="0 0 15 15" aria-hidden="true"><path d="M3.9,5.1l3.6,3.6l3.6-3.6l1.4,0.7l-5,5l-5-5L3.9,5.1z"/></svg></button></span>
1391<ul class="sub-menu">
1392	<li id="menu-item-44905" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-44905"><a href="/" class="ct-menu-link">💎 Diamants</a></li>
1393	<li id="menu-item-44906" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-44906"><a href="/couleur/diamants-ab/?filters=filtres%5B7162-7166-7168%5D" class="ct-menu-link">✨ Strass AB</a></li>
1394	<li id="menu-item-44907" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-44907"><a href="/couleur/accessoires/" class="ct-menu-link">🖊️ Accessoires</a></li>
1395	<li id="menu-item-44908" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-44908"><a href="/couleur/porte-cles-diamond-painting/" class="ct-menu-link">🗝️ Porte-clés</a></li>
1396</ul>
1397</li>
1398<li id="menu-item-66430" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-66430"><span class="ct-sub-menu-parent"><a href="#" class="ct-menu-link">🖌️ Outils couleurs</a><button class="ct-toggle-dropdown-mobile" aria-label="Déplier le menu déroulant" aria-haspopup="true" aria-expanded="false"><svg class="ct-icon toggle-icon-1" width="15" height="15" viewBox="0 0 15 15" aria-hidden="true"><path d="M3.9,5.1l3.6,3.6l3.6-3.6l1.4,0.7l-5,5l-5-5L3.9,5.1z"/></svg></button></span>
1399<ul class="sub-menu">
1400	<li id="menu-item-6815" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6815"><a href="https://diamant-strass-dmc.com/code-couleur-nuancier-dmc/" title="Nuancier DMC broderie diamant" class="ct-menu-link"></a></li>
1401	<li id="menu-item-66432" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-66432"><a href="/couleur/diamond-painting-documents-pdf-telecharger-imprimer/" class="ct-menu-link">📁 Documents</a></li>
1402	<li id="menu-item-58470" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-58470"><a href="https://diamant-strass-dmc.com/diamants-par-couleur/" class="ct-menu-link">🌈 Couleurs</a></li>
1403	<li id="menu-item-66429" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-66429"><a href="/diamond-painting-couleurs-dmc-proches-remplacement/" class="ct-menu-link">🔀 Couleurs proches</a></li>
1404</ul>
1405</li>
1406<li id="menu-item-76031" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-76031"><span class="ct-sub-menu-parent"><a href="#" class="ct-menu-link">⚖️ Mentions légales / CGV</a><button class="ct-toggle-dropdown-mobile" aria-label="Déplier le menu déroulant" aria-haspopup="true" aria-expanded="false"><svg class="ct-icon toggle-icon-1" width="15" height="15" viewBox="0 0 15 15" aria-hidden="true"><path d="M3.9,5.1l3.6,3.6l3.6-3.6l1.4,0.7l-5,5l-5-5L3.9,5.1z"/></svg></button></span>
1407<ul class="sub-menu">
1408	<li id="menu-item-76035" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-76035"><a href="https://diamant-strass-dmc.com/mentions-legales/" class="ct-menu-link">Mentions légales</a></li>
1409	<li id="menu-item-76033" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-76033"><a href="https://diamant-strass-dmc.com/cgv/" class="ct-menu-link">Conditions générales de vente</a></li>
1410	<li id="menu-item-76032" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-76032"><a rel="privacy-policy" href="https://diamant-strass-dmc.com/politique-confidentialite/" class="ct-menu-link">Politique de confidentialité</a></li>
1411	<li id="menu-item-76034" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-76034"><a href="https://diamant-strass-dmc.com/livraison-retour-echange/" class="ct-menu-link">Livraison, retours et échanges</a></li>
1412</ul>
1413</li>
1414<li id="menu-item-58573" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58573"><a href="/mon-compte/" class="ct-menu-link">🙋‍♂️ Connexion / Inscription</a></li>
1415<li id="menu-item-6807" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6807"><a href="https://diamant-strass-dmc.com/contact/" title="Contacter Diamant Strass DMC" class="ct-menu-link">📧 Nous contacter</a></li>
1416<li id="menu-item-47271" class="menu-item menu-item-type-gs_sim menu-item-object-gs_sim menu-item-47271">[widget id="wmc_widget-4"]</li>
1417<li id="menu-item-wpml-ls-508-fr" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-fr wpml-ls-current-language wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-has-children menu-item-wpml-ls-508-fr"><span class="ct-sub-menu-parent"><a href="https://diamant-strass-dmc.com/perles-broderie/custom-diamond-painting-personnalise-photo/" aria-current="page" class="ct-menu-link" aria-expanded="false" aria-controls="wpml-ls-submenu-wpml-ls-508-fr"><span class="wpml-ls-display">Français</span></a><button class="ct-toggle-dropdown-mobile" aria-label="Déplier le menu déroulant" aria-haspopup="true" aria-expanded="false"><svg class="ct-icon toggle-icon-1" width="15" height="15" viewBox="0 0 15 15" aria-hidden="true"><path d="M3.9,5.1l3.6,3.6l3.6-3.6l1.4,0.7l-5,5l-5-5L3.9,5.1z"/></svg></button></span>
1418<ul class="sub-menu">
1419	<li id="menu-item-wpml-ls-508-nl" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-nl wpml-ls-menu-item wpml-ls-first-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-nl"><a href="https://diamant-strass-dmc.com/nl/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Néerlandais" class="ct-menu-link" aria-label="Passer à Néerlandais"><span class="wpml-ls-display">Néerlandais</span></a></li>
1420	<li id="menu-item-wpml-ls-508-en" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-en wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-en"><a href="https://diamant-strass-dmc.com/en/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Anglais" class="ct-menu-link" aria-label="Passer à Anglais"><span class="wpml-ls-display">Anglais</span></a></li>
1421	<li id="menu-item-wpml-ls-508-de" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-de wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-de"><a href="https://diamant-strass-dmc.com/de/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Allemand" class="ct-menu-link" aria-label="Passer à Allemand"><span class="wpml-ls-display">Allemand</span></a></li>
1422	<li id="menu-item-wpml-ls-508-it" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-it wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-it"><a href="https://diamant-strass-dmc.com/it/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Ital
1422ien" class="ct-menu-link" aria-label="Passer à Italien"><span class="wpml-ls-display">Italien</span></a></li>
1423	<li id="menu-item-wpml-ls-508-pt-pt" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-pt-pt wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-pt-pt"><a href="https://diamant-strass-dmc.com/pt-pt/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Portugais - du Portugal" class="ct-menu-link" aria-label="Passer à Portugais - du Portugal"><span class="wpml-ls-display">Portugais &#8211; du Portugal</span></a></li>
1424	<li id="menu-item-wpml-ls-508-es" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-es wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-es"><a href="https://diamant-strass-dmc.com/es/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Espagnol" class="ct-menu-link" aria-label="Passer à Espagnol"><span class="wpml-ls-display">Espagnol</span></a></li>
1425	<li id="menu-item-wpml-ls-508-bg" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-bg wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-bg"><a href="https://diamant-strass-dmc.com/bg/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Bulgare" class="ct-menu-link" aria-label="Passer à Bulgare"><span class="wpml-ls-display">Bulgare</span></a></li>
1426	<li id="menu-item-wpml-ls-508-da" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-da wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-da"><a href="https://diamant-strass-dmc.com/da/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Danois" class="ct-menu-link" aria-label="Passer à Danois"><span class="wpml-ls-display">Danois</span></a></li>
1427	<li id="menu-item-wpml-ls-508-el" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-el wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-el"><a href="https://diamant-strass-dmc.com/el/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Grec moderne" class="ct-menu-link" aria-label="Passer à Grec moderne"><span class="wpml-ls-display">Grec moderne</span></a></li>
1428	<li id="menu-item-wpml-ls-508-hu" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-hu wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-hu"><a href="https://diamant-strass-dmc.com/hu/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Hongrois" class="ct-menu-link" aria-label="Passer à Hongrois"><span class="wpml-ls-display">Hongrois</span></a></li>
1429	<li id="menu-item-wpml-ls-508-no" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-no wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-no"><a href="https://diamant-strass-dmc.com/no/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Norvégien Bokmål" class="ct-menu-link" aria-label="Passer à Norvégien Bokmål"><span class="wpml-ls-display">Norvégien Bokmål</span></a></li>
1430	<li id="menu-item-wpml-ls-508-pl" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-pl wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-pl"><a href="https://diamant-strass-dmc.com/pl/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Polonais" class="ct-menu-link" aria-label="Passer à Polonais"><span class="wpml-ls-display">Polonais</span></a></li>
1431	<li id="menu-item-wpml-ls-508-ro" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-ro wpml-ls-menu-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-ro"><a href="https://diamant-strass-dmc.com/ro/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Roumain" class="ct-menu-link" aria-label="Passer à Roumain"><span class="wpml-ls-display">Roumain</span></a></li>
1432	<li id="menu-item-wpml-ls-508-sv" class="menu-item wpml-ls-slot-508 wpml-ls-item wpml-ls-item-sv wpml-ls-menu-item wpml-ls-last-item menu-item-type-wpml_ls_menu_item menu-item-object-wpml_ls_menu_item menu-item-wpml-ls-508-sv"><a href="https://diamant-strass-dmc.com/sv/perles-broderie/custom-diamond-painting-personnalise-photo/" title="Passer à Suédois" class="ct-menu-link" aria-label="Passer à Suédois"><span class="wpml-ls-display">Suédois</span></a></li>
1433</ul>
1434</li>
1435</ul></nav>
1436
1437</div></div></div></div></div>
1438<div id="main-container">
1439	<header id="header" class="ct-header" data-id="type-1" itemscope="" itemtype="https://schema.org/WPHeader"><div data-device="desktop"><div data-row="middle" data-column-set="2"><div class="ct-container"><div data-column="start" data-placements="1"><div data-items="primary">
1440<div	class="site-branding"
1441	data-id="logo"	data-logo="top"	itemscope="itemscope" itemtype="https://schema.org/Organization">
1442
1443			<a href="https://diamant-strass-dmc.com/" class="site-logo-container" rel="home" itemprop="url" ><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120.webp 120w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120-50x50.webp 50w" sizes="(max-width: 120px) 100v
1443w, 120px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120.webp" height="120" width="120" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120.webp 120w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120-100x100.webp 100w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-120-50x50.webp 50w" sizes="(max-width: 120px) 100vw, 120px" class="default-logo sp-no-webp" alt="Diamant Strass DMC" decoding="async" data-xoowscfly="fly"  > </picture></a>	
1444			<div class="site-title-container">
1445			<span class="site-title " itemprop="name"><a href="https://diamant-strass-dmc.com/" rel="home" itemprop="url"> </a></span>					</div>
1446	  </div>
1447
1448</div></div><div data-column="end" data-placements="1"><div data-items="primary">
1449<nav
1450	id="header-menu-1"
1451	class="header-menu-1 menu-container"
1452	data-id="menu" data-interaction="hover"	data-menu="type-1"
1453	data-dropdown="type-1:simple"		data-responsive="no"	itemscope="" itemtype="https://schema.org/SiteNavigationElement"	aria-label="Header">
1454
1455	<ul id="menu-header" class="menu"><li id="menu-item-123642" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-123642"><a href="https://diamant-strass-dmc.com/" class="ct-menu-link">💎 Diamants</a></li>
1456<li id="menu-item-123643" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-123643"><a href="https://diamant-strass-dmc.com/couleur/diamants-ab/?filters=filtres%5B7162-7166-7168%5D" class="ct-menu-link">✨ Strass AB</a></li>
1457<li id="menu-item-123746" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-123746"><a href="/couleur/accessoires/" class="ct-menu-link">🖊️ Accessoires</a></li>
1458<li id="menu-item-123644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-123644"><a href="https://diamant-strass-dmc.com/couleur/diamond-painting-documents-pdf-telecharger-imprimer/" class="ct-menu-link">📁 Documents</a></li>
1459<li id="menu-item-123645" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-123645"><a href="https://diamant-strass-dmc.com/mon-compte/" class="ct-menu-link">🙋‍♂️ Mon compte</a></li>
1460</ul></nav>
1461
1462</div></div></div></div><div data-row="bottom" data-column-set="1"><div class="ct-container"><div data-column="end" data-placements="1"><div data-items="primary">
1463<div
1464	class="ct-header-text "
1465	data-id="text">
1466	<div class="entry-content is-layout-flow">
1467		<p><div class="wpml-header-switcher">
1468<div role="navigation" aria-label="Sélecteur de langue" class="wpml-ls-statics-shortcode_actions wpml-ls wpml-ls-legacy-dropdown-click js-wpml-ls-legacy-dropdown-click">
1469	<ul>
1470
1471		<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-fr wpml-ls-current-language wpml-ls-item-legacy-dropdown-click">
1472
1473									<a href="#" hreflang="fr" lang="fr" class="js-wpml-ls-item-toggle wpml-ls-item-toggle" aria-current="page" aria-expanded="false" aria-controls="wpml-ls-submenu-click-default" aria-haspopup="true" aria-label="Français – Sélecteur de langue, cliquez pour ouvrir puis appuyez sur tabulation pour naviguer" tabindex="0" role="button" title="Passer à Français">
1474				                                    <img
1475            class="wpml-ls-flag"
1476            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/fr.svg"
1477            alt=""
1478            loading="lazy"
1479            width=18
1480            height=12
1481    /><span class="wpml-ls-native">Français</span></a>
1482
1483			<ul id="wpml-ls-submenu-click-default" class="js-wpml-ls-sub-menu wpml-ls-sub-menu">
1484				
1485					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-nl wpml-ls-first-item">
1486						<a href="https://diamant-strass-dmc.com/nl/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="nl" lang="nl" class="wpml-ls-link" aria-label="Passer à Nederlands" title="Passer à Nederlands">
1487							                                    <img
1488            class="wpml-ls-flag"
1489            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/nl.svg"
1490            alt=""
1491            loading="lazy"
1492            width=18
1493            height=12
1494    /><span class="wpml-ls-native">Nederlands</span></a>
1495					</li>
1496
1497				
1498					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-en">
1499						<a href="https://diamant-strass-dmc.com/en/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="en" lang="en" class="wpml-ls-l
1499ink" aria-label="Passer à English" title="Passer à English">
1500							                                    <img
1501            class="wpml-ls-flag"
1502            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/en.svg"
1503            alt=""
1504            loading="lazy"
1505            width=18
1506            height=12
1507    /><span class="wpml-ls-native">English</span></a>
1508					</li>
1509
1510				
1511					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-de">
1512						<a href="https://diamant-strass-dmc.com/de/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="de" lang="de" class="wpml-ls-link" aria-label="Passer à Deutsch" title="Passer à Deutsch">
1513							                                    <img
1514            class="wpml-ls-flag"
1515            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/de.svg"
1516            alt=""
1517            loading="lazy"
1518            width=18
1519            height=12
1520    /><span class="wpml-ls-native">Deutsch</span></a>
1521					</li>
1522
1523				
1524					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-it">
1525						<a href="https://diamant-strass-dmc.com/it/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="it" lang="it" class="wpml-ls-link" aria-label="Passer à Ital
1525iano" title="Passer à Italiano">
1526							                                    <img
1527            class="wpml-ls-flag"
1528            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/it.svg"
1529            alt=""
1530            loading="lazy"
1531            width=18
1532            height=12
1533    /><span class="wpml-ls-native">Italiano</span></a>
1534					</li>
1535
1536				
1537					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-pt-pt">
1538						<a href="https://diamant-strass-dmc.com/pt-pt/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="pt-pt" lang="pt-pt" class="wpml-ls-link" aria-label="Passer à Português" title="Passer à Português">
1539							                                    <img
1540            class="wpml-ls-flag"
1541            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/pt-pt.svg"
1542            alt=""
1543            loading="lazy"
1544            width=18
1545            height=12
1546    /><span class="wpml-ls-native">Português</span></a>
1547					</li>
1548
1549				
1550					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-es">
1551						<a href="https://diamant-strass-dmc.com/es/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="es" lang="es" class="wpml-ls-link" aria-label="Passer à Español" title="Passer à Español">
1552							                                    <img
1553            class="wpml-ls-flag"
1554            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/es.svg"
1555            alt=""
1556            loading="lazy"
1557            width=18
1558            height=12
1559    /><span class="wpml-ls-native">Español</span></a>
1560					</li>
1561
1562				
1563					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-bg">
1564						<a href="https://diamant-strass-dmc.com/bg/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="bg" lang="bg" class="wpml-ls-link" aria-label="Passer à Български" title="Passer à Български">
1565							                                    <img
1566            class="wpml-ls-flag"
1567            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/bg.svg"
1568            alt=""
1569            loading="lazy"
1570            width=18
1571            height=12
1572    /><span class="wpml-ls-native">Български</span></a>
1573					</li>
1574
1575				
1576					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-da">
1577						<a href="https://diamant-strass-dmc.com/da/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="da" lang="da" class="wpml-ls-link" aria-label="Passer à Dansk" title="Passer à Dansk">
1578							                                    <img
1579            class="wpml-ls-flag"
1580            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/da.svg"
1581            alt=""
1582            loading="lazy"
1583            width=18
1584            height=12
1585    /><span class="wpml-ls-native">Dansk</span></a>
1586					</li>
1587
1588				
1589					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-el">
1590						<a href="https://diamant-strass-dmc.com/el/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="el" lang="el" class="wpml-ls-link" aria-label="Passer à Ελληνικα" title="Passer à Ελληνικα">
1591							                                    <img
1592            class="wpml-ls-flag"
1593            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/el.svg"
1594            alt=""
1595            loading="lazy"
1596            width=18
1597            height=12
1598    /><span class="wpml-ls-native">Ελληνικα</span></a>
1599					</li>
1600
1601				
1602					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-hu">
1603						<a href="https://diamant-strass-dmc.com/hu/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="hu" lang="hu" class="wpml-ls-link" aria-label="Passer à Magyar" title="Passer à Magyar">
1604							                                    <img
1605            class="wpml-ls-flag"
1606            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/hu.svg"
1607            alt=""
1608            loading="lazy"
1609            width=18
1610            height=12
1611    /><span class="wpml-ls-native">Magyar</span></a>
1612					</li>
1613
1614				
1615					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-no">
1616						<a href="https://diamant-strass-dmc.com/no/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="no" lang="no" class="wpml-ls-l
1616ink" aria-label="Passer à Norsk bokmål" title="Passer à Norsk bokmål">
1617							                                    <img
1618            class="wpml-ls-flag"
1619            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/no.svg"
1620            alt=""
1621            loading="lazy"
1622            width=18
1623            height=12
1624    /><span class="wpml-ls-native">Norsk bokmål</span></a>
1625					</li>
1626
1627				
1628					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-pl">
1629						<a href="https://diamant-strass-dmc.com/pl/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="pl" lang="pl" class="wpml-ls-link" aria-label="Passer à polski" title="Passer à polski">
1630							                                    <img
1631            class="wpml-ls-flag"
1632            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/pl.svg"
1633            alt=""
1634            loading="lazy"
1635            width=18
1636            height=12
1637    /><span class="wpml-ls-native">polski</span></a>
1638					</li>
1639
1640				
1641					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-ro">
1642						<a href="https://diamant-strass-dmc.com/ro/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="ro" lang="ro" class="wpml-ls-link" aria-label="Passer à Română" title="Passer à Română">
1643							                                    <img
1644            class="wpml-ls-flag"
1645            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/ro.svg"
1646            alt=""
1647            loading="lazy"
1648            width=18
1649            height=12
1650    /><span class="wpml-ls-native">Română</span></a>
1651					</li>
1652
1653				
1654					<li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-sv wpml-ls-last-item">
1655						<a href="https://diamant-strass-dmc.com/sv/perles-broderie/custom-diamond-painting-personnalise-photo/" hreflang="sv" lang="sv" class="wpml-ls-link" aria-label="Passer à Svenska" title="Passer à Svenska">
1656							                                    <img
1657            class="wpml-ls-flag"
1658            src="https://diamant-strass-dmc.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/sv.svg"
1659            alt=""
1660            loading="lazy"
1661            width=18
1662            height=12
1663    /><span class="wpml-ls-native">Svenska</span></a>
1664					</li>
1665
1666							</ul>
1667
1668		</li>
1669
1670	</ul>
1671</div>
1672</div></p>	</div>
1673</div>
1674
1675<button
1676	class="ct-header-search ct-toggle "
1677	data-toggle-panel="#search-modal"
1678	aria-controls="search-modal"
1679	aria-label="Rechercher"
1680	data-label="left"
1681	data-id="search">
1682
1683	<span class="ct-label ct-hidden-sm ct-hidden-lg" aria-hidden="true">Rechercher</span>
1684
1685	<svg class="ct-icon" aria-hidden="true" width="15" height="15" viewBox="0 0 15 15"><path d="M14.8,13.7L12,11c0.9-1.2,1.5-2.6,1.5-4.2c0-3.7-3-6.8-6.8-6.8S0,3,0,6.8s3,6.8,6.8,6.8c1.6,0,3.1-0.6,4.2-1.5l2.8,2.8c0.1,0.1,0.3,0.2,0.5,0.2s0.4-0.1,0.5-0.2C15.1,14.5,15.1,14,14.8,13.7z M1.5,6.8c0-2.9,2.4-5.2,5.2-5.2S12,3.9,12,6.8S9.6,12,6.8,12S1.5,9.6,1.5,6.8z"/></svg></button>
1686</div></div></div></div></div><div data-device="mobile"><div data-row="middle" data-column-set="2"><div class="ct-container"><div data-column="start" data-placements="1"><div data-items="primary">
1687<div	class="site-branding"
1688	data-id="logo"	data-logo="top"	>
1689
1690			<a href="https://diamant-strass-dmc.com/" class="site-logo-container" rel="home" itemprop="url" ><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-70.webp 70w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-70-50x50.webp 50w" sizes="(max-width: 70px) 100v
1690w, 70px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-70.webp" height="70" width="70" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-70.webp 70w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/logov2-diamantstrassdmc-70-50x50.webp 50w" sizes="(max-width: 70px) 100vw, 70px" class="default-logo sp-no-webp" alt="Diamant Strass DMC" decoding="async" data-xoowscfly="fly"  > </picture></a>	
1691			<div class="site-title-container">
1692			<span class="site-title "><a href="https://diamant-strass-dmc.com/" rel="home" > </a></span>					</div>
1693	  </div>
1694
1695</div></div><div data-column="end" data-placements="1"><div data-items="primary">
1696<button
1697	class="ct-header-trigger ct-toggle "
1698	data-toggle-panel="#offcanvas"
1699	aria-controls="offcanvas"
1700	data-design="simple"
1701	data-label="right"
1702	aria-label="Menu"
1703	data-id="trigger">
1704
1705	<span class="ct-label ct-hidden-sm ct-hidden-md ct-hidden-lg" aria-hidden="true">Menu</span>
1706
1707	<svg class="ct-icon" width="18" height="14" viewBox="0 0 18 14" data-type="type-1" aria-hidden="true">
1708		<rect y="0.00" width="18" height="1.7" rx="1"/>
1709		<rect y="6.15" width="18" height="1.7" rx="1"/>
1710		<rect y="12.3" width="18" height="1.7" rx="1"/>
1711	</svg></button>
1712</div></div></div></div></div></header>
1713	<main id="main" class="site-main hfeed" itemscope="itemscope" itemtype="https://schema.org/CreativeWork">
1714
1715		<div class="scroll-menu-container"><div class="liens-couleurs"><a href="/diamants-par-couleur/">🎨 Couleurs</a>
1716            <a href="/code-couleur-nuancier-dmc/">🌈 Nuancier</a>
1717            <a class="bouton_avis" href="https://king-avis.com/fr/merchant/profile/5eba1c2bb10d7dd7ed5176f645ff16fde94a96b5/" target="_blank" rel="noopener">⭐ Avis clients</a>
1718            <a class="boutons_2" href="/couleur/accessoires/">🖊️ Accessoires</a>
1719            <a class="boutons_2" href="/couleur/diamants-ab/?filters=filtres%5B7162-7166-7168%5D">✨ Strass AB</a>
1720            <a class="boutons_2" href="/couleur/diamond-painting-documents-pdf-telecharger-imprimer/">📁 Documents</a>
1721            <a class="boutons_3" href="/perles-broderie/sachet-de-perles-pour-diamond-painting-200-diamants/">⚡ Commande rapide</a>
1722            <a class="boutons_3" href="/diamond-painting-couleurs-dmc-proches-remplacement/">🔀 Outil couleurs proches</a></div></div>
1723	<div class="ct-container-full" data-content="normal"  data-vertical-spacing="top:bottom"><article class="post-72384">
1724<div class="hero-section is-width-constrained" data-type="type-1">
1725			<header class="entry-header">
1726			
1727			
1728
1729				</header>
1730	</div>
1731					
1732			<div class="woocommerce-notices-wrapper"></div><div id="product-72384" class="product type-product post-72384 status-publish first instock product_cat-accessoires product_cat-custom has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes ct-default-gallery">
1733
1734	<div class="product-entry-wrapper is-width-constrained"><div  class="summary entry-summary entry-summary-items entry-summary entry-summary-items-items product-title-mobile-wrap"><h1 class="product_title entry-title">Mon diamond painting personnalisé</h1></div>
1735	<div  class="summary entry-summary entry-summary-items">
1736		<h1 class="product_title entry-title">Mon diamond painting personnalisé</h1><p class="price"><span class="aelia_product_price" data-product_id="72384"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>22.40</bdi></span></span></p>
1737<div class="woocommerce-product-details__short-description">
1738	<div class="bf-banner">
1739<div class="bf-banner-inner">
1740     <span class="bf-label"><br />
1741      <span class="bf-label-emoji">🖤🔥</span><br />
1742      <span>Black Friday</span><br />
1743    </span><br />
1744    <span class="bf-badge">-50%</span><br />
1745    <span class="bf-text">sur toutes les toiles</span>
1746  </div>
1747</div>
1748<p class="dp3">🖼️ Votre photo transformée en DP</p>
1749<p class="dp3">📸 Aperçu instantané du rendu</p>
1750<p class="dp3">✅ Tout inclus : perles, colle, stylo…</p>
1751<p class="dp4">✨ Créez votre image grâce à l’IA.</p>
1752</div>
1753<span class="ct-product-divider" data-id="divider_1"></span><div class="ct-product-add-to-cart">
1754<form class="variations_form cart" action="https://diamant-strass-dmc.com/perles-broderie/custom-diamond-painting-personnalise-photo/" method="post" enctype='multipart/form-data' data-product_id="72384" data-product_variations="false">
1755	<div data-product_id="72384" data-threshold_min="0" data-threshold_max="100" data-total="46">
1756			<table class="variations" cellspacing="0" role="presentation">
1757			<tbody>
1758									<tr>
1759						<th class="label"><label for="taille">Taille</label></th>
1760						<td class="value">
1761							<select style="display:none" id="taille" class=" woo-variation-raw-select" name="attribute_taille" data-attribute_name="attribute_taille" data-show_option_none="yes"><option value="">Choisir une option</option><option value="30 x 30 cm" >30 x 30 cm</option><option value="40 x 40 cm" >40 x 40 cm</option><option value="50 x 50 cm" >50 x 50 cm</option><option value="60 x 60 cm" >60 x 60 cm</option><option value="70 x 70 cm" >70 x 70 cm</option><option value="80 x 80 cm" >80 x 80 cm</option><option value="90 x 90 cm" >90 x 90 cm</option><option value="100 x 100 cm" >100 x 100 cm</option><option value="45 x 30 cm" >45 x 30 cm</option><option value="60 x 40 cm" >60 x 40 cm</option><option value="90 x 60 cm" >90 x 60 cm</option><option value="120 x 80 cm" >120 x 80 cm</option><option value="50 x 40 cm" >50 x 40 cm</option><option value="70 x 50 cm" >70 x 50 cm</option><option value="100 x 70 cm" >100 x 70 cm</option><option value="30 x 45 cm" >30 x 45 cm</option><option value="40 x 60 cm" >40 x 60 cm</option><option value="60 x 90 cm" >60 x 90 cm</option><option value="80 x 120 cm" >80 x 120 cm</option><option value="30 x 40 cm"  selected='selected'>30 x 40 cm</option><option value="40 x 50 cm" >40 x 50 cm</option><option value="50 x 70 cm" >50 x 70 cm</option><option value="70 x 100 cm" >70 x 100 cm</option></select><ul role="radiogroup" aria-label="Taille" class="variable-items-wrapper button-variable-items-wrapper wvs-style-squared" data-attribute_name="attribute_taille" data-attribute_values="[&quot;30 x 30 cm&quot;,&quot;40 x 40 cm&quot;,&quot;50 x 50 cm&quot;,&quot;60 x 60 cm&quot;,&quot;70 x 70 cm&quot;,&quot;80 x 80 cm&quot;,&quot;90 x 90 cm&quot;,&quot;100 x 100 cm&quot;,&quot;45 x 30 cm&quot;,&quot;60 x 40 cm&quot;,&quot;90 x 60 cm&quot;,&quot;120 x 80 cm&quot;,&quot;50 x 40 cm&quot;,&quot;70 x 50 cm&quot;,&quot;100 x 70 cm&quot;,&quot;30 x 45 cm&quot;,&quot;40 x 60 cm&quot;,&quot;60 x 90 cm&quot;,&quot;80 x 120 cm&quot;,&quot;30 x 40 cm&quot;,&quot;40 x 50 cm&quot;,&quot;50 x 70 cm&quot;,&quot;70 x 100 cm&quot;]"><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-30-x-30-cm " title="30 x 30 cm" data-title="30 x 30 cm" data-value="30 x 30 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">
176130 x 30 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-40-x-40-cm " title="40 x 40 cm" data-title="40 x 40 cm" data-value="40 x 40 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">40 x 40 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-50-x-50-cm " title="50 x 50 cm" data-title="50 x 50 cm" data-value="50 x 50 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">50 x 50 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-60-x-60-cm " title="60 x 60 cm" data-title="60 x 60 cm" data-value="60 x 60 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">60 x 60 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-70-x-70-cm " title="70 x 70 cm" data-title="70 x 70 cm" data-value="70 x 70 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">70 x 70 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-80-x-80-cm " title="80 x 80 cm" data-title="80 x 80 cm" data-value="80 x 80 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">80 x 80 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-90-x-90-cm " title="90 x 90 cm" data-title="90 x 90 cm" data-value="90 x 90 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">90 x 90 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-100-x-100-cm " title="100 x 100 cm" data-title="100 x 100 cm" data-value="100 x 100 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">100 x 100 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-45-x-30-cm " title="45 x 30 cm" data-title="45 x 30 cm" data-value="45 x 30 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">45 x 30 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-60-x-40-cm " title="60 x 40 cm" data-title="60 x 40 cm" data-value="60 x 40 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">60 x 40 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-90-x-60-cm " title="90 x 60 cm" data-title="90 x 60 cm" data-value="90 x 60 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">90 x 60 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-120-x-80-cm " title="120 x 80 cm" data-title="120 x 80 cm" data-value="120 x 80 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">120 x 80 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-50-x-40-cm " title="50 x 40 cm" data-title="50 x 40 cm" data-value="50 x 40 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">
176150 x 40 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-70-x-50-cm " title="70 x 50 cm" data-title="70 x 50 cm" data-value="70 x 50 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">70 x 50 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-100-x-70-cm " title="100 x 70 cm" data-title="100 x 70 cm" data-value="100 x 70 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">100 x 70 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-30-x-45-cm " title="30 x 45 cm" data-title="30 x 45 cm" data-value="30 x 45 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">30 x 45 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-40-x-60-cm " title="40 x 60 cm" data-title="40 x 60 cm" data-value="40 x 60 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">40 x 60 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-60-x-90-cm " title="60 x 90 cm" data-title="60 x 90 cm" data-value="60 x 90 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">60 x 90 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-80-x-120-cm " title="80 x 120 cm" data-title="80 x 120 cm" data-value="80 x 120 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">80 x 120 cm</span></div></li><li aria-checked="true" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-30-x-40-cm selected" title="30 x 40 cm" data-title="30 x 40 cm" data-value="30 x 40 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">30 x 40 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-40-x-50-cm " title="40 x 50 cm" data-title="40 x 50 cm" data-value="40 x 50 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">40 x 50 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-50-x-70-cm " title="50 x 70 cm" data-title="50 x 70 cm" data-value="50 x 70 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">50 x 70 cm</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_taille" class="variable-item button-variable-item button-variable-item-70-x-100-cm " title="70 x 100 cm" data-title="70 x 100 cm" data-value="70 x 100 cm" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">70 x 100 cm</span></div></li></ul>						</td>
1762					</tr>
1763									<tr>
1764						<th class="label"><label for="forme-des-diamants">Forme des diamants</label></th>
1765						<td class="value">
1766							<select style="display:none" id="forme-des-diamants" class=" woo-variation-raw-select" name="attribute_forme-des-diamants" data-attribute_name="attribute_forme-des-diamants" data-show_option_none="yes"><option value="">Choisir une option</option><option value="Carrés"  selected='selected'>Carrés</option><option value="Ronds" >Ronds</option></select><ul role="radiogroup" aria-label="Forme des diamants" class="variable-items-wrapper button-variable-items-wrapper wvs-style-squared" data-attribute_name="attribute_forme-des-diamants" data-attribute_values="[&quot;Carr\u00e9s&quot;,&quot;Ronds&quot;]"><li aria-checked="true" tabindex="0" data-attribute_name="attribute_forme-des-diamants" class="variable-item button-variable-item button-variable-item-carres selected" title="Carrés" data-title="Carrés" data-value="Carrés" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">Carrés</span></div></li><li aria-checked="false" tabindex="0" data-attribute_name="attribute_forme-des-diamants" class="variable-item button-variable-item button-variable-item-ronds " title="Ronds" data-title="Ronds" data-value="Ronds" role="radio" tabindex="0"><div class="variable-item-contents"><span class="variable-item-span variable-item-span-button">Ronds</span></div></li></ul>						</td>
1767					</tr>
1768							</tbody>
1769		</table>
1770		<div class="reset_variations_alert screen-reader-text" role="alert" aria-live="polite" aria-relevant="all"></div>
1771				
1772		<div class="single_variation_wrap">
1773			<div class="woocommerce-variation single_variation" role="alert" aria-relevant="additions"></div><div class="woocommerce-variation-add-to-cart variations_button">
1774	    <div class="jdmc-ai-wrapper">
1775
1776        <!-- BLOC IMPORT DIRECT (champ 1) -->
1777        <div class="jdmc-ai-direct-block jdmc-ai-collapsible jdmc-ai-collapsed">
1778            <div class="jdmc-ai-collapsible-header">
1779                <div class="jdmc-ai-header-main">
1780                                            <picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-diamond-painting-personnalise.avif "  type="image/avif"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-diamond-painting-personnalise.jpg" class="jdmc-ai-header-thumb sp-no-webp" alt="J’ai déjà mon image"  > </picture>
1781                    <p class="jdmc-ai-direct-title" style="font-size:17px;color:#414141;">
1782    J’ai déjà ma photo ou image
1783</p>
1784                </div>
1785                <span class="jdmc-ai-collapsible-arrow">▼</span>
1786            </div>
1787
1788            <div class="jdmc-ai-collapsible-body">
1789                <p class="jdmc-ai-direct-text">
1790                    Si vous avez déjà une image à reproduire telle quelle, importez-la simplement ici.
1791                </p>
1792
1793                <!-- Variations pour l'option "j'ai déjà mon image" -->
1794                <div class="jdmc-ai-variations-part jdmc-ai-variations-part-direct">
1795                    <!-- Forme des diamants – zone DIRECT -->
1796                    <div class="jdmc-ai-forme-wrapper jdmc-ai-forme-wrapper-direct">
1797                        <p class="jdmc-ai-forme-title">Forme des diamants</p>
1798                        <div class="jdmc-ai-forme-swatches jdmc-ai-forme-swatches-direct">
1799                            <!-- Swatches clonés en JS -->
1800                        </div>
1801                    </div>
1802
1803                    <!-- Dimensions DIRECT -->
1804                    <div class="jdmc-ai-dimensions-wrapper jdmc-ai-dimensions-wrapper-direct">
1805                        <p class="jdmc-ai-dimensions-title">Dimensions de la toile</p>
1806
1807                        <div class="jdmc-ai-size-zones jdmc-ai-size-zones-direct">
1808                            <div class="jdmc-ai-size-zone">
1809                                <p class="jdmc-ai-size-zone-title">Formats carrés</p>
1810                                <select class="jdmc-ai-taille-select jdmc-ai-taille-select-direct jdmc-ai-taille-select-square">
1811                                    <!-- Rempli en JS -->
1812                                </select>
1813                            </div>
1814
1815                            <div class="jdmc-ai-size-zone">
1816                                <p class="jdmc-ai-size-zone-title">Formats portrait</p>
1817                                <select class="jdmc-ai-taille-select jdmc-ai-taille-select-direct jdmc-ai-taille-select-portrait">
1818                                    <!-- Rempli en JS -->
1819                                </select>
1820                            </div>
1821
1822                            <div class="jdmc-ai-size-zone">
1823                                <p class="jdmc-ai-size-zone-title">Formats paysage</p>
1824                                <select class="jdmc-ai-taille-select jdmc-ai-taille-select-direct jdmc-ai-taille-select-paysage">
1825                                    <!-- Rempli en JS -->
1826                                </select>
1827                            </div>
1828                        </div>
1829                    </div>
1830
1831                    <!-- Photo / image à transformer en DP -->
1832                    <div class="jdmc-ai-photo-wrapper jdmc-ai-photo-wrapper-direct">
1833                        <p class="jdmc-ai-dimensions-title">Photo / image à transformer en DP</p>
1834
1835                        <input type="file" class="jdmc-ai-direct-upload" accept="image/*">
1836                        <small class="jdmc-ai-help">
1837                            Formats acceptés : JPG ou PNG (max ~64&nbsp;Mo).
1838                        </small>
1839
1840                        <p class="jdmc-ai-direct-filename" style="display:none;"></p>
1841                        <img src="" alt="Image importée" class="jdmc-ai-direct-thumb" style="display:none;">
1842
1843                        <!-- Messages + barre pour UPLOAD DIRECT (local) -->
1844                        <div class="jdmc-ai-upload-status jdmc-ai-upload-status-direct" aria-live="polite"></div>
1845                        <div class="jdmc-ai-upload-progress jdmc-ai-upload-progress-direct" style="display:none;">
1846                            <div class="jdmc-ai-upload-progress-bar"></div>
1847                        </div>
1848
1849                        <button type="button" class="jdmc-ai-remove-image jdmc-ai-remove-direct" style="display:none;">
1850                            🗑️ Supprimer cette image
1851                        </button>
1852                    </div>
1853                </div>
1854
1855                <!-- Prix dupliqué pour le bloc DIRECT (sous le bloc pointillé) -->
1856                <div class="jdmc-ai-price-duplicate jdmc-ai-price-duplicate-direct"></div>
1857            </div>
1858        </div>
1859
1860        <!-- BLOC IA -->
1861        <div class="jdmc-ai-ai-block jdmc-ai-collapsible jdmc-ai-collapsed">
1862            <div class="jdmc-ai-collapsible-header">
1863                <div class="jdmc-ai-header-main">
1864                                            <picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting.avif "  type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting.webp "  type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/custom-dp-diamond-painting.jpg" class="jdmc-ai-header-thumb sp-no-webp" alt="Créer/retoucher avec l’IA"  > </picture>
1865                    <p class="jdmc-ai-title" style="font-size:17px;color:#414141;">
1866    Je crée ou retouche mon image avec l’IA
1867</p>
1868                </div>
1869                <span class="jdmc-ai-collapsible-arrow">▼</span>
1870            </div>
1871
1872            <div class="jdmc-ai-collapsible-body">
1873                <p class="jdmc-ai-subtitle">
1874                    Choisissez si vous partez d’un texte ou d’une image, puis sélectionnez un style.
1875                </p>
1876
1877                <!-- Onglets : Texte / Image -->
1878                <div class="jdmc-ai-tabs" role="tablist">
1879                    <button type="button"
1880                            class="jdmc-ai-tab jdmc-ai-tab-active"
1881                            data-mode="prompt"
1882                            role="tab"
1883                            aria-selected="true">
1884                        À partir d’un texte
1885                    </button>
1886                    <button type="button"
1887                            class="jdmc-ai-tab"
1888                            data-mode="edit"
1889                            role="tab"
1890                            aria-selected="false">
1891                        À partir d’une image
1892                    </button>
1893                </div>
1894
1895                <div class="jdmc-ai-modes">
1896                    <!-- MODE 1 : TEXTE -->
1897                    <div class="jdmc-ai-mode jdmc-ai-mode-prompt jdmc-ai-mode-active" data-mode="prompt">
1898                        <label class="jdmc-ai-title jdmc-ai-prompt-title" for="jdmc-ai-prompt">
1899                            Je décris l'image que je souhaite créer
1900                        </label>
1901                        <textarea
1902                            id="jdmc-ai-prompt"
1903                            class="jdmc-ai-prompt"
1904                            rows="3"
1905                            placeholder="Ex : Un chat blanc sur un coussin bleu"></textarea>
1906                    </div>
1907
1908                    <!-- MODE 2 : RETOUCHE PHOTO (champ 2) -->
1909                    <div class="jdmc-ai-mode jdmc-ai-mode-edit" data-mode="edit" style="display:none;">
1910
1911                        <p class="jdmc-ai-title jdmc-ai-edit-image-title">
1912                            Je choisis la photo / image à transformer en DP
1913                        </p>
1914
1915                        <input type="file"
1916                               class="jdmc-ai-upload"
1917                               accept="image/*">
1918                        <small class="jdmc-ai-help">
1919                            Formats acceptés : JPG ou PNG (max ~64&nbsp;Mo).
1920                        </small>
1921
1922                        <img src="" alt="Image importée pour retouche"
1923                             class="jdmc-ai-edit-thumb"
1924                             style="display:none; border-radius:4px; border:1px solid #ccc; margin:6px 0;">
1925
1926                        <!-- Messages + barre pour UPLOAD IA (local) -->
1927                        <div class="jdmc-ai-upload-status jdmc-ai-upload-status-edit" aria-live="polite"></div>
1928                        <div class="jdmc-ai-upload-progress jdmc-ai-upload-progress-edit" style="display:none;">
1929                            <div class="jdmc-ai-upload-progress-bar"></div>
1930                        </div>
1931
1932                        <button type="button" class="jdmc-ai-remove-image jdmc-ai-remove-edit" style="display:none;">
1933                            🗑️ Supprimer cette image
1934                        </button>
1935
1936                        <label class="jdmc-ai-label jdmc-ai-label-edit-facultatif" for="jdmc-ai-edit-prompt">
1937                            (Facultatif) Je demande une retouche / modification
1938                        </label>
1939
1940                        <p class="jdmc-ai-title jdmc-ai-edit-title" style="display:none;">
1941                            Je demande une retouche / modification
1942                        </p>
1943
1944                        <textarea
1945                            id="jdmc-ai-edit-prompt"
1946                            class="jdmc-ai-edit-prompt"
1947                            rows="2"
1948                            style="display:none;"
1949                            placeholder="Ex : Supprime l'arbre et éclaircit le ciel"></textarea>
1950                    </div>
1951                </div>
1952
1953                <!-- Styles -->
1954                <div class="jdmc-ai-styles">
1955                    <p class="jdmc-ai-title jdmc-ai-style-transform-title">
1956                        Je transforme le style de mon image
1957                    </p>
1958
1959                    <div class="jdmc-ai-styles-prompt-text">
1960                        <p class="jdmc-ai-title jdmc-ai-styles-main-title">
1961                            Je choisis le style de mon image
1962                        </p>
1963                        <p class="jdmc-ai-label jdmc-ai-styles-examples">
1964                            Exemples avec "chien et chat dans un panier" :
1965                        </p>
1966                    </div>
1967
1968                    <div class="jdmc-ai-styles-grid">
1969                                                    <div class="jdmc-style-option"
1970                                 data-style-key="none">
1971                                <div class="jdmc-style-image-wrapper jdmc-style-image-wrapper-none">
1972                                                                            <div class="jdmc-style-none-icon">⛔</div>
1973                                                                    </div>
1974                                <div class="jdmc-style-label">
1975                                    Ne pas modifier                                </div>
1976                            </div>
1977                                                    <div class="jdmc-style-option jdmc-ai-style-active"
1978                                 data-style-key="realistic">
1979                                <div class="jdmc-style-image-wrapper ">
1980                                                                            <img src="https://diamant-strass-dmc.com/wp-content/uploads/ai-styles/style-realistic.jpg"
1981                                             alt="Photo réaliste">
1982                                                                    </div>
1983                                <div class="jdmc-style-label">
1984                                    Photo réaliste                                </div>
1985                            </div>
1986                                                    <div class="jdmc-style-option"
1987                                 data-style-key="galaxy">
1988                                <div class="jdmc-style-image-wrapper ">
1989                                                                            <img src="https://diamant-strass-dmc.com/wp-content/uploads/ai-styles/style-galaxy.jpg"
1990                                             alt="Fluo">
1991                                                                    </div>
1992                                <div class="jdmc-style-label">
1993                                    Fluo                                </div>
1994                            </div>
1995                                                    <div class="jdmc-style-option"
1996                                 data-style-key="fairytale">
1997                                <div class="jdmc-style-image-wrapper ">
1998                                                                            <img src="https://diamant-strass-dmc.com/wp-content/uploads/ai-styles/style-fairytale.jpg"
1999                                             alt="Féerique">
2000                                                                    </div>
2001                                <div class="jdmc-style-label">
2002                                    Féerique                                </div>
2003                            </div>
2004                                                    <div class="jdmc-style-option"
2005                                 data-style-key="manga">
2006                                <div class="jdmc-style-image-wrapper ">
2007                                                                            <img src="https://diamant-strass-dmc.com/wp-content/uploads/ai-styles/style-manga.jpg"
2008                                             alt="Manga">
2009                                                                    </div>
2010                                <div class="jdmc-style-label">
2011                                    Manga                                </div>
2012                            </div>
2013                                                    <div class="jdmc-style-option"
2014                                 data-style-key="watercolor">
2015                                <div class="jdmc-style-image-wrapper ">
2016                                                                            <img src="https://diamant-strass-dmc.com/wp-content/uploads/ai-styles/style-watercolor.jpg"
2017                                             alt="Aquarelle">
2018                                                                    </div>
2019                                <div class="jdmc-style-label">
2020                                    Aquarelle                                </div>
2021                            </div>
2022                                                    <div class="jdmc-style-option"
2023                                 data-style-key="cartoon">
2024                                <div class="jdmc-style-image-wrapper ">
2025                                                                            <img src="https://diamant-strass-dmc.com/wp-content/uploads/ai-styles/style-cartoon.jpg"
2026                                             alt="Dessin animé">
2027                                                                    </div>
2028                                <div class="jdmc-style-label">
2029                                    Dessin animé                                </div>
2030                            </div>
2031                                                    <div class="jdmc-style-option"
2032                                 data-style-key="abstract">
2033                                <div class="jdmc-style-image-wrapper ">
2034                                                                            <img src="https://diamant-strass-dmc.com/wp-content/uploads/ai-styles/style-abstract.jpg"
2035                                             alt="Abstrait">
2036                                                                    </div>
2037                                <div class="jdmc-style-label">
2038                                    Abstrait                                </div>
2039                            </div>
2040                                            </div>
2041                </div>
2042
2043                <!-- Variations pour l'option "je génère mon image" (sous les styles) -->
2044                <div class="jdmc-ai-variations-part jdmc-ai-variations-part-ia">
2045                    <!-- Forme des diamants – zone IA -->
2046                    <div class="jdmc-ai-forme-wrapper jdmc-ai-forme-wrapper-ia">
2047                        <p class="jdmc-ai-forme-title">Forme des diamants</p>
2048                        <div class="jdmc-ai-forme-swatches jdmc-ai-forme-swatches-ia">
2049                            <!-- Swatches clonés en JS -->
2050                        </div>
2051                    </div>
2052
2053                    <!-- Dimensions IA -->
2054                    <div class="jdmc-ai-dimensions-wrapper jdmc-ai-dimensions-wrapper-ia">
2055                        <p class="jdmc-ai-dimensions-title">Dimensions de la toile</p>
2056
2057                        <div class="jdmc-ai-size-zones jdmc-ai-size-zones-ia">
2058                            <div class="jdmc-ai-size-zone">
2059                                <p class="jdmc-ai-size-zone-title">Formats carrés (IA)</p>
2060                                <select class="jdmc-ai-taille-select jdmc-ai-taille-select-ia jdmc-ai-taille-select-square">
2061                                    <!-- Rempli en JS -->
2062                                </select>
2063                            </div>
2064
2065                            <div class="jdmc-ai-size-zone">
2066                                <p class="jdmc-ai-size-zone-title">Formats portrait (IA)</p>
2067                                <select class="jdmc-ai-taille-select jdmc-ai-taille-select-ia jdmc-ai-taille-select-portrait">
2068                                    <!-- Rempli en JS -->
2069                                </select>
2070                            </div>
2071
2072                            <div class="jdmc-ai-size-zone">
2073                                <p class="jdmc-ai-size-zone-title">Formats paysage (IA)</p>
2074                                <select class="jdmc-ai-taille-select jdmc-ai-taille-select-ia jdmc-ai-taille-select-paysage">
2075                                    <!-- Rempli en JS -->
2076                                </select>
2077                            </div>
2078                        </div>
2079                    </div>
2080                </div>
2081
2082                <button type="button" class="button jdmc-ai-generate-btn">
2083                    Générer l’image avec l’IA
2084                </button>
2085
2086                <!-- Barre de progression IA (indéterminée, pour la génération IA) -->
2087                <div class="jdmc-ai-progress" style="display:none;">
2088                    <div class="jdmc-ai-progress-bar"></div>
2089                </div>
2090
2091                <!-- Statut IA uniquement (erreurs/génération IA) -->
2092                <div class="jdmc-ai-status" aria-live="polite"></div>
2093
2094                <!-- Aperçu IA -->
2095                <div class="jdmc-ai-preview" style="display:none;">
2096                    <p class="jdmc-ai-label">Aperçu de l’image générée :</p>
2097                    <img src="" alt="Prévisualisation image IA">
2098                    <button type="button" class="jdmc-ai-remove-image jdmc-ai-remove-preview" style="display:none; margin-top:6px;">
2099                        🗑️ Supprimer cette image
2100                    </button>
2101                </div>
2102            </div>
2103        </div>
2104
2105        <!-- SECTION : récap + qté/bouton -->
2106        <div class="jdmc-ai-validate-block">
2107            <p class="jdmc-ai-title jdmc-ai-validate-title">
2108                ✔ Je valide mon diamond painting
2109            </p>
2110
2111            <!-- Prix dupliqué en bas (récap) -->
2112            <div class="jdmc-ai-price-duplicate jdmc-ai-price-duplicate-bottom"></div>
2113
2114            <div class="jdmc-ai-recap">
2115                <p class="jdmc-ai-recap-line jdmc-ai-recap-forme">
2116                    <span class="jdmc-ai-recap-label">Forme des diamants :</span>
2117                    <span class="jdmc-ai-recap-value jdmc-ai-recap-forme-value">—</span>
2118                </p>
2119                <p class="jdmc-ai-recap-line jdmc-ai-recap-taille">
2120                    <span class="jdmc-ai-recap-label">Taille du diamond painting :</span>
2121                    <span class="jdmc-ai-recap-value jdmc-ai-recap-taille-value">—</span>
2122                </p>
2123                <p class="jdmc-ai-recap-line jdmc-ai-recap-style">
2124                    <span class="jdmc-ai-recap-label">Style d’image :</span>
2125                    <span class="jdmc-ai-recap-value jdmc-ai-recap-style-value"></span>
2126                </p>
2127                <p class="jdmc-ai-recap-line jdmc-ai-recap-image">
2128                    <span class="jdmc-ai-recap-label">Image :</span>
2129                    <span class="jdmc-ai-recap-value jdmc-ai-recap-image-value">
2130                        <img src="" alt="Image choisie" class="jdmc-ai-recap-image-thumb" style="display:none;">
2131                    </span>
2132                </p>
2133                <button type="button" class="jdmc-ai-remove-image jdmc-ai-remove-recap" style="display:none; margin-top:4px;">
2134                    🗑️ Supprimer cette image
2135                </button>
2136            </div>
2137
2138            <!-- MESSAGES + BARRE EN BAS (global) -->
2139            <div class="jdmc-ai-global-status" aria-live="polite"></div>
2140
2141            <div class="jdmc-ai-upload-progress jdmc-ai-upload-progress-bottom" style="display:none;">
2142                <div class="jdmc-ai-upload-progress-bar"></div>
2143            </div>
2144
2145            <div class="jdmc-ai-cart-row">
2146                <!-- qté + bouton ajout panier -->
2147            </div>
2148        </div>
2149
2150    </div>
2151
2152    <input type="hidden"
2153           name="jdmc_ai_attachment_id"
2154           class="jdmc-ai-attachment-id"
2155           value="">
2156<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/cropper.min.css">
2157
2158   <style>
2159   .woocommerce-product-details__short-description p {
2160        margin-bottom: 0;
2161    }
2162
2163    /* Centrer la colonne summary uniquement sur ces produits */
2164    .single-product.jdmc-ai-dp-perso .product .summary {
2165        max-width: 900px;
2166        margin: 0 auto;
2167    }
2168
2169    .jdmc-ai-wrapper {
2170        margin: 0 auto;
2171        padding: 0;
2172        border: none;
2173        background: transparent;
2174        max-width: 760px;
2175    }
2176
2177    .jdmc-ai-direct-block,
2178    .jdmc-ai-ai-block,
2179    .jdmc-ai-validate-block,
2180    .jdmc-ai-variations-block {
2181        margin: 0 auto 16px;
2182        padding: 14px 16px 10px;
2183        border-radius: 10px;
2184        background: #F2ECFF;
2185        border: 1px solid #170048;
2186        box-shadow: 0 3px 6px rgba(11, 99, 176, 0.08);
2187    }
2188
2189    .jdmc-ai-direct-title,
2190    .jdmc-ai-title {
2191        margin: 0 0 6px;
2192        font-size: 16px;
2193        font-weight: 700;
2194        color: #840074;
2195        display:flex;
2196        align-items:center;
2197        gap:4px;
2198    }
2199
2200    .jdmc-ai-validate-title {
2201        margin-top: 0;
2202    }
2203
2204    .jdmc-ai-style-transform-title {
2205        margin: 0 0 6px;
2206        display: none;
2207    }
2208
2209    .jdmc-ai-direct-text,
2210    .jdmc-ai-subtitle {
2211        margin: 0 0 10px;
2212        font-size: 13px;
2213        color: #555;
2214    }
2215
2216    .jdmc-ai-label {
2217        font-size: 13px;
2218        margin: 6px 0 10px;
2219        font-weight: 600;
2220        color: #333;
2221    }
2222
2223    .jdmc-ai-prompt,
2224    .jdmc-ai-edit-prompt {
2225        width: 100%;
2226        box-sizing: border-box;
2227        font-size: 13px;
2228        padding: 6px;
2229        border-radius: 3px;
2230        border: 1px solid #ccc;
2231        resize: vertical;
2232        background: #fff !important;
2233        margin-top:3px;
2234    }
2235
2236    .jdmc-ai-upload,
2237    .jdmc-ai-direct-upload {
2238        display: block;
2239        margin: 2px 0 4px;
2240        font-size: 13px;
2241    }
2242
2243    .jdmc-ai-help {
2244        display: block;
2245        font-size: 11px;
2246        color: #666;
2247        margin-bottom: 4px;
2248    }
2249
2250    .jdmc-ai-tabs {
2251        display: flex;
2252        margin-bottom: 10px;
2253        border: 1px solid #170048;
2254        border-radius: 6px;
2255        overflow: hidden;
2256    }
2257
2258    .jdmc-ai-tab {
2259        flex: 1;
2260        padding: 6px 8px;
2261        font-size: 13px;
2262        background: #f5f7fb;
2263        color: #333;
2264        border: 0;
2265        border-right: 1px solid #170048;
2266        cursor: pointer;
2267        text-align: center;
2268        transition: background 0.15s, color 0.15s;
2269    }
2270
2271    .jdmc-ai-tab:last-child {
2272        border-right: 0;
2273    }
2274
2275    .jdmc-ai-tab.jdmc-ai-tab-active {
2276        background: #6319FF;
2277        color: #fff;
2278    }
2279
2280    .jdmc-ai-styles {
2281        margin-top: 10px;
2282        margin-bottom: 10px;
2283    }
2284
2285    .jdmc-ai-styles-grid {
2286        display: grid;
2287        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
2288        gap: 10px;
2289        align-items: stretch;
2290    }
2291
2292    .jdmc-style-option {
2293        border: 1px solid #ccd2e0;
2294        border-radius: 8px;
2295        padding: 6px;
2296        cursor: pointer;
2297        display: flex;
2298        flex-direction: column;
2299        gap: 4px;
2300        background: #ffffff;
2301        transition: box-shadow 0.15s, border-color 0.15s, transform 0.1s;
2302        position: relative;
2303    }
2304
2305    .jdmc-style-option:hover {
2306        border-color: #8f9bb8;
2307        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.1);
2308        transform: translateY(-1px);
2309    }
2310
2311    .jdmc-style-image-wrapper {
2312        position: relative;
2313        width: 100%;
2314        padding-top: 100%;
2315        border-radius: 6px;
2316        overflow: hidden;
2317        border: 1px solid #dde1ee;
2318        box-sizing: border-box;
2319        background: #fff;
2320    }
2321
2322    .jdmc-style-image-wrapper img {
2323        position: absolute;
2324        top: 0;
2325        left: 0;
2326        width: 100%;
2327        height: 100%;
2328        object-fit: contain;
2329        background: #fff;
2330    }
2331
2332    .jdmc-style-image-wrapper-none {
2333        background: #fff5f5;
2334        border-color: #f5b5b5;
2335    }
2336
2337    .jdmc-style-none-icon {
2338        position: absolute;
2339        inset: 0;
2340        display: flex;
2341        align-items: center;
2342        justify-content: center;
2343        font-size: 32px;
2344        line-height: 1;
2345        color: #c0392b;
2346    }
2347
2348    .jdmc-style-label {
2349        padding: 4px 2px 2px;
2350        font-size: 13px;
2351        font-weight: 600;
2352        color: #333;
2353        text-align: center;
2354    }
2355
2356    .jdmc-ai-generate-btn {
2357        margin-top: 8px;
2358        background:#6319FF !important;
2359    }
2360
2361    .jdmc-ai-generate-btn:hover {
2362        background:#094984 !important;
2363    }
2364
2365    .jdmc-ai-status {
2366        margin-top: 6px;
2367        font-size: 12px;
2368        color: #333;
2369    }
2370
2371    .jdmc-ai-preview {
2372        margin-top: 10px;
2373    }
2374
2375    .jdmc-ai-preview img {
2376        max-width: 100%;
2377        height: auto;
2378        border: 1px solid #eee;
2379        border-radius: 4px;
2380    }
2381
2382/* JDMC Gallery layout fix */
2383.jdmc-ai-gallery { margin-top: 10px; }
2384.jdmc-ai-gallery .jdmc-ai-gallery-list { display: flex; flex-wrap: wrap; gap: 8px; }
2385.jdmc-ai-thumb { position: relative; display: inline-block; width: 84px; border: 1px dashed #cfcfcf; border-radius: 6px; padding: 4px; cursor: pointer; user-select: none; box-sizing: border-box; }
2386.jdmc-ai-thumb img { display: block; width: 100%; height: auto; border-radius: 4px; }
2387.jdmc-ai-thumb .jdmc-ai-thumb-check { position: absolute; top: 6px; left: 6px; width: 18px; height: 18px; border-radius: 3px; background: #fff; border: 1px solid #888; display:flex; align-items:center; justify-content:center; font-size: 12px; line-height: 1; color: #111; }
2388.jdmc-ai-thumb.jdmc-selected { border-color: #6ca6ff; background: #f3f8ff; }
2389.jdmc-ai-thumb.jdmc-selected .jdmc-ai-thumb-check { border-color:#2b6cff; background:#2b6cff; color:#fff; }
2390
2391
2392    @media (max-width: 480px) {
2393        .jdmc-ai-direct-block,
2394        .jdmc-ai-ai-block,
2395        .jdmc-ai-validate-block,
2396        .jdmc-ai-variations-block {
2397            padding: 12px 12px 14px;
2398        }
2399    }
2400
2401    form.variations_form table.variations tr {
2402        gap:0;
2403    }
2404
2405    form.variations_form .single_variation .price,
2406    form.variations_form .woocommerce-variation-price .price {
2407        display: none !important;
2408    }
2409
2410    .woo-selected-variation-item-name {
2411        display: none !important;
2412    }
2413
2414    .impossimage {
2415        display: none !important;
2416    }
2417
2418    .jdmc-ai-direct-filename {
2419        font-size: 12px;
2420        color: #444;
2421        margin: 4px 0 4px;
2422        word-break: break-all;
2423    }
2424
2425    .jdmc-ai-recap-image-thumb {
2426        max-width: 80px;
2427		max-height: 80px;
2428        border-radius: 4px;
2429        border: 1px solid #ccc;
2430        display: block;
2431        margin-bottom: 6px;
2432    }
2433
2434    .jdmc-ai-price-duplicate {
2435        margin: 4px 0 4px;
2436        font-size: 14px;
2437    }
2438
2439    .jdmc-ai-price-duplicate .price {
2440        margin-bottom: 0;
2441    }
2442
2443    .jdmc-ai-price-duplicate-direct {
2444        margin-top: 2px;
2445    }
2446
2447    .jdmc-ai-recap {
2448        font-size: 15px;
2449        color: #444;
2450        margin: 0 0 8px;
2451    }
2452
2453    .jdmc-ai-recap-line {
2454        margin: 0 0 3px;
2455    }
2456
2457    .jdmc-ai-recap-label {
2458        font-weight: 600;
2459        margin-right: 4px;
2460    }
2461
2462    .jdmc-ai-cart-row {
2463        display: flex;
2464        align-items: center;
2465        gap: 12px;
2466        flex-wrap: wrap;
2467        padding-top: 6px;
2468    }
2469
2470    .jdmc-ai-cart-row .quantity {
2471        margin: 0 !important;
2472        background:#fff;
2473    }
2474
2475    div.quantity[data-type] input[type=number] {
2476        font-weight:bold;
2477    }
2478
2479    .jdmc-ai-add-to-cart-disabled {
2480        opacity: 0.5;
2481        cursor: not-allowed !important;
2482        pointer-events: none;
2483    }
2484
2485    /* Barre IA (génération) */
2486    .jdmc-ai-progress {
2487        margin-top: 8px;
2488        height: 6px;
2489        border-radius: 999px;
2490        background: #d0e3f8;
2491        overflow: hidden;
2492    }
2493
2494    .jdmc-ai-progress-bar {
2495        height: 100%;
2496        width: 40%;
2497        background: #6319FF;
2498        border-radius: 999px;
2499        animation: jdmc-ai-progress-indeterminate 1.1s infinite linear;
2500        transform-origin: left center;
2501    }
2502
2503    @keyframes jdmc-ai-progress-indeterminate {
2504        0% { transform: translateX(-100%); }
2505        100% { transform: translateX(250%); }
2506    }
2507
2508    /* Barre d'upload (direct, IA et bas) */
2509    .jdmc-ai-upload-progress {
2510        margin: 4px 0 6px;
2511        height: 6px;
2512        border-radius: 999px;
2513        background: #d0e3f8;
2514        overflow: hidden;
2515    }
2516
2517    .jdmc-ai-upload-progress-bar {
2518        height: 100%;
2519        width: 40%;
2520        background: #6319FF;
2521        border-radius: 999px;
2522        animation: jdmc-ai-progress-indeterminate 1.1s infinite linear;
2523        transform-origin: left center;
2524    }
2525
2526    .jdmc-ai-upload-status {
2527        font-size: 12px;
2528        margin: 4px 0 4px;
2529        min-height: 1em;
2530        color: #333;
2531    }
2532
2533    .jdmc-ai-upload-status.jdmc-ai-has-error {
2534        color: #c00;
2535    }
2536
2537    .jdmc-ai-global-status {
2538        font-size: 12px;
2539        margin: 4px 0 6px;
2540        min-height: 1em;
2541        color: #333;
2542    }
2543
2544    .jdmc-ai-global-status.jdmc-ai-has-error {
2545        color: #c00;
2546    }
2547
2548    .jdmc-ai-label-edit-facultatif {
2549        cursor: pointer;
2550        position: relative;
2551        display: inline-flex;
2552        align-items: center;
2553        gap: 8px;
2554        padding: 6px 10px;
2555        margin-top: 10px;
2556        border-radius: 999px;
2557        border: 1px dashed #6319FF;
2558        background: #f3f7ff;
2559        font-size: 13px;
2560    }
2561    .jdmc-ai-label-edit-facultatif::after {
2562        content: "▾";
2563        flex: 0 0 auto;
2564        width: 20px;
2565        height: 20px;
2566        border-radius: 999px;
2567        border: 1px solid #170048;
2568        display: flex;
2569        align-items: center;
2570        justify-content: center;
2571        font-size: 14px;
2572        color: #D100B7;
2573        background: #fff;
2574        transition: transform 0.15s ease, background 0.15s ease;
2575    }
2576    .jdmc-ai-label-edit-facultatif.jdmc-ai-edit-open::after {
2577        transform: rotate(180deg);
2578        background: #e0edff;
2579    }
2580    .jdmc-ai-label-edit-facultatif:hover {
2581        background: #e0edff;
2582    }
2583    .jdmc-ai-label-edit-facultatif:hover::after {
2584        background: #e0edff;
2585    }
2586
2587    .jdmc-style-option.jdmc-ai-style-active {
2588        position: relative;
2589        border-color: #6319FF !important;
2590        border-width: 2px;
2591        background: #fff !important;
2592        box-shadow: 0 0 10px rgba(11, 99, 176, 0.35);
2593        transform: translateY(-2px);
2594    }
2595    .jdmc-style-option.jdmc-ai-style-active::after {
2596        content: "✔";
2597        position: absolute;
2598        top: 6px;
2599        right: 7px;
2600        font-size: 16px;
2601        color: #D100B7;
2602        font-weight: 700;
2603        background:white;
2604    }
2605    .jdmc-style-option.jdmc-ai-style-active .jdmc-style-label {
2606        color: #D100B7;
2607        font-weight: 700;
2608    }
2609
2610    .jdmc-ai-remove-image {
2611        display: inline-flex;
2612        align-items: center;
2613        gap: 4px;
2614        padding: 2px 8px;
2615        font-size: 11px;
2616        border-radius: 4px;
2617        border: 1px solid #ccc;
2618        background: #f8f8f8;
2619        color: #555;
2620        cursor: pointer;
2621        margin: 0 0 6px;
2622    }
2623
2624    .jdmc-ai-remove-image:hover {
2625        background: #fbeaea;
2626        border-color: #e08;
2627        color: #a00;
2628    }
2629
2630    input[type="file"].jdmc-ai-upload,
2631    input[type="file"].jdmc-ai-direct-upload {
2632      position: relative;
2633      display: block;
2634      padding: 8px 14px;
2635      font-size: 13px;
2636      font-weight: 600;
2637      color: #fff;
2638      background-color: #6B6B6B;
2639      border: 1px solid #6B6B6B;
2640      border-radius: 6px;
2641      cursor: pointer;
2642      transition: background 0.2s ease, transform 0.1s ease;
2643    }
2644
2645    input[type="file"].jdmc-ai-upload:hover,
2646    input[type="file"].jdmc-ai-direct-upload:hover,
2647    input[type="file"].jdmc-ai-upload:focus,
2648    input[type="file"].jdmc-ai-direct-upload:focus {
2649      background-color: #094984;
2650      cursor: pointer;
2651      color: #fff;
2652      outline: none;
2653    }
2654
2655    input[type="file"].jdmc-ai-upload::-webkit-file-upload-button,
2656    input[type="file"].jdmc-ai-direct-upload::-webkit-file-upload-button {
2657      visibility: hidden;
2658    }
2659
2660    input[type="file"].jdmc-ai-upload::before,
2661    input[type="file"].jdmc-ai-direct-upload::before {
2662      content: "📁 Choisir une photo / image";
2663      position: absolute;
2664      left: 0;
2665      top: 0;
2666      width: 100%;
2667      height: 100%;
2668      display: flex;
2669      align-items: center;
2670      justify-content: center;
2671      background: #6B6B6B;
2672      color: #fff;
2673      border-radius: 6px;
2674      cursor: pointer;
2675      transition: background 0.2s ease;
2676      pointer-events: none;
2677    }
2678
2679    input[type="file"].jdmc-ai-upload:hover::before,
2680    input[type="file"].jdmc-ai-direct-upload:hover::before {
2681      background: #094984;
2682    }
2683
2684    input[type="file"].jdmc-ai-upload,
2685    input[type="file"].jdmc-ai-direct-upload {
2686      color: #333;
2687    }
2688
2689    .jdmc-ai-variations-part {
2690        margin: 8px 0 10px;
2691        padding: 10px 12px;
2692        border-radius: 10px;
2693        background: #f8faff;
2694        border: 1px dashed rgba(11,99,176,0.4);
2695    }
2696
2697    .jdmc-ai-dimensions-title {
2698        margin: 0 0 6px;
2699        font-size: 15px;
2700        font-weight: 600;
2701        color: #840074;
2702    }
2703	
2704	.jdmc-ai-photo-wrapper-direct .jdmc-ai-dimensions-title {
2705    margin-top: 10px;
2706}
2707
2708    .jdmc-ai-size-zones {
2709        display: grid;
2710        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
2711        gap: 8px;
2712        margin-top: 4px;
2713    }
2714
2715    .jdmc-ai-size-zone {
2716        padding: 6px 8px 8px;
2717        border-radius: 8px;
2718        background: #ffffff;
2719        border: 1px solid #d3dff2;
2720    }
2721
2722    .jdmc-ai-size-zone-title {
2723        margin: 0 0 4px;
2724        font-size: 13px;
2725        font-weight: 600;
2726        color: #000;
2727    }
2728
2729    .jdmc-ai-taille-select {
2730        width: 100% !important;
2731        box-sizing: border-box;
2732        font-size: 14px;
2733        padding: 6px 40px 6px 8px;
2734        border-radius: 3px;
2735        border: 1px solid #ccc;
2736        background-color: #fff !important;
2737        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%23333' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
2738        background-repeat: no-repeat;
2739        background-position: right 10px center;
2740        background-size: 18px 18px;
2741        -webkit-appearance: none;
2742        -moz-appearance: none;
2743        appearance: none;
2744        cursor: pointer !important;
2745    }
2746
2747    .jdmc-ai-taille-select:hover,
2748    .jdmc-ai-taille-select:focus {
2749        background-color: #fff !important;
2750        outline: none !important;
2751        box-shadow: none !important;
2752        border-color: #ccc !important;
2753        color: #333 !important;
2754    }
2755
2756    .jdmc-ai-forme-wrapper {
2757        margin: 0 0 8px;
2758    }
2759
2760    .jdmc-ai-forme-title {
2761        margin: 0 0 4px;
2762        font-size: 15px;
2763        font-weight: 600;
2764        color: #840074;
2765    }
2766
2767    .jdmc-ai-forme-swatches .variable-items-wrapper {
2768        display: flex;
2769        flex-wrap: wrap;
2770        gap: 6px;
2771        margin-top: 2px;
2772    }
2773
2774    .jdmc-ai-forme-swatches .jdmc-ai-forme-item {
2775        display: inline-flex;
2776        align-items: center;
2777        justify-content: center;
2778        padding: 5px 12px;
2779        border-radius: 6px !important;
2780        border: 1px solid #a8a8a8;
2781        background: #fff;
2782        font-size: 13px;
2783        line-height: 1.2;
2784        cursor: pointer;
2785        width: auto !important;
2786        height: auto !important;
2787        box-sizing: border-box;
2788        white-space: nowrap;
2789        box-shadow: 0 0 0 1px #a8a8a8;
2790    }
2791
2792    .jdmc-ai-forme-swatches .jdmc-ai-forme-item .variable-item-span {
2793        width: auto !important;
2794        height: auto !important;
2795        margin: 0;
2796        line-height: 1.2;
2797        white-space: nowrap;
2798        padding:6px;
2799        font-size:14px;
2800    }
2801
2802    .jdmc-ai-forme-swatches .jdmc-ai-forme-item.selected {
2803        border-color: #D100B7;
2804        box-shadow: 0 0 0 1px #6319FF;
2805        background: #eef4ff;
2806        color: #D100B7;
2807        font-weight: 600;
2808    }
2809
2810    /* Messages d'erreur en rouge pour statut IA */
2811    .jdmc-ai-status.jdmc-ai-has-error {
2812        color: #c00;
2813    }
2814
2815    /* === ACCORDÉONS (encarts enroulés) === */
2816    .jdmc-ai-collapsible-header {
2817        display:flex;
2818        align-items:center;
2819        justify-content:space-between;
2820        gap:8px;
2821        cursor:pointer;
2822    }
2823
2824    .jdmc-ai-header-main {
2825        display:flex;
2826        align-items:center;
2827        gap:10px;
2828    }
2829
2830.jdmc-ai-header-thumb {
2831    width: 56px;
2832    aspect-ratio: 1 / 1;          /* Toujours carré */
2833    height: auto !important;      /* Laisse le ratio gérer la hauteur */
2834    border-radius: 8px;
2835    object-fit: cover;
2836    flex: 0 0 auto;               /* Empêche le flex de l’écraser */
2837    max-width: none !important;   /* On ignore les max-width globales du thème */
2838    display: block;
2839}
2840
2841    /* Vignette visible seulement quand l'encart est replié */
2842    .jdmc-ai-collapsible:not(.jdmc-ai-collapsed) .jdmc-ai-header-thumb {
2843        display:none;
2844    }
2845
2846    .jdmc-ai-collapsible-arrow {
2847        font-size:22px;
2848        line-height:1;
2849        color:#87236B;
2850        transition:transform 0.2s ease;
2851    }
2852
2853    .jdmc-ai-collapsible.jdmc-ai-collapsed .jdmc-ai-collapsible-body {
2854        /* caché en JS (slideUp/Down) */
2855    }
2856
2857    .jdmc-ai-collapsible:not(.jdmc-ai-collapsed) .jdmc-ai-collapsible-arrow {
2858        transform:rotate(180deg);
2859    }
2860	
2861/* On aligne parfaitement les 2 titres d'encarts */
2862.jdmc-ai-direct-title,
2863.jdmc-ai-ai-block .jdmc-ai-collapsible-header .jdmc-ai-title {
2864    margin-left: 0 !important;
2865    padding-left: 0 !important;
2866    text-indent: 0 !important;
2867}
2868
2869/* Base : pas d'emoji par défaut */
2870.jdmc-ai-direct-title::before,
2871.jdmc-ai-ai-block .jdmc-ai-collapsible-header .jdmc-ai-title::before {
2872    content: "";
2873    display: none;
2874    margin-right: 4px;
2875}
2876
2877/* Emoji encart 1, uniquement quand ouvert */
2878.jdmc-ai-direct-block:not(.jdmc-ai-collapsed) .jdmc-ai-direct-title::before {
2879    content: "📤";
2880    display: inline-block;
2881}
2882
2883/* Emoji encart 2, uniquement quand ouvert */
2884.jdmc-ai-ai-block:not(.jdmc-ai-collapsed) .jdmc-ai-collapsible-header .jdmc-ai-title::before {
2885    content: "✨";
2886    display: inline-block;
2887}
2888
2889/* On s'assure qu'AUCUN sous-titre interne ne récupère un emoji */
2890.jdmc-ai-mode .jdmc-ai-title::before,
2891.jdmc-ai-styles .jdmc-ai-title::before,
2892.jdmc-ai-validate-title::before {
2893    content: none !important;
2894    display: none !important;
2895}
2896
2897
2898/* Alignement identique des emojis 📤 et ✨ */
2899.jdmc-ai-direct-title::before,
2900.jdmc-ai-ai-block .jdmc-ai-collapsible-header .jdmc-ai-title::before {
2901    display: inline-block;
2902    vertical-align: middle;
2903    margin-right: 6px;
2904    margin-left: 0;
2905}
2906
2907.jdmc-ai-ai-block .jdmc-ai-collapsible-header {
2908    padding-left: 0 !important;
2909}
2910
2911/* Harmonisation du titre d’upload (même style que Forme & Dimensions) */
2912.jdmc-ai-upload-wrapper-top .jdmc-ai-edit-image-title {
2913    margin: 8px 0 6px;
2914    font-size: 15px;
2915    font-weight: 600;
2916    color: #D100B7;
2917}
2918
2919.jdmc-crop-modal {
2920    position: fixed;
2921    inset: 0;
2922    z-index: 9999;
2923    display: flex;              /* important */
2924    align-items: center;        /* centre verticalement */
2925    justify-content: center;    /* centre horizontalement */
2926    font-family: inherit;
2927}
2928
2929.jdmc-crop-modal.is-open {
2930    display: flex;
2931}
2932
2933.jdmc-crop-backdrop {
2934    position: absolute;
2935    inset: 0;
2936    background: rgba(0, 0, 0, 0.55);
2937}
2938
2939.jdmc-crop-dialog {
2940    position: relative;
2941    z-index: 1;
2942    background: #fff;
2943    max-width: 100%;
2944    width: 100%;
2945    max-height: 100%;
2946    display: flex;
2947    flex-direction: column;
2948}
2949
2950@media (min-width: 768px) {
2951    .jdmc-crop-dialog {
2952        max-width: 520px;
2953        border-radius: 8px;
2954        overflow: hidden;
2955    }
2956}
2957
2958.jdmc-crop-header,
2959.jdmc-crop-footer {
2960    padding: 10px 14px;
2961    display: flex;
2962    align-items: center;
2963    justify-content: space-between;
2964}
2965
2966.jdmc-crop-header {
2967    border-bottom: 1px solid #eee;
2968    font-weight: 600;
2969}
2970
2971.jdmc-crop-body {
2972    padding: 10px 14px;
2973    flex: 1 1 auto;
2974    overflow: hidden;
2975}
2976
2977.jdmc-crop-image-wrapper {
2978    width: 100%;
2979    height: min(70vh, 420px);
2980    max-height: 420px;
2981}
2982
2983.jdmc-crop-image-wrapper img {
2984    max-width: 100%;
2985    max-height: 100%;
2986    display: block;
2987    margin: 0 auto;
2988}
2989
2990.jdmc-crop-close {
2991    background: none;
2992    border: none;
2993    cursor: pointer;
2994    font-size: 18px;
2995    line-height: 1;
2996}
2997
2998.jdmc-btn {
2999    border-radius: 4px;
3000    border: 1px solid transparent;
3001    padding: 8px 12px;
3002    cursor: pointer;
3003    font-size: 14px;
3004}
3005
3006.jdmc-btn-primary {
3007    background: #0073aa;
3008    color: #fff;
3009    border-color: #0073aa;
3010}
3011
3012.jdmc-btn-secondary {
3013    background: #f3f3f3;
3014    color: #333;
3015    border-color: #ccc;
3016}
3017
3018.jdmc-ai-crop-disabled {
3019    opacity: 0.5;
3020    cursor: not-allowed;
3021}
3022
3023.jdmc-ai-crop-btn-loading {
3024    opacity: 0.7;
3025    cursor: wait;
3026}
3027
3028.jdmc-ai-crop-disabled {
3029    background: #e5e5e5 !important;  /* gris clair très visible */
3030    color: #999 !important;          /* texte gris moyen */
3031    border: 2px solid #ccc !important;
3032    cursor: not-allowed !important;
3033    opacity: 1 !important;           /* 100% visible */
3034}
3035
3036.jdmc-ai-crop-disabled:hover {
3037    background: #e5e5e5 !important;
3038    border-color: #ccc !important;
3039    color: #999 !important;
3040}
3041
3042/* Bouton recadrage actif (garde ton style normal) */
3043.jdmc-ai-crop-direct,
3044.jdmc-ai-crop-edit,
3045.jdmc-ai-crop-preview {
3046    border: 2px solid #ccc; /* même bordure dans les deux états */
3047}
3048
3049/* Bouton recadrage désactivé – très visible */
3050.jdmc-ai-crop-disabled {
3051    background: #f0f0f0 !important;  /* gris clair très lisible */
3052    color: #999 !important;          /* texte grisé mais visible */
3053    cursor: not-allowed !important;
3054    opacity: 1 !important;           /* bien visible */
3055    border-color: #ccc !important;   /* on garde la même bordure EXACTE */
3056}
3057
3058/* Désactive les effets hover */
3059.jdmc-ai-crop-disabled:hover {
3060    background: #f0f0f0 !important;
3061    color: #999 !important;
3062    border-color: #ccc !important;
3063}
3064
3065/* Bloc de l'onglet "à partir d'une image" (encart IA) */
3066.jdmc-ai-edit-thumb-block {
3067    margin-top: 6px;
3068}
3069
3070/* Miniatures des images uploadées (encart 1 + onglet "à partir d'une image") */
3071.jdmc-ai-direct-thumb,
3072.jdmc-ai-edit-thumb {
3073    width: 200px !important;
3074    height: auto !important;
3075    max-height: none !important;
3076    object-fit: contain; /* au cas où il resterait un cadre */
3077    display: block;
3078}
3079
3080.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
3081	background:#D100B7;
3082	color:white;
3083}
3084
3085    </style>
3086
3087<script src="https://unpkg.com/[email protected]/dist/cropper.min.js"></script>
3087
3088
3089   
3089<script>
3090    (function($) {
3091        $(function() {
3092            var restUrl      = "https:\/\/api.diamant-strass-dmc.com\/wp-json\/jdmc\/v1\/generate-image";
3093            var ajaxUrl      = "https:\/\/diamant-strass-dmc.com\/wp-admin\/admin-ajax.php";
3094            var $hiddenField = $('.jdmc-ai-attachment-id');
3095
3096            function jdmcGetAiRequestToken() {
3097                return $.ajax({
3098                    url: ajaxUrl,
3099                    method: 'POST',
3100                    dataType: 'json',
3101                    cache: false,
3102                    data: { action: 'jdmc_ai_request_token' }
3103                }).then(function(response) {
3104                    if (!response || !response.success || !response.data || !response.data.token) {
3105                        return $.Deferred().reject({
3106                            responseJSON: { error: 'Impossible d’obtenir l’autorisation de génération.' }
3107                        }).promise();
3108                    }
3109                    return response.data.token;
3110                });
3111            }
3112
3113            // === Masquer le tout premier prix "À partir de XX€" pour certains produits ===
3114            var jdmcCurrentProductId = 72384;
3115
3116            // === JDMC Retargeting events (Meta/TikTok/GA4) ===
3117            // Dédoublonnage simple par session pour éviter les doubles hits
3118            window.__jdmcDpImageUploaded = window.__jdmcDpImageUploaded || false;
3119
3120            function jdmcSafeEventName(name) {
3121                return String(name || '')
3122                    .replace(/[^a-zA-Z0-9_]/g, '_')
3123                    .replace(/_+/g, '_')
3124                    .toLowerCase()
3125                    .slice(0, 40);
3126            }
3127
3128            function jdmcTrack(eventName, params, onceKey) {
3129                params = params || {};
3130                params.product_id = jdmcCurrentProductId;
3131                params.page_path  = window.location.pathname || '';
3132
3133                // onceKey => 1 hit max par session
3134                if (onceKey) {
3135                    try {
3136                        var k = 'jdmc_once_' + onceKey;
3137                        if (sessionStorage.getItem(k)) return;
3138                        sessionStorage.setItem(k, '1');
3139                    } catch (e) {}
3140                }
3141
3142                // Meta Pixel
3143                if (typeof window.fbq === 'function') {
3144                    try {
3145                        window.fbq('trackCustom', eventName, params);
3146                    } catch (e) {}
3147                }
3148
3149                // GA4
3150                if (typeof window.gtag === 'function') {
3151                    try {
3152                        window.gtag('event', jdmcSafeEventName(eventName), params);
3153                    } catch (e) {}
3154                }
3155
3156                // TikTok Pixel
3157                if (window.ttq && typeof window.ttq.track === 'function') {
3158                    try {
3159                        window.ttq.track(eventName, params);
3160                    } catch (e) {}
3161                }
3162            }
3163
3164            function jdmcMarkImageUploaded(origin, attachmentId) {
3165                window.__jdmcDpImageUploaded = true;
3166                jdmcTrack('DP_ImageUploaded', {
3167                    origin: origin || 'unknown',
3168                    attachment_id: attachmentId || null
3169                });
3170            }
3171
3172            // View product custom DP (utile pour audience "view") — multi-lang, sans liste d’URLs
3173            // On déclenche uniquement si l’UI Custom DP est réellement présente sur la page.
3174            try {
3175                if (document.querySelector('.jdmc-ai-direct-upload, .jdmc-ai-edit-upload, .jdmc-ai-photo-wrapper, .jdmc-ai-tabs')) {
3176                    jdmcTrack('DP_ViewCustom', {
3177                        page_path: location.pathname,
3178                        lang: (document.documentElement && document.documentElement.lang) ? document.documentElement.lang : null
3179                    }, 'viewcustom_' + location.pathname);
3180                }
3181            } catch(e) {}
3182// 👉 Mets ici les IDs des produits pour lesquels TU veux cacher le prix du haut
3183            var jdmcHideTopPriceFor = [72384,99940,99390,99720,99885,99775,84680,99446,99995,99335,99665,99830,99610,99555,99445];
3184
3185            if (jdmcHideTopPriceFor.indexOf(jdmcCurrentProductId) !== -1) {
3186                var $summary = $('.single-product div.product .summary');
3187
3188                if ($summary.length) {
3189                    // On cible UNIQUEMENT le tout premier prix (celui sous le titre)
3190                    var $topPrice = $summary.find('p.price').first();
3191                    if ($topPrice.length) {
3192                        $topPrice.hide();
3193                    }
3194                }
3195            }
3196            // === /Masquer le tout premier prix ===
3197
3198            // === Variables globales pour le recadrage (modale commune) ===
3199            var $jdmcCropModal    = null;
3200            var $jdmcCropImage    = null;
3201            var $jdmcCropApply    = null;
3202            var $jdmcCropProgress = null;
3203            var $jdmcCropText     = null;
3204            var jdmcCropper       = null;
3205            var currentCropAttachmentId = null;
3206            var currentCropCallback     = null;
3207
3208            // Assure la création de la modale de recadrage
3209            function jdmcEnsureCropModal() {
3210                if ($jdmcCropModal && $jdmcCropModal.length) return;
3211
3212                $jdmcCropModal = $(
3213
3214                    '<div class="jdmc-crop-modal" style="display:none;">' +
3215                      '<div class="jdmc-crop-backdrop"></div>' +
3216                      '<div class="jdmc-crop-dialog">' +
3217                        '<div class="jdmc-crop-header">' +
3218                          '<span>Recadrer l’image</span>' +
3219                          '<button type="button" class="jdmc-crop-close" aria-label="Fermer">×</button>' +
3220                        '</div>' +
3221                        '<div class="jdmc-crop-body">' +
3222                          '<div class="jdmc-crop-image-wrapper">' +
3223                            '<img class="jdmc-crop-image" src="" alt="Image à recadrer">' +
3224                          '</div>' +
3225                        '</div>' +
3226                        '<div class="jdmc-crop-footer" style="display:flex;align-items:center;gap:10px;justify-content:flex-end;">' +
3227                          '<div class="jdmc-crop-progress-wrapper" style="margin-right:auto;display:flex;align-items:center;gap:6px;">' +
3228                            '<div class="jdmc-ai-upload-progress jdmc-ai-upload-progress-crop" style="display:none;"></div>' +
3229                            '<span class="jdmc-crop-progress-text" style="display:none;font-size:12px;">Recadrage en cours…</span>' +
3230                          '</div>' +
3231                          '<button type="button" class="jdmc-btn jdmc-btn-secondary jdmc-crop-cancel">Annuler</button>' +
3232                          '<button type="button" class="jdmc-btn jdmc-btn-primary jdmc-crop-apply">Valider le recadrage</button>' +
3233                        '</div>' +
3234                      '</div>' +
3235                    '</div>'
3236                );
3237
3238                $('body').append($jdmcCropModal);
3239
3240                $jdmcCropImage    = $jdmcCropModal.find('.jdmc-crop-image');
3241                $jdmcCropApply    = $jdmcCropModal.find('.jdmc-crop-apply');
3242                $jdmcCropProgress = $jdmcCropModal.find('.jdmc-ai-upload-progress-crop');
3243                $jdmcCropText     = $jdmcCropModal.find('.jdmc-crop-progress-text');
3244
3245                $jdmcCropModal.on('click', '.jdmc-crop-close, .jdmc-crop-cancel', function(e) {
3246                    e.preventDefault();
3247                    jdmcCloseCropModal();
3248                });
3249
3250                $jdmcCropModal.on('click', '.jdmc-crop-backdrop', function(e) {
3251                    e.preventDefault();
3252                    jdmcCloseCropModal();
3253                });
3254
3255                $(document).on('keydown.jdmcCropEsc', function(e) {
3256                    if (e.key === 'Escape' && $jdmcCropModal.is(':visible')) {
3257                        jdmcCloseCropModal();
3258                    }
3259                });
3260            }
3261
3262            function jdmcOpenCropModal(imgUrl, attachmentId, callback) {
3263                jdmcEnsureCropModal();
3264
3265                currentCropAttachmentId = attachmentId || null;
3266                currentCropCallback     = (typeof callback === 'function') ? callback : null;
3267
3268                if (jdmcCropper) {
3269                    jdmcCropper.destroy();
3270                    jdmcCropper = null;
3271                }
3272
3273                $jdmcCropImage.attr('src', imgUrl);
3274
3275                $jdmcCropImage.one('load', function() {
3276                    jdmcCropper = new Cropper(this, {
3277                        viewMode: 1,
3278                        movable: true,
3279                        zoomable: true,
3280                        scalable: false,
3281                        rotatable: false,
3282                        responsive: true,
3283                        autoCropArea: 1
3284                    });
3285                });
3286
3287                // reset état loading éventuel
3288                if ($jdmcCropApply && $jdmcCropApply.length) {
3289                    $jdmcCropApply
3290                        .prop('disabled', false)
3291                        .removeClass('jdmc-ai-crop-btn-loading');
3292                }
3293                if ($jdmcCropProgress && $jdmcCropProgress.length) {
3294                    $jdmcCropProgress.hide();
3295                }
3296                if ($jdmcCropText && $jdmcCropText.length) {
3297                    $jdmcCropText.hide();
3298                }
3299
3300                $jdmcCropModal.css('display', 'flex');
3301            }
3302
3303            function jdmcCloseCropModal() {
3304                if (jdmcCropper) {
3305                    jdmcCropper.destroy();
3306                    jdmcCropper = null;
3307                }
3308                if ($jdmcCropModal && $jdmcCropModal.length) {
3309                    $jdmcCropModal.hide();
3310                }
3311                currentCropAttachmentId = null;
3312                currentCropCallback     = null;
3313            }
3314
3315            function jdmcApplyCrop() {
3316                if (!jdmcCropper || !currentCropAttachmentId) {
3317                    jdmcCloseCropModal();
3318                    return;
3319                }
3320
3321                var data = jdmcCropper.getData(true);
3322                if (!data || !data.width || !data.height) {
3323                    alert('Recadrage invalide.');
3324                    jdmcCloseCropModal();
3325                    return;
3326                }
3327
3328                // Feedback visuel : bouton + barre + texte "en cours"
3329                if ($jdmcCropApply && $jdmcCropApply.length) {
3330                    $jdmcCropApply
3331                        .prop('disabled', true)
3332                        .addClass('jdmc-ai-crop-btn-loading');
3333                }
3334                if ($jdmcCropProgress && $jdmcCropProgress.length) {
3335                    $jdmcCropProgress.show();
3336                }
3337                if ($jdmcCropText && $jdmcCropText.length) {
3338                    $jdmcCropText.show();
3339                }
3340
3341                $.ajax({
3342                    url: ajaxUrl,
3343                    method: 'POST',
3344                    dataType: 'json',
3345                    data: {
3346                        action:        'jdmc_ai_crop_image',
3347                        attachment_id: currentCropAttachmentId,
3348                        x:             data.x,
3349                        y:             data.y,
3350                        width:         data.width,
3351                        height:        data.height
3352                    }
3353                }).done(function(response) {
3354                    if (!response || !response.success || !response.data) {
3355                        alert((response && response.data && response.data.message) || 'Erreur lors du recadrage.');
3356                        return;
3357                    }
3358
3359                    var d = response.data;
3360                    if (currentCropCallback) {
3361                        currentCropCallback(d.attachment_id, d.image_url);
3362                    }
3363                }).fail(function() {
3364                    alert('Erreur réseau lors du recadrage.');
3365                }).always(function() {
3366                    if ($jdmcCropApply && $jdmcCropApply.length) {
3367                        $jdmcCropApply
3368                            .prop('disabled', false)
3369                            .removeClass('jdmc-ai-crop-btn-loading');
3370                    }
3371                    if ($jdmcCropProgress && $jdmcCropProgress.length) {
3372                        $jdmcCropProgress.hide();
3373                    }
3374                    if ($jdmcCropText && $jdmcCropText.length) {
3375                        $jdmcCropText.hide();
3376                    }
3377
3378                    jdmcCloseCropModal();
3379                });
3380            }
3381
3382            // écouteur bouton "Valider le recadrage"
3383            $(document).on('click', '.jdmc-crop-apply', function(e) {
3384                e.preventDefault();
3385                jdmcApplyCrop();
3386            });
3387
3388            $('.jdmc-ai-wrapper').each(function() {
3389                var $wrapper      = $(this);
3390                var $prompt       = $wrapper.find('.jdmc-ai-prompt');
3391                var $editPrompt   = $wrapper.find('.jdmc-ai-edit-prompt');
3392                var $upload       = $wrapper.find('.jdmc-ai-upload');         // champ 2
3393                var $directUpload = $wrapper.find('.jdmc-ai-direct-upload');  // champ 1
3394                var $editThumb    = $wrapper.find('.jdmc-ai-edit-thumb');
3395                var $btn          = $wrapper.find('.jdmc-ai-generate-btn');
3396                var $status       = $wrapper.find('.jdmc-ai-status');         // Messages IA uniquement
3397                var $previewBox   = $wrapper.find('.jdmc-ai-preview');
3398                var $previewImg   = $previewBox.find('img');
3399                var $styleOptions = $wrapper.find('.jdmc-style-option');
3400                var $tabs         = $wrapper.find('.jdmc-ai-tab');
3401
3402                // Boutons de recadrage spécifiques à ce wrapper
3403                var $directCropBtn  = null;
3404                var $editCropBtn    = null;
3405                var $previewCropBtn = null;
3406
3407                // === JDMC FIX v7: Réordonner le bloc pointillé IA en 3 éléments (Forme, Dimensions, Upload) ===
3408                (function() {
3409                    if ($wrapper.data('jdmcV7Done')) return;
3410                    $wrapper.data('jdmcV7Done', true);
3411
3412                    var $iaBody  = $wrapper.find('.jdmc-ai-ai-block .jdmc-ai-collapsible-body');
3413                    if (!$iaBody.length) return;
3414
3415                    var $tabsBar = $iaBody.find('.jdmc-ai-tabs').first();
3416                    var $varIa   = $iaBody.find('.jdmc-ai-variations-part-ia').first(); // bloc pointillé IA existant
3417                    if (!$tabsBar.length || !$varIa.length) return;
3418
3419                    // 1) Placer le bloc pointillé IA juste sous les onglets
3420                    if ($varIa.prev()[0] !== $tabsBar[0]) {
3421                        $varIa.detach().insertAfter($tabsBar);
3422                    }
3423
3424                    // 2) À l'intérieur du bloc pointillé, on ne garde que :
3425                    //    - .jdmc-ai-forme-wrapper-ia
3426                    //    - .jdmc-ai-dimensions-wrapper-ia
3427                    //    - (upload + son titre) déplacés depuis le mode "image"
3428                    var $forme      = $varIa.find('.jdmc-ai-forme-wrapper-ia').first();
3429                    var $dims       = $varIa.find('.jdmc-ai-dimensions-wrapper-ia').first();
3430                    var $allInside  = $varIa.children().toArray();
3431
3432                    // Supprimer tout ce qui n'est pas forme/dims
3433                    $($allInside).each(function(){
3434                        var $el = $(this);
3435                        if ($el[0] !== $forme[0] && $el[0] !== $dims[0]) {
3436                            $el.detach();
3437                        }
3438                    });
3439
3440                    var $uploadTitle = $iaBody.find('.jdmc-ai-mode-edit .jdmc-ai-edit-image-title').first();
3441                    var $facultatif  = $iaBody.find('.jdmc-ai-mode-edit .jdmc-ai-label-edit-facultatif').first();
3442                    var $uploadWrap  = $('<div class="jdmc-ai-upload-wrapper-top"></div>');
3443
3444                    if ($uploadTitle.length) {
3445                        $uploadTitle.text('Je choisis la photo / image à retoucher');
3446
3447                        var $cursor = $uploadTitle;
3448                        var finished = false;
3449                        while ($cursor.length && !finished) {
3450                            var $next = $cursor.next();
3451                            if ($facultatif.length && $next.is($facultatif)) {
3452                                finished = true;
3453                            }
3454
3455                            if ($cursor.is($uploadTitle)) {
3456                                $cursor.detach().appendTo($uploadWrap);
3457                            } else {
3458                                if ($cursor.is('.jdmc-ai-upload, small.jdmc-ai-help, .jdmc-ai-edit-thumb, .jdmc-ai-upload-status-edit, .jdmc-ai-upload-progress-edit, .jdmc-ai-remove-edit')) {
3459                                    $cursor.detach().appendTo($uploadWrap);
3460                                }
3461                            }
3462                            $cursor = $next;
3463                        }
3464                    }
3465
3466                    if ($uploadWrap.children().length === 0) {
3467                        $iaBody.find('.jdmc-ai-mode-edit .jdmc-ai-edit-image-title, .jdmc-ai-mode-edit .jdmc-ai-upload, .jdmc-ai-mode-edit small.jdmc-ai-help, .jdmc-ai-mode-edit .jdmc-ai-edit-thumb, .jdmc-ai-mode-edit .jdmc-ai-upload-status-edit, .jdmc-ai-mode-edit .jdmc-ai-upload-progress-edit, .jdmc-ai-mode-edit .jdmc-ai-remove-edit').each(function(){
3468                            $(this).detach().appendTo($uploadWrap);
3469                        });
3470                        $uploadWrap.find('.jdmc-ai-edit-image-title').first().text('Je choisis la photo / image à retoucher');
3471                    }
3472
3473                    if ($dims.length) {
3474                        $uploadWrap.insertAfter($dims);
3475                    } else if ($forme.length) {
3476                        $uploadWrap.insertAfter($forme);
3477                    } else {
3478                        $varIa.append($uploadWrap);
3479                    }
3480
3481                    function toggleUploadTop(mode) {
3482                        var isImage = (mode === 'edit');
3483                        $uploadWrap.toggle(isImage);
3484                    }
3485
3486                    toggleUploadTop('prompt');
3487
3488                    $tabs.on('click.jdmcV7', function() {
3489                        var mode = $(this).data('mode');
3490                        toggleUploadTop(mode);
3491                    });
3492
3493                })();
3494                // === /JDMC FIX v7 ===
3495
3496                var $facultatifLabel = $wrapper.find('.jdmc-ai-label-edit-facultatif');
3497                var $editTitle       = $wrapper.find('.jdmc-ai-edit-title');
3498
3499                var $directFileName = $wrapper.find('.jdmc-ai-direct-filename');
3500                var $directThumb    = $wrapper.find('.jdmc-ai-direct-thumb');
3501
3502                var $directStatus   = $wrapper.find('.jdmc-ai-upload-status-direct');
3503                var $editStatus     = $wrapper.find('.jdmc-ai-upload-status-edit');
3504                var $directProgress = $wrapper.find('.jdmc-ai-upload-progress-direct');
3505                var $editProgress   = $wrapper.find('.jdmc-ai-upload-progress-edit');
3506
3507                var $globalStatus   = $wrapper.find('.jdmc-ai-global-status');
3508                var $bottomProgress = $wrapper.find('.jdmc-ai-upload-progress-bottom');
3509
3510                var $recapFormeVal  = $wrapper.find('.jdmc-ai-recap-forme-value');
3511                var $recapTailleVal = $wrapper.find('.jdmc-ai-recap-taille-value');
3512                var $recapStyleRow  = $wrapper.find('.jdmc-ai-recap-style');
3513                var $recapStyleVal  = $wrapper.find('.jdmc-ai-recap-style-value');
3514                var $recapImgThumb  = $wrapper.find('.jdmc-ai-recap-image-thumb');
3515
3516                var $removeDirect   = $wrapper.find('.jdmc-ai-remove-direct');
3517                var $removeEdit     = $wrapper.find('.jdmc-ai-remove-edit');
3518                var $removePreview  = $wrapper.find('.jdmc-ai-remove-preview');
3519                var $removeRecap    = $wrapper.find('.jdmc-ai-remove-recap');
3520
3521                var $progress       = $wrapper.find('.jdmc-ai-progress');
3522                var $priceDirect    = $wrapper.find('.jdmc-ai-price-duplicate-direct');
3523                var $priceBottom    = $wrapper.find('.jdmc-ai-price-duplicate-bottom');
3524
3525                var $stylesBlock           = $wrapper.find('.jdmc-ai-styles');
3526                var $stylesOriginalParent  = $stylesBlock.parent();
3527                var $stylesOriginalNext    = $stylesBlock.next();
3528                var $stylesPromptText      = $wrapper.find('.jdmc-ai-styles-prompt-text');
3529
3530                var $styleNone     = $styleOptions.filter('[data-style-key="none"]');
3531                var $styleNonNone  = $styleOptions.not($styleNone);
3532
3533                var $styleTransformTitle = $wrapper.find('.jdmc-ai-style-transform-title');
3534
3535                var $form            = $wrapper.closest('form.cart');
3536                var $tailleOriginal  = $form.find('select#taille');
3537                var $formeOriginal   = $form.find('select[name*="forme"]').first();
3538                var $tailleMirror    = $wrapper.find('.jdmc-ai-taille-select');
3539
3540                var $validateBlock = $wrapper.find('.jdmc-ai-validate-block');
3541                var $cartRow       = $wrapper.find('.jdmc-ai-cart-row');
3542                var $addToCartBtn  = null;
3543
3544                var currentMode     = 'prompt';
3545                var isLoading       = false;
3546                var isUploadInProgress = false;
3547
3548                var sources = {
3549                    direct: { src: '', attachmentId: null, lastSetAt: 0 },
3550                    edit:   { src: '', attachmentId: null, lastSetAt: 0 },
3551                    ai:     { src: '', attachmentId: null, lastSetAt: 0 }
3552                };
3553                var sourceCounter   = 0;
3554                var mainOrigin      = null;
3555                var lastImageSrc    = '';
3556                var lastImageOrigin = null;
3557                var editImageBlob   = null;
3558
3559                /* ============ ACCORDÉONS MUTUELLEMENT EXCLUSIFS + EMOJIS ============ */
3560
3561           /* ============ ACCORDÉONS MUTUELLEMENT EXCLUSIFS + EMOJIS ============ */
3562
3563var $collapsibles = $wrapper.find('.jdmc-ai-collapsible');
3564var $titleEmojis  = $wrapper.find('.jdmc-ai-title-emoji');
3565
3566// Init : tous repliés + contenu caché + emojis cachés
3567$collapsibles.each(function() {
3568    var $b = $(this);
3569    $b.addClass('jdmc-ai-collapsed');
3570    $b.find('.jdmc-ai-collapsible-body').hide();
3571});
3572$titleEmojis.hide();
3573
3574$wrapper.on('click', '.jdmc-ai-collapsible-header', function(e) {
3575    e.preventDefault();
3576
3577    var $block = $(this).closest('.jdmc-ai-collapsible');
3578    var $body  = $block.find('.jdmc-ai-collapsible-body');
3579    var wasCollapsed = $block.hasClass('jdmc-ai-collapsed');
3580
3581    if (wasCollapsed) {
3582        // On ouvre ce bloc, on ferme les autres
3583        $collapsibles.not($block).each(function() {
3584            var $other = $(this);
3585            if (!$other.hasClass('jdmc-ai-collapsed')) {
3586                $other.addClass('jdmc-ai-collapsed');
3587                $other.find('.jdmc-ai-collapsible-body').stop(true,true).slideUp(200);
3588                $other.find('.jdmc-ai-title-emoji').hide();
3589            }
3590        });
3591
3592        // Ouvrir le bloc cliqué
3593        $block.removeClass('jdmc-ai-collapsed');
3594        $body.stop(true,true).slideDown(200, function() {
3595            // Une fois ouvert, on scrolle pour avoir le haut de l'encart visible
3596            var offsetTop    = $block.offset().top || 0;
3597            var headerOffset = 80; // ajuste si tu as un header sticky plus grand
3598            var scrollTarget = Math.max(0, offsetTop - headerOffset);
3599
3600            $('html, body').animate({ scrollTop: scrollTarget }, 200);
3601        });
3602        $block.find('.jdmc-ai-title-emoji').show();
3603
3604    } else {
3605        // On replie ce bloc
3606        $block.addClass('jdmc-ai-collapsed');
3607        $body.stop(true,true).slideUp(200);
3608        $block.find('.jdmc-ai-title-emoji').hide();
3609    }
3610});
3611
3612
3613
3614                /* ================== HELPERS ================== */
3615
3616                function ensureGalleryContainer() {
3617                    var $gallery = $wrapper.find('.jdmc-ai-gallery');
3618                    if (!$gallery.length) {
3619                        var $previewBox = $wrapper.find('.jdmc-ai-preview').first();
3620                        var $btn        = $wrapper.find('.jdmc-ai-generate-btn').first();
3621                        if ($previewBox.length || $btn.length) {
3622                            $gallery = $(
3623                                '<div class="jdmc-ai-gallery" style="display:none;">' +
3624                                  '<p class="jdmc-ai-label">Mes images générées :</p>' +
3625                                  '<div class="jdmc-ai-gallery-list"></div>' +
3626                                '</div>'
3627                            );
3628                            if ($btn.length) {
3629                                $gallery.insertAfter($btn);
3630                            } else {
3631                                $gallery.insertBefore($previewBox);
3632                            }
3633                        }
3634                    }
3635                    return $gallery;
3636                }
3637
3638                if (typeof aiGallery === 'undefined') { var aiGallery = []; }
3639
3640                function pushGalleryItem(src, attachmentId) {
3641                    if (!src) return;
3642                    if (typeof aiGallery === 'undefined') aiGallery = [];
3643                    for (var i=0;i<aiGallery.length;i++) {
3644                        var it = aiGallery[i];
3645                        if (!it) continue;
3646                        if (it.src === src) return;
3647                        if (attachmentId && it.attachmentId && (String(it.attachmentId) === String(attachmentId))) return;
3648                    }
3649                    aiGallery.push({ attachmentId: (attachmentId||null), src: src, createdAt: Date.now() });
3650                }
3651
3652                function renderGallery() {
3653                    var $gallery = ensureGalleryContainer();
3654                    if (!$gallery || !$gallery.length) return;
3655                    var $list = $gallery.find('.jdmc-ai-gallery-list');
3656                    aiGallery = (aiGallery || []).filter(function(it){ return it && it.src; });
3657                    if (!aiGallery.length) { $gallery.hide(); if ($list.length) $list.empty(); return; }
3658                    $list.empty();
3659                    aiGallery.forEach(function(item, idx) {
3660                        var $thumb = $('<div class="jdmc-ai-thumb" />').attr('data-idx', idx);
3661                        var $check = $('<div class="jdmc-ai-thumb-check" />');
3662                        $check.text(item.attachmentId && (String(item.attachmentId) === String($hiddenField.val())) ? '✓' : '');
3663                        var $img   = $('<img/>').attr('src', item.src).attr('alt', 'Générée #' + (idx+1));
3664                        $thumb.append($check).append($img);
3665                        if (item.src === lastImageSrc) $thumb.addClass('jdmc-selected');
3666                        $list.append($thumb);
3667                    });
3668                    $gallery.show();
3669                }
3670
3671                function setMainFromGallery(idx) {
3672                    var item = aiGallery[idx];
3673                    if (!item) return;
3674                    sources.ai.src          = item.src;
3675                    sources.ai.attachmentId = item.attachmentId || null;
3676                    sources.ai.lastSetAt    = Date.now();
3677                    $hiddenField.val(item.attachmentId || '');
3678                    $previewImg.attr('src', item.src);
3679                    $previewBox.show();
3680                    if ($removePreview.length) $removePreview.show();
3681                    if ($previewCropBtn && $previewCropBtn.length) {
3682                        if (sources.ai && sources.ai.attachmentId) {
3683                            $previewCropBtn
3684                                .prop('disabled', false)
3685                                .removeClass('jdmc-ai-crop-disabled');
3686                        } else {
3687                            $previewCropBtn
3688                                .prop('disabled', true)
3689                                .addClass('jdmc-ai-crop-disabled');
3690                        }
3691                    }
3692                    lastImageSrc = item.src;
3693                    mainOrigin = 'ai';
3694                    renderGallery();
3695                    if (typeof updateRecap === 'function') { updateRecap(); }
3696                }
3697
3698                $wrapper.on('click', '.jdmc-ai-thumb', function() {
3699                    var idx = parseInt($(this).attr('data-idx'), 10);
3700                    setMainFromGallery(idx);
3701                });
3702
3703                function setStatus(msg, isError) {
3704                    if ($status.length) {
3705                        $status.text(msg || '');
3706                        if (isError) {
3707                            $status.addClass('jdmc-ai-has-error');
3708                        } else {
3709                            $status.removeClass('jdmc-ai-has-error');
3710                        }
3711                    }
3712                }
3713
3714                function setDirectMessage(msg, isError) {
3715                    if ($directStatus.length) {
3716                        $directStatus.text(msg || '');
3717                        if (isError) {
3718                            $directStatus.addClass('jdmc-ai-has-error');
3719                        } else {
3720                            $directStatus.removeClass('jdmc-ai-has-error');
3721                        }
3722                    }
3723                }
3724
3725                function setEditMessage(msg, isError) {
3726                    if ($editStatus.length) {
3727                        $editStatus.text(msg || '');
3728                        if (isError) {
3729                            $editStatus.addClass('jdmc-ai-has-error');
3730                        } else {
3731                            $editStatus.removeClass('jdmc-ai-has-error');
3732                        }
3733                    }
3734                }
3735
3736                function setGlobalMessage(msg, isError) {
3737                    if ($globalStatus.length) {
3738                        $globalStatus.text(msg || '');
3739                        if (isError) {
3740                            $globalStatus.addClass('jdmc-ai-has-error');
3741                        } else {
3742                            $globalStatus.removeClass('jdmc-ai-has-error');
3743                        }
3744                    }
3745                }
3746
3747                function setUploadInProgress(state) {
3748                    isUploadInProgress = !!state;
3749
3750                    if ($addToCartBtn && $addToCartBtn.length) {
3751                        if (isUploadInProgress) {
3752                            $addToCartBtn
3753                                .prop('disabled', true)
3754                                .addClass('jdmc-ai-add-to-cart-disabled');
3755                        } else {
3756                            $addToCartBtn
3757                                .prop('disabled', false)
3758                                .removeClass('jdmc-ai-add-to-cart-disabled');
3759                        }
3760                    }
3761
3762                    if ($bottomProgress.length) {
3763                        if (isUploadInProgress) {
3764                            $bottomProgress.show();
3765                        } else {
3766                            $bottomProgress.hide();
3767                        }
3768                    }
3769
3770                    if (isUploadInProgress) {
3771                        if ($directCropBtn && $directCropBtn.length) {
3772                            $directCropBtn.prop('disabled', true).addClass('jdmc-ai-crop-disabled');
3773                        }
3774                        if ($editCropBtn && $editCropBtn.length) {
3775                            $editCropBtn.prop('disabled', true).addClass('jdmc-ai-crop-disabled');
3776                        }
3777                        if ($previewCropBtn && $previewCropBtn.length) {
3778                            $previewCropBtn.prop('disabled', true).addClass('jdmc-ai-crop-disabled');
3779                        }
3780                    } else {
3781                        if ($directCropBtn && $directCropBtn.length) {
3782                            if (sources.direct && sources.direct.attachmentId) {
3783                                $directCropBtn.prop('disabled', false).removeClass('jdmc-ai-crop-disabled');
3784                            } else {
3785                                $directCropBtn.prop('disabled', true).addClass('jdmc-ai-crop-disabled');
3786                            }
3787                        }
3788                        if ($editCropBtn && $editCropBtn.length) {
3789                            if (sources.edit && sources.edit.attachmentId) {
3790                                $editCropBtn.prop('disabled', false).removeClass('jdmc-ai-crop-disabled');
3791                            } else {
3792                                $editCropBtn.prop('disabled', true).addClass('jdmc-ai-crop-disabled');
3793                            }
3794                        }
3795                        if ($previewCropBtn && $previewCropBtn.length) {
3796                            if (sources.ai && sources.ai.attachmentId) {
3797                                $previewCropBtn.prop('disabled', false).removeClass('jdmc-ai-crop-disabled');
3798                            } else {
3799                                $previewCropBtn.prop('disabled', true).addClass('jdmc-ai-crop-disabled');
3800                            }
3801                        }
3802                    }
3803                }
3804
3805                function parseSizeFromText(text) {
3806                    if (!text) return null;
3807                    var match = text.match(/(\d+)\s*[x×]\s*(\d+)/i);
3808                    if (!match) return null;
3809                    var w = parseInt(match[1], 10);
3810                    var h = parseInt(match[2], 10);
3811                    if (!w || !h) return null;
3812                    return { w: w, h: h };
3813                }
3814
3815                function getOrientationFromSize(w, h) {
3816                    if (w === h) return 'square';
3817                    if (w > h) return 'paysage';
3818                    return 'portrait';
3819                }
3820
3821                function isIaExactSize(w, h) {
3822                    if (w === h) return true;
3823                    if (3 * w === 2 * h) return true;
3824                    if (2 * w === 3 * h) return true;
3825                    return false;
3826                }
3827
3828                function syncAllSizeSelectsFromOriginal() {
3829                    if (!$tailleOriginal.length || !$tailleMirror.length) return;
3830                    var val = $tailleOriginal.val();
3831                    $tailleMirror.each(function() {
3832                        var $sel = $(this);
3833                        if (!val) {
3834                            $sel.val('');
3835                            return;
3836                        }
3837                        if ($sel.find('option[value="' + val + '"]').length) {
3838                            $sel.val(val);
3839                        } else {
3840                            $sel.val('');
3841                        }
3842                    });
3843                }
3844
3845                function getCurrentTailleText() {
3846                    var txt = '';
3847                    if ($tailleOriginal && $tailleOriginal.length) {
3848                        txt = $.trim($tailleOriginal.find('option:selected').text());
3849                        if (txt) return txt;
3850                    }
3851                    if ($tailleMirror && $tailleMirror.length) {
3852                        $tailleMirror.each(function() {
3853                            var t = $.trim($(this).find('option:selected').text());
3854                            if (t) {
3855                                txt = t;
3856                                return false;
3857                            }
3858                        });
3859                    }
3860                    return txt;
3861                }
3862
3863                function getIaTailleText() {
3864                    var txt = '';
3865                    var $iaSelects = $wrapper.find('.jdmc-ai-taille-select-ia');
3866                    if (!$iaSelects.length) return '';
3867                    $iaSelects.each(function() {
3868                        var $sel = $(this);
3869                        if (!$sel.val()) return;
3870                        var t = $.trim($sel.find('option:selected').text());
3871                        if (t) {
3872                            txt = t;
3873                            return false;
3874                        }
3875                    });
3876                    return txt;
3877                }
3878
3879                function recomputeMainImage() {
3880                    var bestOrigin = null;
3881                    var bestScore  = 0;
3882
3883                    $.each(sources, function(origin, data) {
3884                        if (data.src && data.lastSetAt > bestScore) {
3885                            bestScore  = data.lastSetAt;
3886                            bestOrigin = origin;
3887                        }
3888                    });
3889
3890                    mainOrigin = bestOrigin;
3891
3892                    if (!mainOrigin) {
3893                        lastImageSrc    = '';
3894                        lastImageOrigin = null;
3895                        $hiddenField.val('');
3896
3897                        $previewImg.attr('src','');
3898                        $previewBox.hide();
3899                        if ($removePreview.length) $removePreview.hide();
3900                        if ($previewCropBtn && $previewCropBtn.length) {
3901                            $previewCropBtn
3902                                .prop('disabled', true)
3903                                .addClass('jdmc-ai-crop-disabled');
3904                        }
3905                    } else {
3906                        var data = sources[mainOrigin];
3907                        lastImageSrc    = data.src;
3908                        lastImageOrigin = mainOrigin;
3909
3910                        if (data.attachmentId) {
3911                            $hiddenField.val(data.attachmentId);
3912                        } else {
3913                            $hiddenField.val('');
3914                        }
3915
3916                        if (mainOrigin === 'ai') {
3917                            pushGalleryItem(lastImageSrc, $hiddenField.val());
3918                            renderGallery();
3919                            $previewImg.attr('src', data.src);
3920                            $previewBox.show();
3921                            if ($removePreview.length) $removePreview.show();
3922                            if ($previewCropBtn && $previewCropBtn.length) {
3923                                if (sources.ai && sources.ai.attachmentId) {
3924                                    $previewCropBtn
3925                                        .prop('disabled', false)
3926                                        .removeClass('jdmc-ai-crop-disabled');
3927                                } else {
3928                                    $previewCropBtn
3929                                        .prop('disabled', true)
3930                                        .addClass('jdmc-ai-crop-disabled');
3931                                }
3932                            }
3933                        } else {
3934                            $previewImg.attr('src','');
3935                            $previewBox.hide();
3936                            if ($removePreview.length) $removePreview.hide();
3937                            if ($previewCropBtn && $previewCropBtn.length) {
3938                                $previewCropBtn
3939                                    .prop('disabled', true)
3940                                    .addClass('jdmc-ai-crop-disabled');
3941                            }
3942                        }
3943                    }
3944
3945                    updateRecap();
3946                }
3947
3948                function removeOrigin(origin) {
3949                    if (!sources[origin]) return;
3950
3951                    sources[origin].src          = '';
3952                    sources[origin].attachmentId = null;
3953                    sources[origin].lastSetAt    = 0;
3954
3955                    if (origin === 'ai') {
3956                        $previewImg.attr('src','');
3957                        $previewBox.hide();
3958                        if ($removePreview.length) $removePreview.hide();
3959                        if ($previewCropBtn && $previewCropBtn.length) {
3960                            $previewCropBtn
3961                                .prop('disabled', true)
3962                                .addClass('jdmc-ai-crop-disabled');
3963                        }
3964                    }
3965
3966                    $wrapper.trigger('jdmc_dp_clear_preview', [origin]);
3967
3968                    recomputeMainImage();
3969                }
3970
3971                // Synchro & tri TAILLES
3972                if ($tailleOriginal.length && $tailleMirror.length) {
3973                    $tailleMirror.each(function() {
3974                        $(this).empty();
3975                    });
3976
3977                    var hasAny = false;
3978
3979                    var sizeOptions = [];
3980                    $tailleOriginal.find('option').each(function() {
3981                        var $opt  = $(this);
3982                        var val   = $opt.attr('value');
3983                        var text  = $.trim($opt.text());
3984                        if (!val || !text) return;
3985
3986                        var size = parseSizeFromText(text);
3987                        if (!size) return;
3988
3989                        sizeOptions.push({
3990                            value: val,
3991                            text:  text,
3992                            w:     size.w,
3993                            h:     size.h
3994                        });
3995                    });
3996
3997                    sizeOptions.sort(function(a, b) {
3998                        if (a.w !== b.w) return a.w - b.w;
3999                        return a.h - b.h;
4000                    });
4001
4002                    var $placeholderOpt = $tailleOriginal.find('option[value=""]').first().clone();
4003                    $tailleOriginal.empty();
4004                    if ($placeholderOpt.length) {
4005                        $tailleOriginal.append($placeholderOpt);
4006                    }
4007
4008                    sizeOptions.forEach(function(opt) {
4009                        $tailleOriginal.append(
4010                            $('<option>').val(opt.value).text(opt.text)
4011                        );
4012                    });
4013
4014                    sizeOptions.forEach(function(opt) {
4015                        var orientation = getOrientationFromSize(opt.w, opt.h);
4016                        var iaExact     = isIaExactSize(opt.w, opt.h);
4017
4018                        var $directSelect = $wrapper.find(
4019                            '.jdmc-ai-taille-select-direct.jdmc-ai-taille-select-' + orientation
4020                        );
4021                        if ($directSelect.length) {
4022                            $directSelect.append(
4023                                $('<option>').val(opt.value).text(opt.text)
4024                            );
4025                            hasAny = true;
4026                        }
4027
4028                        if (iaExact) {
4029                            var $iaSelect = $wrapper.find(
4030                                '.jdmc-ai-taille-select-ia.jdmc-ai-taille-select-' + orientation
4031                            );
4032                            if ($iaSelect.length) {
4033                                $iaSelect.append(
4034                                    $('<option>').val(opt.value).text(opt.text)
4035                                );
4036                            }
4037                        }
4038                    });
4039
4040                    $tailleMirror.each(function() {
4041                        var $select = $(this);
4042                        var $group  = $select.closest('.jdmc-ai-size-zone');
4043                        if ($select.children('option').length) {
4044                            $select.prepend($('<option value="">Choisir…</option>'));
4045                            if ($group.length) $group.show();
4046                        } else {
4047                            if ($group.length) $group.hide();
4048                        }
4049                    });
4050
4051                    if (hasAny) {
4052                        var $tailleRow = $tailleOriginal.closest('tr');
4053                        if ($tailleRow.length) {
4054                            $tailleRow.hide();
4055                        }
4056
4057                        syncAllSizeSelectsFromOriginal();
4058
4059                        $tailleMirror.on('change', function() {
4060                            var $select = $(this);
4061                            var val     = $select.val();
4062
4063                            if (!val) {
4064                                return;
4065                            }
4066
4067                            var isIa = $select.hasClass('jdmc-ai-taille-select-ia');
4068                            var $groupFamily = isIa
4069                                ? $wrapper.find('.jdmc-ai-taille-select-ia')
4070                                : $wrapper.find('.jdmc-ai-taille-select-direct');
4071
4072                            $groupFamily.not($select).val('');
4073
4074                            $tailleOriginal.val(val).trigger('change');
4075
4076                            $tailleMirror.each(function() {
4077                                var $s = $(this);
4078                                if ($s.is($select)) return;
4079                                if ($s.find('option[value="' + val + '"]').length) {
4080                                    $s.val(val);
4081                                } else {
4082                                    $s.val('');
4083                                }
4084                            });
4085
4086                            updateRecap();
4087                            updatePriceDuplicate();
4088                        });
4089
4090                        $tailleOriginal.on('change.jdmcTaille', function() {
4091                            syncAllSizeSelectsFromOriginal();
4092                            updateRecap();
4093                            updatePriceDuplicate();
4094                        });
4095
4096                        (function() {
4097                            var defaultText = '30 x 30 cm';
4098                            var chosenVal   = null;
4099                            $tailleOriginal.find('option').each(function() {
4100                                var $opt = $(this);
4101                                var t = $.trim($opt.text());
4102                                if (t.indexOf(defaultText) !== -1) {
4103                                    chosenVal = $opt.val();
4104                                    return false;
4105                                }
4106                            });
4107                            if (chosenVal) {
4108                                $tailleOriginal.val(chosenVal).trigger('change');
4109                            }
4110                        })();
4111                    }
4112                }
4113
4114                function initFormeSwatches() {
4115                    if (!$formeOriginal.length) return;
4116
4117                    var $formeRow = $formeOriginal.closest('tr');
4118                    if ($formeRow.length) {
4119                        $formeRow.hide();
4120                    }
4121
4122                    var formeOptions = [];
4123                    $formeOriginal.find('option').each(function() {
4124                        var $opt = $(this);
4125                        var val  = $opt.attr('value');
4126                        var txt  = $.trim($opt.text());
4127                        if (!val || !txt) return;
4128                        formeOptions.push({ value: val, label: txt });
4129                    });
4130
4131                    if (!formeOptions.length) return;
4132
4133                    var $directContainer = $wrapper.find('.jdmc-ai-forme-swatches-direct');
4134                    var $iaContainer     = $wrapper.find('.jdmc-ai-forme-swatches-ia');
4135
4136                    var $groupDirect = null;
4137                    var $groupIa     = null;
4138
4139                    function buildGroup($container) {
4140                        if (!$container.length) return null;
4141
4142                        var $wrap = $('<div class="variable-items-wrapper jdmc-ai-forme-items"></div>');
4143
4144                        formeOptions.forEach(function(opt) {
4145                            var $item = $('<span class="variable-item jdmc-ai-forme-item" data-value=""></span>');
4146                            $item.attr('data-value', opt.value);
4147
4148                            var $inner = $('<span class="variable-item-span"></span>').text(opt.label);
4149                            $item.append($inner);
4150                            $wrap.append($item);
4151                        });
4152
4153                        $container.empty().append($wrap);
4154                        return $wrap;
4155                    }
4156
4157                    $groupDirect = buildGroup($directContainer);
4158                    $groupIa     = buildGroup($iaContainer);
4159
4160                    function currentValue() {
4161                        var v = $formeOriginal.val();
4162                        if (v) return v;
4163                        if (formeOptions.length) return formeOptions[0].value;
4164                        return '';
4165                    }
4166
4167                    function syncActive(value) {
4168                        [$groupDirect, $groupIa].forEach(function($group) {
4169                            if (!$group || !$group.length) return;
4170                            $group.find('.jdmc-ai-forme-item').each(function() {
4171                                var $it = $(this);
4172                                var v   = $it.attr('data-value');
4173                                if (String(v) === String(value)) {
4174                                    $it.addClass('selected');
4175                                } else {
4176                                    $it.removeClass('selected');
4177                                }
4178                            });
4179                        });
4180                    }
4181
4182                    syncActive(currentValue());
4183
4184                    $wrapper.on('click', '.jdmc-ai-forme-item', function(e) {
4185                        e.preventDefault();
4186                        var $it = $(this);
4187                        var v   = $it.attr('data-value');
4188                        if (!v) return;
4189
4190                        $formeOriginal.val(v).trigger('change');
4191                        syncActive(v);
4192                        updateRecap();
4193                        updatePriceDuplicate();
4194                    });
4195
4196                    $formeOriginal.on('change.jdmcForme', function() {
4197                        syncActive(currentValue());
4198                        updateRecap();
4199                        updatePriceDuplicate();
4200                    });
4201
4202                    updateRecap();
4203                }
4204
4205                initFormeSwatches();
4206
4207                if ($form.length && $validateBlock.length && $cartRow.length) {
4208                    var $qty = $form.find('.quantity').first();
4209                    $addToCartBtn = $form.find('button.single_add_to_cart_button').first();
4210
4211                    if ($qty.length) {
4212                        $qty.appendTo($cartRow);
4213                    }
4214                    if ($addToCartBtn.length) {
4215                        $addToCartBtn.appendTo($cartRow);
4216                        $addToCartBtn.text('Ajouter au panier');
4217                    }
4218
4219                    // Tracking : clic ajout panier (Custom DP)
4220                    $addToCartBtn.off('click.jdmcTrack').on('click.jdmcTrack', function() {
4221                        jdmcTrack('DP_AddToCartCustom', {
4222                            image_uploaded: !!window.__jdmcDpImageUploaded,
4223                            image_origin: (typeof mainOrigin !== 'undefined' ? mainOrigin : null)
4224                        });
4225                    });
4226
4227                    setUploadInProgress(false);
4228                }
4229
4230                function updatePriceDuplicate() {
4231                    if ((!$priceDirect.length && !$priceBottom.length) || !$form.length) return;
4232
4233                    var $src = $form.find('.single_variation .price, .woocommerce-variation-
4233price .price').first();
4234
4235                    if (!$src.length) {
4236                        var $summary = $form.closest('.summary');
4237                        $src = $summary.find('p.price, .price').first();
4238                    }
4239
4240                    if ($src.length) {
4241                        var html = $src.clone().wrap('<div>').parent().html();
4242                        if ($priceDirect.length) {
4243                            $priceDirect.html(html);
4244                        }
4245                        if ($priceBottom.length) {
4246                            $priceBottom.html(html);
4247                        }
4248                    } else {
4249                        if ($priceDirect.length) $priceDirect.empty();
4250                        if ($priceBottom.length) $priceBottom.empty();
4251                    }
4252                }
4253
4254                function getActiveStyleKey() {
4255                    var $active = $styleOptions.filter('.jdmc-ai-style-active').first();
4256                    var key = $active.data('style-key');
4257                    return key ? String(key) : 'realistic';
4258                }
4259
4260                function updateRecap() {
4261                    var formeText = '';
4262                    if ($formeOriginal.length && $formeOriginal.find('option:selected').length) {
4263                        formeText = $.trim($formeOriginal.find('option:selected').text());
4264                    }
4265
4266                    if (!formeText) {
4267                        var $vsName = $form.find('.woo-selected-variation-item-name');
4268                        if ($vsName.length) {
4269                            formeText = $.trim($vsName.text());
4270                        }
4271                    }
4272
4273                    if (!formeText) {
4274                        formeText = '—';
4275                    }
4276                    $recapFormeVal.text(formeText);
4277
4278                    var tailleText = getCurrentTailleText();
4279                    if (!tailleText) {
4280                        tailleText = '—';
4281                    }
4282                    $recapTailleVal.text(tailleText);
4283
4284                    var styleText = '';
4285                    var $styleActive = $styleOptions.filter('.jdmc-ai-style-active').first();
4286                    if ($styleActive.length) {
4287                        styleText = $.trim($styleActive.find('.jdmc-style-label').text());
4288                    }
4289
4290                    if (mainOrigin === 'ai' && styleText && lastImageSrc) {
4291                        $recapStyleVal.text(styleText);
4292                        $recapStyleRow.show();
4293                    } else {
4294                        $recapStyleVal.text('');
4295                        $recapStyleRow.hide();
4296                    }
4297
4298                    if (lastImageSrc) {
4299                        $recapImgThumb.attr('src', lastImageSrc).show();
4300                        if ($removeRecap.length) $removeRecap.show();
4301                    } else {
4302                        $recapImgThumb.hide();
4303                        if ($removeRecap.length) $removeRecap.hide();
4304                    }
4305                }
4306
4307                function placeStylesForMode(mode) {
4308                    if (!$stylesBlock.length) return;
4309
4310                    if (mode === 'edit') {
4311                        var $editMode = $wrapper.find('.jdmc-ai-mode-edit');
4312                        var $facLabel = $editMode.find('.jdmc-ai-label-edit-facultatif').first();
4313
4314                        if ($facLabel.length) {
4315                            $stylesBlock.insertBefore($facLabel);
4316                        } else {
4317                            $stylesBlock.appendTo($editMode);
4318                        }
4319                    } else {
4320                        if ($stylesOriginalNext && $stylesOriginalNext.length && $stylesOriginalNext.parent().length) {
4321                            $stylesBlock.insertBefore($stylesOriginalNext);
4322                        } else {
4323                            $stylesBlock.appendTo($stylesOriginalParent);
4324                        }
4325                    }
4326                }
4327
4328                function applyNoneVisibilityForMode(mode) {
4329                    if (!$styleNone.length) return;
4330
4331                    if (mode === 'prompt') {
4332                        $styleNone.hide();
4333
4334                        if ($styleNone.hasClass('jdmc-ai-style-active')) {
4335                            $styleNone.removeClass('jdmc-ai-style-active');
4336                            var $fallback = $styleNonNone.first();
4337                            if ($fallback.length) {
4338                                $fallback.addClass('jdmc-ai-style-active');
4339                            }
4340                        }
4341                    } else {
4342                        $styleNone.show();
4343                    }
4344                }
4345
4346                function updateStylesPromptVisibility(mode) {
4347                    if (!$stylesPromptText.length) return;
4348                    if (mode === 'prompt') {
4349                        $stylesPromptText.show();
4350                    } else {
4351                        $stylesPromptText.hide();
4352                    }
4353                }
4354
4355                function updateEditRetouchUI() {
4356                    if (!$editPrompt.length || !$facultatifLabel.length || !$editTitle.length) {
4357                        return;
4358                    }
4359
4360                    if (currentMode !== 'edit') {
4361                        $facultatifLabel.show().removeClass('jdmc-ai-edit-open');
4362                        $editTitle.hide();
4363                        $editPrompt.hide();
4364                        return;
4365                    }
4366
4367                    var styleKey = getActiveStyleKey();
4368                    if (styleKey === 'none') {
4369                        $facultatifLabel.hide().removeClass('jdmc-ai-edit-open');
4370                        $editTitle.show();
4371                        $editPrompt.show();
4372                    } else {
4373                        $facultatifLabel.show().removeClass('jdmc-ai-edit-open');
4374                        $editTitle.hide();
4375                        $editPrompt.hide();
4376                    }
4377                }
4378
4379                if ($form.length) {
4380                    $form.on('found_variation', function(event, variation) {
4381                        if (variation && variation.price_html) {
4382                            if ($priceDirect.length)  $priceDirect.html(variation.price_html);
4383                            if ($priceBottom.length)  $priceBottom.html(variation.price_html);
4384                        } else {
4385                            updatePriceDuplicate();
4386                        }
4387                    });
4388
4389                    $form.on('reset_data', function() {
4390                        updatePriceDuplicate();
4391                    });
4392
4393                    setTimeout(function() {
4394                        $form.trigger('check_variations');
4395                        updatePriceDuplicate();
4396                    }, 50);
4397                }
4398
4399                $tabs.on('click', function() {
4400                    var mode = $(this).data('mode');
4401                    if (!mode || mode === currentMode) return;
4402
4403                    currentMode = mode;
4404
4405                    $tabs.removeClass('jdmc-ai-tab-active')
4406                         .attr('aria-selected', 'false');
4407                    $(this).addClass('jdmc-ai-tab-active')
4408                           .attr('aria-selected', 'true');
4409
4410                    $wrapper.find('.jdmc-ai-mode')
4411                            .hide()
4412                            .removeClass('jdmc-ai-mode-active');
4413
4414                    $wrapper.find('.jdmc-ai-mode-' + mode)
4415                            .show()
4416                            .addClass('jdmc-ai-mode-active');
4417
4418                    $btn.text('Générer l\'image avec l\'IA');
4419
4420                    if (mode === 'prompt') {
4421                        if ($styleTransformTitle.length) {
4422                            $styleTransformTitle.hide();
4423                        }
4424                    } else {
4425                        if ($styleTransformTitle.length) {
4426                            $styleTransformTitle.show();
4427                        }
4428
4429                        if ($styleNone.length) {
4430                            $styleOptions.removeClass('jdmc-ai-style-active');
4431                            $styleNone.addClass('jdmc-ai-style-active');
4432                            updateRecap();
4433                        }
4434                    }
4435
4436                    placeStylesForMode(mode);
4437                    applyNoneVisibilityForMode(mode);
4438                    updateStylesPromptVisibility(mode);
4439                    updateEditRetouchUI();
4440                    setStatus('', false);
4441                });
4442
4443                placeStylesForMode(currentMode);
4444                applyNoneVisibilityForMode(currentMode);
4445                updateStylesPromptVisibility(currentMode);
4446                if ($styleTransformTitle.length) {
4447                    $styleTransformTitle.hide();
4448                }
4449
4450                if ($facultatifLabel.length && $editPrompt.length) {
4451                    $editPrompt.hide();
4452
4453                    $facultatifLabel.on('click', function(e) {
4454                        e.preventDefault();
4455                        if (currentMode === 'edit' && getActiveStyleKey() === 'none') {
4456                            return;
4457                        }
4458                        $editPrompt.slideToggle(150);
4459                        $(this).toggleClass('jdmc-ai-edit-open');
4460                    });
4461                }
4462
4463                $styleOptions.on('click', function() {
4464                    if (!$(this).is(':visible')) {
4465                        return;
4466                    }
4467                    $styleOptions.removeClass('jdmc-ai-style-active');
4468                    $(this).addClass('jdmc-ai-style-active');
4469                    updateRecap();
4470                    updateEditRetouchUI();
4471                });
4472
4473                function buildPromptWithStyle(basePrompt, tailleText) {
4474                    basePrompt = $.trim(basePrompt || '');
4475                    var styleKey = getActiveStyleKey();
4476                    var suffix   = '';
4477
4478                    // En génération, le texte du client décrit d'abord le SUJET de l'image.
4479                    // On force une lecture littérale des termes descriptifs afin d'éviter
4480                    // qu'une expression ordinaire (ex. "chat noir") soit transformée en
4481                    // personnage, franchise ou référence culturelle portant un nom similaire.
4482                    // Cette consigne n'est volontairement PAS appliquée au mode retouche.
4483                    if (currentMode === 'prompt' && basePrompt) {
4484                        basePrompt =
4485                            'Sujet demandé par l\'utilisateur : "' + basePrompt + '". ' +
4486                            'Représente fidèlement et littéralement le sujet décrit. ' +
4487                            'Conserve exactement sa nature (animal, objet, personne, paysage, etc.) et ses caractéristiques demandées. ' +
4488                            'Si des mots descriptifs ordinaires peuvent aussi correspondre au nom d\'un personnage, d\'une franchise, d\'une célébrité ou d\'une référence culturelle, ' +
4489                            'privilégie leur sens descriptif ordinaire, sauf si l\'utilisateur demande explicitement cette référence. ' +
4490                            'Le style visuel demandé ci-dessous doit modifier uniquement le rendu de l\'image, jamais remplacer ou réinterpréter le sujet.';
4491                    }
4492
4493                    if (tailleText) {
4494                        basePrompt += ' Format de composition demandé : ' + tailleText + '.';
4495                    }
4496
4497                    if (styleKey === 'none') {
4498                        return basePrompt;
4499                    }
4500
4501                    switch (styleKey) {
4502                        case 'cartoon':
4503                            suffix = ' Style dessin animé très coloré, illustration HD, contours nets, couleurs vives et lumineuses.';
4504                            break;
4505                        case 'realistic':
4506                            suffix = ' Photo extrêmement réaliste de la scène, éclairage naturel, détails nets, rendu haute résolution, image qui ne laisse pas deviner qu’elle a été cr
4506éée par une IA.';
4507                            break;
4508                        case 'fairytale':
4509                            suffix = ' Style paysage féerique extrêmement détaillé, ambiance magique, lumière douce et couleurs vives et saturées, fort contraste, contours nets, reflets dorés.';
4510                            break;
4511                        case 'galaxy':
4512                            suffix = ' Style fluo galaxie, couleurs néon très contrastées, fond sombre avec étoiles et effets lumineux intenses.';
4513                            break;
4514                        case 'manga':
4515                            suffix = ' Illustration dans un style manga détaillé, lignes propres, trames classiques, couleurs harmonieuses, expressions travaillées.';
4516                            break;
4517                        case 'watercolor':
4518                            suffix = ' Style aquarelle douce, contours légèrement fondus, texture papier, palette de couleurs harmonieuses.';
4519                            break;
4520                        case 'abstract':
4521                            suffix = ' Style abstrait moderne, grandes formes colorées, composition artistique, couleurs intenses.';
4522                            break;
4523                        default:
4524                            suffix = '';
4525                            break;
4526                    }
4527
4528                    if (!basePrompt) {
4529                        return suffix || '';
4530                    }
4531                    return basePrompt + (suffix ? ' ' + suffix : '');
4532                }
4533
4534                function setLoading(state) {
4535                    isLoading = state;
4536                    if (state) {
4537                        $btn.prop('disabled', true);
4538                        setStatus('Génération en cours, cela peut prendre un peu de temps...', false);
4539                        if ($progress.length) {
4540                            $progress.show();
4541                        }
4542                    } else {
4543                        $btn.prop('disabled', false);
4544                        if ($progress.length) {
4545                            $progress.hide();
4546                        }
4547                        setStatus('', false);
4548                    }
4549                }
4550
4551                function handleSuccess(response) {
4552                    if (!response || !response.success) {
4553                        var err = response && response.error ? response.error : 'Erreur inconnue.';
4554                        setStatus('Erreur : ' + err, true);
4555                        return;
4556                    }
4557
4558                    if (response.image_url && response.attachment_id) {
4559                        sources.ai.src          = response.image_url;
4560                        pushGalleryItem(response.image_url, response.attachment_id);
4561                        renderGallery();
4562                        sources.ai.attachmentId = response.attachment_id;
4563
4564                        // Tracking : image générée (IA)
4565                        jdmcMarkImageUploaded('ai', response.attachment_id);
4566
4567                        sources.ai.lastSetAt    = ++sourceCounter;
4568
4569                        recomputeMainImage();
4570
4571                        if ($previewCropBtn && $previewCropBtn.length) {
4572                            if (sources.ai && sources.ai.attachmentId) {
4573                                $previewCropBtn
4574                                    .prop('disabled', false)
4575                                    .removeClass('jdmc-ai-crop-disabled');
4576                            } else {
4577                                $previewCropBtn
4578                                    .prop('disabled', true)
4579                                    .addClass('jdmc-ai-crop-disabled');
4580                            }
4581                        }
4582                    }
4583
4584                    setStatus('Image générée avec succès. Vous pouvez maintenant ajouter le produit au panier.', false);
4585                }
4586
4587                function handleAjaxError(jqXHR, textStatus, errorThrown) {
4588                    var statusCode  = jqXHR.status || 'inconnu';
4589                    var snippet = '';
4590
4591                    if (jqXHR.responseText) {
4592                        snippet = jqXHR.responseText.toString().substr(0, 300);
4593                        snippet = snippet.replace(/<[^>]+>/g, ' ');
4594                    }
4595
4596                    var errMsg = 'Erreur AJAX (' + statusCode + ') : ' + (errorThrown || textStatus);
4597                    if (snippet) {
4598                        errMsg += ' — Détail : ' + snippet;
4599                    }
4600
4601                    setStatus(errMsg, true);
4602                }
4603
4604                function clearDirectUI() {
4605                    if ($directUpload.length) {
4606                        $directUpload.val('');
4607                    }
4608                    $directFileName.hide().text('');
4609                    if ($directThumb.length) {
4610                        $directThumb.hide().attr('src', '');
4611                    }
4612                    if ($removeDirect.length) {
4613                        $removeDirect.hide();
4614                    }
4615                    if ($directStatus.length) {
4616                        $directStatus.text('').removeClass('jdmc-ai-has-error');
4617                    }
4618                    if ($directProgress.length) {
4619                        $directProgress.hide();
4620                    }
4621                    if ($directCropBtn && $directCropBtn.length) {
4622                        $directCropBtn
4623                            .prop('disabled', true)
4624                            .addClass('jdmc-ai-crop-disabled');
4625                    }
4626                }
4627
4628                function clearEditUI() {
4629                    editImageBlob = null;
4630                    if ($upload.length) {
4631                        $upload.val('');
4632                    }
4633                    if ($editThumb.length) {
4634                        $editThumb.hide().attr('src', '');
4635                    }
4636                    if ($removeEdit.length) {
4637                        $removeEdit.hide();
4638                    }
4639                    if ($editStatus.length) {
4640                        $editStatus.text('').removeClass('jdmc-ai-has-error');
4641                    }
4642                    if ($editProgress.length) {
4643                        $editProgress.hide();
4644                    }
4645                    if ($editCropBtn && $editCropBtn.length) {
4646                        $editCropBtn
4647                            .prop('disabled', true)
4648                            .addClass('jdmc-ai-crop-disabled');
4649                    }
4650                }
4651
4652                if ($removeDirect.length) {
4653                    $removeDirect.on('click', function(e) {
4654                        e.preventDefault();
4655                        clearDirectUI();
4656                        removeOrigin('direct');
4657                        setGlobalMessage('', false);
4658                        setUploadInProgress(false);
4659                    });
4660                }
4661
4662                if ($removeEdit.length) {
4663                    $removeEdit.on('click', function(e) {
4664                        e.preventDefault();
4665                        clearEditUI();
4666                        removeOrigin('edit');
4667                        setGlobalMessage('', false);
4668                        setUploadInProgress(false);
4669                    });
4670                }
4671
4672               if ($removePreview.length) {
4673    $removePreview.on('click', function(e) {
4674        e.preventDefault();
4675
4676        var currentSrc = lastImageSrc || '';
4677        var currentId  = $hiddenField.val() ? String($hiddenField.val()) : null;
4678
4679        // 1) Supprimer la vignette correspondante dans "Mes images générées"
4680        if (typeof aiGallery !== 'undefined' && aiGallery && aiGallery.length) {
4681            aiGallery = aiGallery.filter(function(item) {
4682                if (!item || !item.src) return false;
4683
4684                var sameSrc = currentSrc && item.src === currentSrc;
4685                var sameId  = currentId && item.attachmentId && (String(item.attachmentId) === currentId);
4686
4687                // On garde uniquement ce qui n'est PAS l'image courante
4688                return !(sameSrc || sameId);
4689            });
4690
4691            renderGallery();
4692        }
4693
4694        // 2) S'il reste encore des images IA, on en sélectionne une automatiquement
4695        if (typeof aiGallery !== 'undefined' && aiGallery && aiGallery.length) {
4696            // On prend la dernière (la plus récente visuellement)
4697            var newIdx = aiGallery.length - 1;
4698            setMainFromGallery(newIdx);
4699        } else {
4700            // 3) Sinon : plus d'image IA -> on nettoie comme avant
4701            removeOrigin('ai');
4702        }
4703    });
4704}
4705
4706
4707
4708                if ($removeRecap.length) {
4709                    $removeRecap.on('click', function(e) {
4710                        e.preventDefault();
4711                        if (!mainOrigin) return;
4712
4713                        if (mainOrigin === 'direct') {
4714                            clearDirectUI();
4715                        } else if (mainOrigin === 'edit') {
4716                            clearEditUI();
4717                        } else if (mainOrigin === 'ai') {
4718                            pushGalleryItem(lastImageSrc, $hiddenField.val());
4719                            renderGallery();
4720                            $previewImg.attr('src','');
4721                            $previewBox.hide();
4722                            if ($removePreview.length) $removePreview.hide();
4723                            if ($previewCropBtn && $previewCropBtn.length) {
4724                                $previewCropBtn
4725                                    .prop('disabled', true)
4726                                    .addClass('jdmc-ai-crop-disabled');
4727                            }
4728                        }
4729                        removeOrigin(mainOrigin);
4730                        setGlobalMessage('', false);
4731                        setUploadInProgress(false);
4732                    });
4733                }
4734
4735                // === Création des boutons "Recadrer l'image" ===
4736                jdmcEnsureCropModal();
4737
4738                if ($directThumb.length) {
4739                    $directCropBtn = $('<button type="button" class="jdmc-btn jdmc-ai-crop-direct jdmc-ai-crop-disabled" style="margin-top:6px;" disabled>✂️ Recadrer l’image</button>');
4740                    $directCropBtn.insertAfter($directThumb);
4741                    $directCropBtn.prop('disabled', true).addClass('jdmc-ai-crop-disabled');
4742
4743                    $directCropBtn.on('click', function(e) {
4744                        e.preventDefault();
4745                        if ($directCropBtn.prop('disabled')) return;
4746                        if (!sources.direct || !sources.direct.src || !sources.direct.attachmentId) {
4747                            alert('Aucune image importée à recadrer pour cet encart.');
4748                            return;
4749                        }
4750                        jdmcOpenCropModal(sources.direct.src, sources.direct.attachmentId, function(newAttachmentId, newUrl) {
4751                            sourceCounter++;
4752                            sources.direct.src          = newUrl;
4753                            sources.direct.attachmentId = newAttachmentId;
4754                            sources.direct.lastSetAt    = sourceCounter;
4755                            if ($directThumb.length) {
4756                                $directThumb.attr('src', newUrl).show();
4757                            }
4758                            recomputeMainImage();
4759                            updateRecap();
4760                        });
4761                    });
4762                }
4763
4764                if ($editThumb.length) {
4765    // On crée un petit bloc pour avoir l'image PUIS le bouton en dessous
4766    var $editBlock = $('<div class="jdmc-ai-edit-thumb-block"></div>');
4767    $editThumb.after($editBlock);
4768    $editBlock.append($editThumb);
4769
4770    $editCropBtn = $('<button type="button" class="jdmc-btn jdmc-ai-crop-edit jdmc-ai-crop-disabled" disabled>✂️ Recadrer l’image</button>');
4771    $editBlock.append($editCropBtn);
4772
4773    $editCropBtn.prop('disabled', true).addClass('jdmc-ai-crop-disabled');
4774
4775    $editCropBtn.on('click', function(e) {
4776        e.preventDefault();
4777        if ($editCropBtn.prop('disabled')) return;
4778        if (!sources.edit || !sources.edit.src || !sources.edit.attachmentId) {
4779            alert('Aucune image importée à recadrer pour cet encart.');
4780            return;
4781        }
4782        jdmcOpenCropModal(sources.edit.src, sources.edit.attachmentId, function(newAttachmentId, newUrl) {
4783            sourceCounter++;
4784            sources.edit.src          = newUrl;
4785            sources.edit.attachmentId = newAttachmentId;
4786            sources.edit.lastSetAt    = sourceCounter;
4787            if ($editThumb.length) {
4788                $editThumb.attr('src', newUrl).show();
4789            }
4790            recomputeMainImage();
4791            updateRecap();
4792        });
4793    });
4794}
4795
4796
4797                if ($previewImg.length) {
4798                    $previewCropBtn = $('<button type="button" class="jdmc-btn jdmc-ai-crop-preview jdmc-ai-crop-disabled" style="margin-top:6px;" disabled>✂️ Recadrer l’image</button>');
4799                    $previewCropBtn.insertAfter($previewImg);
4800                    $previewCropBtn.prop('disabled', true).addClass('jdmc-ai-crop-disabled');
4801
4802                    $previewCropBtn.on('click', function(e) {
4803                        e.preventDefault();
4804                        if ($previewCropBtn.prop('disabled')) return;
4805                        if (!sources.ai || !sources.ai.src || !sources.ai.attachmentId) {
4806                            alert('Aucune image générée à recadrer.');
4807                            return;
4808                        }
4809                        jdmcOpenCropModal(sources.ai.src, sources.ai.attachmentId, function(newAttachmentId, newUrl) {
4810                            sourceCounter++;
4811                            sources.ai.src          = newUrl;
4812                            sources.ai.attachmentId = newAttachmentId;
4813                            sources.ai.lastSetAt    = sourceCounter;
4814                            if ($previewImg.length) {
4815                                $previewImg.attr('src', newUrl);
4816                                $previewBox.show();
4817                            }
4818                            if ($removePreview.length) {
4819                                $removePreview.show();
4820                            }
4821                            $previewCropBtn
4822                                .prop('disabled', false)
4823                                .removeClass('jdmc-ai-crop-disabled');
4824                            pushGalleryItem(newUrl, newAttachmentId);
4825                            renderGallery();
4826                            recomputeMainImage();
4827                            updateRecap();
4828                        });
4829                    });
4830                }
4831
4832                // Upload direct (champ 1)
4833                if ($directUpload.length) {
4834
4835                    // pour pouvoir réuploader le même fichier
4836                    $directUpload.on('click', function() {
4837                        this.value = null;
4838                    });
4839
4840                    $directUpload.on('change', function() {
4841                        var file = this.files && this.files[0] ? this.files[0] : null;
4842
4843                        if (!file) {
4844                            clearDirectUI();
4845                            removeOrigin('direct');
4846                            setGlobalMessage('', false);
4847                            setUploadInProgress(false);
4848                            return;
4849                        }
4850
4851                        if (!file.type.match(/^image\//)) {
4852                            clearDirectUI();
4853                            setDirectMessage('Merci de sélectionner un fichier image (JPG ou PNG).', true);
4854                            setGlobalMessage('Merci de sélectionner un fichier image (JPG ou PNG).', true);
4855                            removeOrigin('direct');
4856                            setUploadInProgress(false);
4857                            return;
4858                        }
4859
4860                        if (file.size > 64 * 1024 * 1024) {
4861                            clearDirectUI();
4862                            setDirectMessage('Fichier trop volumineux (max ~64 Mo).', true);
4863                            setGlobalMessage('Fichier trop volumineux (max ~64 Mo).', true);
4864                            removeOrigin('direct');
4865                            setUploadInProgress(false);
4866                            return;
4867                        }
4868
4869                        sourceCounter++;
4870                        sources.direct.lastSetAt = sourceCounter;
4871
4872                        // Tracking : l'utilisateur a sélectionné une image (avant upload)
4873                        // Utile si l'upload AJAX échoue / est bloqué : on veut quand même capter l'intention "image ajoutée".
4874                        jdmcTrack('DP_ImageUploaded', {
4875                            origin: 'direct_select',
4876                            stage: 'select'
4877                        }, 'dp_image_select');
4878
4879
4880                        var localUrl = URL.createObjectURL(file);
4881                        $directFileName.text(file.name).show();
4882                        if ($directThumb.length) {
4883                            $directThumb.attr('src', localUrl).show();
4884                        }
4885                        if ($removeDirect.length) {
4886                            $removeDirect.show();
4887                        }
4888
4889                        sources.direct.src          = localUrl;
4890                        sources.direct.attachmentId = null;
4891
4892                        recomputeMainImage();
4893
4894                        setDirectMessage('Téléversement de votre image en cours...', false);
4895                        setGlobalMessage('Téléversement de votre image en cours...', false);
4896
4897                        if ($directProgress.length) $directProgress.show();
4898                        setUploadInProgress(true);
4899                        $directUpload.prop('disabled', true);
4900
4901                        var formData = new FormData();
4902                        formData.append('action', 'jdmc_ai_direct_upload');
4903                        formData.append('image', file);
4904
4905                        $.ajax({
4906                            url: ajaxUrl,
4907                            method: 'POST',
4908                            data: formData,
4909                            processData: false,
4910                            contentType: false,
4911                            dataType: 'json',
4912                            xhr: function() {
4913                                var xhr = $.ajaxSettings.xhr();
4914                                if (xhr.upload) {
4915                                    xhr.upload.addEventListener('progress', function(e) {
4916                                        if ($directProgress.length) $directProgress.show();
4917                                    });
4918                                }
4919                                return xhr;
4920                            }
4921                        }).done(function(response) {
4922                            if (!response || !response.success || !response.data) {
4923                                setDirectMessage('Erreur lors de l’enregistrement de votre image.', true);
4924                                setGlobalMessage('Erreur lors de l’enregistrement de votre image.', true);
4925                                return;
4926                            }
4927
4928                            var data = response.data;
4929                            if (!data.attachment_id || !data.image_url) {
4930                                setDirectMessage('Réponse incomplète lors de l’enregistrement de l’image.', true);
4931                                setGlobalMessage('Réponse incomplète lors de l’enregistrement de l’image.', true);
4932                                return;
4933                            }
4934
4935                            sources.direct.src          = data.image_url;
4936                            sources.direct.attachmentId = data.attachment_id;
4937
4938                            // Tracking : image uploadée (direct)
4939                            jdmcMarkImageUploaded('direct', data.attachment_id);
4940
4941
4942                            recomputeMainImage();
4943
4944                            if ($directThumb.length) {
4945                                $directThumb.attr('src', data.image_url).show();
4946                            }
4947
4948                            if ($directCropBtn && $directCropBtn.length) {
4949                                $directCropBtn
4950                                    .prop('disabled', false)
4951                                    .removeClass('jdmc-ai-crop-disabled');
4952                            }
4953
4954                            setDirectMessage('Image importée avec succès. Elle sera utilisée pour votre diamond painting.', false);
4955                            setGlobalMessage('Image importée avec succès. Elle sera utilisée pour votre diamond painting.', false);
4956                        }).fail(function() {
4957                            setDirectMessage('Erreur réseau lors de l’envoi de votre image.', true);
4958                            setGlobalMessage('Erreur réseau lors de l’envoi de votre image.', true);
4959                        }).always(function() {
4960                            $directUpload.prop('disabled', false);
4961                            if ($directProgress.length) $directProgress.hide();
4962                            setUploadInProgress(false);
4963                        });
4964                    });
4965                }
4966
4967                // Upload champ 2 (base IA)
4968                if ($upload.length) {
4969
4970                    // pour pouvoir réuploader la même base
4971                    $upload.on('click', function() {
4972                        this.value = null;
4973                    });
4974
4975                    $upload.on('change', function() {
4976                        var file = this.files && this.files[0] ? this.files[0] : null;
4977
4978                        if (!file) {
4979                            clearEditUI();
4980                            removeOrigin('edit');
4981                            setGlobalMessage('', false);
4982                            setUploadInProgress(false);
4983                            return;
4984                        }
4985
4986                        if (!file.type.match(/^image\//)) {
4987                            clearEditUI();
4988                            setEditMessage('Merci de sélectionner un fichier image (JPG ou PNG).', true);
4989                            setGlobalMessage('Merci de sélectionner un fichier image (JPG ou PNG).', true);
4990                            removeOrigin('edit');
4991                            setUploadInProgress(false);
4992                            return;
4993                        }
4994
4995                        if (file.size > 64 * 1024 * 1024) {
4996                            clearEditUI();
4997                            setEditMessage('Fichier trop volumineux (max ~64 Mo). Merci de le compresser un peu.', true);
4998                            setGlobalMessage('Fichier trop volumineux (max ~64 Mo). Merci de le compresser un peu.', true);
4999                            removeOrigin('edit');
5000                            setUploadInProgress(false);
5001                            return;
5002                        }
5003
5004                        sourceCounter++;
5005                        sources.edit.lastSetAt = sourceCounter;
5006
5007                        // Tracking : l'utilisateur a sélectionné une image pour l'édition (avant upload)
5008                        jdmcTrack('DP_ImageUploaded', {
5009                            origin: 'edit_select',
5010                            stage: 'select'
5011                        }, 'dp_image_select_edit');
5012
5013
5014                        var reader = new FileReader();
5015                        reader.onload = function(e) {
5016                            var img = new Image();
5017                            img.onload = function() {
5018                                var maxDim = 1024;
5019                                var w = img.width;
5020                                var h = img.height;
5021
5022                                if (w > h) {
5023                                    if (w > maxDim) {
5024                                        h = Math.round(h * maxDim / w);
5025                                        w = maxDim;
5026                                    }
5027                                } else {
5028                                    if (h > maxDim) {
5029                                        w = Math.round(w * maxDim / h);
5030                                        h = maxDim;
5031                                    }
5032                                }
5033
5034                                var canvas = document.createElement('canvas');
5035                                canvas.width  = w;
5036                                canvas.height = h;
5037
5038                                var ctx = canvas.getContext('2d');
5039                                ctx.drawImage(img, 0, 0, w, h);
5040
5041                                canvas.toBlob(function(blob) {
5042                                    if (!blob) {
5043                                        setEditMessage('Erreur lors du traitement de l’image.', true);
5044                                        setGlobalMessage('Erreur lors du traitement de l’image.', true);
5045                                        editImageBlob = null;
5046                                        setUploadInProgress(false);
5047                                        if ($editProgress.length) $editProgress.hide();
5048                                        return;
5049                                    }
5050
5051                                    editImageBlob = blob;
5052
5053                                    var url = URL.createObjectURL(blob);
5054
5055                                    if ($editThumb.length) {
5056                                        $editThumb.attr('src', url).show();
5057                                    }
5058                                    if ($removeEdit.length) {
5059                                        $removeEdit.show();
5060                                    }
5061
5062                                    sources.edit.src          = url;
5063                                    sources.edit.attachmentId = null;
5064
5065                                    $previewImg.attr('src', '');
5066                                    $previewBox.hide();
5067                                    if ($removePreview.length) $removePreview.hide();
5068                                    if ($previewCropBtn && $previewCropBtn.length) {
5069                                        $previewCropBtn
5070                                            .prop('disabled', true)
5071                                            .addClass('jdmc-ai-crop-disabled');
5072                                    }
5073
5074                                    recomputeMainImage();
5075
5076                                    setEditMessage('Téléversement de votre image en cours...', false);
5077                                    setGlobalMessage('Téléversement de votre image en cours...', false);
5078
5079                                    if ($editProgress.length) $editProgress.show();
5080                                    setUploadInProgress(true);
5081                                    $upload.prop('disabled', true);
5082
5083                                    var formData = new FormData();
5084                                    var fileForUpload = new File([blob], 'image-base-ia.jpg', { type: 'image/jpeg' });
5085                                    formData.append('action', 'jdmc_ai_direct_upload');
5086                                    formData.append('image', fileForUpload);
5087
5088                                    $.ajax({
5089                                        url: ajaxUrl,
5090                                        method: 'POST',
5091                                        data: formData,
5092                                        processData: false,
5093                                        contentType: false,
5094                                        dataType: 'json',
5095                                        xhr: function() {
5096                                            var xhr = $.ajaxSettings.xhr();
5097                                            if (xhr.upload) {
5098                                                xhr.upload.addEventListener('progress', function(e) {
5099                                                    if ($editProgress.length) $editProgress.show();
5100                                                });
5101                                            }
5102                                            return xhr;
5103                                        }
5104                                    }).done(function(response) {
5105                                        if (!response || !response.success || !response.data) {
5106                                            setEditMessage('Erreur lors de l’enregistrement de votre image.', true);
5107                                            setGlobalMessage('Erreur lors de l’enregistrement de votre image.', true);
5108                                            return;
5109                                        }
5110
5111                                        var data = response.data;
5112                                        if (!data.attachment_id || !data.image_url) {
5113                                            setEditMessage('Réponse incomplète lors de l’enregistrement de l’image.', true);
5114                                            setGlobalMessage('Réponse incomplète lors de l’enregistrement de l’image.', true);
5115                                            return;
5116                                        }
5117
5118                                        sources.edit.src          = data.image_url;
5119                                        sources.edit.attachmentId = data.attachment_id;
5120
5121                                        // Tracking : image uploadée (edit)
5122                                        jdmcMarkImageUploaded('edit', data.attachment_id);
5123
5124
5125                                        recomputeMainImage();
5126
5127                                        if ($editCropBtn && $editCropBtn.length) {
5128                                            $editCropBtn
5129                                                .prop('disabled', false)
5130                                                .removeClass('jdmc-ai-crop-disabled');
5131                                        }
5132
5133                                        setEditMessage('Image importée avec succès. Elle sera utilisée comme base pour la retouche IA.', false);
5134                                        setGlobalMessage('Image importée avec succès. Elle sera utilisée comme base pour la retouche IA.', false);
5135                                    }).fail(function() {
5136                                        setEditMessage('Erreur réseau lors de l’envoi de votre image.', true);
5137                                        setGlobalMessage('Erreur réseau lors de l’envoi de votre image.', true);
5138                                    }).always(function() {
5139                                        $upload.prop('disabled', false);
5140                                        if ($editProgress.length) $editProgress.hide();
5141                                        setUploadInProgress(false);
5142                                    });
5143                                }, 'image/jpeg', 0.9);
5144                            };
5145
5146                            img.onerror = function() {
5147                                setEditMessage('Impossible de lire cette image.', true);
5148                                setGlobalMessage('Impossible de lire cette image.', true);
5149                                editImageBlob = null;
5150                                setUploadInProgress(false);
5151                                if ($editProgress.length) $editProgress.hide();
5152                            };
5153
5154                            img.src = e.target.result;
5155                        };
5156
5157                        reader.onerror = function() {
5158                            setEditMessage('Erreur de lecture du fichier.', true);
5159                            setGlobalMessage('Erreur de lecture du fichier.', true);
5160                            editImageBlob = null;
5161                            setUploadInProgress(false);
5162                            if ($editProgress.length) $editProgress.hide();
5163                        };
5164
5165                        reader.readAsDataURL(file);
5166                    });
5167                }
5168
5169                // Génération IA
5170                $btn.on('click', function(e) {
5171                    e.preventDefault();
5172                    if (isLoading) return;
5173
5174                    var mode = currentMode;
5175                    var basePrompt, finalPrompt;
5176
5177                    var iaTailleText = getIaTailleText();
5178                    if (!iaTailleText) {
5179                        setStatus('Veuillez sélectionner la dimension de la toile ci-dessus', true);
5180                        return;
5181                    }
5182
5183                    var tailleText = iaTailleText;
5184                    var imageSize;
5185
5186                    switch (tailleText) {
5187                        case '30 x 30 cm': imageSize = '1024x1024'; break;
5188                        case '40 x 40 cm': imageSize = '1024x1024'; break;
5189                        case '50 x 50 cm': imageSize = '1024x1024'; break;
5190                        case '60 x 60 cm': imageSize = '1024x1024'; break;
5191
5192                        case '30 x 45 cm': imageSize = '1024x1536'; break;
5193                        case '40 x 60 cm': imageSize = '1024x1536'; break;
5194                        case '60 x 90 cm': imageSize = '1024x1536'; break;
5195                        case '80 x 120 cm': imageSize = '1024x1536'; break;
5196
5197                        case '45 x 30 cm': imageSize = '1536x1024'; break;
5198                        case '60 x 40 cm': imageSize = '1536x1024'; break;
5199                        case '90 x 60 cm': imageSize = '1536x1024'; break;
5200                        case '120 x 80 cm': imageSize = '1536x1024'; break;
5201
5202                        default:
5203                            imageSize = '1024x1024';
5204                            break;
5205                    }
5206
5207                    if (mode === 'prompt') {
5208                        basePrompt = $prompt.val();
5209                        if (!$.trim(basePrompt)) {
5210                            setStatus('Merci de décrire un minimum votre image.', true);
5211                            return;
5212                        }
5213                        finalPrompt = buildPromptWithStyle(basePrompt, tailleText);
5214                        if (!finalPrompt) {
5215                            setStatus('Le prompt est vide après traitement. Merci de le compléter.', true);
5216                            return;
5217                        }
5218
5219                        setLoading(true);
5220
5221                        jdmcGetAiRequestToken()
5222                        .then(function(aiToken) {
5223                            return $.ajax({
5224                                url: restUrl,
5225                                method: 'POST',
5226                                contentType: 'application/json',
5227                                dataType: 'json',
5228                                headers: { 'X-JDMC-AI-Token': aiToken },
5229                                data: JSON.stringify({
5230                                    mode: 'prompt',
5231                                    prompt: finalPrompt,
5232                                    size: imageSize,
5233                                    style_key: getActiveStyleKey()
5234                                })
5235                            });
5236                        })
5237                        .done(handleSuccess)
5238                        .fail(handleAjaxError)
5239                        .always(function() {
5240                            setLoading(false);
5241                        });
5242
5243                    } else {
5244                        var file = editImageBlob;
5245
5246                        if (!file) {
5247                            setStatus('Merci de choisir une photo à transformer.', true);
5248                            return;
5249                        }
5250
5251                        basePrompt = $editPrompt.val();
5252                        finalPrompt = buildPromptWithStyle(basePrompt, tailleText);
5253
5254                        if (!finalPrompt) {
5255                            setStatus('Le prompt est vide après traitement. Merci de sélectionner un style ou d’ajouter quelques mots.', true);
5256                            return;
5257                        }
5258
5259                        var formData = new FormData();
5260                        formData.append('mode', 'edit');
5261                        formData.append('prompt', finalPrompt);
5262                        formData.append('size', imageSize);
5263                        formData.append('style_key', getActiveStyleKey());
5264                        formData.append('image', file, 'base-photo.jpg');
5265
5266                        setLoading(true);
5267
5268                        jdmcGetAiRequestToken()
5269                        .then(function(aiToken) {
5270                            return $.ajax({
5271                                url: restUrl,
5272                                method: 'POST',
5273                                data: formData,
5274                                processData: false,
5275                                contentType: false,
5276                                dataType: 'json',
5277                                headers: { 'X-JDMC-AI-Token': aiToken }
5278                            });
5279                        })
5280                        .done(handleSuccess)
5281                        .fail(handleAjaxError)
5282                        .always(function() {
5283                            setLoading(false);
5284                        });
5285                    }
5286                });
5287
5288                if ($form.length) {
5289                    $form.on('change', 'select[name*="attribute_"], select[name*="forme"]', function() {
5290                        updateRecap();
5291                        updatePriceDuplicate();
5292                    });
5293                }
5294
5295                updateRecap();
5296                updatePriceDuplicate();
5297                updateEditRetouchUI();
5298            });
5299        });
5300    })(jQuery);
5301</script>
5301
5302
5303
5304
5305
5306    
5307	<div class="ct-cart-actions"><div class="quantity" data-type="type-2">
5308	<span class="ct-increase"></span><span class="ct-decrease"></span>	<label class="screen-reader-text" for="quantity_6ac1b70a38620">quantité de Mon diamond painting personnalisé</label>
5309	<input
5310		type="number"
5311				id="quantity_6ac1b70a38620"
5312		class="input-text qty text pi-quantity-field-72384 pi-quantity-field"
5313		name="quantity"
5314		value="1"
5315		aria-label="Quantité de produits"
5316				min="1"
5317							step="1"
5318			placeholder=""
5319			inputmode="numeric"
5320			autocomplete="off"
5321			/>
5322	</div>
5323
5324	<button type="submit" class="single_add_to_cart_button button alt">Ajouter</button>
5325
5326	<div class="pi-edd pi-edd-product pi-edd-ajax-variable pi-estimate-72384" data-product="72384" data-type="single" data-tooltip=""></div></div>
5327	<input type="hidden" name="add-to-cart" value="72384" />
5328	<input type="hidden" name="product_id" value="72384" />
5329	<input type="hidden" name="variation_id" class="variation_id" value="0" />
5330</div>
5331		</div>
5332	
5333	</div></form>
5334
5335</div><div class="pi-edd-wrapper edd-static" style="min-height:40px;"></div><span class="ct-product-divider" data-id="divider_2"></span>
5336<div class="woocommerce-product-details__short-description">
5337	<div class="bf-banner">
5338<div class="bf-banner-inner">
5339     <span class="bf-label"><br />
5340      <span class="bf-label-emoji">🖤🔥</span><br />
5341      <span>Black Friday</span><br />
5342    </span><br />
5343    <span class="bf-badge">-50%</span><br />
5344    <span class="bf-text">sur toutes les toiles</span>
5345  </div>
5346</div>
5347<p class="dp3">🖼️ Votre photo transformée en DP</p>
5348<p class="dp3">📸 Aperçu instantané du rendu</p>
5349<p class="dp3">✅ Tout inclus : perles, colle, stylo…</p>
5350<p class="dp4">✨ Créez votre image grâce à l’IA.</p>
5351</div>
5352	</div>
5353
5354	</div><div class="ct-container" style="margin:2em auto;"><div class="entry-content product-description"><p><em>Les diamants carrés offrent un rendu plus net que les ronds.</em></p>
5355<p>Importez la photo ou image de votre choix et recevez-la sous forme de diamond painting quelques jours plus tard !</p>
5356<p><strong>Tout est fourni</strong> : la toile adhésive, les sachets de perles, le plateau trieur, le stylo et les carrés de colle.</p>
5357<p><!--<picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/diamond-painting-dp-mycustom.avif "  type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/diamond-painting-dp-mycustom.webp "  type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/diamond-painting-dp-mycustom.jpg" height="1024" width="1024" class="alignleft size-full wp-image-104929 sp-no-webp" alt="Personnalisation diamond painting custom" style="width:100%;margin-bottom:30px;"  > </picture>--></p>
5358<p>Immortalisez vos plus beaux souvenirs en diamond painting et prenez encore plus de plaisir à le réaliser.</p>
5359<p>Portait, photo de mariage, animal de compagnie... Faîtes-vous plaisir ou <strong>offrez à un proche un cadeau</strong> original qu'il n'est pas près d'oublier !</p>
5360<p>Toute photo ou image non adaptée au format choisi sera légèrement redimensionnée par nos soins, mais jamais déformée ni mal cadrée. En cas de doute sur le respect de l'image ou de la photo initiale nous vous recontacterons par email pour vous demander votre avis, et si la simulation du résultat ne vous convient pas vous pourrez nous envoyer une autre image ou être remboursé.</p>
5361<style><!-- .enkar2div, .wcuf_already_uploaded_data_container h4, a.button.download_small_button, button.button.delete_button, .newdp, .dayz { display:none !important; } div#wcuf_file_uploads_container { background: #eee;border-top:1px solid green; } .wcuf_upload_fields_row_element { margin-bottom:0 !important; } .wcuf_single_upload_field_container { margin-bottom:0 !important; } .single-product div.product table.variations { border-top:0; } .wcuf_single_upload_field_container { border:0 !important;margin-top:0 !important; } h4.wcuf_upload_field_title { color: #111 !important;font-size: 17px !important;font-family:arial; } p.wcuf_field_description { margin: 0 0 5px 0; } .wcuf_upload_drag_and_drop_area { margin-bottom:0 !important;background:white;border:2px dashed #333 !important; } .wcuf_drag_and_drop_area_description { color:#333 !important; } .wcuf_drag_and_drop_area_icon { fill:#01578B !important; } li.wcuf_file_preview_list_item { background:#DFF1F2 !important; } .wcuf_already_uploaded_data_container { background:#DFF1F2;border-radius:5px !important;border:2px solid black !important; } .wcuf_preview_file_title { color:#111; }
5361 .woocommerce-variation-price { display:block !important; } @media (max-width: 689px) { .woocommerce-product-details__short-description p.dp2 { margin-bottom:20px; } } .bf-banner { background: linear-gradient(90deg, #000000, #111111, #ff0040, #000000); background-size: 300% 300%; animation: bfGradient 6s ease infinite; color: #ffffff; text-align: center; padding: 10px 12px; margin-bottom: 15px; font-family: inherit; font-weight: 800; font-size: 16px; line-height: 1.25; text-transform: uppercase; box-shadow: 0 2px 10px rgba(0,0,0,0.35); } .bf-banner-inner { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; } .bf-label { display: inline-flex; align-items: center; gap: 6px; } .bf-label-emoji { font-size: 18px; } .bf-badge { display: inline-flex; align-items: center; justify-content: center; padding: 4px 12px; border-radius: 999px; background: #ffffff; color: #000000; font-size: 15px; font-weight: 900; box-shadow: 0 0 0 2px rgba(255,255,255,0.25); animation: bfPulse 1.8s ease-in-out infinite; white-space: nowrap; } .bf-text { font-size: 14px; font-weight: 600; } @keyframes bfGradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } @keyframes bfPulse { 0% { transform: scale(1); box-shadow: 0 0 0 2px rgba(255,255,255,0.25); } 50% { transform: scale(1.08); box-shadow: 0 0 0 6px rgba(255,255,255,0.05); } 100% { transform: scale(1); box-shadow: 0 0 0 2px rgba(255,255,255,0.25); } } @media (max-width: 600px) { .bf-banner { padding: 8px 8px; font-size: 14px; } .bf-text { font-size: 13px; } } --></style>
5362</div></div><div class="ct-container bloc-ab-crystal" style="margin-top: 30px; margin-bottom: 30px;"></div><div class="ct-container"><div class="bezoin"><h2 class="expl">Promos du mois</h2><div class="woocommerce columns-4 "><ul class="products columns-4" data-products="type-1">
5363<li class="product type-product post-34761 status-publish first instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5364	<figure >
5365	
5366	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/stylo-lumineux-loupe-tetes-broderie-diamant/" aria-label="Stylo lumineux avec loupe et têtes"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting.avif 800w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-50x50.webp 50w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting.webp 800w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-50x50.webp 50w" sizes="auto, (max-width: 300px) 100v
5366w, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting.jpg 800w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-50x50.jpg 50w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="stylo lumineux loupe diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="stylo-lumineux-loupe-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-60%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/stylo-lumineux-loupe-tetes-broderie-diamant/" target="_self">Stylo lumineux avec loupe et têtes</a></h2>
5367	<span class="price"><span class="aelia_product_price" data-product_id="34761"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>6.64</bdi></span></span></span>
5368<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_34761" class="screen-reader-text">
5369		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5370</div></li>
5371<li class="product type-product post-43074 status-publish instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5372	<figure >
5373	
5374	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/regle-alignement-broderie-diamant/" aria-label="Règle d&#039;alignement pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-1536x1536.avif 1536w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-2048x2048.avif 2048w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-600x600.avif 600w" sizes="auto, (max-width: 300px) 100v
5374w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-1536x1536.webp 1536w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-2048x2048.webp 2048w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-600x600.webp 600w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-1536x1536.jpg 1536w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-2048x2048.jpg 2048w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-600x600.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="règle d&#039;alignement diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="regle-alignement-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-48%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/regle-alignement-broderie-diamant/" target="_self">Règle d&rsquo;alignement pour diamond painting</a></h2>
5375	<span class="price"><span class="aelia_product_price" data-product_id="43074"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>7.77</bdi></span></span></span>
5376<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_43074" class="screen-reader-text">
5377		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5378</div></li>
5379<li class="product type-product post-45354 status-publish instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5380	<figure >
5381	
5382	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/feuilles-antiadhesives-couverture-toile/" aria-label="Feuilles antiadhésives de couverture de toile"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-1024x1024.webp 1024w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting.webp 1200w" sizes="auto, (max-width: 300px) 100v
5382w, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-300x300.webp" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-300x300.webp 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-1024x1024.webp 1024w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-150x150.webp 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-768x768.webp 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-324x324.webp 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-416x416.webp 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-100x100.webp 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-50x50.webp 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting-600x600.webp 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/10-feuilles-a6-diamond-painting.webp 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Feuilles antiadhésives de couverture de toile" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="10-feuilles-a6-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-30%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/feuilles-antiadhesives-couverture-toile/" target="_self">Feuilles antiadhésives de couverture de toile</a></h2>
5383	<span class="price"><span class="aelia_product_price" data-product_id="45354"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>2.14</bdi></span></span></span>
5384<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_45354" class="screen-reader-text">
5385		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5386</div></li>
5387<li class="product type-product post-34497 status-publish last instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes">
5388	<figure >
5389	
5390	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/carres-colle-broderie-diamant/" aria-label="Carrés de colle pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting.avif 800w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-600x600.avif 600w" sizes="auto, (max-width: 300px) 100v
5390w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting.webp 800w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-600x600.webp 600w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting.jpg 800w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/20colle-diamond-painting-600x600.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="20 carrés colle diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="20colle-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-46%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/carres-colle-broderie-diamant/" target="_self">Carrés de colle pour diamond painting</a></h2>
5391	<span class="price"><span class="aelia_product_price" data-product_id="34497"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.35</bdi></span></span></span>
5392<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_34497" class="screen-reader-text">
5393		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5394</div></li>
5395<li class="product type-product post-35862 status-publish first instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5396	<figure >
5397	
5398	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/sachets-zip-perles-diamants-surplus/" aria-label="Sachets zip épais pour perles en surplus"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1.avif 800w" sizes="auto, (max-width: 300px) 100v
5398w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1.jpg 800w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Sachets zip diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="sachets-zip-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-47%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/sachets-zip-perles-diamants-surplus/" target="_self">Sachets zip épais pour perles en surplus</a></h2>
5399	<span class="price"><span class="aelia_product_price" data-product_id="35862"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>3.26</bdi></span></span></span>
5400<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_35862" class="screen-reader-text">
5401		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5402</div></li>
5403<li class="product type-product post-148017 status-publish outofstock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5404	<figure ><span class="out-of-stock-badge" data-shape="type-2">ÉPUISÉ</span><a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/pinces-epiler-diamond-painting/" aria-label="Pince à épiler pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler.avif 676w" sizes="auto, (max-width: 300px) 100v
5404w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler.webp 676w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler.jpg 676w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="pinces à épiler pour perles de diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="pinces-a-epiler" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-34%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/pinces-epiler-diamond-painting/" target="_self">Pince à épiler pour diamond painting</a></h2>
5405	<span class="price"><span class="aelia_product_price" data-product_id="148017"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.68</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $1.68.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.11</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $1.11.</span></span></span></span>
5406<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_148017" class="screen-reader-text">
5407		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5408</div></li>
5409<li class="product type-product post-34557 status-publish instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes">
5410	<figure >
5411	
5412	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/etiquettes-broderie-diamant/" aria-label="Étiquettes pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1.avif 800w" sizes="auto, (max-width: 300px) 100v
5412w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1.jpg 800w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Étiquettes pour diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-53%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/etiquettes-broderie-diamant/" target="_self">Étiquettes pour diamond painting</a></h2>
5413	<span class="price"><span class="aelia_product_price" data-product_id="34557"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>4.39</bdi></span></span></span>
5414<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_34557" class="screen-reader-text">
5415		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5416</div></li>
5417<li class="product type-product post-44558 status-publish last instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5418	<figure >
5419	
5420	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/stylo-unique-diamond-painting-broderie-diamant/" aria-label="Stylo avec mini-rouleau pour diamond painting (+ têtes)"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau.avif 960w" sizes="auto, (max-width: 300px) 100v
5420w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau.webp 960w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau.jpg 960w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="stylo unique bleu avec tête et tête rouleau" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="Stylo-unique_bleu-tete-rouleau" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-30%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/stylo-unique-diamond-painting-broderie-diamant/" target="_self">Stylo avec mini-rouleau pour diamond painting (+ têtes)</a></h2>
5421	<span class="price"><span class="aelia_product_price" data-product_id="44558"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>11.14</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $11.14.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>7.77</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $7.77.</span></span></span></span>
5422<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_44558" class="screen-reader-text">
5423		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5424</div></li>
5425</ul>
5426</div><div class="bloc-bouton-accessoires"><a href="/couleur/accessoires/" class="button" style="padding: 0.8em 1.8em; text-decoration: none;">Voir tous les accessoires</a></div></div></div></div>
5427
5428
5429		
5430	
5431	<section class="related products is-width-constrained ct-hidden-sm ct-hidden-md">
5432
5433					<h2 class="ct-module-title">Produits similaires</h2>
5434				<ul class="products columns-4" data-products="type-1">
5435
5436			
5437					<li class="product type-product post-156617 status-publish first instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5438	<figure >
5439	
5440	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/mini-entonnoirs-diamond-painting/" aria-label="Mini-entonnoirs pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu.avif 800w" sizes="auto, (max-width: 300px) 100v
5440w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2026/09/mini-entonnoirs-rose-bleu.jpg 800w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="mini-entonnoirs rose bleu" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="mini-entonnoirs-rose-bleu" data-xoowscfly="fly"  > </picture></a></figure><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/mini-entonnoirs-diamond-painting/" target="_self">Mini-entonnoirs pour diamond painting</a></h2>
5441	<span class="price"><span class="aelia_product_price" data-product_id="156617"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.69</bdi></span></span></span>
5442<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_156617" class="screen-reader-text">
5443		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5444</div></li>
5445
5446			
5447					<li class="product type-product post-77821 status-publish outofstock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5448	<figure ><span class="out-of-stock-badge" data-shape="type-2">ÉPUISÉ</span><a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/plateau-diamond-painting-bec-verseur/" aria-label="Plateau bec verseur pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux.avif 640w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-600x600.avif 600w" sizes="auto, (max-width: 300px) 100v
5448w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux.webp 640w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-600x600.webp 600w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux.jpg 640w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2024/09/2-plateaux-600x600.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Plateau bec verseur pour diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="2-plateaux" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-36%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/plateau-diamond-painting-bec-verseur/" target="_self">Plateau bec verseur pour diamond painting</a></h2>
5449	<span class="price"><span class="aelia_product_price" data-product_id="77821"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.11</bdi></span></span></span>
5450<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_77821" class="screen-reader-text">
5451		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5452</div></li>
5453
5454			
5455					<li class="product type-product post-43074 status-publish instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5456	<figure >
5457	
5458	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/regle-alignement-broderie-diamant/" aria-label="Règle d&#039;alignement pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-1536x1536.avif 1536w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-2048x2048.avif 2048w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-600x600.avif 600w" sizes="auto, (max-width: 300px) 100v
5458w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-1536x1536.webp 1536w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-2048x2048.webp 2048w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-600x600.webp 600w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-1536x1536.jpg 1536w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-2048x2048.jpg 2048w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/regle-alignement-diamond-painting-600x600.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="règle d&#039;alignement diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="regle-alignement-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-48%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/regle-alignement-broderie-diamant/" target="_self">Règle d&rsquo;alignement pour diamond painting</a></h2>
5459	<span class="price"><span class="aelia_product_price" data-product_id="43074"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>7.77</bdi></span></span></span>
5460<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_43074" class="screen-reader-text">
5461		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5462</div></li>
5463
5464			
5465					<li class="product type-product post-44479 status-publish last instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-simple">
5466	<figure >
5467	
5468	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/spatule-correctrice-pour-broderie-diamant/" aria-label="Spatule correctrice pour broderie diamant"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant.avif 607w" sizes="auto, (max-width: 300px) 100v
5468w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant.webp 607w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/spatule-correctrice-diamond-painting-broderie-diamant.jpg 607w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Spatule correctrice, correcteur pour diamond painting broderie diamant" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="spatule-correctrice-diamond-painting-broderie-diamant" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-26%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/spatule-correctrice-pour-broderie-diamant/" target="_self">Spatule correctrice pour broderie diamant</a></h2>
5469	<span class="price"><span class="aelia_product_price" data-product_id="44479"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>4.39</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $4.39.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>3.26</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $3.26.</span></span></span></span>
5470<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_44479" class="screen-reader-text">
5471			</span>
5472</div></li>
5473
5474			
5475					<li class="product type-product post-148533 status-publish first instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5476	<figure >
5477	
5478	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/protege-doigts-diamond-painting/" aria-label="Protège-doigts pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting.avif 724w" sizes="auto, (max-width: 300px) 100v
5478w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting.webp 724w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2026/04/protege-doigts-diamond-painting.jpg 724w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Protège doigts diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="protege-doigts-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/protege-doigts-diamond-painting/" target="_self">Protège-doigts pour diamond painting</a></h2>
5479	<span class="price"><span class="aelia_product_price" data-product_id="148533"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>7.77</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $7.77.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>5.52</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $5.52.</span></span></span></span>
5480<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_148533" class="screen-reader-text">
5481		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5482</div></li>
5483
5484			
5485					<li class="product type-product post-44558 status-publish instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5486	<figure >
5487	
5488	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/stylo-unique-diamond-painting-broderie-diamant/" aria-label="Stylo avec mini-rouleau pour diamond painting (+ têtes)"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau.avif 960w" sizes="auto, (max-width: 300px) 100v
5488w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau.webp 960w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/Stylo-unique_bleu-tete-rouleau.jpg 960w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="stylo unique bleu avec tête et tête rouleau" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="Stylo-unique_bleu-tete-rouleau" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-30%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/stylo-unique-diamond-painting-broderie-diamant/" target="_self">Stylo avec mini-rouleau pour diamond painting (+ têtes)</a></h2>
5489	<span class="price"><span class="aelia_product_price" data-product_id="44558"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>11.14</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $11.14.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>7.77</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $7.77.</span></span></span></span>
5490<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_44558" class="screen-reader-text">
5491		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5492</div></li>
5493
5494			
5495					<li class="product type-product post-71086 status-publish instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-simple thumbs-bottom">
5496	<figure >
5497	
5498	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/livre-catalogue-nuancier-dmc-diamond-painting/" aria-label="Catalogue des couleurs du diamond painting (avec cases autocollantes)"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller.avif 985w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-50x50.webp 50w" sizes="auto, (max-width: 300px) 100v
5498w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller.webp 985w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-50x50.webp 50w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller.jpg 985w, https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2024/03/livre-catalogue-nuancier-dmc-coller-50x50.jpg 50w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="catalogue nuancier dmc livre diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="livre-catalogue-nuancier-dmc-coller" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-15%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/livre-catalogue-nuancier-dmc-diamond-painting/" target="_self">Catalogue des couleurs du diamond painting (avec cases autocollantes)</a></h2>
5499	<span class="price"><span class="aelia_product_price" data-product_id="71086"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>22.40</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $22.40.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>19.02</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $19.02.</span></span></span></span>
5500<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_71086" class="screen-reader-text">
5501			</span>
5502</div></li>
5503
5504			
5505					<li class="product type-product post-55151 status-publish last instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5506	<figure >
5507	
5508	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/boite-rangement-pilulier-28-compartiments-diamond-painting/" aria-label="Boîte de rangement 28 compartiments pour Diamond Painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-768x771.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-324x325.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-416x418.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting.avif 1008w" sizes="auto, (max-width: 300px) 100v
5508w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-768x771.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-324x325.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-416x418.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting.webp 1008w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-768x771.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-324x325.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-416x418.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/pilulier-rangement-diamond-painting.jpg 1008w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Boîte rangement diamond painting, style pilulier, 28 compartiments" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 252/253;" title="pilulier-rangement-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-39%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/boite-rangement-pilulier-28-compartiments-diamond-painting/" target="_self">Boîte de rangement 28 compartiments pour Diamond Painting</a></h2>
5509	<span class="price"><span class="aelia_product_price" data-product_id="55151"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.35</bdi></span></span></span>
5510<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_55151" class="screen-reader-text">
5511		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5512</div></li>
5513
5514			
5515					<li class="product type-product post-47531 status-publish first instock product_cat-accessoires has-post-thumbnail taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5516	<figure ><a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/pot-colle-pastilles-rondes-broderie-diamant/" aria-label="Pot de colle + 5 pastilles pour broderie diamant"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting.avif 1200w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-600x600.avif 600w" sizes="auto, (max-width: 300px) 100v
5516w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting.webp 1200w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-600x600.webp 600w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting.jpg 1200w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2024/11/pot-colle-diamond-painting-600x600.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Pot de colle diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="pot-colle-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/pot-colle-pastilles-rondes-broderie-diamant/" target="_self">Pot de colle + 5 pastilles pour broderie diamant</a></h2>
5517	<span class="price"><span class="aelia_product_price" data-product_id="47531"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>4.39</bdi></span></span></span>
5518<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_47531" class="screen-reader-text">
5519		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5520</div></li>
5521
5522			
5523					<li class="product type-product post-34676 status-publish instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-simple thumbs-bottom">
5524	<figure >
5525	
5526	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/stylo-standard-broderie-diamant/" aria-label="Kit de 2 stylos pour diamond painting avec têtes et grips"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-1536x1536.avif 1536w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-2048x2048.avif 2048w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-600x600.avif 600w" sizes="auto, (max-width: 300px) 100v
5526w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-1536x1536.webp 1536w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-2048x2048.webp 2048w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-600x600.webp 600w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-1536x1536.jpg 1536w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-2048x2048.jpg 2048w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-standard-diamond-painting-600x600.jpg 600w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Stylos diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="stylo-standard-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-65%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/stylo-standard-broderie-diamant/" target="_self">Kit de 2 stylos pour diamond painting avec têtes et grips</a></h2>
5527	<span class="price"><span class="aelia_product_price" data-product_id="34676"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>3.15</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $3.15.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.11</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $1.11.</span></span></span></span>
5528<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_34676" class="screen-reader-text">
5529			</span>
5530</div></li>
5531
5532			
5533					<li class="product type-product post-34557 status-publish instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes">
5534	<figure >
5535	
5536	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/etiquettes-broderie-diamant/" aria-label="Étiquettes pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1.avif 800w" sizes="auto, (max-width: 300px) 100v
5536w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant-1.jpg 800w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Étiquettes pour diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="etiquettes-rondes-rectangulaires-autocollantes-broderie-diamant" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-53%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/etiquettes-broderie-diamant/" target="_self">Étiquettes pour diamond painting</a></h2>
5537	<span class="price"><span class="aelia_product_price" data-product_id="34557"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>4.39</bdi></span></span></span>
5538<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_34557" class="screen-reader-text">
5539		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5540</div></li>
5541
5542			
5543					<li class="product type-product post-35862 status-publish last instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5544	<figure >
5545	
5546	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/sachets-zip-perles-diamants-surplus/" aria-label="Sachets zip épais pour perles en surplus"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1.avif 800w" sizes="auto, (max-width: 300px) 100v
5546w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/08/sachets-zip-diamond-painting-1.jpg 800w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Sachets zip diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="sachets-zip-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-47%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/sachets-zip-perles-diamants-surplus/" target="_self">Sachets zip épais pour perles en surplus</a></h2>
5547	<span class="price"><span class="aelia_product_price" data-product_id="35862"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>3.26</bdi></span></span></span>
5548<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_35862" class="screen-reader-text">
5549		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5550</div></li>
5551
5552			
5553					<li class="product type-product post-150520 status-publish first instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-simple thumbs-bottom">
5554	<figure >
5555	
5556	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/entonnoir-perles-diamond-painting/" aria-label="Entonnoir rétractable pour perles de diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu-300x285.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu-416x395.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu.avif 597w" sizes="auto, (max-width: 300px) 100v
5556w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu-300x285.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu-416x395.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu.webp 597w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu-300x285.jpg" height="285" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu-300x285.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu-416x395.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2026/05/entonnoir-bleu.jpg 597w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="entonnoir bleu" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 199/189;" title="entonnoir -bleu" data-xoowscfly="fly"  > </picture></a></figure><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/entonnoir-perles-diamond-painting/" target="_self">Entonnoir rétractable pour perles de diamond painting</a></h2>
5557	<span class="price"><span class="aelia_product_price" data-product_id="150520"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>5.07</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $5.07.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>3.83</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $3.83.</span></span></span></span>
5558<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_150520" class="screen-reader-text">
5559			</span>
5560</div></li>
5561
5562			
5563					<li class="product type-product post-148017 status-publish outofstock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5564	<figure ><span class="out-of-stock-badge" data-shape="type-2">ÉPUISÉ</span><a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/pinces-epiler-diamond-painting/" aria-label="Pince à épiler pour diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler.avif 676w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler.webp 676w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2026/03/pinces-a-epiler.jpg 676w" sizes="auto, (max-width: 300px) 100v
5564w, 300px" class=" wp-post-image sp-no-webp" alt="pinces à épiler pour perles de diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="pinces-a-epiler" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-34%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/pinces-epiler-diamond-painting/" target="_self">Pince à épiler pour diamond painting</a></h2>
5565	<span class="price"><span class="aelia_product_price" data-product_id="148017"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.68</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $1.68.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.11</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $1.11.</span></span></span></span>
5566<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_148017" class="screen-reader-text">
5567		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5568</div></li>
5569
5570			
5571					<li class="product type-product post-151444 status-publish instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5572	<figure >
5573	
5574	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/compartiment-rangee-boite-perles-diamond-painting/" aria-label="Compartiments pour perles de diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7.avif 426w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7.webp 426w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/compartiments-7.jpg 426w" sizes="auto, (max-width: 300px) 100v
5574w, 300px" class=" wp-post-image sp-no-webp" alt="rangées de compartiments pour boite de diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="compartiments-7" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-30%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/compartiment-rangee-boite-perles-diamond-painting/" target="_self">Compartiments pour perles de diamond painting</a></h2>
5575	<span class="price"><span class="aelia_product_price" data-product_id="151444"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.35</bdi></span></span></span>
5576<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_151444" class="screen-reader-text">
5577		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5578</div></li>
5579
5580			
5581					<li class="product type-product post-151786 status-publish last instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5582	<figure >
5583	
5584	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/mini-boites-rangement-perles-diamond-painting/" aria-label="Boîtes &quot;tic tac&quot; pour perles de diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement.avif 615w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement.webp 615w" sizes="auto, (max-width: 300px) 100v
5584w, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2026/06/petites-boites-rangement.jpg 615w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="petites boites rangement" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="petites-boites-rangement" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-23%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/mini-boites-rangement-perles-diamond-painting/" target="_self">Boîtes « tic tac » pour perles de diamond painting</a></h2>
5585	<span class="price"><span class="aelia_product_price" data-product_id="151786"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>3.49</bdi></span></span></span>
5586<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_151786" class="screen-reader-text">
5587		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5588</div></li>
5589
5590			
5591					<li class="product type-product post-44332 status-publish first instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-simple thumbs-bottom">
5592	<figure >
5593	
5594	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/roulette-broderie-diamant-diamond-painting/" aria-label="3 roulettes + rouleau adhésif"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-150x150.avif 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-100x100.avif 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-50x50.avif 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant.avif 800w" sizes="auto, (max-width: 300px) 100v
5594w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-300x300.webp" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-300x300.webp 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-150x150.webp 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-768x768.webp 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-324x324.webp 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-416x416.webp 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-100x100.webp 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-50x50.webp 50w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant-600x600.webp 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/09/roulette-diamond-painting-broderie-diamant.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Roulette broderie diamant diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="roulette-diamond-painting-broderie-diamant" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-40%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/roulette-broderie-diamant-diamond-painting/" target="_self">3 roulettes + rouleau adhésif</a></h2>
5595	<span class="price"><span class="aelia_product_price" data-product_id="44332"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>11.14</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $11.14.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>6.64</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $6.64.</span></span></span></span>
5596<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_44332" class="screen-reader-text">
5597			</span>
5598</div></li>
5599
5600			
5601					<li class="product type-product post-34808 status-publish instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes">
5602	<figure >
5603	
5604	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/tete-stylo-broderie-diamant/" aria-label="Têtes de stylo de diamond painting"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2.avif 800w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-50x50.webp 50w" sizes="auto, (max-width: 300px) 100v
5604w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2.webp 800w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-50x50.webp 50w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2.jpg 800w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/tetes2-50x50.jpg 50w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="tête correctrice" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="tetes2" data-xoowscfly="fly"  > </picture></a></figure><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/tete-stylo-broderie-diamant/" target="_self">Têtes de stylo de diamond painting</a></h2>
5605	<span class="price"><span class="aelia_product_price" data-product_id="34808"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>0.55</bdi></span></span></span>
5606<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_34808" class="screen-reader-text">
5607		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5608</div></li>
5609
5610			
5611					<li class="product type-product post-34761 status-publish instock product_cat-accessoires product_cat-promo has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes thumbs-bottom">
5612	<figure >
5613	
5614	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/stylo-lumineux-loupe-tetes-broderie-diamant/" aria-label="Stylo lumineux avec loupe et têtes"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting.avif 800w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-50x50.webp 50w" sizes="auto, (max-width: 300px) 100v
5614w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting.webp 800w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-50x50.webp 50w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting.jpg 800w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2022/07/stylo-lumineux-loupe-diamond-painting-50x50.jpg 50w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="stylo lumineux loupe diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="stylo-lumineux-loupe-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-60%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/stylo-lumineux-loupe-tetes-broderie-diamant/" target="_self">Stylo lumineux avec loupe et têtes</a></h2>
5615	<span class="price"><span class="aelia_product_price" data-product_id="34761"><span class="from">À partir de : </span><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>6.64</bdi></span></span></span>
5616<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_34761" class="screen-reader-text">
5617		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5618</div></li>
5619
5620			
5621					<li class="product type-product post-54903 status-publish last instock product_cat-accessoires has-post-thumbnail sale taxable shipping-taxable purchasable product-type-variable has-default-attributes">
5622	<figure >
5623	
5624	<a class="ct-media-container" href="https://diamant-strass-dmc.com/perles-broderie/tete-stylo-metal-argent-or-diamond-painting/" aria-label="Têtes de stylo en métal (acier) couleur argent ou or"><picture><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-300x300.avif 300w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-768x768.avif 768w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-324x324.avif 324w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-416x416.avif 416w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-600x600.avif 600w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting.avif 800w" sizes="auto, (max-width: 300px) 100v
5624w, 300px" type="image/avif"><source srcset="https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-300x300.webp 300w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-150x150.webp 150w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-768x768.webp 768w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-324x324.webp 324w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-416x416.webp 416w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-100x100.webp 100w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-50x50.webp 50w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-600x600.webp 600w,https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" type="image/webp"><img src="https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-300x300.jpg" height="300" width="300" srcset="https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-300x300.jpg 300w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-150x150.jpg 150w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-768x768.jpg 768w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-324x324.jpg 324w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-416x416.jpg 416w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-100x100.jpg 100w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-50x50.jpg 50w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting-600x600.jpg 600w, https://diamant-strass-dmc.com/wp-content/uploads/2023/02/tete-stylet-metal-diamond-painting.jpg 800w" sizes="auto, (max-width: 300px) 100vw, 300px" class=" wp-post-image sp-no-webp" alt="Têtes metal stylo stylet embout diamond painting" loading="lazy" decoding="async" itemprop="image" style="aspect-ratio: 1/1;" title="tete-stylet-metal-diamond-painting" data-xoowscfly="fly"  > </picture></a></figure><div class="berocket_better_labels berocket_better_labels_image"><div class="berocket_better_labels_position berocket_better_labels_position_left"><div class="berocket_better_labels_line berocket_better_labels_line_1"><div class="berocket_better_labels_inline berocket_better_labels_inline_1"><div class="br_alabel br_alabel_type_sale_p br_alabel_template_type_css berocket_alabel_id_115461  br_alabel_better_compatibility" style=""><span  style=""><i style="background-color: #5300c4; border-color: #5300c4;" class="template-span-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-before "></i><i style="background-color: #5300c4; border-color: #5300c4;" class="template-i-after "></i><b style="text-align: center;z-index: 100;" class="br-labels-css br-labels-css-1"><span class='b_span_before'>💎</span><span class='b_span_text'>-65%</span></b></span></div></div></div></div></div><h2 class="woocommerce-loop-product__title"><a class="woocommerce-LoopProduct-link woocommerce-loop-product__link" href="https://diamant-strass-dmc.com/perles-broderie/tete-stylo-metal-argent-or-diamond-painting/" target="_self">Têtes de stylo en métal (acier) couleur argent ou or</a></h2>
5625	<span class="price"><span class="aelia_product_price" data-product_id="54903"><span class="sale-price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>22.40</bdi></span></del> <span class="screen-reader-text">Le prix initial était : $22.40.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>7.77</bdi></span></ins><span class="screen-reader-text">Le prix actuel est : $7.77.</span></span></span></span>
5626<div class="ct-woo-card-actions" data-add-to-cart="auto-hide" data-alignment="equal">	<span id="woocommerce_loop_add_to_cart_link_describedby_54903" class="screen-reader-text">
5627		Ce produit a plusieurs variations. Les options peuvent être choisies sur la page du produit	</span>
5628</div></li>
5629
5630			
5631		</ul>
5632
5633	</section>
5634	</article></div>
5635	
5636	</main>
5637
5638	<footer id="footer" class="ct-footer" data-id="type-1" itemscope="" itemtype="https://schema.org/WPFooter"><div data-row="bottom"><div class="ct-container"><div data-column="menu">
5639<nav
5640	id="footer-menu"
5641	class="footer-menu-inline menu-container "
5642	data-id="menu"		itemscope="" itemtype="https://schema.org/SiteNavigationElement"	aria-label="footerok">
5643
5644	<ul id="menu-footerok" class="menu"><li id="menu-item-26356" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26356"><a href="https://diamant-strass-dmc.com/mentions-legales/" class="ct-menu-link">Mentions légales</a></li>
5645<li id="menu-item-26355" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26355"><a href="https://diamant-strass-dmc.com/cgv/" class="ct-menu-link">Conditions générales de vente</a></li>
5646<li id="menu-item-62685" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-62685"><a href="https://diamant-strass-dmc.com/livraison-retour-echange/" class="ct-menu-link">Livraison, retours et échanges</a></li>
5647<li id="menu-item-26491" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-26491"><a rel="privacy-policy" href="https://diamant-strass-dmc.com/politique-confidentialite/" class="ct-menu-link">Politique de confidentialité</a></li>
5648<li id="menu-item-26517" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26517"><a href="https://diamant-strass-dmc.com/contact/" class="ct-menu-link">Nous contacter</a></li>
5649</ul></nav>
5650</div></div></div></footer></div>
5651
5652<style>.br_alabel .br_tooltip{display:none;}
5653                .br_alabel.berocket_alabel_id_65501 > span {
5654                color: white; display: flex; display: -webkit-box;
5655display: -ms-flexbox; position: relative; right: 0;text-align: center;
5656                }
5657                .br_alabel.berocket_alabel_id_65501 > span i.template-i-before {
5658                display: block;height: 0;position: absolute;width: 0;
5659                }
5660                .br_alabel.berocket_alabel_id_65501 > span i.template-i {
5661                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5662                }
5663                .br_alabel.berocket_alabel_id_65501 > span i.template-i-after {
5664                display: block;height: 0;position: absolute;width: 0;
5665                }
5666                .br_alabel.berocket_alabel_id_65501 > span i.template-span-before {
5667                display: block;height: 0;position: absolute;width: 0;
5668                }div.br_alabel.berocket_alabel_id_65501{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_65501 > span{height: 30px;width: 110px;background-color:#376d0c;color:#ffffff;border-radius:3px;line-height:1.2em;font-size:18px;font-family: 'Alata';padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5669                .br_alabel.berocket_alabel_id_65673 > span {
5670                color: white; display: flex; display: -webkit-box;
5671display: -ms-flexbox; position: relative; right: 0;text-align: center;
5672                }
5673                .br_alabel.berocket_alabel_id_65673 > span i.template-i-before {
5674                display: block;height: 0;position: absolute;width: 0;
5675                }
5676                .br_alabel.berocket_alabel_id_65673 > span i.template-i {
5677                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5678                }
5679                .br_alabel.berocket_alabel_id_65673 > span i.template-i-after {
5680                display: block;height: 0;position: absolute;width: 0;
5681                }
5682                .br_alabel.berocket_alabel_id_65673 > span i.template-span-before {
5683                display: block;height: 0;position: absolute;width: 0;
5684                }div.br_alabel.berocket_alabel_id_65673{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_65673 > span{height: 30px;width: 110px;background-color:#376d0c;color:#ffffff;border-radius:3px;line-height:1.2em;font-size:18px;font-family: 'Alata';padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5685                .br_alabel.berocket_alabel_id_65689 > span {
5686                color: white; display: flex; display: -webkit-box;
5687display: -ms-flexbox; position: relative; right: 0;text-align: center;
5688                }
5689                .br_alabel.berocket_alabel_id_65689 > span i.template-i-before {
5690                display: block;height: 0;position: absolute;width: 0;
5691                }
5692                .br_alabel.berocket_alabel_id_65689 > span i.template-i {
5693                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5694                }
5695                .br_alabel.berocket_alabel_id_65689 > span i.template-i-after {
5696                display: block;height: 0;position: absolute;width: 0;
5697                }
5698                .br_alabel.berocket_alabel_id_65689 > span i.template-span-before {
5699                display: block;height: 0;position: absolute;width: 0;
5700                }div.br_alabel.berocket_alabel_id_65689{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_65689 > span{height: 30px;width: 110px;background-color:#376d0c;color:#ffffff;border-radius:3px;line-height:1.2em;font-size:18px;font-family: 'Alata';padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: -0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5701                .br_alabel.berocket_alabel_id_65704 > span {
5702                color: white; display: flex; display: -webkit-box;
5703display: -ms-flexbox; position: relative; right: 0;text-align: center;
5704                }
5705                .br_alabel.berocket_alabel_id_65704 > span i.template-i-before {
5706                display: block;height: 0;position: absolute;width: 0;
5707                }
5708                .br_alabel.berocket_alabel_id_65704 > span i.template-i {
5709                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5710                }
5711                .br_alabel.berocket_alabel_id_65704 > span i.template-i-after {
5712                display: block;height: 0;position: absolute;width: 0;
5713                }
5714                .br_alabel.berocket_alabel_id_65704 > span i.template-span-before {
5715                display: block;height: 0;position: absolute;width: 0;
5716                }div.br_alabel.berocket_alabel_id_65704{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_65704 > span{height: 30px;width: 110px;background-color:#376d0c;color:#ffffff;border-radius:3px;line-height:1.2em;font-size:18px;font-family: 'Alata';padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5717                .br_alabel.berocket_alabel_id_65718 > span {
5718                color: white; display: flex; display: -webkit-box;
5719display: -ms-flexbox; position: relative; right: 0;text-align: center;
5720                }
5721                .br_alabel.berocket_alabel_id_65718 > span i.template-i-before {
5722                display: block;height: 0;position: absolute;width: 0;
5723                }
5724                .br_alabel.berocket_alabel_id_65718 > span i.template-i {
5725                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5726                }
5727                .br_alabel.berocket_alabel_id_65718 > span i.template-i-after {
5728                display: block;height: 0;position: absolute;width: 0;
5729                }
5730                .br_alabel.berocket_alabel_id_65718 > span i.template-span-before {
5731                display: block;height: 0;position: absolute;width: 0;
5732                }div.br_alabel.berocket_alabel_id_65718{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_65718 > span{height: 30px;width: 110px;background-color:#376d0c;color:#ffffff;border-radius:3px;line-height:1.2em;font-size:18px;font-family: 'Alata';padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5733                .br_alabel.berocket_alabel_id_34056 > span {
5734                color: white;display: flex;position: relative;right: 0;text-align: center;
5735                }
5736                .br_alabel.berocket_alabel_id_34056 > span b {
5737                text-align: center;z-index: 100;
5738                }
5739                .br_alabel.berocket_alabel_id_34056 > span i.template-i-before {
5740                display: block;height: 0;position: absolute;width: 0;
5741                }
5742                .br_alabel.berocket_alabel_id_34056 > span i.template-i {
5743                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5744                }
5745                .br_alabel.berocket_alabel_id_34056 > span i.template-i-after {
5746                display: block;height: 0;position: absolute;width: 0;
5747                }
5748                .br_alabel.berocket_alabel_id_34056 > span i.template-span-before {
5749                display: block;height: 0;position: absolute;width: 0;
5750                }div.br_alabel.berocket_alabel_id_34056{top:-10px;right:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_34056 > span{height: 50px;width: 130px;background-color:#5e6464;color:#ffffff;border-radius:3px;line-height:1.2em;font-size:14px;padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5751                .br_alabel.berocket_alabel_id_65734 > span {
5752                color: white; display: flex; display: -webkit-box;
5753display: -ms-flexbox; position: relative; right: 0;text-align: center;
5754                }
5755                .br_alabel.berocket_alabel_id_65734 > span i.template-i-before {
5756                display: block;height: 0;position: absolute;width: 0;
5757                }
5758                .br_alabel.berocket_alabel_id_65734 > span i.template-i {
5759                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5760                }
5761                .br_alabel.berocket_alabel_id_65734 > span i.template-i-after {
5762                display: block;height: 0;position: absolute;width: 0;
5763                }
5764                .br_alabel.berocket_alabel_id_65734 > span i.template-span-before {
5765                display: block;height: 0;position: absolute;width: 0;
5766                }div.br_alabel.berocket_alabel_id_65734{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_65734 > span{height: 30px;width: 110px;background-color:#376d0c;color:#ffffff;border-radius:3px;line-height:1.2em;font-size:18px;font-family: 'Alata';padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5767                .br_alabel.berocket_alabel_id_34057 > span {
5768                color: white;display: flex;position: relative;right: 0;text-align: center;
5769                }
5770                .br_alabel.berocket_alabel_id_34057 > span b {
5771                text-align: center;z-index: 100;
5772                }
5773                .br_alabel.berocket_alabel_id_34057 > span i.template-i-before {
5774                display: block;
5774height: 0;position: absolute;width: 0;
5775                }
5776                .br_alabel.berocket_alabel_id_34057 > span i.template-i {
5777                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5778                }
5779                .br_alabel.berocket_alabel_id_34057 > span i.template-i-after {
5780                display: block;height: 0;position: absolute;width: 0;
5781                }
5782                .br_alabel.berocket_alabel_id_34057 > span i.template-span-before {
5783                display: block;height: 0;position: absolute;width: 0;
5784                }div.br_alabel.berocket_alabel_id_34057{top:-10px;right:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_34057 > span{height: 50px;width: 50px;background-color:#5e6464;color:#ffffff;border-radius:50%;line-height:1.2em;font-size:14px;padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5785                .br_alabel.berocket_alabel_id_69225 > span {
5786                color: white; display: flex; display: -webkit-box;
5787display: -ms-flexbox; position: relative; right: 0;text-align: center;
5788                }
5789                .br_alabel.berocket_alabel_id_69225 > span i.template-i-before {
5790                display: block;height: 0;position: absolute;width: 0;
5791                }
5792                .br_alabel.berocket_alabel_id_69225 > span i.template-i {
5793                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5794                }
5795                .br_alabel.berocket_alabel_id_69225 > span i.template-i-after {
5796                display: block;height: 0;position: absolute;width: 0;
5797                }
5798                .br_alabel.berocket_alabel_id_69225 > span i.template-span-before {
5799                display: block;height: 0;position: absolute;width: 0;
5800                }div.br_alabel.berocket_alabel_id_69225{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_69225 > span{height: 35px;width: 77px;background-color:#6d44f2;color:#ffffff;border-radius:3px;line-height:1.2em;font-size:14px;padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5801                .br_alabel.berocket_alabel_id_34059 > span {
5802                color: white;display: flex;position: relative;right: 0;text-align: center;
5803                }
5804                .br_alabel.berocket_alabel_id_34059 > span b {
5805                text-align: center;z-index: 100;
5806                }
5807                .br_alabel.berocket_alabel_id_34059 > span i.template-i-before {
5808                display: block;height: 0;position: absolute;width: 0;
5809                }
5810                .br_alabel.berocket_alabel_id_34059 > span i.template-i {
5811                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5812                }
5813                .br_alabel.berocket_alabel_id_34059 > span i.template-i-after {
5814                display: block;height: 0;position: absolute;width: 0;
5815                }
5816                .br_alabel.berocket_alabel_id_34059 > span i.template-span-before {
5817                display: block;height: 0;position: absolute;width: 0;
5818                }div.br_alabel.berocket_alabel_id_34059{top:-10px;right:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_34059 > span{height: 50px;width: 50px;background-color:#5e6464;color:#ffffff;line-height:1.2em;font-size:14px;padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5819                .br_alabel.berocket_alabel_id_73120 > span {
5820                color: white;display: flex;position: relative;right: 0;text-align: center;
5821                }
5822                .br_alabel.berocket_alabel_id_73120 > span b {
5823                text-align: center;z-index: 100;
5824                }
5825                .br_alabel.berocket_alabel_id_73120 > span i.template-i-before {
5826                display: block;height: 0;position: absolute;width: 0;
5827                }
5828                .br_alabel.berocket_alabel_id_73120 > span i.template-i {
5829                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5830                }
5831                .br_alabel.berocket_alabel_id_73120 > span i.template-i-after {
5832                display: block;height: 0;position: absolute;width: 0;
5833                }
5834                .br_alabel.berocket_alabel_id_73120 > span i.template-span-before {
5835                display: block;height: 0;position: absolute;width: 0;
5836                }div.br_alabel.berocket_alabel_id_73120{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_73120 > span{height: 50px;width: 110px;background-color:#f23c0f;color:#ffffff;line-height:1.2em;font-size:16px;font-family: 'Alata';padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5837                .br_alabel.berocket_alabel_id_34159 > span {
5838                color: white;display: flex;position: relative;right: 0;text-align: center;
5839                }
5840                .br_alabel.berocket_alabel_id_34159 > span b {
5841                text-align: center;z-index: 100;
5842                }
5843                .br_alabel.berocket_alabel_id_34159 > span i.template-i-before {
5844                display: block;height: 0;position: absolute;width: 0;
5845                }
5846                .br_alabel.berocket_alabel_id_34159 > span i.template-i {
5847                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5848                }
5849                .br_alabel.berocket_alabel_id_34159 > span i.template-i-after {
5850                display: block;height: 0;position: absolute;width: 0;
5851                }
5852                .br_alabel.berocket_alabel_id_34159 > span i.template-span-before {
5853                display: block;height: 0;position: absolute;width: 0;
5854                }div.br_alabel.berocket_alabel_id_34159{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_34159 > span{height: 50px;width: 77px;background-color:#000000;color:#ffffff;border-radius:3px;line-height:1.2em;font-size:14px;padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5855                .br_alabel.berocket_alabel_id_115461 > span {
5856                color: white;display: flex;position: relative;right: 0;text-align: center;
5857                }
5858                .br_alabel.berocket_alabel_id_115461 > span b {
5859                text-align: center;z-index: 100;
5860                }
5861                .br_alabel.berocket_alabel_id_115461 > span i.template-i-before {
5862                display: block;height: 0;position: absolute;width: 0;
5863                }
5864                .br_alabel.berocket_alabel_id_115461 > span i.template-i {
5865                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5866                }
5867                .br_alabel.berocket_alabel_id_115461 > span i.template-i-after {
5868                display: block;height: 0;position: absolute;width: 0;
5869                }
5870                .br_alabel.berocket_alabel_id_115461 > span i.template-span-before {
5871                display: block;height: 0;position: absolute;width: 0;
5872                }div.br_alabel.berocket_alabel_id_115461{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_115461 > span{height: 36px;width: 110px;background-color:#5300c4;color:#ffffff;border-radius:3px;line-height:1em;font-size:24px;padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5873                .br_alabel.berocket_alabel_id_65431 > span {
5874                color: white;display: flex;position: relative;right: 0;text-align: center;
5875                }
5876                .br_alabel.berocket_alabel_id_65431 > span b {
5877                text-align: center;z-index: 100;
5878                }
5879                .br_alabel.berocket_alabel_id_65431 > span i.template-i-before {
5880                display: block;height: 0;position: absolute;width: 0;
5881                }
5882                .br_alabel.berocket_alabel_id_65431 > span i.template-i {
5883                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5884                }
5885                .br_alabel.berocket_alabel_id_65431 > span i.template-i-after {
5886                display: block;height: 0;position: absolute;width: 0;
5887                }
5888                .br_alabel.berocket_alabel_id_65431 > span i.template-span-before {
5889                display: block;height: 0;position: absolute;width: 0;
5890                }div.br_alabel.berocket_alabel_id_65431{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_65431 > span{height: 30px;width: 110px;background-color:#012d47;color:#ffffff;line-height:1.2em;font-size:18px;font-family: 'Alata';padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }
5891                .br_alabel.berocket_alabel_id_65464 > span {
5892                color: white;display: flex;position: relative;right: 0;text-align: center;
5893                }
5894                .br_alabel.berocket_alabel_id_65464 > span b {
5895                text-align: center;z-index: 100;
5896                }
5897                .br_alabel.berocket_alabel_id_65464 > span i.template-i-before {
5898                display: block;height: 0;position: absolute;width: 0;
5899                }
5900                .br_alabel.berocket_alabel_id_65464 > span i.template-i {
5901                background-color: transparent;display: block;line-height: 30px;position: absolute;z-index: 99;
5902                }
5903                .br_alabel.berocket_alabel_id_65464 > span i.template-i-after {
5904                display: block;height: 0;position: absolute;width: 0;
5905                }
5906                .br_alabel.berocket_alabel_id_65464 > span i.template-span-before {
5907                display: block;height: 0;position: absolute;width: 0;
5908                }div.br_alabel.berocket_alabel_id_65464{top:-10px;left:-10px;z-index:500;}div.br_alabel.berocket_alabel_id_65464 > span{height: 30px;width: 110px;background-color:#376d0c;color:#ffffff;line-height:1.2em;font-size:18px;font-family: 'Alata';padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin-bottom: 0px; }</style>    
5908<script type="text/javascript">
5909    (function($) {
5910        $(document).on('ajaxSend', function(elm, xhr, settings) {
5911            // Si settings.data n'est pas une chaîne, on lui injecte un indexOf sécurisé
5912            // uniquement pour la durée de cette transaction.
5913            if (settings && settings.data && typeof settings.data !== 'string') {
5914                try {
5915                    settings.data.indexOf = function() { return -1; };
5916                } catch(e) {
5917                    // Si l'objet est scellé, on ne fait rien pour éviter le 403
5918                }
5919            }
5920        });
5921    })(jQuery);
5922    </script>
5922
5923    
5923<script type="speculationrules">
5924{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/blocksy/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
5925</script>
5925
5926    <style>
5927    /* Phrase clonée pour l’onglet "À partir d’une image" */
5928    .jdmc-ai-styles-examples-edit {
5929        margin: 4px 0 8px;
5930        font-size: 13px;
5931        font-weight: 600;
5932        color: #333;
5933    }
5934
5935    /* Traduction du label du bouton fichier (override du ::before FR) */
5936    input[type="file"].jdmc-ai-upload::before,
5937    input[type="file"].jdmc-ai-direct-upload::before {
5938        content: "📁 Choisir une photo / image";
5939    }
5940    </style>
5941
5942    
5942<script>
5943    (function($){
5944        $(function(){
5945
5946            var lang = window.jdmcAiLang || "fr";
5947            var t    = {"direct_title":"J\u2019ai d\u00e9j\u00e0 ma photo ou image","direct_text":"Si vous avez d\u00e9j\u00e0 une image \u00e0 reproduire telle quelle, importez-la simplement ici.","forme_title":"Forme des diamants","dimensions_title":"Dimensions de la toile","dimensions_title_ia":"Dimensions de la toile","formats_square":"Formats carr\u00e9s","formats_portrait":"Formats portrait","formats_landscape":"Formats paysage","formats_square_ia":"Formats carr\u00e9s (IA)","formats_portrait_ia":"Formats portrait (IA)","formats_landscape_ia":"Formats paysage (IA)","ai_title":"Je cr\u00e9e ou retouche mon image avec l\u2019IA","ai_subtitle":"Choisissez si vous partez d\u2019un texte ou d\u2019une image, puis s\u00e9lectionnez un style.","tab_prompt":"\u00c0 partir d\u2019un texte","tab_edit":"\u00c0 partir d\u2019une image","prompt_title":"Je d\u00e9cris l'image que je souhaite cr\u00e9er","prompt_placeholder":"Ex : Un chat blanc sur un coussin bleu","edit_optional":"(Facultatif) Faire une retouche \/ modification","edit_title":"Je demande une retouche \/ modification","edit_placeholder":"Ex : Supprime l\u2019arbre et \u00e9claircit le ciel","style_transform_title":"Je transforme le style de mon image","style_main_title":"Je choisis le style de mon image","style_examples":"Exemples avec \"chien et chat dans un panier\" :","style_none":"Ne pas modifier","style_realistic":"Photo r\u00e9aliste","style_galaxy":"Fluo","style_fairytale":"F\u00e9erique","style_manga":"Manga","style_watercolor":"Aquarelle","style_cartoon":"Dessin anim\u00e9","style_abstract":"Abstrait","recap_main_title":"\u2714 Je valide mon diamond painting","recap_forme_label":"Forme des diamants :","recap_taille_label":"Taille du diamond painting :","recap_style_label":"Style d\u2019image :","recap_image_label":"Image :","edit_upload_title":"Je choisis la photo \/ image \u00e0 retoucher","edit_image_title_dp":"Photo \/ image \u00e0 transformer en DP","upload_in_progress":"T\u00e9l\u00e9versement de votre image en cours...","upload_store_success":"Image import\u00e9e avec succ\u00e8s. Elle sera utilis\u00e9e comme base pour la retouche IA.","crop_cancel":"Annuler","crop_apply":"Valider le recadrage","crop_in_progress":"Recadrage en cours\u2026","btn_add_to_cart":"Ajouter au panier","btn_crop":"\u2702\ufe0f Recadrer l\u2019image","remove_image":"\ud83d\uddd1\ufe0f Supprimer cette image","separator_or":"\u2014 OU \u2014","help_formats":"Formats accept\u00e9s : JPG ou PNG (max ~64 Mo).","select_choose":"Choisir\u2026","btn_generate":"G\u00e9n\u00e9rer l\u2019image avec l\u2019IA","file_button":"\ud83d\udcc1 Choisir une photo \/ image","generated_images_title":"Mes images g\u00e9n\u00e9r\u00e9es :","generated_preview_title":"Aper\u00e7u de l\u2019image g\u00e9n\u00e9r\u00e9e :"} || {};
5948
5949            // ==========================
5950            // 1) Messages d'erreur/succès par langue
5951            // ==========================
5952            var msgByLang = {
5953                "fr": {
5954                    select_size: "Veuillez sélectionner la dimension de la toile ci-dessus",
5955                    generating: "Génération en cours, cela peut prendre un peu de temps...",
5956                    prompt_required: "Merci de décrire un minimum votre image.",
5957                    prompt_empty: "Le prompt est vide après traitement. Merci de le compléter.",
5958                    edit_no_image: "Merci de choisir une photo à transformer.",
5959                    edit_prompt_empty: "Le prompt est vide après traitement. Merci de sélectionner un style ou d’ajouter quelques mots.",
5960                    upload_wrong_type: "Merci de sélectionner un fichier image (JPG ou PNG).",
5961                    upload_too_big: "Fichier trop volumineux (max ~64 Mo).",
5962                    upload_too_big_compress: "Fichier trop volumineux (max ~64 Mo). Merci de le compresser un peu.",
5963                    upload_in_progress: "Téléversement de votre image en cours...",
5964                    upload_store_error: "Erreur lors de l’enregistrement de votre image.",
5965                    upload_store_incomplete: "Réponse incomplète lors de l’enregistrement de l’image.",
5966                    upload_network_error: "Erreur réseau lors de l’envoi de votre image.",
5967                    upload_process_error: "Erreur lors du traitement de l’image.",
5968                    upload_cannot_read: "Impossible de lire cette image.",
5969                    upload_read_error: "Erreur de lecture du fichier.",
5970                    upload_success_direct: "Image importée avec succès. Elle sera utilisée pour votre diamond painting.",
5971                    upload_success_edit: "Image importée avec succès. Elle sera utilisée comme base pour la retouche IA.",
5972                    ai_success: "Image générée avec succès. Vous pouvez maintenant ajouter le produit au panier.",
5973                    error_prefix: "Erreur : ",
5974                    ajax_error_prefix: "Erreur AJAX"
5975                },
5976                "en": {
5977                    select_size: "Please select the canvas size above.",
5978                    generating: "Generating the image, this may take a little while...",
5979                    prompt_required: "Please briefly describe the image you want.",
5980                    prompt_empty: "The prompt is empty after processing. Please add a bit more detail.",
5981                    edit_no_image: "Please choose a photo to transform.",
5982                    edit_prompt_empty: "The prompt is empty after processing. Please select a style or add a few words.",
5983                    upload_wrong_type: "Please select an image file (JPG or PNG).",
5984                    upload_too_big: "File too large (max ~64 MB).",
5985                    upload_too_big_compress: "File too large (max ~64 MB). Please compress it a bit.",
5986                    upload_in_progress: "Uploading your image...",
5987                    upload_store_error: "Error while saving your image.",
5988                    upload_store_incomplete: "Incomplete response while saving your image.",
5989                    upload_network_error: "Network error while sending your image.",
5990                    upload_process_error: "Error while processing the image.",
5991                    upload_cannot_read: "Unable to read this image.",
5992                    upload_read_error: "File read error.",
5993                    upload_success_direct: "Image uploaded successfully. It will be used for your diamond painting.",
5994                    upload_success_edit: "Image uploaded successfully. It will be used as the base for the AI edit.",
5995                    ai_success: "Image generated successfully. You can now add the product to the cart.",
5996                    error_prefix: "Error: ",
5997                    ajax_error_prefix: "AJAX error",
5998					crop_title: "Crop image",
5999					crop_cancel: "Cancel",
6000					crop_apply: "Apply crop",
6001					crop_in_progress: "Cropping in progress…"
6002                },
6003                "es": {
6004                    select_size: "Selecciona el tamaño del lienzo más arriba.",
6005                    generating: "Generando la imagen, esto puede tardar un poco...",
6006                    prompt_required: "Por favor describe un mínimo la imagen que deseas.",
6007                    prompt_empty: "El prompt queda vacío después del procesamiento. Añade un poco más de detalle.",
6008                    edit_no_image: "Selecciona una foto que quieras transformar.",
6009                    edit_prompt_empty: "El prompt queda vacío después del procesamiento. Elige un estilo o añade algunas palabras.",
6010                    upload_wrong_type: "Selecciona un archivo de imagen (JPG o PNG).",
6011                    upload_too_big: "Archivo demasiado grande (máx. ~64 MB).",
6012                    upload_too_big_compress: "Archivo demasiado grande (máx. ~64 MB). Por favor, comprímelo un poco.",
6013                    upload_in_progress: "Subiendo tu imagen...",
6014                    upload_store_error: "Error al guardar tu imagen.",
6015                    upload_store_incomplete: "Respuesta incompleta al guardar la imagen.",
6016                    upload_network_error: "Error de red al enviar tu imagen.",
6017                    upload_process_error: "Error al procesar la imagen.",
6018                    upload_cannot_read: "No se puede leer esta imagen.",
6019                    upload_read_error: "Error al leer el archivo.",
6020                    upload_success_direct: "Imagen subida correctamente. Se utilizará para tu diamond painting.",
6021                    upload_success_edit: "Imagen subida correctamente. Se utilizará como base para la edición con IA.",
6022                    ai_success: "Imagen generada correctamente. Ahora puedes añadir el producto al carrito.",
6023                    error_prefix: "Error: ",
6024                    ajax_error_prefix: "Error AJAX"
6025                },
6026                "de": {
6027                    select_size: "Bitte wähle oben die Leinwandgröße aus.",
6028                    generating: "Bild wird generiert, das kann einen Moment dauern...",
6029                    prompt_required: "Bitte beschreibe kurz das gewünschte Bild.",
6030                    prompt_empty: "Die Eingabe ist nach der Verarbeitung leer. Bitte ergänze noch ein paar Details.",
6031                    edit_no_image: "Bitte wähle ein Foto, das bearbeitet werden soll.",
6032                    edit_prompt_empty: "Die Eingabe ist nach der Verarbeitung leer. Bitte wähle einen Stil oder füge ein paar Worte hinzu.",
6033                    upload_wrong_type: "Bitte wähle eine Bilddatei (JPG oder PNG).",
6034                    upload_too_big: "Datei zu groß (max. ~64 MB).",
6035                    upload_too_big_compress: "Datei zu groß (max. ~64 MB). Bitte komprimiere sie etwas.",
6036                    upload_in_progress: "Dein Bild wird hochgeladen...",
6037                    upload_store_error: "Fehler beim Speichern deines Bildes.",
6038                    upload_store_incomplete: "Unvollständige Antwort beim Speichern des Bildes.",
6039                    upload_network_error: "Netzwerkfehler beim Senden deines Bildes.",
6040                    upload_process_error: "Fehler bei der Verarbeitung des Bildes.",
6041                    upload_cannot_read: "Dieses Bild kann nicht gelesen werden.",
6042                    upload_read_error: "Fehler beim Lesen der Datei.",
6043                    upload_success_direct: "Bild erfolgreich hochgeladen. Es wird für dein Diamond Painting verwendet.",
6044                    upload_success_edit: "Bild erfolgreich hochgeladen. Es wird als Basis für die KI-Bearbeitung verwendet.",
6045                    ai_success: "Bild erfolgreich generiert. Du kannst das Produkt jetzt in den Warenkorb legen.",
6046                    error_prefix: "Fehler: ",
6047                    ajax_error_prefix: "AJAX-Fehler"
6048                },
6049                "it": {
6050                    select_size: "Seleziona la dimensione della tela qui sopra.",
6051                    generating: "Generazione dell’immagine in corso, potrebbe volerci un momento...",
6052                    prompt_required: "Per favore descrivi brevemente l’immagine che desideri.",
6053                    prompt_empty: "Il prompt risulta vuoto dopo l’elaborazione. Aggiungi qualche dettaglio in più.",
6054                    edit_no_image: "Seleziona una foto da trasformare.",
6055                    edit_prompt_empty: "Il prompt risulta vuoto dopo l’elaborazione. Seleziona uno stile o aggiungi qualche parola.",
6056                    upload_wrong_type: "Seleziona un file immagine (JPG o PNG).",
6057                    upload_too_big: "File troppo grande (max ~64 MB).",
6058                    upload_too_big_compress: "File troppo grande (max ~64 MB). Per favore comprimilo un po’.",
6059                    upload_in_progress: "Caricamento dell’immagine in corso...",
6060                    upload_store_error: "Errore durante il salvataggio dell’immagine.",
6061                    upload_store_incomplete: "Risposta incompleta durante il salvataggio dell’immagine.",
6062                    upload_network_error: "Errore di rete durante l’invio dell’immagine.",
6063                    upload_process_error: "Errore durante l’elaborazione dell’immagine.",
6064                    upload_cannot_read: "Impossibile leggere questa immagine.",
6065                    upload_read_error: "Errore di lettura del file.",
6066                    upload_success_direct: "Immagine caricata con successo. Verrà utilizzata per il tuo diamond painting.",
6067                    upload_success_edit: "Immagine caricata con successo. Verrà utilizzata come base per la modifica con IA.",
6068                    ai_success: "Immagine generata con successo. Ora puoi aggiungere il prodotto al carrello.",
6069                    error_prefix: "Errore: ",
6070                    ajax_error_prefix: "Errore AJAX"
6071                },
6072                "nl": {
6073                    select_size: "Kies hierboven de grootte van het canvas.",
6074                    generating: "Beeld wordt gegenereerd, dit kan even duren...",
6075                    prompt_required: "Beschrijf kort welke afbeelding je wilt.",
6076                    prompt_empty: "De prompt is na verwerking leeg. Voeg wat extra details toe.",
6077                    edit_no_image: "Kies een foto die je wilt transformeren.",
6078                    edit_prompt_empty: "De prompt is na verwerking leeg. Kies een stijl of voeg enkele woorden toe.",
6079                    upload_wrong_type: "Kies een afbeeldingsbestand (JPG of PNG).",
6080                    upload_too_big: "Bestand te groot (max. ~64 MB).",
6081                    upload_too_big_compress: "Bestand te groot (max. ~64 MB). Comprimeer het bestand een beetje.",
6082                    upload_in_progress: "Je afbeelding wordt geüpload...",
6083                    upload_store_error: "Fout bij het opslaan van je afbeelding.",
6084                    upload_store_incomplete: "Onvolledig antwoord bij het opslaan van de afbeelding.",
6085                    upload_network_error: "Netwerkfout bij het versturen van je afbeelding.",
6086                    upload_process_error: "Fout bij het verwerken van de afbeelding.",
6087                    upload_cannot_read: "Deze afbeelding kan niet worden gelezen.",
6088                    upload_read_error: "Fout bij het lezen van het bestand.",
6089                    upload_success_direct: "Afbeelding succesvol geüpload. Deze wordt gebruikt voor je diamond painting.",
6090                    upload_success_edit: "Afbeelding succesvol geüpload. Deze wordt gebruikt als basis voor de AI-bewerking.",
6091                    ai_success: "Afbeelding succesvol gegenereerd. Je kunt het product nu aan de winkelwagen toevoegen.",
6092                    error_prefix: "Fout: ",
6093                    ajax_error_prefix: "AJAX-fout"
6094                },
6095                "pt-pt": {
6096                    select_size: "Selecione o tamanho da tela acima.",
6097                    generating: "A gerar a imagem, isto pode demorar um pouco...",
6098                    prompt_required: "Descreva, pelo menos brevemente, a imagem que pretende.",
6099                    prompt_empty: "O prompt fica vazio após o processamento. Adicione mais alguns detalhes.",
6100                    edit_no_image: "Escolha uma foto para transformar.",
6101                    edit_prompt_empty: "O prompt fica vazio após o processamento. Selecione um estilo ou adicione algumas palavras.",
6102                    upload_wrong_type: "Selecione um ficheiro de imagem (JPG ou PNG).",
6103                    upload_too_big: "Ficheiro demasiado grande (máx. ~64 MB).",
6104                    upload_too_big_compress: "Ficheiro demasiado grande (máx. ~64 MB). Por favor, comprima-o um pouco.",
6105                    upload_in_progress: "A enviar a sua imagem...",
6106                    upload_store_error: "Erro ao guardar a sua imagem.",
6107                    upload_store_incomplete: "Resposta incompleta ao guardar a imagem.",
6108                    upload_network_error: "Erro de rede ao enviar a sua imagem.",
6109                    upload_process_error: "Erro ao processar a imagem.",
6110                    upload_cannot_read: "Não foi possível ler esta imagem.",
6111                    upload_read_error: "Erro ao ler o ficheiro.",
6112                    upload_success_direct: "Imagem enviada com sucesso. Será utilizada para o seu diamond painting.",
6113                    upload_success_edit: "Imagem enviada com sucesso. Será utilizada como base para a edição com IA.",
6114                    ai_success: "Imagem gerada com sucesso. Já pode adicionar o produto ao carrinho.",
6115                    error_prefix: "Erro: ",
6116                    ajax_error_prefix: "Erro AJAX"
6117                },
6118                "sv": {
6119                    select_size: "Välj dukstorlek här ovan.",
6120                    generating: "Bild genereras, detta kan ta en liten stund...",
6121                    prompt_required: "Beskriv kort vilken bild du vill ha.",
6122                    prompt_empty: "Prompten är tom efter bearbetning. Lägg till lite mer detaljer.",
6123                    edit_no_image: "Välj ett foto att omvandla.",
6124                    edit_prompt_empty: "Prompten är tom efter bearbetning. Välj en stil eller skriv några ord.",
6125                    upload_wrong_type: "Välj en bildfil (JPG eller PNG).",
6126                    upload_too_big: "Filen är för stor (max ~64 MB).",
6127                    upload_too_big_compress: "Filen är för stor (max ~64 MB). Komprimera den gärna lite.",
6128                    upload_in_progress: "Din bild laddas upp...",
6129                    upload_store_error: "Fel vid sparande av din bild.",
6130                    upload_store_incomplete: "Ofullständigt svar när bilden skulle sparas.",
6131                    upload_network_error: "Nätverksfel när din bild skickades.",
6132                    upload_process_error: "Fel vid bearbetning av bilden.",
6133                    upload_cannot_read: "Det går inte att läsa den här bilden.",
6134                    upload_read_error: "Fel vid läsning av filen.",
6135                    upload_success_direct: "Bilden har laddats upp. Den kommer att användas för din diamond painting.",
6136                    upload_success_edit: "Bilden har laddats upp. Den kommer att användas som underlag för AI-redigeringen.",
6137                    ai_success: "Bilden har genererats. Du kan nu lägga produkten i varukorgen.",
6138                    error_prefix: "Fel: ",
6139                    ajax_error_prefix: "AJAX-fel"
6140                },
6141                "bg": {
6142                    select_size: "Моля, изберете размер на платното по-горе.",
6143                    generating: "Изображението се генерира, това може да отнеме малко време...",
6144                    prompt_required: "Моля, опишете накратко желаното изображение.",
6145                    prompt_empty: "Подаденият текст е празен след обработка. Добавете още малко детайли.",
6146                    edit_no_image: "Моля, изберете снимка за преобразуване.",
6147                    edit_prompt_empty: "Подаденият текст е празен след обработка. Изберете стил или добавете няколко думи.",
6148                    upload_wrong_type: "Моля, изберете файл с изображение (JPG или PNG).",
6149                    upload_too_big: "Файлът е твърде голям (макс. ~64 MB).",
6150                    upload_too_big_compress: "Файлът е твърде голям (макс. ~64 MB). Моля, компресирайте го леко.",
6151                    upload_in_progress: "Вашето изображение се качва...",
6152                    upload_store_error: "Грешка при запазване на изображението.",
6153                    upload_store_incomplete: "Непълен отговор при запазване на изображението.",
6154                    upload_network_error: "Мрежова грешка при изпращане на изображението.",
6155                    upload_process_error: "Грешка при обработката на изображението.",
6156                    upload_cannot_read: "Това изображение не може да бъде прочетено.",
6157                    upload_read_error: "Грешка при четене на файла.",
6158                    upload_success_direct: "Изображението беше качено успешно. То ще бъде използвано за вашето diamond painting платно.",
6159                    upload_success_edit: "Изображението беше качено успешно. То ще бъде използвано като база за AI редакцията.",
6160                    ai_success: "Изображението беше успешно генерирано. Сега можете да добавите продукта в количката.",
6161                    error_prefix: "Грешка: ",
6162                    ajax_error_prefix: "AJAX грешка"
6163                },
6164                "da": {
6165                    select_size: "Vælg lærredsstørrelse ovenfor.",
6166                    generating: "Billedet genereres, dette kan tage et øjeblik...",
6167                    prompt_required: "Beskriv kort det billede, du ønsker.",
6168                    prompt_empty: "Prompten er tom efter behandling. Tilføj gerne lidt flere detaljer.",
6169                    edit_no_image: "Vælg et foto, der skal transformeres.",
6170                    edit_prompt_empty: "Prompten er tom efter behandling. Vælg en stil eller tilføj et par ord.",
6171                    upload_wrong_type: "Vælg en billedfil (JPG eller PNG).",
6172                    upload_too_big: "Filen er for stor (maks. ~64 MB).",
6173                    upload_too_big_compress: "Filen er for stor (maks. ~64 MB). Komprimer den venligst lidt.",
6174                    upload_in_progress: "Dit billede uploades...",
6175                    upload_store_error: "Fejl under lagring af dit billede.",
6176                    upload_store_incomplete: "Ufuldstændigt svar under lagring af billedet.",
6177                    upload_network_error: "Netværksfejl under afsendelse af dit billede.",
6178                    upload_process_error: "Fejl under behandling af billedet.",
6179                    upload_cannot_read: "Dette billede kan ikke læses.",
6180                    upload_read_error: "Fejl ved læsning af filen.",
6181                    upload_success_direct: "Billedet er uploadet. Det vil blive brugt til dit diamond painting.",
6182                    upload_success_edit: "Billedet er uploadet. Det vil blive brugt som grundlag for AI-redigeringen.",
6183                    ai_success: "Billedet er genereret. Du kan nu lægge produktet i kurven.",
6184                    error_prefix: "Fejl: ",
6185                    ajax_error_prefix: "AJAX-fejl"
6186                },
6187                "el": {
6188                    select_size: "Παρακαλώ επιλέξτε το μέγεθος του καμβά παραπάνω.",
6189                    generating: "Η εικόνα δημιουργείται, αυτό μπορεί να πάρει λίγο χρόνο...",
6190                    prompt_required: "Περιγράψτε σύντομα την εικόνα που θέλετε.",
6191                    prompt_empty: "Το κείμενο (prompt) είναι κενό μετά την επεξεργασία. Προσθέστε λίγες περισσότερες λεπτομέρειες.",
6192                    edit_no_image: "Επιλέξτε μια φωτογραφία για μετατροπή.",
6193                    edit_prompt_empty: "Το κείμενο (prompt) είναι κενό μετά την επεξεργασία. Επιλέξτε ένα στυλ ή προσθέστε μερικές λέξεις.",
6194                    upload_wrong_type: "Επιλέξτε ένα αρχείο εικόνας (JPG ή PNG).",
6195                    upload_too_big: "Το αρχείο είναι πολύ μεγάλο (μέγ. ~64 MB).",
6196                    upload_too_big_compress: "Το αρχείο είναι πολύ μεγάλο (μέγ. ~64 MB). Παρακαλώ συμπιέστε το λίγο.",
6197                    upload_in_progress: "Η εικόνα σας ανεβαίνει...",
6198                    upload_store_error: "Σφάλμα κατά την αποθήκευση της εικόνας.",
6199                    upload_store_incomplete: "Ελλιπής απάντηση κατά την αποθήκευση της εικόνας.",
6200                    upload_network_error: "Σφάλμα δικτύου κατά την αποστολή της εικόνας.",
6201                    upload_process_error: "Σφάλμα κατά την επεξεργασία της εικόνας.",
6202                    upload_cannot_read: "Δεν είναι δυνατή η ανάγνωση αυτής της εικόνας.",
6203                    upload_read_error: "Σφάλμα κατά την ανάγνωση του αρχείου.",
6204                    upload_success_direct: "Η εικόνα ανέβηκε με επιτυχία. Θα χρησιμοποιηθεί για το diamond painting σας.",
6205                    upload_success_edit: "Η εικόνα ανέβηκε με επιτυχία. Θα χρησιμοποιηθεί ως βάση για την επεξεργασία με ΤΝ.",
6206                    ai_success: "Η εικόνα δημιουργήθηκε με επιτυχία. Μπορείτε τώρα να προσθέσετε το προϊόν στο καλάθι.",
6207                    error_prefix: "Σφάλμα: ",
6208                    ajax_error_prefix: "Σφάλμα AJAX"
6209                },
6210                "hu": {
6211                    select_size: "Kérjük, válassz vászonméretet fentebb.",
6212                    generating: "A kép generálása folyamatban van, ez eltarthat egy kis ideig...",
6213                    prompt_required: "Kérjük, röviden írd le, milyen képet szeretnél.",
6214                    prompt_empty: "A prompt az átalakítás után üres. Adj hozzá még néhány részletet.",
6215                    edit_no_image: "Válassz egy fotót az átalakításhoz.",
6216                    edit_prompt_empty: "A prompt az átalakítás után üres. Válassz stílust vagy írj néhány szót.",
6217                    upload_wrong_type: "Kérjük, válassz egy képfájlt (JPG vagy PNG).",
6218                    upload_too_big: "A fájl túl nagy (max. ~64 MB).",
6219                    upload_too_big_compress: "A fájl túl nagy (max. ~64 MB). Kérjük, tömörítsd egy kicsit.",
6220                    upload_in_progress: "A képed feltöltése folyamatban...",
6221                    upload_store_error: "Hiba történt a kép mentése közben.",
6222                    upload_store_incomplete: "Hiányos válasz a kép mentésekor.",
6223                    upload_network_error: "Hálózati hiba a kép küldése közben.",
6224                    upload_process_error: "Hiba a kép feldolgozása közben.",
6225                    upload_cannot_read: "Ez a kép nem olvasható.",
6226                    upload_read_error: "Hiba a fájl olvasása közben.",
6227                    upload_success_direct: "A kép sikeresen feltöltve. Felhasználjuk a diamond paintinghez.",
6228                    upload_success_edit: "A kép sikeresen feltöltve. Alapként fogjuk használni az MI-szerkesztéshez.",
6229                    ai_success: "A kép sikeresen generálva. Most már a kosárhoz adhatod a terméket.",
6230                    error_prefix: "Hiba: ",
6231                    ajax_error_prefix: "AJAX hiba"
6232                },
6233                "no": {
6234                    select_size: "Velg lerretsstørrelse ovenfor.",
6235                    generating: "Bildet genereres, dette kan ta litt tid...",
6236                    prompt_required: "Beskriv kort hvilket bilde du ønsker.",
6237                    prompt_empty: "Prompten er tom etter behandling. Legg til litt mer detaljer.",
6238                    edit_no_image: "Velg et bilde du vil forandre.",
6239                    edit_prompt_empty: "Prompten er tom etter behandling. Velg en stil eller skriv noen få ord.",
6240                    upload_wrong_type: "Velg en bildefil (JPG eller PNG).",
6241                    upload_too_big: "Filen er for stor (maks. ~64 MB).",
6242                    upload_too_big_compress: "Filen er for stor (maks. ~64 MB). Komprimer den gjerne litt.",
6243                    upload_in_progress: "Bildet ditt lastes opp...",
6244                    upload_store_error: "Feil ved lagring av bildet ditt.",
6245                    upload_store_incomplete: "Ufullstendig svar ved lagring av bildet.",
6246                    upload_network_error: "Nettverksfeil ved sending av bildet ditt.",
6247                    upload_process_error: "Feil ved behandling av bildet.",
6248                    upload_cannot_read: "Det er ikke mulig å lese dette bildet.",
6249                    upload_read_error: "Feil ved lesing av filen.",
6250                    upload_success_direct: "Bildet er lastet opp. Det vil bli brukt til diamond painting-bildet ditt.",
6251                    upload_success_edit: "Bildet er lastet opp. Det vil bli brukt som utgangspunkt for KI-redigeringen.",
6252                    ai_success: "Bildet er generert. Du kan nå legge produktet i handlekurven.",
6253                    error_prefix: "Feil: ",
6254                    ajax_error_prefix: "AJAX-feil"
6255                },
6256                "pl": {
6257                    select_size: "Wybierz powyżej rozmiar płótna.",
6258                    generating: "Trwa generowanie obrazu, to może chwilę potrwać...",
6259                    prompt_required: "Krótko opisz obraz, który chcesz otrzymać.",
6260                    prompt_empty: "Po przetworzeniu prompt jest pusty. Dodaj trochę więcej szczegółów.",
6261                    edit_no_image: "Wybierz zdjęcie do przekształcenia.",
6262                    edit_prompt_empty: "Po przetworzeniu prompt jest pusty. Wybierz styl lub dodaj kilka słów.",
6263                    upload_wrong_type: "Wybierz plik graficzny (JPG lub PNG).",
6264                    upload_too_big: "Plik jest zbyt duży (maks. ~64 MB).",
6265                    upload_too_big_compress: "Plik jest zbyt duży (maks. ~64 MB). Skompresuj go proszę.",
6266                    upload_in_progress: "Twoje zdjęcie jest przesyłane...",
6267                    upload_store_error: "Błąd podczas zapisywania obrazu.",
6268                    upload_store_incomplete: "Niekompletna odpowiedź podczas zapisywania obrazu.",
6269                    upload_network_error: "Błąd sieci podczas wysyłania obrazu.",
6270                    upload_process_error: "Błąd podczas przetwarzania obrazu.",
6271                    upload_cannot_read: "Nie można odczytać tego obrazu.",
6272                    upload_read_error: "Błąd podczas odczytu pliku.",
6273                    upload_success_direct: "Obraz został pomyślnie przesłany. Zostanie użyty do Twojego diamond painting.",
6274                    upload_success_edit: "Obraz został pomyślnie przesłany. Zostanie użyty jako podstawa do edycji AI.",
6275                    ai_success: "Obraz został wygenerowany. Możesz teraz dodać produkt do koszyka.",
6276                    error_prefix: "Błąd: ",
6277                    ajax_error_prefix: "Błąd AJAX"
6278                },
6279                "ro": {
6280                    select_size: "Selectează dimensiunea pânzei de mai sus.",
6281                    generating: "Imaginea este generată, acest proces poate dura puțin...",
6282                    prompt_required: "Te rugăm să descrii pe scurt imaginea dorită.",
6283                    prompt_empty: "Promptul este gol după procesare. Adaugă câteva detalii în plus.",
6284                    edit_no_image: "Alege o fotografie pe care vrei să o transformi.",
6285                    edit_prompt_empty: "Promptul este gol după procesare. Selectează un stil sau adaugă câteva cuvinte.",
6286                    upload_wrong_type: "Selectează un fișier de imagine (JPG sau PNG).",
6287                    upload_too_big: "Fișier prea mare (max. ~64 MB).",
6288                    upload_too_big_compress: "Fișier prea mare (max. ~64 MB). Te rugăm să îl comprimi puțin.",
6289                    upload_in_progress: "Imaginea ta este încărcată...",
6290                    upload_store_error: "Eroare la salvarea imaginii.",
6291                    upload_store_incomplete: "Răspuns incomplet la salvarea imaginii.",
6292                    upload_network_error: "Eroare de rețea la trimiterea imaginii.",
6293                    upload_process_error: "Eroare la procesarea imaginii.",
6294                    upload_cannot_read: "Această imagine nu poate fi citită.",
6295                    upload_read_error: "Eroare la citirea fișierului.",
6296                    upload_success_direct: "Imaginea a fost încărcată cu succes. Va fi folosită pentru diamond painting-ul tău.",
6297                    upload_success_edit: "Imaginea a fost încărcată cu succes. Va fi folosită ca bază pentru editarea cu AI.",
6298                    ai_success: "Imaginea a fost generată cu succes. Acum poți adăuga produsul în coș.",
6299                    error_prefix: "Eroare: ",
6300                    ajax_error_prefix: "Eroare AJAX"
6301                }
6302            };
6303
6304            var m = msgByLang[lang] || msgByLang["en"] || {};
6305
6306            $('html').addClass('jdmc-lang-' + lang);
6307
6308            // ==========================
6309            // 2) Traduction des libellés statiques (comme avant)
6310            // ==========================
6311            $('.jdmc-ai-wrapper').each(function(){
6312                var $w = $(this);
6313
6314                if (t.direct_title) {
6315                    $w.find('.jdmc-ai-direct-title').text(t.direct_title);
6316                }
6317                if (t.direct_text) {
6318                    $w.find('.jdmc-ai-direct-text').text(t.direct_text);
6319                }
6320
6321                if (t.forme_title) {
6322                    $w.find('.jdmc-ai-forme-wrapper-direct .jdmc-ai-forme-title').text(t.forme_title);
6323                    $w.find('.jdmc-ai-forme-wrapper-ia .jdmc-ai-forme-title').text(t.forme_title);
6324                }
6325
6326                if (t.dimensions_title) {
6327                    $w.find('.jdmc-ai-dimensions-wrapper-direct .jdmc-ai-dimensions-title').text(t.dimensions_title);
6328                }
6329                if (t.dimensions_title_ia) {
6330                    $w.find('.jdmc-ai-dimensions-wrapper-ia .jdmc-ai-dimensions-title').text(t.dimensions_title_ia);
6331                }
6332
6333                var $zonesDirect = $w.find('.jdmc-ai-size-zones-direct .jdmc-ai-size-zone-title');
6334                if ($zonesDirect.length >= 3) {
6335                    if (t.formats_square)   $($zonesDirect.get(0)).text(t.formats_square);
6336                    if (t.formats_portrait) $($zonesDirect.get(1)).text(t.formats_portrait);
6337                    if (t.formats_landscape)$($zonesDirect.get(2)).text(t.formats_landscape);
6338                }
6339
6340                var $zonesIa = $w.find('.jdmc-ai-size-zones-ia .jdmc-ai-size-zone-title');
6341                if ($zonesIa.length >= 3) {
6342                    if (t.formats_square_ia)   $($zonesIa.get(0)).text(t.formats_square_ia);
6343                    if (t.formats_portrait_ia) $($zonesIa.get(1)).text(t.formats_portrait_ia);
6344                    if (t.formats_landscape_ia)$($zonesIa.get(2)).text(t.formats_landscape_ia);
6345                }
6346
6347                if (t.ai_title) {
6348                    $w.find('.jdmc-ai-ai-block .jdmc-ai-title').first().text(t.ai_title);
6349                }
6350                if (t.ai_subtitle) {
6351                    $w.find('.jdmc-ai-subtitle').text(t.ai_subtitle);
6352                }
6353
6354                if (t.tab_prompt) {
6355                    $w.find('.jdmc-ai-tab[data-mode="prompt"]').text(t.tab_prompt);
6356                }
6357                if (t.tab_edit) {
6358                    $w.find('.jdmc-ai-tab[data-mode="edit"]').text(t.tab_edit);
6359                }
6360
6361                if (t.prompt_title) {
6362                    $w.find('.jdmc-ai-prompt-title').text(t.prompt_title);
6363                }
6364                if (t.prompt_placeholder) {
6365                    $w.find('#jdmc-ai-prompt').attr('placeholder', t.prompt_placeholder);
6366                }
6367
6368                if (t.edit_optional) {
6369                    $w.find('.jdmc-ai-label-edit-facultatif').text(t.edit_optional);
6370                }
6371                if (t.edit_title) {
6372                    $w.find('.jdmc-ai-edit-title').text(t.edit_title);
6373                }
6374                if (t.edit_placeholder) {
6375                    $w.find('#jdmc-ai-edit-prompt').attr('placeholder', t.edit_placeholder);
6376                }
6377
6378                if (t.style_transform_title) {
6379                    $w.find('.jdmc-ai-style-transform-title').text(t.style_transform_title);
6380                }
6381                if (t.style_main_title) {
6382                    $w.find('.jdmc-ai-styles-main-title').text(t.style_main_title);
6383                }
6384                if (t.style_examples) {
6385                    $w.find('.jdmc-ai-styles-examples').text(t.style_examples);
6386                }
6387
6388                if (t.style_none) {
6389                    $w.find('.jdmc-style-option[data-style-key="none"] .jdmc-style-label').text(t.style_none);
6390                }
6391                if (t.style_realistic) {
6392                    $w.find('.jdmc-style-option[data-style-key="realistic"] .jdmc-style-label').text(t.style_realistic);
6393                }
6394                if (t.style_galaxy) {
6395                    $w.find('.jdmc-style-option[data-style-key="galaxy"] .jdmc-style-label').text(t.style_galaxy);
6396                }
6397                if (t.style_fairytale) {
6398                    $w.find('.jdmc-style-option[data-style-key="fairytale"] .jdmc-style-label').text(t.style_fairytale);
6399                }
6400                if (t.style_manga) {
6401                    $w.find('.jdmc-style-option[data-style-key="manga"] .jdmc-style-label').text(t.style_manga);
6402                }
6403                if (t.style_watercolor) {
6404                    $w.find('.jdmc-style-option[data-style-key="watercolor"] .jdmc-style-label').text(t.style_watercolor);
6405                }
6406                if (t.style_cartoon) {
6407                    $w.find('.jdmc-style-option[data-style-key="cartoon"] .jdmc-style-label').text(t.style_cartoon);
6408                }
6409                if (t.style_abstract) {
6410                    $w.find('.jdmc-style-option[data-style-key="abstract"] .jdmc-style-label').text(t.style_abstract);
6411                }
6412
6413                if (t.recap_main_title) {
6414                    $w.find('.jdmc-ai-main-title.jdmc-ai-section-title-step3').text(t.recap_main_title);
6415                }
6416                if (t.recap_forme_label) {
6417                    $w.find('.jdmc-ai-recap-forme .jdmc-ai-recap-label').text(t.recap_forme_label);
6418                }
6419                if (t.recap_taille_label) {
6420                    $w.find('.jdmc-ai-recap-taille .jdmc-ai-recap-label').text(t.recap_taille_label);
6421                }
6422                if (t.recap_style_label) {
6423                    $w.find('.jdmc-ai-recap-style .jdmc-ai-recap-label').text(t.recap_style_label);
6424                }
6425                if (t.recap_image_label) {
6426                    $w.find('.jdmc-ai-recap-image .jdmc-ai-recap-label').text(t.recap_image_label);
6427                }
6428
6429                if (t.remove_image) {
6430                    $w.find('.jdmc-ai-remove-image').text(t.remove_image);
6431                }
6432
6433                if (t.separator_or) {
6434                    $w.find('.jdmc-ai-separator span').text(t.separator_or);
6435                }
6436
6437                if (t.help_formats) {
6438                    $w.find('.jdmc-ai-help').text(t.help_formats);
6439                }
6440
6441                if (t.select_choose) {
6442                    $w.find('select.jdmc-ai-taille-select option[value=""]').each(function(){
6443                        $(this).text(t.select_choose);
6444                    });
6445                }
6446
6447                if (t.btn_generate) {
6448                    $w.find('.jdmc-ai-generate-btn').text(t.btn_generate);
6449                }
6450
6451                // DUPLICATION DE LA PHRASE D'EXEMPLE POUR L’ONGLET "IMAGE"
6452                var $exampleLine = $w.find('.jdmc-ai-styles-examples').first();
6453                if ($exampleLine.length && !$w.data('jdmcExamplesCloned')) {
6454                    $w.data('jdmcExamplesCloned', true);
6455
6456                    var $clone = $exampleLine.clone()
6457                        .addClass('jdmc-ai-styles-examples-edit');
6458
6459                    var $stylesGrid = $w.find('.jdmc-ai-styles-grid').first();
6460                    if ($stylesGrid.length) {
6461                        $clone.insertBefore($stylesGrid);
6462                    }
6463
6464                    var $tabs = $w.find('.jdmc-ai-tab');
6465
6466                    function refreshExampleVisibility() {
6467                        var $active = $tabs.filter('.jdmc-ai-tab-active').first();
6468                        var mode    = $active.data('mode');
6469                        if (mode === 'edit') {
6470                            $clone.show();
6471                        } else {
6472                            $clone.hide();
6473                        }
6474                    }
6475
6476                    $tabs.on('click.jdmcExamples', function(){
6477                        setTimeout(refreshExampleVisibility, 0);
6478                    });
6479
6480                    refreshExampleVisibility();
6481                }
6482
6483            });
6484
6485              // ==========================
6486            // 3) Traduction dynamique des messages d'erreur/succès + bouton IA
6487            // ==========================
6488            var selectorsToTranslate = ''
6489                + '.jdmc-ai-status, '
6490                + '.jdmc-ai-global-status, '
6491                + '.jdmc-ai-generate-btn, '
6492                + '.jdmc-ai-edit-image-title, '
6493                + '.jdmc-crop-header, '
6494                + '.jdmc-crop-header span, '
6495                + '.jdmc-crop-progress-text, '
6496                + '.jdmc-crop-cancel, '
6497                + '.jdmc-crop-apply, '
6498                + '.single_add_to_cart_button';
6499
6500            // Map des phrases FR -> version traduite pour la langue courante
6501            var msgMap = {
6502                "Veuillez sélectionner la dimension de la toile ci-dessus": m.select_size || "Veuillez sélectionner la dimension de la toile ci-dessus",
6503                "Merci de décrire un minimum votre image.": m.prompt_required || "Merci de décrire un minimum votre image.",
6504                "Le prompt est vide après traitement. Merci de le compléter.": m.prompt_empty || "Le prompt est vide après traitement. Merci de le compléter.",
6505                "Merci de choisir une photo à transformer.": m.edit_no_image || "Merci de choisir une photo à transformer.",
6506                "Le prompt est vide après traitement. Merci de sélectionner un style ou d’ajouter quelques mots.": m.edit_prompt_empty || "Le prompt est vide après traitement. Merci de sélectionner un style ou d’ajouter quelques mots.",
6507
6508                "Merci de sélectionner un fichier image (JPG ou PNG).": m.upload_wrong_type || "Merci de sélectionner un fichier image (JPG ou PNG).",
6509                "Fichier trop volumineux (max ~64 Mo).": m.upload_too_big || "Fichier trop volumineux (max ~64 Mo).",
6510                "Fichier trop volumineux (max ~64 Mo). Merci de le compresser un peu.": m.upload_too_big_c
6510ompress || "Fichier trop volumineux (max ~64 Mo). Merci de le compresser un peu.",
6511                "Téléversement de votre image en cours...": m.upload_in_progress || "Téléversement de votre image en cours...",
6512                "Téléversement de votre image en cours…": m.upload_in_progress || "Téléversement de votre image en cours…",
6513                "Erreur lors de l’enregistrement de votre image.": m.upload_store_error || "Erreur lors de l’enregistrement de votre image.",
6514                "Réponse incomplète lors de l’enregistrement de l’image.": m.upload_store_incomplete || "Réponse incomplète lors de l’enregistrement de l’image.",
6515                "Erreur réseau lors de l’envoi de votre image.": m.upload_network_error || "Erreur réseau lors de l’envoi de votre image.",
6516                "Erreur lors du traitement de l’image.": m.upload_process_error || "Erreur lors du traitement de l’image.",
6517                "Impossible de lire cette image.": m.upload_cannot_read || "Impossible de lire cette image.",
6518                "Erreur de lecture du fichier.": m.upload_read_error || "Erreur de lecture du fichier.",
6519                "Image importée avec succès. Elle sera utilisée pour votre diamond painting.": m.upload_success_direct || "Image importée avec succès. Elle sera utilisée pour votre diamond painting.",
6520                "Image importée avec succès. Elle sera utilisée comme base pour la retouche IA.": m.upload_success_edit || t.upload_store_success || "Image importée avec succès. Elle sera utilisée comme base pour la retouche IA.",
6521
6522                "Génération en cours, cela peut prendre un peu de temps...": m.generating || "Génération en cours, cela peut prendre un peu de temps...",
6523                "Image générée avec succès. Vous pouvez maintenant ajouter le produit au panier.": m.ai_success || "Image générée avec succès. Vous pouvez maintenant ajouter le produit au panier.",
6524
6525                // Bouton IA (le JS frontend le remet en FR, on le retraduit ici)
6526                "Générer l'image avec l'IA": t.btn_generate || "Générer l'image avec l'IA",
6527
6528                // Nouveau : recap / upload / crop / ajout panier
6529                "✔ Je valide mon diamond painting": t.recap_main_title || "✔ Je valide mon diamond painting",
6530                "Je valide mon diamond painting": t.recap_main_title || "Je valide mon diamond painting",
6531                "Je choisis la photo / image à retoucher": t.edit_upload_title || "Je choisis la photo / image à retoucher",
6532                "Recadrage en cours…": t.crop_in_progress || "Recadrage en cours…",
6533                "Annuler": t.crop_cancel || "Annuler",
6534                "Valider le recadrage": t.crop_apply || "Valider le recadrage",
6535                "Ajouter au panier": t.btn_add_to_cart || "Ajouter au panier",
6536                "✂️ Recadrer l’image": t.btn_crop || "✂️ Recadrer l’image",
6537                "Photo / image à transformer en DP": t.edit_image_title_dp || "Photo / image à transformer en DP",
6538                "Recadrer l’image": t.crop_title || "Recadrer l’image",
6539				"Mes images générées :": m.generated_images_title || t.generated_images_title || "Mes images générées :",
6540                "Aperçu de l’image générée :": m.generated_preview_title || t.generated_preview_title || "Aperçu de l’image générée :",
6541            };
6542
6543            function translateElement($el) {
6544                if (!$el || !$el.length) return;
6545                if ($el.children().length > 0) return; // on ne touche qu’aux "feuilles"
6546
6547                var txt = $.trim($el.text());
6548                if (!txt) return;
6549
6550                var original = txt;
6551
6552                // 1) Préfixe "Erreur : ..."
6553                var baseErr = "Erreur : ";
6554                if (txt.indexOf(baseErr) === 0 && m.error_prefix) {
6555                    txt = m.error_prefix + txt.substring(baseErr.length);
6556                }
6557
6558                // 2) Préfixe "Erreur AJAX..."
6559                if (txt.indexOf("Erreur AJAX") === 0 && m.ajax_error_prefix) {
6560                    var after = txt.substring("Erreur AJAX".length);
6561                    txt = m.ajax_error_prefix + after;
6562                }
6563
6564                // 3) Mapping exact
6565                if (msgMap[txt] && msgMap[txt] !== txt) {
6566                    txt = msgMap[txt];
6567                }
6568
6569                // 4) Règles "floues" pour certains textes chiants
6570
6571                // ✔ Je valide mon DP (avec ou sans symbole)
6572                if (original.indexOf("Je valide mon diamond painting") !== -1 && t.recap_main_title) {
6573                    txt = t.recap_main_title;
6574                }
6575
6576                // Photo / image à transformer en DP
6577                if (original.indexOf("transformer en DP") !== -1 && t.edit_image_title_dp) {
6578                    txt = t.edit_image_title_dp;
6579                }
6580
6581                // Bouton ✂️ Recadrer l’image
6582                if (original.indexOf("Recadrer l") !== -1 && t.btn_crop) {
6583                    txt = t.btn_crop;
6584                }
6585
6586                // Téléversement de votre image en cours (… ou ...)
6587                if (original.indexOf("Téléversement de votre image en cours") !== -1 && m.upload_in_progress) {
6588                    txt = m.upload_in_progress;
6589                }
6590
6591                // Image importée avec succès. Elle sera utilisée comme base pour la retouche IA.
6592                if (
6593                    original.indexOf("Image importée avec succès") !== -1 &&
6594                    original.indexOf("retouche IA") !== -1 &&
6595                    (m.upload_success_edit || m.upload_store_success)
6596                ) {
6597                    txt = m.upload_success_edit || m.upload_store_success;
6598                }
6599
6600                if (txt !== original) {
6601                    $el.text(txt);
6602                }
6603            }
6604
6605            // Traduit tout le bloc IA + les éléments ciblés (dont la lightbox de reca
6605drage)
6606            function translateAllAiTexts() {
6607                // 1) Tout ce qui est dans le bloc IA principal
6608                $('.jdmc-ai-wrapper').each(function(){
6609                    $(this).find('*').each(function(){
6610                        var $node = $(this);
6611
6612                        // On évite les champs de formulaire (on ne veut pas écraser les values)
6613                        if ($node.is('input,textarea,select,option')) {
6614                            return;
6615                        }
6616
6617                        translateElement($node);
6618                    });
6619                });
6620
6621                // 2) Et on force aussi les éléments ciblés, même s'ils sont en dehors du wrapper
6622                $(selectorsToTranslate).each(function(){
6623                    translateElement($(this));
6624                });
6625            }
6626
6627            // Passage initial : on traduit tout une première fois
6628            translateAllAiTexts();
6629
6630            // Observer les changements de texte (erreurs/succès, recadrage, upload, etc.)
6631            if (window.MutationObserver) {
6632                var observer = new MutationObserver(function(mutations){
6633                    // Au moindre changement dans le DOM, on repasse un coup sur tout le bloc IA + lightbox
6634                    translateAllAiTexts();
6635                });
6636
6637                observer.observe(document.body, {
6638                    childList: true,
6639                    subtree: true,
6640                    characterData: true
6641                });
6642            }
6643        });
6644    })(jQuery);
6645    </script>
6645
6646       
6646<script>
6647    (function() {
6648        if (typeof fbq === 'function') {
6649            fbq('track', 'ViewContent', {
6650                content_ids: ['72384'],
6651                content_type: 'product',
6652                currency: 'EUR'
6653            });
6654        }
6655    })();
6656    </script>
6656
6657        
6657<script>
6658    (function() {
6659        if (typeof fbq !== 'function') {
6660            return;
6661        }
6662
6663        // Fallback non-AJAX : URL ?add-to-cart=xxx
6664        try {
6665            var params = new URLSearchParams(window.location.search);
6666            if (params.has('add-to-cart')) {
6667                var atcId = params.get('add-to-cart');
6668                if (atcId) {
6669                    fbq('track', 'AddToCart', {
6670                        content_ids: [String(atcId)],
6671                        content_type: 'product',
6672                        currency: 'EUR'
6673                    });
6674                }
6675            }
6676        } catch (e) {
6677            // vieux navigateurs : on ignore
6678        }
6679
6680        // Gestion AJAX WooCommerce (xoo mini-panier, etc.)
6681        if (typeof jQuery === 'undefined') {
6682            return;
6683        }
6684
6685        jQuery(function($) {
6686            var lastButton = null;
6687
6688            // On mémorise le bouton au moment de l'ajout
6689            $(document.body).on('adding_to_cart', function(event, button, data) {
6690                lastButton = button || null;
6691            });
6692
6693            // Quand WooCommerce confirme l'ajout
6694            $(document.body).on('added_to_cart', function(event, fragments, cart_hash, $button) {
6695                var btn = $button || lastButton;
6696                if (!btn) return;
6697
6698                var $btn = $(btn);
6699
6700                var productId =
6701                    $btn.data('product_id') ||
6702                    $btn.attr('data-product_id') ||
6703                    null;
6704
6705                if (!productId) {
6706                    return;
6707                }
6708
6709                fbq('track', 'AddToCart', {
6710                    content_ids: [String(productId)],
6711                    content_type: 'product',
6712                    currency: 'EUR'
6713                });
6714            });
6715        });
6716    })();
6717    </script>
6717
6718        
6718<script>
6719    document.addEventListener('DOMContentLoaded', function() {
6720        document.querySelectorAll('.ct-sub-menu-parent > a').forEach(function(link) {
6721            link.addEventListener('click', function(e) {
6722                e.preventDefault();
6723                e.stopImmediatePropagation(); // Bloque aussi les autres handlers éventuels
6724                const toggle = link.parentElement.querySelector('.ct-toggle-dropdown-mobile');
6725                if (toggle) {
6726                    toggle.click();
6727                }
6728            }, true); // Use capture phase to intercept before Blocksy
6729        });
6730    });
6731    </script>
6731
6732        
6732<script>
6733    (function($){
6734        let updateTimeout;
6735
6736        function hideWooNotices() {
6737            $('.woocommerce-message, .woocommerce-info, .woocommerce-error').hide();
6738        }
6739
6740        $('body').on('input', 'input.qty', function(){
6741            clearTimeout(updateTimeout);
6742
6743            updateTimeout = setTimeout(function(){
6744                $('[name="update_cart"]').trigger('click');
6745                hideWooNotices();
6746            }, 800); // délai 800ms : adapte si besoin
6747        });
6748
6749        $(document).on('updated_wc_div', function(){
6750            hideWooNotices();
6751        });
6752
6753    })(jQuery);
6754    </script>
6754
6755        
6755<script>
6756    document.addEventListener('DOMContentLoaded', function () {
6757        const searchBtn = document.querySelector('button.ct-header-search[data-toggle-panel="#search-modal"]');
6758        if (!searchBtn) return;
6759
6760        // Récupère la valeur de la variable CSS pour la lightbox
6761        const labelText = getComputedStyle(document.documentElement).getPropertyValue('--jdmc-search-label').replace(/"/g, '').trim() || 'Rechercher';
6762
6763        function updateSearchModal() {
6764            const modal = document.querySelector('#search-modal');
6765            if (!modal) return false;
6766
6767            const title = modal.querySelector('.ct-panel-title');
6768            if (title) title.textContent = labelText;
6769
6770            const input = modal.querySelector('input[type="search"]');
6771            if (input) {
6772                input.setAttribute('placeholder', labelText);
6773                input.setAttribute('aria-label', labelText);
6774                input.setAttribute('title', labelText);
6775            }
6776            return true;
6777        }
6778
6779        // Met à jour la lightbox dynamiquement lors du clic
6780        searchBtn.addEventListener('click', () => {
6781            let tries = 0;
6782            const interval = setInterval(() => {
6783                if (updateSearchModal() || tries++ > 20) {
6784                    clearInterval(interval);
6785                }
6786            }, 100);
6787        });
6788    });
6789    </script>
6789
6790        
6790<script>
6791    document.addEventListener('DOMContentLoaded', function () {
6792      const langAttr = (document.documentElement.lang || 'fr').toLowerCase();
6793
6794      const translations = {
6795        fr:{placeholder:'Code DMC (ex. : 310)',error:'Merci d’entrer uniquement des chiffres'},
6796        nl:{placeholder:'DMC-code (bv. 310)',error:'Voer alleen cijfers in'},
6797        en:{placeholder:'DMC code (e.g. 310)',error:'Please enter digits only'},
6798        de:{placeholder:'DMC-Code (z. B. 310)',error:'Bitte nur Zahlen eingeben'},
6799        it:{placeholder:'Codice DMC (es. 310)',error:'Inserisci solo numeri'},
6800        'pt-pt':{placeholder:'Código DMC (ex.: 310)',error:'Introduza apenas números'},
6801        es:{placeholder:'Código DMC (ej.: 310)',error:'Introduce solo cifras'},
6802        bg:{placeholder:'Код DMC (напр. 310)',error:'Моля, въведете само цифри'},
6803        da:{placeholder:'DMC-kode (fx 310)',error:'Indtast kun tal'},
6804        el:{placeholder:'Κωδικός DMC (π.χ. 310)',error:'Παρακαλώ εισάγετε μόνο αριθμούς'},
6805        hu:{placeholder:'DMC kód (pl. 310)',error:'Kérjük, csak számokat írjon be'},
6806        no:{placeholder:'DMC-kode (f.eks. 310)',error:'Vennligst skriv kun inn tall'},
6807        pl:{placeholder:'Kod DMC (np. 310)',error:'Wprowadź tylko cyfry'},
6808        ro:{placeholder:'Cod DMC (ex. 310)',error:'Vă rugăm să introduceți doar cifre'},
6809        sv:{placeholder:'DMC-kod (t.ex. 310)',error:'Ange endast siffror'}
6810      };
6811
6812      // Alias -> canonique
6813      const alias = {
6814        'pt':'pt-pt',
6815        'pt-pt':'pt-pt',
6816        'pt-br':'pt-pt', // si jamais
6817        'no':'no', 'nb':'no', 'nb-no':'no', 'nn':'no', 'nn-no':'no',
6818        'sv-se':'sv', 'da-dk':'da', 'de-de':'de', 'en-gb':'en', 'en-us':'en', 'fr-fr':'fr', 'it-it':'it', 'es-es':'es', 'pl-pl':'pl', 'ro-ro':'ro', 'hu-hu':'hu', 'bg-bg':'bg', 'el-gr':'el'
6819      };
6820
6821      const parts = langAttr.split('-');
6822      const primary = parts[0];
6823      const norm =
6824        alias[langAttr] ||
6825        alias[primary] ||
6826        (translations[langAttr] ? langAttr : null) ||
6827        (translations[primary] ? primary : null) ||
6828        'en';
6829
6830      const dict = translations[norm] || {placeholder:'Enter the DMC code (e.g. 310)', error:'Please enter digits only'};
6831
6832      function initPlaceholderWatcher(){
6833        const input = document.querySelector('.ct-search-form input.modal-field');
6834        if (!input) return;
6835
6836        // Applique toujours notre placeholder
6837        input.placeholder = dict.placeholder;
6838
6839        // Forcer clavier numérique
6840        input.setAttribute('inputmode','numeric');
6841        input.setAttribute('pattern','\\d*');
6842        input.setAttribute('type','text'); // évite les bizarreries de type="number"
6843
6844// Zone d’erreur
6845        let errorDiv = document.querySelector('.dmc-error-message');
6846        if (!errorDiv) {
6847          errorDiv = document.createElement('div');
6848          errorDiv.className = 'dmc-error-message';
6849          errorDiv.style.color = 'red';
6850          errorDiv.style.fontSize = '12px';
6851          errorDiv.style.marginTop = '5px';
6852          input.insertAdjacentElement('afterend', errorDiv);
6853        }
6854
6855        // Validation chiffres uniquement et limite à 4 caractères
6856        input.addEventListener('input', function () {
6857          // Supprime tout ce qui n'est pas un chiffre
6858          this.value = this.value.replace(/[^0-9]/g, '');
6859          
6860          // Limite la saisie à 4 chiffres
6861          if (this.value.length > 4) {
6862            this.value = this.value.slice(0, 4);
6863          }
6864
6865          // Affichage du message d'erreur si caractères invalides tentés
6866          if (/[^0-9]/.test(this.value)) {
6867            errorDiv.textContent = dict.error;
6868          } else {
6869            errorDiv.textContent = '';
6870          }
6871        });
6872      }
6873
6874      const observer = new MutationObserver(initPlaceholderWatcher);
6875      observer.observe(document.body, { childList:true, subtree:true });
6876
6877      initPlaceholderWatcher();
6878    });
6879    </script>
6879
6880        
6880<script>
6881    (function() {
6882
6883        // --- 0) NE RIEN FAIRE sur la page diamond painting personnalisé ---
6884        // On détecte la présence du bloc custom JDMC via son wrapper .jdmc-ai-wrapper
6885        // (présent sur toutes les langues, car généré par le MU-plugin frontend)
6886        if (document.querySelector('.jdmc-ai-wrapper')) {
6887            // On sort immédiatement : Xoo garde son comportement normal
6888            // -> pastille cachée à 0, visible à partir de 1 article
6889            return;
6890        }
6891
6892        var JDMC_XOO_BREAKPOINT = 1025; // ≥ 1025px = desktop
6893
6894        function jdmcApplyXooBasketMode() {
6895            var el = document.querySelector('.xoo-wsc-basket');
6896            if (!el) return;
6897
6898            var shouldShow = window.innerWidth >= JDMC_XOO_BREAKPOINT;
6899            var targetDisplay = shouldShow ? 'flex' : 'none';
6900
6901            // On ne touche que si nécessaire
6902            var currentDisplay = el.style.getPropertyValue('display');
6903            if (currentDisplay !== targetDisplay) {
6904                el.style.setProperty('display', targetDisplay, 'important');
6905            }
6906        }
6907
6908        function jdmcInitXooBasketWatcher() {
6909            // 1ère application
6910            jdmcApplyXooBasketMode();
6911
6912            // Re-applique au resize (rotation, redimensionnement)
6913            window.addEventListener('resize', jdmcApplyXooBasketMode);
6914
6915            // Observer spécifique sur la pastille (style / class modifiés par le plugin)
6916            var el = document.querySelector('.xoo-wsc-basket');
6917            if (el) {
6918                var basketObserver = new MutationObserver(function() {
6919                    jdmcApplyXooBasketMode();
6920                });
6921                basketObserver.observe(el, {
6922                    attributes: true,
6923                    attributeFilter: ['style', 'class']
6924                });
6925            }
6926
6927            // Filet de sécurité : toutes les X ms, on reforce au cas où
6928            setInterval(jdmcApplyXooBasketMode, 150);
6929        }
6930
6931        // Observer global pour détecter l'apparition de .xoo-wsc-basket (injection tardive)
6932        document.addEventListener('DOMContentLoaded', function() {
6933            // Si déjà là, on initialise direct
6934            if (document.querySelector('.xoo-wsc-basket')) {
6935                jdmcInitXooBasketWatcher();
6936                return;
6937            }
6938
6939            // Sinon, on surveille le DOM jusqu'à ce qu'elle apparaisse
6940            var docObserver = new MutationObserver(function(mutations, observer) {
6941                if (document.querySelector('.xoo-wsc-basket')) {
6942                    jdmcInitXooBasketWatcher();
6943                    observer.disconnect();
6944                }
6945            });
6946
6947            docObserver.observe(document.documentElement, {
6948                childList: true,
6949                subtree: true
6950            });
6951        });
6952
6953    })();
6954    </script>
6954
6955        
6955<script>
6956    (function($){
6957
6958        function jdmcFixDpVariationImage() {
6959            // Cibler UNIQUEMENT les images de la variation "Image personnalisée"
6960            $('dd.variation-Imagepersonnalise img[src*="-150x150."]').each(function(){
6961                var $img = $(this);
6962
6963                if ($img.is(':hidden')) {
6964                    return;
6965                }
6966
6967                var src    = $img.attr('src') || '';
6968                var newSrc = src.replace(/-150x150(\.(jpe?g|png|gif|webp))/i, '$1');
6969
6970                if (newSrc !== src) {
6971                    $img.attr('src', newSrc);
6972                }
6973
6974                // On enlève width/height figés UNIQUEMENT sur cette image
6975                $img.removeAttr('width').removeAttr('height');
6976            });
6977        }
6978
6979        $(document).ready(function(){
6980
6981            // 1) Correction immédiate au chargement
6982            jdmcFixDpVariationImage();
6983
6984            // 2) Sur les changements de DOM (mini-panier, updates AJAX)
6985            if (window.MutationObserver) {
6986                var observer = new MutationObserver(function(mutations){
6987                    var needFix = false;
6988
6989                    mutations.forEach(function(m){
6990                        if (!m.addedNodes || !m.addedNodes.length) return;
6991
6992                        m.addedNodes.forEach(function(node){
6993                            if (node.nodeType !== 1) return;
6994
6995                            // On ne s’intéresse qu’aux variations "Image personnalisée"
6996                            if (node.tagName === 'IMG') {
6997                                var s = node.getAttribute('src') || '';
6998                                if (
6999                                    s.indexOf('-150x150.') !== -1 &&
7000                                    $(node).closest('dd.variation-Imagepersonnalise').length
7001                                ) {
7002                                    needFix = true;
7003                                }
7004                            } else if (
7005                                node.querySelector &&
7006                                node.querySelector('dd.variation-Imagepersonnalise img[src*="-150x150."]')
7007                            ) {
7008                                needFix = true;
7009                            }
7010                        });
7011                    });
7012
7013                    if (needFix) {
7014                        jdmcFixDpVariationImage();
7015                    }
7016                });
7017
7018                observer.observe(document.body, {
7019                    childList: true,
7020                    subtree: true
7021                });
7022            }
7023        });
7024
7025        // 3) Quand WooCommerce / XOO met à jour des fragments (mini-panier, panier, checkout)
7026        $(document).on(
7027            'xoo_wsc_cart_updated updated_wc_div updated_cart_totals updated_checkout wc_fragments_refreshed wc_fragments_loaded',
7028            function(){
7029                jdmcFixDpVariationImage();
7030            }
7031        );
7032
7033    })(jQuery);
7034    </script>
7034
7035        <style>
7036        /* Masquage de la mini banner */
7037        .jdmc-mini-banner-scope { display:none !important; }
7038    </style>
7039
7040    
7040<script>
7041    document.addEventListener('DOMContentLoaded', function () {
7042
7043        /* --- 1. Mise à jour du dégradé (Violet/Rose) --- */
7044        document.querySelectorAll('.bf-banner').forEach(function (banner) {
7045            banner.style.background = "linear-gradient(90deg, #170048, #170048, #D100B7, #170048)";
7046            banner.style.backgroundSize = "300% 300%";
7047        });
7048
7049        /* --- 2. Remplacement du texte Black Friday --- */
7050        document.querySelectorAll('.bf-banner .bf-label span').forEach(function (span) {
7051            if (!span || !span.textContent) return;
7052
7053            let txt = span.textContent.trim().toLowerCase();
7054            if (txt === 'black friday') {
7055                span.textContent = "";
7056            }
7057        });
7058
7059        /* --- 3. Suppression des emojis --- */
7060        document.querySelectorAll('.bf-banner .bf-label span').forEach(function (span) {
7061            if (!span || !span.textContent) return;
7062
7063            let original = span.textContent.trim();
7064            if (original === "🖤🔥") {
7065                span.textContent = "";
7066            }
7067        });
7068
7069    });
7070    </script>
7070
7071        <div id="mobile-footer-bar">
7072                <a href="/mon-compte/" aria-label="Mon compte"><span>👤</span></a>
7073        
7074
7075<div class="xoo-wsc-sc-cont">
7076	<div class="xoo-wsc-cart-trigger">
7077
7078					<span class="xoo-wsc-sc-subt">
7079				<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>0.00</bdi></span>			</span>
7080		
7081
7082		<div class="xoo-wsc-sc-bkcont">
7083			
7084			
7085									<span class="xoo-wsc-sc-bki xoo-wsc-icon-basket1"></span>
7086				
7087			
7088							<span class="xoo-wsc-sc-count">0</span>
7089			
7090		</div>
7091
7092		
7093	</div>
7094</div>        <a href="#" id="open-mobile-search" aria-label="Rechercher"><span>🔍</span></a>
7095        
7095<script>
7096        document.addEventListener('DOMContentLoaded', function () {
7097            const btn = document.getElementById('open-mobile-search');
7098            if (btn) {
7099                btn.addEventListener('click', function(e){
7100                    e.preventDefault();
7101                    const realSearchButton = document.querySelector('.ct-header-search');
7102                    if (realSearchButton) { realSearchButton.click(); }
7103                });
7104            }
7105        });
7106        </script>
7106
7107    </div>
7108    
7108<script>(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"343223542", enableAutoSpaTracking: true};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script>
7108
7109    <span id="wts1848382"></span>
7110    
7110<script>
7111        window.addEventListener('load', function() {
7112            var wts = document.createElement('script');
7113            wts.async = true;
7114            wts.src = 'https://app.ardalio.com/wts7.js';
7115            document.head.appendChild(wts);
7116            wts.onload = function(){ 
7117                if(typeof wtsl7 === 'function') {
7118                    wtsl7(1848382, 4); 
7119                }
7120            };
7121        });
7122    </script>
7122
7123    <noscript><img src="https://app.ardalio.com/7/4/1848382.png"></noscript>
7124        
7124<script>
7125        document.addEventListener('DOMContentLoaded', function () {
7126            const labels = document.querySelectorAll('.berocket_better_labels_image');
7127
7128            labels.forEach(function (el) {
7129                el.style.display = 'block';
7130                el.style.visibility = 'visible';
7131                el.style.opacity = '1';
7132            });
7133
7134            // On surveille en continu si BeRocket remet display:none
7135            const observer = new MutationObserver(() => {
7136                const currentLabels = document.querySelectorAll('.berocket_better_labels_image');
7137                currentLabels.forEach(function (el) {
7138                    if (el.style.display === "none") {
7139                        el.style.display = "block";
7140                    }
7141                });
7142            });
7143
7144            labels.forEach(el => observer.observe(el, { attributes: true, attributeFilter: ['style'] }));
7145        });
7146    </script>
7146
7147    
7147<script type="application/ld+json">{"@context":"https://schema.org/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"name":"Accueil","@id":"https://diamant-strass-dmc.com/"}},{"@type":"ListItem","position":2,"item":{"name":"Accessoires pour Diamond Painting","@id":"https://diamant-strass-dmc.com/couleur/accessoires/"}},{"@type":"ListItem","position":3,"item":{"name":"Mon diamond painting personnalis\u00e9","@id":"https://diamant-strass-dmc.com/perles-broderie/custom-diamond-painting-personnalise-photo/"}}]}</script>
7147    
7147<script type="text/javascript">
7148    document.addEventListener('DOMContentLoaded', function() {
7149        var targets = document.querySelectorAll('.product-description, .product_title, .variations, .woo-selected-variation-item-name, .variable-item-span');
7150        if (targets.length === 0) return;
7151
7152        var currentLang = "fr";
7153
7154        function appliquerCorrectionsMulti() {
7155            var dynamicTargets = document.querySelectorAll('.product-description, .product_title, .variations, .woo-selected-variation-item-name, .variable-item-span');
7156            
7157            dynamicTargets.forEach(function(targetNode) {
7158                if (targetNode.childNodes.length > 0 && targetNode.classList.contains('variations')) {
7159                    return;
7160                }
7161
7162                var html = targetNode.innerHTML;
7163                if (window.dsObserver) window.dsObserver.disconnect();
7164
7165                // Nettoyage palette global
7166                html = html.replace(/🎨(?:.*?)(?:<br\s*\/?>|\r?\n|$)/gu, '');
7167
7168                // Corrections JS pour le français
7169                if (currentLang === 'fr') {
7170                    if (!html.match(/n°\s*[0-9a-zA-Z]+\s*\(perles de couleur\s*"[^"]+"\)/iu)) {
7171                        var numMatch = html.match(/n°\s*([0-9a-zA-Z]+)/iu);
7172                        var couleurMatch = html.match(/n°\s*([0-9a-zA-Z]+)\s*\(?([^\d<()"]+)/iu);
7173                        
7174                        if (numMatch && couleurMatch) {
7175                            var num = numMatch[1];
7176                            var couleur = couleurMatch[2].replace(/[()]/g, '').trim();
7177                            couleur = couleur.trim().replace(/(?<=[a-zà-öø-ÿ])(?=[A-ZÀ-ÖØ-ß])/g, ' ');
7178                            
7179                            if (couleur === '' || couleur.toLowerCase() === 'carre' || couleur.toLowerCase() === 'rond' || couleur.toLowerCase() === 'carre_x' || couleur.toLowerCase() === 'rond_x' || couleur.match(/^\d+$/)) {
7180                                html = 'n° ' + num;
7181                            } else {
7182                                html = 'n° ' + num + ' (perles de couleur "' + couleur + '")';
7183                            }
7184                        }
7185                    } else {
7186                        html = html.replace(/(perles de couleur\s*")([^"]+)(")/iu, function(m, p1, p2, p3) {
7187                            var couleurNettoye = p2.replace(/[()]/g, '').trim();
7188                            return p1 + couleurNettoye + p3;
7189                        });
7190                        html = html.replace(/(n°\s*[0-9a-zA-Z]+\s*\(perles de couleur\s*"[^"]+"\)).*/iu, '$1');
7191                    }
7192                    html = html.replace(/\"\)\)\s*$/gi, '")');
7193                }
7194                else if (currentLang === 'en') {
7195                    html = html.replace(/Drills\s+DMC\s+n°(?:\s|&nbsp;)*(\d+)/gi, 'DMC drills no. $1');
7196                    html = html.replace(/(?:n°|nr\.?|no\.?)\s*(\d+)/gi, 'no. $1');
7197                }
7198                else if (currentLang === 'da') {
7199                    html = html.replace(/(?:Diamanter|Drills)\s+DMC\s+(?:n°|no\.?|nr\.?)(\s|&nbsp;)*(\d+)/gi, 'DMC perler (diamanter) nr. $1');
7200                    html = html.replace(/DMC\s+(?:Diamanter|Drills|Perler)\s+(?:n°|no\.?|nr\.?)(\s|&nbsp;)*(\d+)/gi, 'DMC perler (diamanter) nr. $1');
7201                    html = html.replace(/(?:n°|no\.?|nr\.?)\s*(\d+)/gi, 'nr. $1');
7202                }
7203                else if (currentLang === 'sv') {
7204                    html = html.replace(/(?:Diamanter|Drills)\s+DMC\s+(?:n°|no\.?|nr\.?|no-)?(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamanter (pärlor) nr. $1');
7205                    html = html.replace(/DMC\s+(?:Diamanter|Drills)\s+(?:n°|no\.?|nr\.?|no-)?(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamanter (pärlor) nr. $1');
7206                    html = html.replace(/(?:n°|no\.?|nr\.?|no-)\s*(\d+)/gi, 'nr. $1');
7207                    html = html.replace(/Form\s+av\s+diamanter/gi, 'Diamantform');
7208
7209                    var texteNettoye = targetNode.textContent.trim();
7210                    if (texteNettoye === 'Square' || texteNettoye === ': Square' || texteNettoye === 'Fyrkant' || texteNettoye === ': Fyrkant' || texteNettoye === 'Fyrkantig' || texteNettoye === ': Fyrkantig') {
7211                        html = html.replace(/Square|Fyrkant(?:ig)?/gi, 'Fyrkantiga');
7212                    }
7213                    if (texteNettoye === 'Runda' || texteNettoye === ': Runda' || texteNettoye === 'Round' || texteNettoye === ': Round') {
7214                        html = html.replace(/Round|Runda/gi, 'Runda');
7215                    }
7216                }
7217                else if (currentLang === 'no') {
7218                    html = html.replace(/(?:Diamanter|Drills)\s+DMC\s+(?:n°|no\.?|nr\.?|no-)?(?:\s|&nbsp;
7218)*(\d+)/gi, 'DMC diamanter (perler) nr. $1');
7219                    html = html.replace(/DMC\s+(?:Diamanter|Drills)\s+(?:n°|no\.?|nr\.?|no-)?(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamanter (perler) nr. $1');
7220                    html = html.replace(/(?:n°|no\.?|nr\.?|no-)\s*(\d+)/gi, 'nr. $1');
7221                    html = html.replace(/Form\s+av\s+diamanter/gi, 'Diamantform');
7222
7223                    var texteNettoye = targetNode.textContent.trim();
7224                    if (texteNettoye === 'Square' || texteNettoye === ': Square' || texteNettoye === 'Firkantet' || texteNettoye === ': Firkantet') {
7225                        html = html.replace(/Square|Firkantet/gi, 'Firkantede');
7226                    }
7227                    if (texteNettoye === 'Runde' || texteNettoye === ': Runde' || texteNettoye === 'Round' || texteNettoye === ': Round') {
7228                        html = html.replace(/Round|Runde/gi, 'Runde');
7229                    }
7230                }
7231                else if (currentLang === 'es') {
7232                    html = html.replace(/Diamantes\s+DMC\s+n°(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamantes (cuentas) n° $1');
7233                    html = html.replace(/DMC\s+Diamantes\s+n°(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamantes (cuentas) n° $1');
7234                }
7235                else if (currentLang === 'pt' || currentLang === 'pt-pt') {
7236                    html = html.replace(/Diamantes\s+DMC\s+n°(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamantes (contas) n° $1');
7237                    html = html.replace(/DMC\s+Diamantes\s+n°(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamantes (contas) n° $1');
7238                }
7239                else if (currentLang === 'it') {
7240                    html = html.replace(/Diamanti\s+DMC\s+n°(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamantini (perline) n° $1');
7241                    html = html.replace(/DMC\s+Diamanti\s+n°(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamantini (perline) n° $1');
7242                }
7243                else if (currentLang === 'de') {
7244                    html = html.replace(/(?:Steine|Diamanten)\s+DMC\s+(?:n°|no\.?|nr\.?|no-)?(?:\s|&nbsp;)*(\d+)/gi, 'DMC Steine (Perlen) Nr. $1');
7245                    html = html.replace(/DMC\s+(?:Steine|Diamanten)\s+(?:n°|no\.?|nr\.?|no-)?(?:\s|&nbsp;)*(\d+)/gi, 'DMC Steine (Perlen) Nr. $1');
7246                    html = html.replace(/(?:n°|no\.?|nr\.?|no-)\s*(\d+)/gi, 'Nr. $1');
7247                    html = html.replace(/Form\s+der\s+Steine/gi, 'Steinform');
7248                }
7249                else if (currentLang === 'ro') {
7250                    html = html.replace(/(?:Diamante|Diamonds)\s+DMC\s+(?:n°|no\.?|nr\.?|no-)?(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamante (mărgelele) nr. $1');
7251                    html = html.replace(/DMC\s+(?:Diamante|Diamonds)\s+(?:n°|no\.?|nr\.?|no-)?(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamante (mărgelele) nr. $1');
7252                    html = html.replace(/(?:n°|no\.?|nr\.?|no-)\s*(\d+)/gi, 'nr. $1');
7253                }
7254                else if (currentLang === 'el') {
7255                    html = html.replace(/(?:Διαμάντια|Drills)\s+DMC\s+(?:n°|no\.?|nr\.?|αρ\.?)(?:\s|&nbsp;)*(\d+)/gi, 'DMC διαμάντια (χάντρες) αρ. $1');
7256                    html = html.replace(/DMC\s+(?:Διαμάντια|Drills)\s+(?:n°|no\.?|nr\.?|αρ\.?)(?:\s|&nbsp;)*(\d+)/gi, 'DMC διαμάντια (χάντρες) αρ. $1');
7257                    html = html.replace(/(?:n°|no\.?|nr\.?|αρ\.?)\s*(\d+)/gi, 'αρ. $1');
7258                    html = html.replace(/Σχήμα\s+διαμαντιών/gi, 'Σχήμα διαμαντιών');
7259
7260                    var texteNettoye = targetNode.textContent.trim();
7261                    if (texteNettoye === 'Square' || texteNettoye === ': Square' || texteNettoye === 'Πλατεία' || texteNettoye === 'Τετράγωνα') {
7262                        html = html.replace(/Square|Πλατεία|Τετράγωνα/gi, 'Τετράγωνα');
7263                    }
7264                    if (texteNettoye === 'Στρογγυλή' || texteNettoye === ': Στρογγυλή' || texteNettoye === 'Στρογγυλά' || texteNettoye === 'Round') {
7265                        html = html.replace(/Round|Στρογγυλή|Στρογγυλά/gi, 'Στρογγυλά');
7266                    }
7267                }
7268                else if (currentLang === 'pl') {
7269                    html = html.replace(/Diamenty\s+DMC\s+nr(?:\s|&nbsp;
7269)*(\d+)/gi, 'DMC diamenty (koraliki) nr $1');
7270                    html = html.replace(/DMC\s+Diamenty\s+nr(?:\s|&nbsp;)*(\d+)/gi, 'DMC diamenty (koraliki) nr $1');
7271                    html = html.replace(/(?:n°|no\.?|nr\.?)\s*(\d+)/gi, 'nr $1');
7272                }
7273                else if (currentLang === 'nl') {
7274                    html = html.replace(/Steentjes\s+DMC\s+nr\.(?:\s|&nbsp;)*(\d+)/gi, 'DMC steentjes (diamantjes) nr. $1');
7275                    html = html.replace(/DMC\s+Steentjes\s+nr\.(?:\s|&nbsp;)*(\d+)/gi, 'DMC steentjes (diamantjes) nr. $1');
7276                    html = html.replace(/(?:n°|no\.?|nr\.?)\s*(\d+)/gi, 'nr. $1');
7277                }
7278                else if (currentLang === 'bg') {
7279                    html = html.replace(/(?:Диаманти|Drills)\s+DMC\s+(?:n°|no\.?|nr\.?|№)(?:\s|&nbsp;)*(\d+)/gi, 'DMC диаманти (мъниста) № $1');
7280                    html = html.replace(/DMC\s+(?:Диаманти|Drills)\s+(?:n°|no\.?|nr\.?|№)(?:\s|&nbsp;)*(\d+)/gi, 'DMC диаманти (мъниста) № $1');
7281                    html = html.replace(/(?:n°|no\.?|nr\.?|№)\s*(\d+)/gi, '№ $1');
7282                    html = html.replace(/Форма\s+на\s+диамантите/gi, 'Форма на диамантите');
7283
7284                    var texteNettoye = targetNode.textContent.trim();
7285                    if (texteNettoye === 'Square' || texteNettoye === ': Square' || texteNettoye === 'Площад' || texteNettoye === 'Квадратни') {
7286                        html = html.replace(/Square|Площад|Квадратни/gi, 'Квадратни');
7287                    }
7288                    if (texteNettoye === 'Kръг' || texteNettoye === ': Кръг' || texteNettoye === 'Кръгли' || texteNettoye === 'Round') {
7289                        html = html.replace(/Round|Kръг|Кръгли/gi, 'Кръгли');
7290                    }
7291                }
7292                else if (currentLang === 'hu') {
7293                    html = html.replace(/(?:Gyémánt|Gyémántok|Drills)\s+DMC\s+(?:n°|no\.?|nr\.?|sz\.?)(?:\s|&nbsp;)*(\d+)/gi, 'DMC gyémántok (kövek) sz. $1');
7294                    html = html.replace(/DMC\s+(?:Gyémánt|Gyémántok|Drills)\s+(?:n°|no\.?|nr\.?|sz\.?)(?:\s|&nbsp;)*(\d+)/gi, 'DMC gyémántok (kövek) sz. $1');
7295                    html = html.replace(/(?:n°|no\.?|nr\.?|sz\.?)\s*(\d+)/gi, 'sz. $1');
7296                    html = html.replace(/A\s+gyémántok\s+alakja/gi, 'Gyémánt alakja');
7297
7298                    var texteNettoye = targetNode.textContent.trim();
7299                    if (texteNettoye === 'Square' || texteNettoye === ': Square' || texteNettoye === 'Négyzet' || texteNettoye === ': Négyzet') {
7300                        html = html.replace(/Square|Négyzet/gi, 'Négyzet alakú');
7301                    }
7302                    if (texteNettoye === 'Kerek' || texteNettoye === ': Kerek' || texteNettoye === 'Round' || texteNettoye === ': Round') {
7303                        html = html.replace(/Round|Kerek/gi, 'Kerek');
7304                    }
7305                }
7306
7307                if (targetNode.innerHTML !== html) {
7308                    targetNode.innerHTML = html;
7309                }
7310            });
7311
7312            var variationsForm = document.querySelector('.variations');
7313            if (variationsForm) {
7314                window.dsObserver.observe(variationsForm, { childList: true, subtree: true, characterData: true });
7315            }
7316            var descNode = document.querySelector('.product-description');
7317            if (descNode) {
7318                window.dsObserver.observe(descNode, { childList: true, subtree: true, characterData: true });
7319            }
7320        }
7321
7322        window.dsObserver = new MutationObserver(function(mutations) {
7323            appliquerCorrectionsMulti();
7324        });
7325
7326        appliquerCorrectionsMulti();
7327    });
7328    </script>
7328
7329        
7329<script type="text/javascript">
7330    document.addEventListener('DOMContentLoaded', function() {
7331        var targetNode = document.querySelector('.product-description, .woocommerce-product-details__short-description');
7332        if (!targetNode) return;
7333
7334        var currentLang = "fr";
7335        var observer;
7336        
7337        function corrigerDescription() {
7338            var html = targetNode.innerHTML;
7339            var needsModification = html.includes('🎨') || html.includes('Kleur:');
7340            
7341            if (currentLang === 'nl' && !needsModification) {
7342                if (/Hoge(\s|<[^>]+>|&nbsp;)+kwaliteit/giu.test(html) || 
7343                    /(Kleur|Color)(\s|<[^>]+>|&nbsp;)+(familie|family)/giu.test(html) || 
7344                    /Standaardmaat/giu.test(html)) {
7345                    needsModification = true;
7346                }
7347            }
7348
7349            if (needsModification) {
7350                if (observer) observer.disconnect();
7351
7352                // 1. Nettoyage Palette (Uniquement dans la description)
7353                html = html.replace(/🎨(?:.*?)(?:<br\s*\/?>|\r?\n|$)/gu, '');
7354
7355                // 2. Nettoyage ligne couleur "Kleur:" spécifique (Uniquement dans la description)
7356                html = html.replace(/Kleur:\s*[^<]*<br\s*\/?>/giu, '');
7357
7358                // 3. Emojis et termes NL
7359                if (currentLang === 'nl') {
7360                    html = html.replace(/Hoge(\s|<[^>]+>|&nbsp;)+kwaliteit/giu, '⭐ Hoge kwaliteit');
7361                    html = html.replace(/(Kleur|Color)(\s|<[^>]+>|&nbsp;)+(familie|family)/giu, '🌈 Kleur Familie');
7362                    html = html.replace(/Standaardmaat/giu, '✅ Standaardmaat');
7363                }
7364
7365                targetNode.innerHTML = html;
7366
7367                if (observer) observer.observe(targetNode, { childList: true, subtree: true, characterData: true });
7368            }
7369        }
7370
7371        observer = new MutationObserver(corrigerDescription);
7372        observer.observe(targetNode, { childList: true, subtree: true, characterData: true });
7373        corrigerDescription();
7374    });
7375    </script>
7375
7376    	
7376<script>
7377		(function () {
7378			var c = document.body.className;
7379			c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
7380			document.body.className = c;
7381		})();
7382	</script>
7382
7383	
7383<script type="text/template" id="tmpl-variation-template">
7384	<div class="woocommerce-variation-description">{{{ data.variation.variation_description }}}</div>
7385	<div class="woocommerce-variation-price">{{{ data.variation.price_html }}}</div>
7386	<div class="woocommerce-variation-availability">{{{ data.variation.availability_html }}}</div>
7387</script>
vendor: 1 bytes, line 7387
7387
7388<script type="text/template" id="tmpl-unavailable-variation-template">
7389	<p role="alert">Désolé, ce produit n’est pas disponible. Veuillez choisir une combinaison différente.</p>
7390</script>
vendor: 1 bytes, line 7390
7390
7391<script id="wc-aelia-foundation-classes-frontend-js" src="https://diamant-strass-dmc.com/wp-content/plugins/wc-aelia-foundation-classes/src/js/frontend/frontend.js"></script>
vendor: 1 bytes, line 7391
7391
7392<script id="wc-aelia-currency-switcher-js-extra">
7393var wc_aelia_currency_switcher_params = {"current_exchange_rate_from_base":"1.1257","selected_currency":"USD"};
7394//# sourceURL=wc-aelia-currency-switcher-js-extra
7395</script>
vendor: 1 bytes, line 7395
7395
7396<script id="wc-aelia-currency-switcher-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce-aelia-currencyswitcher/src/js/frontend/common/build/index.js?ver=5.3.9.260811"></script>
vendor: 1 bytes, line 7396
7396
7397<script id="woocommerce-cache-handler-frontend-js-extra">
7398var woocommerce_cache_handler_params = {"ajax_action":"woocommerce_cache_handler_ajax","ajax_url":"/wp-admin/admin-ajax.php","home_url":"https://diamant-strass-dmc.com","wp_nonce":"1bccdc73e0","currencies":{"ARS":{"symbol":"AR$"},"AUD":{"symbol":"AU$"},"BGN":{"symbol":"\u043b\u0432."},"BOB":{"symbol":"Bs."},"BRL":{"symbol":"R$"},"CAD":{"symbol":"CA$"},"CHF":{"symbol":"CHF"},"CLP":{"symbol":"CL$"},"COP":{"symbol":"COL$"},"CRC":{"symbol":"\u20a1"},"CUP":{"symbol":"CUP$"},"CZK":{"symbol":"K\u010d"},"DKK":{"symbol":"kr."},"EGP":{"symbol":"\u062c.\u0645"},"EUR":{"symbol":"\u20ac"},"GBP":{"symbol":"\u00a3"},"GYD":{"symbol":"G$"},"HUF":{"symbol":"Ft"},"IMP":{"symbol":"\u00a3"},"MDL":{"symbol":"lei"},"MXN":{"symbol":"MX$"},"NOK":{"symbol":"kr"},"NZD":{"symbol":"NZ$"},"PEN":{"symbol":"S/"},"PHP":{"symbol":"\u20b1"},"PLN":{"symbol":"z\u0142"},"PYG":{"symbol":"\u20b2"},"RON":{"symbol":"lei"},"SEK":{"symbol":"kr"},"SRD":{"symbol":"SR$"},"USD":{"symbol":"$"},"UYU":{"symbol":"UY$"},"XAF":{"symbol":"F CFA"},"XOF":{"symbol":"F CFA"},"XPF":{"symbol":"XPF"},"BYN":{"symbol":"\u0440\u0443\u0431."},"VES":{"symbol":"Bs."}}};
7399//# sourceURL=woocommerce-cache-handler-frontend-js-extra
7400</script>
vendor: 1 bytes, line 7400
7400
7401<script id="woocommerce-cache-handler-frontend-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce-cache-handler/src/js/frontend/frontend.js"></script>
vendor: 1 bytes, line 7401
7401
7402<script id="woocommerce-cache-handler-frontend-ajax-loader-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce-cache-handler/src/js/frontend/frontend-ajax-loader.js"></script>
vendor: 1 bytes, line 7402
7402
7403<script id="underscore-js" src="https://diamant-strass-dmc.com/wp-includes/js/underscore.min.js?ver=1.13.8"></script>
vendor: 1 bytes, line 7403
7403
7404<script id="wp-util-js-extra">
7405var _wpUtilSettings = {"ajax":{"url":"/wp-admin/admin-ajax.php"}};
7406//# sourceURL=wp-util-js-extra
7407</script>
vendor: 1 bytes, line 7407
7407
7408<script id="wp-util-js" src="https://diamant-strass-dmc.com/wp-includes/js/wp-util.min.js?ver=7.0.4"></script>
vendor: 1 bytes, line 7408
7408
7409<script id="wp-api-request-js-extra">
7410var wpApiSettings = {"root":"https://diamant-strass-dmc.com/wp-json/","nonce":"5dfa70ec7e","versionString":"wp/v2/"};
7411//# sourceURL=wp-api-request-js-extra
7412</script>
vendor: 1 bytes, line 7412
7412
7413<script id="wp-api-request-js" src="https://diamant-strass-dmc.com/wp-includes/js/api-request.min.js?ver=7.0.4"></script>
vendor: 1 bytes, line 7413
7413
7414<script id="wp-hooks-js" src="https://diamant-strass-dmc.com/wp-includes/js/dist/hooks.min.js?ver=7496969728ca0f95732d"></script>
vendor: 1 bytes, line 7414
7414
7415<script id="wp-i18n-js" src="https://diamant-strass-dmc.com/wp-includes/js/dist/i18n.min.js?ver=781d11515ad3d91786ec"></script>
vendor: 1 bytes, line 7415
7415
7416<script id="wp-i18n-js-after">
7417wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
7418//# sourceURL=wp-i18n-js-after
7419</script>
vendor: 1 bytes, line 7419
7419
7420<script id="wp-url-js" src="https://diamant-strass-dmc.com/wp-includes/js/dist/url.min.js?ver=bb0f766c3d2efe497871"></script>
vendor: 1 bytes, line 7420
7420
7421<script id="wp-api-fetch-js-translations">
7422( function( domain, translations ) {
7423	var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
7424	localeData[""].domain = domain;
7425	wp.i18n.setLocaleData( localeData, domain );
7426} )( "default", {"translation-revision-date":"2026-08-07 02:36:21+0000","generator":"WPML String Translation 3.3.2","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"fr_FR"},"You are probably offline.":["Vous \u00eates probablement hors ligne."],"Media upload failed. If this is a photo or a large image, please scale it down and try again.":["Le t\u00e9l\u00e9versement du m\u00e9dia a \u00e9chou\u00e9. S\u2019il s\u2019agit d\u2019une photo ou d\u2019une grande image, veuillez la redimensionner puis r\u00e9essayer."],"The response is not a valid JSON response.":["La r\u00e9ponse n\u2019est pas une r\u00e9ponse JSON valide."],"An unknown error occurred.":["Une erreur inconnue s\u2019est produite."],"Could not get a valid response from the server.":["Impossible d\u2019obtenir du serveur une r\u00e9ponse valide."],"Unable to connect. Please check your Internet connection.":["Impossible de se connecter. Veuillez v\u00e9rifier votre connexion Internet."]}}} );
7427//# sourceURL=wp-api-fetch-js-translations
7428</script>
vendor: 1 bytes, line 7428
7428
7429<script id="wp-api-fetch-js" src="https://diamant-strass-dmc.com/wp-includes/js/dist/api-fetch.min.js?ver=d7efe4dc1468d36c39b8"></script>
vendor: 1 bytes, line 7429
7429
7430<script id="wp-api-fetch-js-after">
7431wp.apiFetch.use( wp.apiFetch.createRootURLMiddleware( "https://diamant-strass-dmc.com/wp-json/" ) );
7432wp.apiFetch.nonceMiddleware = wp.apiFetch.createNonceMiddleware( "5dfa70ec7e" );
7433wp.apiFetch.use( wp.apiFetch.nonceMiddleware );
7434wp.apiFetch.use( wp.apiFetch.mediaUploadMiddleware );
7435wp.apiFetch.nonceEndpoint = "https://diamant-strass-dmc.com/wp-admin/admin-ajax.php?action=rest-nonce";
7436//# sourceURL=wp-api-fetch-js-after
7437</script>
vendor: 1 bytes, line 7437
7437
7438<script id="wp-polyfill-js" src="https://diamant-strass-dmc.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0"></script>
vendor: 1 bytes, line 7438
7438
7439<script id="woo-variation-swatches-js-extra">
7440var woo_variation_swatches_options = {"show_variation_label":"1","clear_on_reselect":"","variation_label_separator":":","is_mobile":"","show_variation_stock":"","stock_label_threshold":"5","cart_redirect_after_add":"no","enable_ajax_add_to_cart":"no","cart_url":"https://diamant-strass-dmc.com/panier/","is_cart":""};
7441//# sourceURL=woo-variation-swatches-js-extra
7442</script>
vendor: 1 bytes, line 7442
7442
7443<script id="woo-variation-swatches-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woo-variation-swatches/assets/js/frontend.min.js?ver=2.3.0"></script>
vendor: 1 bytes, line 7443
7443
7444<script id="ct-scripts-js-extra">
7445var ct_localizations = {"ajax_url":"https://diamant-strass-dmc.com/wp-admin/admin-ajax.php","public_url":"https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/","rest_url":"https://diamant-strass-dmc.com/wp-json/","search_url":"https://diamant-strass-dmc.com/search/QUERY_STRING/","show_more_text":"Afficher plus","more_text":"Plus","search_live_results":"R\u00e9sultats de recherche","search_live_no_results":"Aucun r\u00e9sultat","search_live_no_result":"Aucun r\u00e9sultat","search_live_one_result":"Vous avez %s r\u00e9sultat. Veuillez appuyer sur Tab pour le s\u00e9lectionner.","search_live_many_results":"Vous avez %s r\u00e9sultats. Veuillez appuyer sur Tab pour en s\u00e9lectionner un.","search_live_stock_status_texts":{"instock":"En stock","outofstock":"En rupture de stock"},"clipboard_copied":"Copi\u00e9\u00a0!","clipboard_failed":"\u00c9chec de la copie","expand_submenu":"D\u00e9plier le menu d\u00e9roulant","collapse_submenu":"Replier le menu d\u00e9roulant","dynamic_js_chunks":[],"dynamic_styles":{"lazy_load":"https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/non-critical-styles.min.css?ver=2.1.40","search_lazy":"https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/non-critical-search-styles.min.css?ver=2.1.40","back_to_top":"https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/back-to-top.min.css?ver=2.1.40"},"dynamic_styles_selectors":[{"selector":".ct-header-cart, #woo-cart-panel","url":"https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/cart-header-element-lazy.min.css?ver=2.1.40"},{"selector":".flexy","url":"https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/flexy.min.css?ver=2.1.40"},{"selector":".ct-pagination","url":"https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/pagination.min.css?ver=2.1.40"}],"lang":"fr"};
7446//# sourceURL=ct-scripts-js-extra
7447</script>
vendor: 1 bytes, line 7447
7447
7448<script id="ct-scripts-js" src="https://diamant-strass-dmc.com/wp-content/themes/blocksy/static/bundle/main.js?ver=2.1.40"></script>
vendor: 1 bytes, line 7448
7448
7449<script id="cart-widget-js-extra">
7450var actions = {"current_language":"fr","force_reset":"0"};
7451//# sourceURL=cart-widget-js-extra
7452</script>
vendor: 1 bytes, line 7452
7452
7453<script data-wp-strategy="defer" defer id="cart-widget-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce-multilingual/res/js/cart_widget.min.js?ver=5.5.7"></script>
vendor: 1 bytes, line 7453
7453
7454<script id="xoo-wsc-main-js-js-extra">
7455var xoo_wsc_params = {"adminurl":"https://diamant-strass-dmc.com/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","qtyUpdateDelay":"500","notificationTime":"5000","html":{"successNotice":"\u003Cul class=\"xoo-wsc-notices\"\u003E\u003Cli class=\"xoo-wsc-notice-success\"\u003E\u003Cspan class=\"xoo-wsc-icon-check_circle\"\u003E\u003C/span\u003E%s%\u003C/li\u003E\u003C/ul\u003E","errorNotice":"\u003Cul class=\"xoo-wsc-notices\"\u003E\u003Cli class=\"xoo-wsc-notice-error\"\u003E\u003Cspan class=\"xoo-wsc-icon-cross\"\u003E\u003C/span\u003E%s%\u003C/li\u003E\u003C/ul\u003E"},"strings":{"maxQtyError":"Only %s% in stock","stepQtyError":"Quantity can only be purchased in multiple of %s%","calculateCheckout":"Please use checkout form to calculate shipping","couponEmpty":"Please enter promo code"},"nonces":{"update_shipping_method_nonce":"9b1c2cc6d6"},"isCheckout":"","isCart":"","sliderAutoClose":"1","shippingEnabled":"1","couponsEnabled":"","autoOpenCart":"yes","addedToCart":"","ajaxAddToCart":"yes","skipAjaxForData":[],"showBasket":"hide_empty","flyToCart":"no","flyToCartTime":"1500","productFlyClass":"","refreshCart":"no","fetchDelay":"200","triggerClass":"","drawerWait":"500","spSlide":{"enable":"yes","auto":true,"pause":"5000","item":1,"speed":1400,"loop":true,"pauseOnHover":true},"cardAnimate":{"enable":"yes","type":"slideUp","event":"back_hover","duration":"0.5"},"bar":{"singleCelebration":"RealisticLook","fullCelebration":"SchoolPride"},"productLayout":"rows","saveForLaterNeedsLogin":"","fetchCart":"cart_open","menuCartHideOnEmpty":[""],"shortcodeEls":{"subtotal":".xoo-wsc-sc-subt","count":".xoo-wsc-sc-count","icon":".xoo-wsc-sc-bki"}};
7456//# sourceURL=xoo-wsc-main-js-js-extra
7457</script>
vendor: 1 bytes, line 7457
7457
7458<script data-wp-strategy="defer" defer id="xoo-wsc-main-js-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce-side-cart-premium/assets/js/xoo-wsc-main.js?ver=4.9.1"></script>
vendor: 1 bytes, line 7458
7458
7459<script id="wc-add-to-cart-variation-js-extra">
7460var wc_add_to_cart_variation_params = {"wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_no_matching_variations_text":"D\u00e9sol\u00e9, aucun produit ne r\u00e9pond \u00e0 vos crit\u00e8res. Veuillez choisir une combinaison diff\u00e9rente.","i18n_make_a_selection_text":"Veuillez s\u00e9lectionner des options du produit avant de l\u2019ajouter \u00e0 votre panier.","i18n_unavailable_text":"D\u00e9sol\u00e9, ce produit n\u2019est pas disponible. Veuillez choisir une combinaison diff\u00e9rente.","i18n_reset_alert_text":"Votre s\u00e9lection a \u00e9t\u00e9 r\u00e9initialis\u00e9e. Veuillez s\u00e9lectionner des options du produit avant de l\u2019ajouter \u00e0 votre panier.","woo_variation_swatches_ajax_variation_threshold_min":"0","woo_variation_swatches_ajax_variation_threshold_max":"100","woo_variation_swatches_total_children":"46"};
7461//# sourceURL=wc-add-to-cart-variation-js-extra
7462</script>
vendor: 1 bytes, line 7462
7462
7463<script data-wp-strategy="defer" defer id="wc-add-to-cart-variation-js" src="https://diamant-strass-dmc.com/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart-variation.min.js?ver=11.0.1"></script>
7463
7464    <!-- Meta Pixel Code (JDMC MU-plugin) -->
7465    
7465<script>
vendor: 450 bytes, lines 7465-7475
7465
7466    !function(f,b,e,v,n,t,s)
7467    {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
7468    n.callMethod.apply(n,arguments):n.queue.push(arguments)};
7469    if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
7470    n.queue=[];t=b.createElement(e);t.async=!0;
7471    t.src=v;s=b.getElementsByTagName(e)[0];
7472    s.parentNode.insertBefore(t,s)}(window, document,'script',
7473    'https://connect.facebook.net/en_US/fbevents.js');
7474
7475        fbq('init', '
74751893316194727350
vendor: 33 bytes, lines 7475-7477
7475', {"country":"FR"});
7476    
7477    
7477if (typeof fbq === 'function') {
7478        fbq('track', 'PageView');
7479    }
7480    </script>
7480
7481    <noscript>
7482        <img height="1" width="1" style="display:none"
7483             src="https://www.facebook.com/tr?id=1893316194727350&ev=PageView&noscript=1"
7484             alt="" />
7485    </noscript>
7486    <!-- End Meta Pixel Code -->
7487        
7487<script>
7488    (function($){
7489        $(function(){
7490            var $wrapper = $('.jdmc-ai-wrapper');
7491            if (!$wrapper.length) return;
7492
7493            var ajaxUrl = "https:\/\/diamant-strass-dmc.com\/wp-admin\/admin-ajax.php";
7494
7495            /**
7496             * Trouve le select "Dimensions de la toile" ACTIF pour le contexte donné.
7497             * - context = "direct"  => .jdmc-ai-size-zones-direct .jdmc-ai-taille-select-direct
7498             * - context = "ia"      => .jdmc-ai-size-zones-ia .jdmc-ai-taille-select-ia
7499             *
7500             * On essaie d'abord celui dont l’option sélectionnée contient "cm" (vraie dimension),
7501             * sinon on prend le premier du groupe.
7502             */
7503            function jdmcDpFindActiveSizeSelect(context) {
7504                var selector = (context === 'direct')
7505                    ? '.jdmc-ai-size-zones-direct .jdmc-ai-taille-select-direct'
7506                    : '.jdmc-ai-size-zones-ia .jdmc-ai-taille-select-ia';
7507
7508                var $all = $wrapper.find(selector);
7509                if (!$all.length) return $();
7510
7511                var $chosen = $();
7512
7513                $all.each(function(){
7514                    var $s   = $(this);
7515                    var txt  = $s.find('option:selected').text() || '';
7516                    var norm = txt.toLowerCase();
7517                    if (norm.indexOf('cm') !== -1) {
7518                        $chosen = $s;
7519                        return false; // break
7520                    }
7521                });
7522
7523                if ($chosen.length) {
7524                    return $chosen;
7525                }
7526
7527                return $all.first();
7528            }
7529
7530            /**
7531             * Largeur en cm utilisée pour le preview.
7532             * Priorité au champ "Dimensions de la toile" actif.
7533             */
7534            function jdmcDpGetWidthCm(context) {
7535                var widthCm = 30;
7536                var $sel    = jdmcDpFindActiveSizeSelect(context);
7537
7538                if ($sel && $sel.length) {
7539                    var txt = $sel.find('option:selected').text() || $sel.val() || '';
7540                    txt = String(txt).replace(',', '.');
7541                    var m = txt.match(/(\d+(?:\.\d+)?)/);
7542                    if (m) {
7543                        var v = parseFloat(m[1]);
7544                        if (!isNaN(v) && v > 0) {
7545                            return v;
7546                        }
7547                    }
7548                }
7549
7550                // Fallback : n'importe quel select visible du formulaire avec "cm"
7551                $wrapper.closest('form').find('select:visible option:selected').each(function(){
7552                    var txt = $(this).text() || '';
7553                    if (txt.toLowerCase().indexOf('cm') === -1) return;
7554
7555                    txt = String(txt).replace(',', '.');
7556                    var m = txt.match(/(\d+(?:\.\d+)?)/);
7557                    if (m) {
7558                        var v = parseFloat(m[1]);
7559                        if (!isNaN(v) && v > 0) {
7560                            widthCm = v;
7561                            return false; // break
7562                        }
7563                    }
7564                });
7565
7566                return widthCm;
7567            }
7568
7569            /**
7570             * Label de dimensions (ex : "30 x 40 cm").
7571             */
7572            function jdmcDpGetDimLabel(context) {
7573                var $sel = jdmcDpFindActiveSizeSelect(context);
7574                if ($sel && $sel.length) {
7575                    var txt = $sel.find('option:selected').text() || $sel.val() || '';
7576                    txt = $.trim(String(txt));
7577                    if (txt.length) return txt;
7578                }
7579                return '';
7580            }
7581
7582            /**
7583             * Clone interactif du champ "Dimensions de la toile" dans la zone de preview.
7584             *
7585             * - Clone le champ du groupe actif (Carré / Portrait / Paysage) pour ce contexte.
7586             * - On enlève name / id / data-attribute_* pour ne pas perturber WooCommerce.
7587             * - Changer le clone => met à jour l’original + déclenche .trigger('change').
7588             * - Changer l’original => répercute la valeur dans le clone.
7589             */
7590            function jdmcDpSyncSizeSelect(context, $box) {
7591                if (!$box || !$box.length) return;
7592
7593                var $container = $box.find('.jdmc-dp-size-select');
7594                if (!$container.length) return;
7595
7596                var $orig = jdmcDpFindActiveSizeSelect(context);
7597
7598                $container.empty();
7599
7600                if (!$orig || !$orig.length) {
7601                    return;
7602                }
7603
7604                var $clone = $orig.clone(false);
7605
7606                // On enlève les attributs sensibles
7607                $clone.removeAttr('id');
7608                $clone.removeAttr('name');
7609
7610                if ($clone[0] && $clone[0].attributes) {
7611                    $.each($clone[0].attributes, function(i, attr){
7612                        if (!attr || !attr.name) return;
7613                        if (attr.name.indexOf('data-attribute_') === 0) {
7614                            $clone.removeAttr(attr.name);
7615                        }
7616                    });
7617                }
7618
7619                $clone.addClass('jdmc-dp-size-select-clone-' + context);
7620                $container.append($clone);
7621
7622                var syncing = false;
7623
7624                // Clone -> Original
7625                $clone.on('change', function() {
7626                    if (syncing) return;
7627                    syncing = true;
7628                    var val = $clone.val();
7629                    $orig.val(val).trigger('change');
7630                    syncing = false;
7631                });
7632
7633                // Original -> Clone
7634                $orig.off('jdmc_dp_sync_' + context).on('jdmc_dp_sync_' + context, function() {
7635                    if (syncing) return;
7636                    syncing = true;
7637                    $clone.val($orig.val());
7638                    syncing = false;
7639                });
7640
7641                // Premier alignement
7642                $orig.trigger('jdmc_dp_sync_' + context);
7643            }
7644
7645            function jdmcDpEnsureBox(context) {
7646                var cls  = (context === 'direct') ? 'jdmc-dp-pixel-preview-direct' : 'jdmc-dp-pixel-preview-ia';
7647                var $box = $wrapper.find('.' + cls).first();
7648
7649                var lang = window.jdmcAiLang || 'fr';
7650                var simTextMap = {
7651                    "fr": "Simulation d'une zone du DP selon la taille de toile sélectionnée :",
7652                    "en": "Simulation of a section of the diamond painting based on its size:",
7653                    "es": "Simulación de una zona del diamond painting según sus dimensiones:",
7654                    "de": "Simulation eines Bereichs des Diamond Paintings entsprechend seinen Maßen:",
7655                    "it": "Simulazione di una zona del diamond painting in base alle sue dimensioni:",
7656                    "nl": "Simulatie van een deel van de diamond painting volgens de gekozen afmetingen:",
7657                    "pt-pt": "Simulação de uma zona do diamond painting de acordo com as suas dimensões:",
7658                    "sv": "Simulering av en del av diamond painting utifrån dess mått:",
7659                    "bg": "Симулация на зона от диамантен гоблен според избраните размери:",
7660                    "da": "Simulation af et område af diamond painting efter de valgte mål:",
7661                    "el": "Προσομοίωση τμήματος του diamond painting σύμφωνα με τις διαστάσεις:",
7662                    "hu": "A diamond painting egy részének szimulációja a választott méretek alapján:",
7663                    "no": "Simulering av en del av diamond painting basert på valgte mål:",
7664                    "pl": "Symulacja fragmentu diamond painting zgodnie z wybranymi wymiarami:",
7665                    "ro": "Simulare a unei zone din diamond painting în funcție de dimensiuni:"
7666                };
7667                var simText = simTextMap[lang] || simTextMap["en"];
7668
7669                if (!$box.length) {
7670                    $box = $(
7671                        '<div class="jdmc-dp-pixel-preview '+cls+'" style="margin-top:10px;">' +
7672                          '<p class="jdmc-ai-label"></p>' +
7673                          '<div class="jdmc-dp-size-select" style="margin:4px 0;"></div>' +
7674                          '<img style="width:100%;max-width:400px; height:auto; display:block;" />' +
7675                          '<div class="jdmc-dp-meta" style="font-size:12px; color:#666; margin-top:4px;"></div>' +
7676                        '</div>'
7677                    );
7678
7679                    $box.find('.jdmc-ai-label').text(simText);
7680
7681                    if (context === 'direct') {
7682                        var $after = $wrapper.find('.jdmc-ai-photo-wrapper-direct').last();
7683                        if ($after.length) {
7684                            $after.after($box);
7685                        } else {
7686                            $wrapper.append($box);
7687                        }
7688                    } else {
7689                        var $afterIa = $wrapper.find('.jdmc-ai-preview').first();
7690                        if ($afterIa.length) {
7691                            $afterIa.after($box);
7692                        } else {
7693                            $wrapper.append($box);
7694                        }
7695                    }
7696                }
7697
7698                return $box;
7699            }
7700
7701            function jdmcDpTriggerPreview(context, src) {
7702                if (!src) return;
7703                if (!ajaxUrl) return;
7704                if (String(src).indexOf('blob:') === 0) return;
7705
7706                var widthCm  = jdmcDpGetWidthCm(context);
7707                var dimLabel = jdmcDpGetDimLabel(context);
7708                console.log('[JDMC DP Preview] context=', context, 'src=', src, 'widthCm=', widthCm, 'dimLabel=', dimLabel);
7709
7710                var data = {
7711                    action:   'jdmc_dp_preview',
7712                    src:      src,
7713                    width_cm: widthCm
7714                };
7715                if (dimLabel) {
7716                    data.dim_label = dimLabel;
7717                }
7718
7719                $.get(ajaxUrl, data).done(function(resp){
7720                    if (!resp || !resp.success || !resp.data || !resp.data.preview_url) return;
7721
7722                    var $box = jdmcDpEnsureBox(context);
7723                    // ⚠️ on NE reconstruit PAS le select ici pour éviter les fermetures inopinées
7724                    // jdmcDpSyncSizeSelect(context, $box);
7725
7726                    $box.find('img').attr('src', resp.data.preview_url);
7727
7728                    // 1 perle = 0,25 cm
7729                    var beadsW = Math.max(8, Math.round(widthCm / 0.25));
7730
7731                    var lang = window.jdmcAiLang || 'fr';
7732                    var tplMap = {
7733                        "fr": "Largeur utilisée pour l’aperçu : %s cm (~%s perles de large)",
7734                        "en": "Width used for the preview: %s cm (~%s beads wide)",
7735                        "es": "Anchura utilizada para la previsualización: %s cm (~%s cuentas de ancho)",
7736                        "de": "Verwendete Breite für die Vorschau: %s cm (~%s Steinchen breit)",
7737                        "it": "Larghezza utilizzata per l’anteprima: %s cm (~%s perline di larghezza)",
7738                        "nl": "Gebruikte breddte voor de preview: %s cm (~%s steentjes breed)",
7739                        "pt-pt": "Largura utilizada para a pré-visualização: %s cm (~%s pedrinhas de largura)",
7740                        "sv": "Bredd som används i förhandsvisningen: %s cm (~%s pärlor på bredden)",
7741                        "bg": "Използвана ширина за визуализацията: %s cm (~%s мъниста по ширина)",
7742                        "da": "Bredde brugt til forhåndsvisning: %s cm (~%s diamanter i bredden)",
7743                        "el": "Πλάτος που χρησιμοποιείται στην προεπισκόπηση: %s cm (~%s διαμαντάκια σε πλάτος)",
7744                        "hu": "Az előnézethez használt szélesség: %s cm (~%s gyöngy szélesen)",
7745                        "no": "Bredde brukt i forhåndsvisningen: %s cm (~%s diamanter i bredden)",
7746                        "pl": "Szerokość użyta w podglądzie: %s cm (~%s koralików na szerokość)",
7747                        "ro": "Lățime folosită pentru previzualizare: %s cm (~%s mărgele pe lățime)"
7748                    };
7749                    var tpl = tplMap[lang] || tplMap["en"];
7750
7751                    var text = tpl.replace('%s', widthCm).replace('%s', beadsW);
7752                    $box.find('.jdmc-dp-meta').text(text);
7753
7754                    $box.show();
7755                });
7756            }
7757
7758            function getDirectSrc() {
7759                var $img = $wrapper.find('.jdmc-ai-direct-thumb:visible');
7760                var s = $img.attr('src');
7761                return s && s.length > 4 ? s : null;
7762            }
7763
7764            function getIaSrc() {
7765                var $img = $wrapper.find('.jdmc-ai-preview img:visible');
7766                var s = $img.attr('src');
7767                return s && s.length > 4 ? s : null;
7768            }
7769
7770            // Observer : quand l'image DIRECT change, on relance la preview + on resynchronise le clone
7771            var directObserver = new MutationObserver(function(){
7772                var s = getDirectSrc();
7773                if (s) {
7774                    jdmcDpTriggerPreview('direct', s);
7775                    var $box = jdmcDpEnsureBox('direct');
7776                    jdmcDpSyncSizeSelect('direct', $box);
7777                }
7778            });
7779
7780            // Observer : quand l'image IA change, idem
7781            var iaObserver = new MutationObserver(function(){
7782                var s = getIaSrc();
7783                if (s) {
7784                    jdmcDpTriggerPreview('ia', s);
7785                    var $box = jdmcDpEnsureBox('ia');
7786                    jdmcDpSyncSizeSelect('ia', $box);
7787                }
7788            });
7789
7790            var directNode = $wrapper.find('.jdmc-ai-direct-thumb').get(0);
7791            if (directNode) {
7792                directObserver.observe(directNode, { attributes: true, attributeFilter: ['src'] });
7793            }
7794            var iaNode = $wrapper.find('.jdmc-ai-preview img').get(0);
7795            if (iaNode) {
7796                iaObserver.observe(iaNode, { attributes: true, attributeFilter: ['src'] });
7797            }
7798
7799            // Changement de taille DIRECT (en haut)
7800           $wrapper.on('change', '.jdmc-ai-size-zones-direct .jdmc-ai-taille-select-direct', function(){
7801    var src = getDirectSrc();
7802    if (!src) {
7803        return; // pas d'image, pas de box
7804    }
7805
7806    jdmcDpTriggerPreview('direct', src);
7807    var $box = jdmcDpEnsureBox('direct');
7808    jdmcDpSyncSizeSelect('direct', $box);
7809});
7810
7811
7812            // Changement de taille IA (en haut)
7813          $wrapper.on('change', '.jdmc-ai-size-zones-ia .jdmc-ai-taille-select-ia', function(){
7814    var src = getIaSrc();
7815    if (!src) {
7816        return; // pas d'image IA visible => on ne montre pas la zone de simulation
7817    }
7818
7819    jdmcDpTriggerPreview('ia', src);
7820    var $box = jdmcDpEnsureBox('ia');
7821    jdmcDpSyncSizeSelect('ia', $box);
7822});
7823
7824
7825            // Reset de l’aperçu DP quand une image est supprimée côté frontend
7826            $wrapper.on('jdmc_dp_clear_preview', function(e, origin) {
7827                var contexts = [];
7828
7829                if (origin === 'direct') {
7830                    contexts = ['direct'];
7831                } else if (origin === 'ai' || origin === 'edit') {
7832                    contexts = ['ia'];
7833                } else {
7834                    contexts = ['direct', 'ia'];
7835                }
7836
7837                for (var i = 0; i < contexts.length; i++) {
7838                    var ctx = contexts[i];
7839                    var cls = (ctx === 'direct') ? 'jdmc-dp-pixel-preview-direct' : 'jdmc-dp-pixel-preview-ia';
7840                    var $box = $wrapper.find('.' + cls);
7841                    if (!$box.length) continue;
7842
7843                    $box.find('img').attr('src', '');
7844                    $box.find('.jdmc-dp-meta').text('');
7845                    $box.hide();
7846                }
7847            });
7848
7849            // Fallback : changement de taille via d'autres selects du formulaire
7850            $wrapper.closest('form').on('change', 'select', function(){
7851                var srcD = getDirectSrc();
7852                if (srcD) {
7853                    jdmcDpTriggerPreview('direct', srcD);
7854                    var $boxD = jdmcDpEnsureBox('direct');
7855                    jdmcDpSyncSizeSelect('direct', $boxD);
7856                }
7857
7858                var srcI = getIaSrc();
7859                if (srcI) {
7860                    jdmcDpTriggerPreview('ia', srcI);
7861                    var $boxI = jdmcDpEnsureBox('ia');
7862                    jdmcDpSyncSizeSelect('ia', $boxI);
7863                }
7864            });
7865        });
7866    })(jQuery);
7867    </script>
7867
7868        
7868<script>
7869    document.addEventListener("DOMContentLoaded", function () {
7870        const container = document.querySelector('.pi-edd-wrapper.edd-static');
7871        if (!container) return;
7872
7873        const observer = new MutationObserver(function (mutations, obs) {
7874            for (let mutation of mutations) {
7875                for (let node of mutation.addedNodes) {
7876                    if (
7877                        node.nodeType === 1 &&
7878                        node.classList.contains('pi-edd-wrapper') &&
7879                        !node.classList.contains('edd-static')
7880                    ) {
7881                        obs.disconnect(); // Stoppe l'observer
7882
7883                        // Transfert du contenu dans le conteneur statique
7884                        container.innerHTML = node.innerHTML;
7885
7886                        // Supprime le bloc original injecté par le plugin
7887                        node.remove();
7888                    }
7889                }
7890            }
7891        });
7892
7893        observer.observe(document.body, {
7894            childList: true,
7895            subtree: true
7896        });
7897    });
7898    </script>
7898
7899        
7899<script>
7900    (function($) {
7901        $(function() {
7902            var $form = $('form.variations_form');
7903
7904            if (!$form.length) {
7905                return;
7906            }
7907
7908            function getLabelWrapper() {
7909                // On recherche l'élément dynamiquement à chaque appel pour éviter les nœuds détachés du DOM
7910                return $('.berocket_better_labels_image').filter(':visible').first().length 
7911                    ? $('.berocket_better_labels_image').filter(':visible').first() 
7912                    : $('.berocket_better_labels_image').first();
7913            }
7914
7915            function showLabel() {
7916                var $wrapper = getLabelWrapper();
7917                if (!$wrapper.length) return;
7918
7919                $wrapper.css({
7920                    opacity: 1,
7921                    visibility: 'visible'
7922                });
7923
7924                var $text = $wrapper.find('.b_span_text').first();
7925                if ($text.length) {
7926                    $text.css('opacity', 1);
7927                }
7928            }
7929
7930            function hideLabel() {
7931                var $wrapper = getLabelWrapper();
7932                if (!$wrapper.length) return;
7933
7934                $wrapper.css({
7935                    opacity: 0,
7936                    visibility: 'hidden'
7937                });
7938
7939                var $text = $wrapper.find('.b_span_text').first();
7940                if ($text.length) {
7941                    $text.css('opacity', 0);
7942                }
7943            }
7944
7945            function updateLabel(variation) {
7946                var $wrapper = getLabelWrapper();
7947                if (!$wrapper.length) return;
7948
7949                var $text = $wrapper.find('.b_span_text').first();
7950                if (!$text.length) return;
7951
7952                if (!variation || !variation.is_in_stock) {
7953                    hideLabel();
7954                    return;
7955                }
7956
7957                var reg  = parseFloat(variation.display_regular_price || variation.display_price);
7958                var sale = parseFloat(variation.display_price);
7959
7960                if (!reg || !sale || sale >= reg) {
7961                    hideLabel();
7962                    return;
7963                }
7964
7965                var percent = Math.round((reg - sale) / reg * 100);
7966
7967                if (!percent || percent <= 0) {
7968                    hideLabel();
7969                    return;
7970                }
7971
7972                $text.text('-' + percent + '%');
7973                showLabel();
7974            }
7975
7976            function findCurrentVariation() {
7977                var variations = $form.data('product_variations');
7978                if (!variations || !variations.length) return null;
7979
7980                var currentAttrs = {};
7981                $form.find('select[name^="attribute_"]').each(function() {
7982                    var val = $(this).val();
7983                    if (val) {
7984                        currentAttrs[$(this).attr('name')] = val;
7985                    }
7986                });
7987
7988                if ($.isEmptyObject(currentAttrs)) return null;
7989
7990                var found = null;
7991                $.each(variations, function(i, v) {
7992                    var match = true;
7993                    $.each(v.attributes, function(name, value) {
7994                        if (value && currentAttrs[name] && currentAttrs[name] !== value) {
7995                            match = false;
7996                            return false;
7997                        }
7998                    });
7999                    if (match) {
8000                        found = v;
8001                        return false;
8002                    }
8003                });
8004
8005                return found;
8006            }
8007
8008            // Événement principal et le plus fiable de WooCommerce
8009            $form.on('show_variation', function(event, variation) {
8010                updateLabel(variation);
8011            });
8012
8013            $form.on('woocommerce_variation_has_changed', function() {
8014                setTimeout(function() {
8015                    var variation = findCurrentVariation();
8016                    updateLabel(variation);
8017                }, 50);
8018            });
8019
8020            $form.on('reset_data', function() {
8021                hideLabel();
8022            });
8023
8024            // Init au chargement
8025            setTimeout(function() {
8026                var variation = findCurrentVariation();
8027                if (variation) {
8028                    updateLabel(variation);
8029                } else {
8030                    hideLabel();
8031                }
8032            }, 100);
8033        });
8034    })(jQuery);
8035    </script>
8035
8036        
8036<script>
8037    document.addEventListener('DOMContentLoaded', function () {
8038        const piEdd = document.querySelector('.pi-edd');
8039        if (piEdd && !piEdd.parentElement.classList.contains('pi-edd-wrapper')) {
8040            const wrapper = document.createElement('div');
8041            wrapper.className = 'pi-edd-wrapper loading-placeholder';
8042            piEdd.parentNode.insertBefore(wrapper, piEdd);
8043            wrapper.appendChild(piEdd);
8044        }
8045    });
8046    </script>
8046
8047    
8047<script>
8048(function(){
8049  function log(msg){
8050    var url='/?jslog=' + encodeURIComponent(msg);
8051    if (navigator.sendBeacon) { navigator.sendBeacon(url); } else { (new Image()).src = url; }
8052  }
8053  function watchUrl(u){ return /wc-ajax=|admin-ajax\.php|\/wp-json\/|\/wc\/store/i.test(u); }
8054
8055  var _f = window.fetch;
8056  if (_f) window.fetch = function(input, init){
8057    var url = (typeof input==='string') ? input : (input.url||'');
8058    var m = (init && init.method) || 'GET';
8059    var t0 = Date.now();
8060    return _f(input, init).then(function(res){
8061      if (watchUrl(url)) {
8062        var dt = Date.now()-t0;
8063        if (!res.ok) {
8064          var cr = (res.headers && res.headers.get) ? (res.headers.get('cf-ray')||'') : '';
8065          var cs = (res.headers && res.headers.get) ? (res.headers.get('cf-cache-status')||'') : '';
8066          log('AJAX_ERR '+m+' '+url+' status='+res.status+' t='+dt+'ms cf-ray='+cr+' cf-cache='+cs+' ua='+navigator.userAgent);
8067        }
8068      }
8069      return res;
8070    }).catch(function(e){
8071      if (watchUrl(url)) log('AJAX_THROW '+m+' '+url+' err='+(e && e.message));
8072      throw e;
8073    });
8074  };
8075
8076  var XO = XMLHttpRequest.prototype.open, XS = XMLHttpRequest.prototype.send;
8077  XMLHttpRequest.prototype.open = function(m,u){ this._m=m; this._u=u; XO.apply(this, arguments); };
8078  XMLHttpRequest.prototype.send = function(){
8079    var self=this, t0=Date.now();
8080    this.addEventListener('loadend', function(){
8081      if (watchUrl(self._u)) {
8082        var dt=Date.now()-t0, s=self.status||0;
8083        if (!(s>=200 && s<300)) {
8084          try{
8085            var cr=self.getResponseHeader('cf-ray')||'';
8086            var cs=self.getResponseHeader('cf-cache-status')||'';
8087            log('XHR_ERR '+(self._m||'?')+' '+(self._u||'?')+' status='+s+' t='+dt+'ms cf-ray='+cr+' cf-cache='+cs);
8088          }catch(_){}
8089        }
8090      }
8091    });
8092    XS.apply(this, arguments);
8093  };
8094
8095  document.addEventListener('DOMContentLoaded', function(){
8096    try{
8097      if (window.jQuery) jQuery(document.body).on('added_to_cart', function(){
8098        localStorage.setItem('zzz_cart_touched','1');
8099        localStorage.setItem('zzz_cart_last', String(Date.now()));
8100      });
8101    }catch(_){}
8102  });
8103
8104  var wentCheckout = /\/checkout(\/|$|\?)/.test(location.pathname + location.search);
8105  window.addEventListener('beforeunload', function(){
8106    try{
8107      var touched = localStorage.getItem('zzz_cart_touched') === '1';
8108      if (touched && !wentCheckout) {
8109        var hasItemsCookie = document.cookie.indexOf('woocommerce_items_in_cart=') !== -1;
8110        log('EXIT_WITH_CART url='+location.href+' cookie_items='+hasItemsCookie);
8111      }
8112    }catch(_){}
8113  });
8114})();
8115</script>
8115
8116    		
8116<script>
8117		(function() {
8118			'use strict';
8119			var parentSelector = '.menu-item.wpml-ls-current-language.menu-item-has-children';
8120			
8121			function toggleSubmenu(link, forceClose) {
8122				var isExpanded = link.getAttribute('aria-expanded') === 'true';
8123				if (forceClose || isExpanded) {
8124					link.setAttribute('aria-expanded', 'false');
8125				} else {
8126					link.setAttribute('aria-expanded', 'true');
8127				}
8128			}
8129			
8130			function handleKeydown(e) {
8131				var key = e.key || e.keyCode;
8132				if (key === 'Enter' || key === ' ' || key === 13 || key === 32) {
8133					e.preventDefault();
8134					toggleSubmenu(this);
8135				} else if (key === 'Escape' || key === 'Esc' || key === 27) {
8136					if (this.getAttribute('aria-expanded') === 'true') {
8137						e.preventDefault();
8138						toggleSubmenu(this, true);
8139					}
8140				}
8141			}
8142			
8143			function handleBlur(e) {
8144				var link = this;
8145				var parent = link.closest(parentSelector);
8146				if (!parent) return;
8147				
8148				setTimeout(function() {
8149					if (!parent.contains(document.activeElement)) {
8150						toggleSubmenu(link, true);
8151					}
8152				}, 100);
8153			}
8154			
8155			function init() {
8156				var parents = document.querySelectorAll(parentSelector);
8157				for (var i = 0; i < parents.length; i++) {
8158					var link = parents[i].querySelector('a[aria-expanded]');
8159					if (link) {
8160						link.addEventListener('keydown', handleKeydown);
8161						link.addEventListener('blur', handleBlur);
8162					}
8163				}
8164			}
8165			
8166			if (document.readyState === 'loading') {
8167				document.addEventListener('DOMContentLoaded', init);
8168			} else {
8169				init();
8170			}
8171		})();
8172		</script>
8172
8173		    
8173<script type="text/javascript">
8174    (function($) {
8175        $(document).ready(function() {
8176            // On intercepte la réponse AJAX d'Aelia avant qu'elle ne soit traitée par leur script original
8177            $(document).ajaxSuccess(function(event, xhr, settings) {
8178                // On vérifie si c'est l'appel de mise à jour des prix Aelia
8179                if (settings.data && settings.data.indexOf('action=aelia_cs_get_products_prices') !== -1) {
8180                    try {
8181                        var response = JSON.parse(xhr.responseText);
8182                        if (response && response.product_prices_html) {
8183                            
8184                            var prices = Object.entries(response.product_prices_html);
8185                            var index = 0;
8186
8187                            // Fonction pour injecter les prix par petits paquets (Time-slicing)
8188                            function injectPrices() {
8189                                var chunk = prices.slice(index, index + 5); // On traite 5 prix à la fois
8190                                
8191                                $.each(chunk, function(i, data) {
8192                                    var product_id = data[0];
8193                                    var price_html = data[1];
8194                                    // On cible les conteneurs de prix standards de Woo
8195                                    $('.aelia_cs_product_price[data-product_id="' + product_id + '"]').html(price_html);
8196                                    $('.product-id-' + product_id + ' .price').html(price_html);
8197                                });
8198
8199                                index += 5;
8200                                if (index < prices.length) {
8201                                    // On laisse 10ms de repos au processeur pour gérer les clics utilisateur
8202                                    setTimeout(injectPrices, 10);
8203                                }
8204                            }
8205
8206                            // On lance l'injection progressive
8207                            injectPrices();
8208                        }
8209                    } catch (e) {
8210                        console.error("Erreur optimisation Aelia:", e);
8211                    }
8212                }
8213            });
8214        });
8215    })(jQuery);
8216    </script>
8216
8217        
8217<script>
8218    (function() {
8219        const config = {
8220            'de': { slug: '/de/', text: 'Zurück zur Schnellbestellseite' },
8221            'nl': { slug: '/nl/', text: 'Terug naar de snelbestelpagina' },
8222            'es': { slug: '/es/', text: 'Volver a la page de pedido rápido' },
8223            'it': { slug: '/it/', text: 'Torna alla pagina di ordine rapido' },
8224            'fr': { slug: '/', text: 'Revenir sur la page de commande rapide' }
8225        };
8226
8227        const masterPaths = [
8228            '/perles-broderie/sachet-de-perles-pour-diamond-painting-200-diamants/',
8229            '/de/perles-broderie/diamantenbeutel-fuer-diamond-painting-200-diamanten/',
8230            '/nl/perles-broderie/sachet-de-perles-pour-diamond-painting-200-diamants/',
8231            '/es/perles-broderie/sachet-de-perles-pour-diamond-painting-200-diamants/',
8232            '/it/perles-broderie/sachet-de-perles-pour-diamond-painting-200-diamants/'
8233        ];
8234
8235        const currentUrl = window.location.href;
8236        const isMasterPage = masterPaths.some(path => currentUrl.includes(path));
8237
8238        if (isMasterPage) {
8239            sessionStorage.setItem('express_checkout_url', currentUrl);
8240            sessionStorage.removeItem('express_banner_closed');
8241            const styleMaster = document.createElement('style');
8242            styleMaster.innerHTML = '#ulcmp-bar { display: none !important; }';
8243            document.head.appendChild(styleMaster);
8244            return; 
8245        }
8246
8247        const savedUrl = sessionStorage.getItem('express_checkout_url');
8248        const isClosed = sessionStorage.getItem('express_banner_closed');
8249
8250        if (savedUrl && !isClosed) {
8251            let translation = config['fr'].text;
8252            for (let lang in config) {
8253                if (lang !== 'fr' && savedUrl.includes(config[lang].slug)) {
8254                    translation = config[lang].text;
8255                    break;
8256                }
8257            }
8258
8259            const style = document.createElement('style');
8260            style.id = 'express-banner-styles';
8261            style.innerHTML = `
8262                #ulcmp-bar { display: none !important; } 
8263                
8264                .footer-menu-inline.has-banner {
8265                    padding-bottom: 120px !important;
8266                }
8267
8268                #express-return-banner {
8269                    position: fixed; bottom: 0; left: 0; width: 100%; height: 40px;
8270                    background-color: #6319FF;
8270 color: white; z-index: 999998; 
8271                    box-shadow: 0 -5px 20px rgba(0,0,0,0.4);
8272                    font-weight: bold; font-size: 15px; display: flex;
8273                    align-items: center; justify-content: center;
8274                    transition: background-color 0.2s ease-in-out;
8275                    font-family: sans-serif;
8276                }
8277                
8278                #express-return-banner:hover {
8279                    background-color:#3D00DF;
8280                }
8281                
8282                #express-return-banner a {
8283                    text-decoration: none; color: white; display: flex; 
8284                    align-items: center; justify-content: center;
8285                    width: 100%; height: 100%;
8286                    text-transform: uppercase; letter-spacing: 0.5px;
8287                }
8288
8289                #close-express-banner {
8290                    position: absolute; right: 8px; top: 50%;
8291                    transform: translateY(-50%);
8292                    cursor: pointer; 
8293                    width: 28px; height: 28px;
8294                    display: flex; align-items: center; justify-content: center;
8295                    font-size: 22px; line-height: 1;
8296                    
8297                    /* Couleur sombre par défaut */
8298                    background-color: #9E008A;
8299                    border: 1px solid rgba(255,255,255,0.4);
8300                    border-radius: 4px;
8301                    color: white;
8302                    
8303                    transition: all 0.2s ease;
8304                    z-index: 999999;
8305                }
8306
8307                #close-express-banner:hover { 
8308                    /* Couleur vive au survol */
8309                    background-color: #D100B7;
8310                    border-color: #ffffff;
8311                    transform: translateY(-50%) scale(1.05);
8312                }
8313
8314                .xoo-wsc-container, .xoo-wsc-modal { z-index: 9999999 !important; }
8315
8316                @media (max-width: 1024px) {
8317                    #express-return-banner { bottom: 70px !important; }
8318                    .footer-menu-inline.has-banner {
8319                        padding-bottom: 180px !important;
8320                    }
8321                }
8322                
8323                @media (max-width: 600px) {
8324                    #express-return-banner { font-size:11px; }
8325                    #express-return-banner a { padding-right: 40px; padding-left: 10px; } 
8326                }
8327            `;
8328            document.head.appendChild(style);
8329
8330            const footer = document.querySelector('.footer-menu-inline');
8331            if(footer) footer.classList.add('has-banner');
8332
8333            const banner = document.createElement('div');
8334            banner.id = 'express-return-banner';
8335            banner.innerHTML = `
8336                <a href="${savedUrl}">${translation}</a>
8337                <div id="close-express-banner" title="Fermer">&times;</div>
8338            `;
8339
8340            document.body.appendChild(banner);
8341
8342            document.getElementById('close-express-banner').addEventListener('click', function(e) {
8343                e.preventDefault();
8344                e.stopPropagation();
8345                banner.style.display = 'none';
8346                if(footer) footer.classList.remove('has-banner');
8347                sessionStorage.setItem('express_banner_closed', 'true');
8348            });
8349        }
8350    })();
8351    </script>
8351
8352    
8353<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a450af9dc86911a3',t:'MTc5MTA4MDIwMQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
8353<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"4530a49e972d46a38bbe131a0f5e8343","spa":2}' crossorigin="anonymous"></script>
8353
8354</body>
8355</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.