<!doctype html>
<html lang="fr-FR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel='preload' href='https://zelzarr.fr/wp-content/plugins/woocommerce-gateway-stripe/build/express-checkout.js?ver=3c426a0684c6a6d3d695' as='script' />
<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
<script>window._wca = window._wca || [];</script>

	<!-- This site is optimized with the Yoast SEO plugin v26.4 - https://yoast.com/wordpress/plugins/seo/ -->
	<title>Yaksha – Cathay | Figurine 3D Zelzarr</title>
	<meta name="description" content="Découvrez les figurines 3D de la gamme &quot;Chinese Cathay&quot; par &quot;Kyoushuneko Miniatures&quot;, idéales pour vos armées fantastiques." />
	<link rel="canonical" href="https://zelzarr.fr/produit/cathay-yaksha/" />
	<meta property="og:locale" content="fr_FR" />
	<meta property="og:type" content="article" />
	<meta property="og:title" content="Yaksha – Cathay | Figurine 3D Zelzarr" />
	<meta property="og:description" content="Découvrez les figurines 3D de la gamme &quot;Chinese Cathay&quot; par &quot;Kyoushuneko Miniatures&quot;, idéales pour vos armées fantastiques." />
	<meta property="og:url" content="https://zelzarr.fr/produit/cathay-yaksha/" />
	<meta property="og:site_name" content="Zelzarr" />
	<meta property="article:modified_time" content="2026-04-03T15:43:44+00:00" />
	<meta property="og:image" content="https://zelzarr.fr/wp-content/uploads/2024/07/x2-Yakshas-1024x1024.png" />
	<meta property="og:image:width" content="1024" />
	<meta property="og:image:height" content="1024" />
	<meta property="og:image:type" content="image/png" />
	<meta name="twitter:card" content="summary_large_image" />
	<meta name="twitter:label1" content="Durée de lecture estimée" />
	<meta name="twitter:data1" content="1 minute" />
	<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://zelzarr.fr/produit/cathay-yaksha/","url":"https://zelzarr.fr/produit/cathay-yaksha/","name":"Yaksha - Zelzarr","isPartOf":{"@id":"https://zelzarr.fr/#website"},"primaryImageOfPage":{"@id":"https://zelzarr.fr/produit/cathay-yaksha/#primaryimage"},"image":{"@id":"https://zelzarr.fr/produit/cathay-yaksha/#primaryimage"},"thumbnailUrl":"https://zelzarr.fr/wp-content/uploads/2024/07/x2-Yakshas.png","datePublished":"2025-09-13T16:56:02+00:00","dateModified":"2026-04-03T15:43:44+00:00","description":"Découvrez les figurines 3D de la gamme \"Chinese Cathay\" par \"Kyoushuneko Miniatures\", idéales pour vos armées fantastiques.","breadcrumb":{"@id":"https://zelzarr.fr/produit/cathay-yaksha/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https://zelzarr.fr/produit/cathay-yaksha/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https://zelzarr.fr/produit/cathay-yaksha/#primaryimage","url":"https://zelzarr.fr/wp-content/uploads/2024/07/x2-Yakshas.png","contentUrl":"https://zelzarr.fr/wp-content/uploads/2024/07/x2-Yakshas.png","width":2048,"height":2048},{"@type":"BreadcrumbList","@id":"https://zelzarr.fr/produit/cathay-yaksha/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https://zelzarr.fr/"},{"@type":"ListItem","position":2,"name":"Produits","item":"https://zelzarr.fr/boutique/"},{"@type":"ListItem","position":3,"name":"Yaksha"}]},{"@type":"WebSite","@id":"https://zelzarr.fr/#website","url":"https://zelzarr.fr/","name":"Zelzarr","description":"zelzarr.fr","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://zelzarr.fr/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}</script>
	<!-- / Yoast SEO plugin. -->


<script>
window.koko_analytics = {"url":"https:\/\/zelzarr.fr\/koko-analytics-collect.php","site_url":"https:\/\/zelzarr.fr","post_id":40735,"path":"\/produit\/cathay-yaksha\/feed\/","method":"cookie","use_cookie":true};
</script>
<link rel="alternate" type="application/rss+xml" title="Zelzarr &raquo; Flux" href="https://zelzarr.fr/feed/" />
<link rel="alternate" type="application/rss+xml" title="Zelzarr &raquo; Flux des commentaires" href="https://zelzarr.fr/comments/feed/" />
<link rel="alternate" type="application/rss+xml" title="Zelzarr &raquo; Yaksha Flux des commentaires" href="https://zelzarr.fr/produit/cathay-yaksha/feed/" />
<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://zelzarr.fr/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fzelzarr.fr%2Fproduit%2Fcathay-yaksha%2F" />
<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://zelzarr.fr/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fzelzarr.fr%2Fproduit%2Fcathay-yaksha%2F&#038;format=xml" />
<link rel='stylesheet' id='cookie-notice-front-css' href='https://zelzarr.fr/wp-content/plugins/cookie-notice/css/front.min.css?ver=3.1.17' media='all' />
<script id="cookie-notice-front-js-before">
var cnArgs = {"ajaxUrl":"https:\/\/zelzarr.fr\/wp-admin\/admin-ajax.php","nonce":"b124b1c300","hideEffect":"fade","position":"bottom","onScroll":false,"onScrollOffset":100,"onClick":false,"cookieName":"cookie_notice_accepted","cookieTime":2592000,"cookieTimeRejected":2592000,"globalCookie":false,"redirection":false,"cache":false,"revokeCookies":false,"revokeCookiesOpt":"automatic"};

//# sourceURL=cookie-notice-front-js-before
</script>
<script id="cookie-notice-front-js" src="https://zelzarr.fr/wp-content/plugins/cookie-notice/js/front.min.js?ver=3.1.17"></script>
<link rel="https://api.w.org/" href="https://zelzarr.fr/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://zelzarr.fr/wp-json/wp/v2/product/40735" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://zelzarr.fr/xmlrpc.php?rsd" />
<meta name="generator" content="WordPress 7.1.3" />
<meta name="generator" content="WooCommerce 11.1.0" />
<link rel='shortlink' href='https://zelzarr.fr/?p=40735' />
	<noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript>
	<meta name="generator" content="Elementor 4.3.5; features: additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-auto">
			<style>
				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
					background-image: none !important;
				}
				@media screen and (max-height: 1024px) {
					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
						background-image: none !important;
					}
				}
				@media screen and (max-height: 640px) {
					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
						background-image: none !important;
					}
				}
			</style>
			<link rel="icon" href="https://zelzarr.fr/wp-content/uploads/2026/10/zelzarr-icone-site-100x100.png" sizes="32x32" />
<link rel="icon" href="https://zelzarr.fr/wp-content/uploads/2026/10/zelzarr-icone-site-300x300.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://zelzarr.fr/wp-content/uploads/2026/10/zelzarr-icone-site-300x300.png" />
<meta name="msapplication-TileImage" content="https://zelzarr.fr/wp-content/uploads/2026/10/zelzarr-icone-site-300x300.png" />
<style>.elementor-location-popup,.pswp{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:#EEEAE3}*,*::before,*::after{box-sizing:border-box}.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}</style></head>
<body data-rsssl=1 class="wp-singular product-template-default single single-product postid-40735 wp-theme-astra zz-fiche theme-astra cookies-not-set woocommerce woocommerce-page woocommerce-no-js cfvsw-label-stacked cfvsw-product-page ast-desktop ast-page-builder-template ast-no-sidebar astra-4.0.2 ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header elementor-page-15112 ast-normal-title-enabled elementor-default elementor-kit-12">
<script>window.ZZ_PID=40735;window.ZZ_PDATA={"id":40735,"name":"Yaksha","slug":"cathay-yaksha","parent":0,"type":"variable","variation":"","permalink":"https:\/\/zelzarr.fr\/produit\/cathay-yaksha\/","sku":"","short_description":"\u003Cp\u003E\u003Cstrong\u003ECréateur\u003C\/strong\u003E : Kyoushuneko\u003Cbr \/\u003E\n\u003Cstrong\u003EÉchelle\u003C\/strong\u003E : 28mm (compatible avec “Warhammer The Old World” \u0026amp; “Warhammer Fantasy Battle”)\u003Cbr \/\u003E\n\u003Cstrong\u003ERésine\u003C\/strong\u003E : ABS-Like (Plus résistante que les résines standards, excellent niveau de détail, rendu mat)\u003Cbr \/\u003E\n\u003Cstrong\u003EFinesse de couche\u003C\/strong\u003E : 30µm (Contre 50µm chez la plupart des autres imprimeurs 3D)\u003Cbr \/\u003E\n\u003Cstrong\u003EAssemblage\u003C\/strong\u003E : Cette figurine n\u0026rsquo;est pas modulable, elle est fournie comme montrée sur l\u0026rsquo;image.\u003Cbr \/\u003E\n\u003Cstrong\u003ESocles\u003C\/strong\u003E : En FDM (impression filament) au format “Newhammer” compatible avec “Warhammer The Old World” (supplément) ou figurine(s) fournie(s) sans socle(s).\u003C\/p\u003E","description":"","on_sale":false,"prices":{"price":"1195","regular_price":"1195","sale_price":"1195","price_range":{"min_amount":"1195","max_amount":"1545"},"currency_code":"EUR","currency_symbol":"€","currency_minor_unit":2,"currency_decimal_separator":",","currency_thousand_separator":"","currency_prefix":"","currency_suffix":" €"},"price_html":"\u003Cspan class=\"woocommerce-Price-amount amount\" aria-hidden=\"true\"\u003E11,95\u0026nbsp;\u003Cspan class=\"woocommerce-Price-currencySymbol\"\u003E\u0026euro;\u003C\/span\u003E\u003C\/span\u003E \u003Cspan aria-hidden=\"true\"\u003E – \u003C\/span\u003E \u003Cspan class=\"woocommerce-Price-amount amount\" aria-hidden=\"true\"\u003E15,45\u0026nbsp;\u003Cspan class=\"woocommerce-Price-currencySymbol\"\u003E\u0026euro;\u003C\/span\u003E\u003C\/span\u003E\u003Cspan class=\"screen-reader-text\"\u003EPlage de prix : 11,95\u0026nbsp;\u0026euro; à 15,45\u0026nbsp;\u0026euro;\u003C\/span\u003E","average_rating":"0","review_count":0,"images":[{"id":48820,"src":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas.png","thumbnail":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-300x300.png","srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas.png 2048w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-100x100.png 100w","sizes":"(max-width: 2048px) 100vw, 2048px","thumbnail_srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas-100x100.png 100w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x2-Yakshas.png 2048w","thumbnail_sizes":"(max-width: 300px) 100vw, 300px","name":"x2 Yakshas","alt":""},{"id":48766,"src":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV.png","thumbnail":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-300x300.png","srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV.png 2560w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-2048x2048.png 2048w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-100x100.png 100w","sizes":"(max-width: 2560px) 100vw, 2560px","thumbnail_srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-2048x2048.png 2048w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AV-100x100.png 100w","thumbnail_sizes":"(max-width: 300px) 100vw, 300px","name":"x1 Yaksha n°2 AV","alt":"N°1"},{"id":48765,"src":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR.png","thumbnail":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-300x300.png","srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR.png 2560w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-2048x2048.png 2048w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-100x100.png 100w","sizes":"(max-width: 2560px) 100vw, 2560px","thumbnail_srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-2048x2048.png 2048w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°2-AR-100x100.png 100w","thumbnail_sizes":"(max-width: 300px) 100vw, 300px","name":"x1 Yaksha n°2 AR","alt":"N°1"},{"id":48764,"src":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV.png","thumbnail":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-300x300.png","srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV.png 2560w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-2048x2048.png 2048w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-100x100.png 100w","sizes":"(max-width: 2560px) 100vw, 2560px","thumbnail_srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-2048x2048.png 2048w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AV-100x100.png 100w","thumbnail_sizes":"(max-width: 300px) 100vw, 300px","name":"x1 Yaksha n°1 AV","alt":"N°2"},{"id":48763,"src":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR.png","thumbnail":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-300x300.png","srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR.png 2560w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-2048x2048.png 2048w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-100x100.png 100w","sizes":"(max-width: 2560px) 100vw, 2560px","thumbnail_srcset":"https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-300x300.png 300w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-1024x1024.png 1024w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-150x150.png 150w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-768x768.png 768w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-1536x1536.png 1536w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-2048x2048.png 2048w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-1320x1320.png 1320w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-600x600.png 600w, https:\/\/zelzarr.fr\/wp-content\/uploads\/2024\/07\/x1-Yaksha-n°1-AR-100x100.png 100w","thumbnail_sizes":"(max-width: 300px) 100vw, 300px","name":"x1 Yaksha n°1 AR","alt":"N°2"}],"categories":[{"id":1383,"name":"Cathay","slug":"cathay","link":"https:\/\/zelzarr.fr\/categorie-produit\/factions-fantasy\/cathay\/"}],"tags":[{"id":1384,"name":"Cathay","slug":"cathay","link":"https:\/\/zelzarr.fr\/etiquette-produit\/cathay\/"},{"id":169,"name":"Héro","slug":"hero","link":"https:\/\/zelzarr.fr\/etiquette-produit\/hero\/"},{"id":1385,"name":"Kyoushuneko","slug":"kyoushuneko","link":"https:\/\/zelzarr.fr\/etiquette-produit\/kyoushuneko\/"}],"brands":[],"attributes":[{"id":3,"name":"Échelle","taxonomy":"pa_fig-echelles","has_variations":true,"terms":[{"id":58,"name":"28mm","slug":"28mm","default":true}]},{"id":25,"name":"Variante","taxonomy":"pa_variante","has_variations":true,"terms":[{"id":204,"name":"N°1","slug":"n1","default":true},{"id":205,"name":"N°2","slug":"n2","default":false}]},{"id":7,"name":"Soclage","taxonomy":"pa_fig-infanterie-base-socle","has_variations":true,"terms":[{"id":631,"name":"\"Newhammer\" - 40x40mm","slug":"newhammer-40x40mm","default":false},{"id":724,"name":"Sans socle","slug":"sans-socle","default":true}]}],"variations":[{"id":40736,"attributes":[{"name":"Échelle","value":"28mm"},{"name":"Variante","value":"n2"},{"name":"Soclage","value":"newhammer-40x40mm"}]},{"id":40737,"attributes":[{"name":"Échelle","value":"28mm"},{"name":"Variante","value":"n2"},{"name":"Soclage","value":"sans-socle"}]},{"id":40738,"attributes":[{"name":"Échelle","value":"28mm"},{"name":"Variante","value":"n1"},{"name":"Soclage","value":"newhammer-40x40mm"}]},{"id":40739,"attributes":[{"name":"Échelle","value":"28mm"},{"name":"Variante","value":"n1"},{"name":"Soclage","value":"sans-socle"}]}],"grouped_products":[],"has_options":true,"is_purchasable":true,"is_in_stock":true,"is_on_backorder":false,"low_stock_remaining":null,"stock_availability":{"text":"","class":"in-stock"},"sold_individually":false,"weight":"","dimensions":{"length":"","width":"","height":""},"formatted_weight":"ND","formatted_dimensions":"ND","add_to_cart":{"text":"Choix des options","description":"Sélectionner les options pour \u0026ldquo;Yaksha\u0026rdquo;","url":"https:\/\/zelzarr.fr\/produit\/cathay-yaksha\/","single_text":"Ajouter au panier","minimum":1,"maximum":9999,"multiple_of":1},"is_password_protected":false,"extensions":{"zelzarr":{"nouveautes":{}}},"_links":{"self":[{"href":"https:\/\/zelzarr.fr\/wp-json\/wc\/store\/v1\/products\/40735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zelzarr.fr\/wp-json\/wc\/store\/v1\/products"}],"related":[{"embeddable":true,"href":"https:\/\/zelzarr.fr\/wp-json\/wc\/store\/v1\/products?related=40735\u0026per_page=10"}]}};window.ZZ_VDATA=[{"id":40739,"variation":"Échelle: 28mm, Variante: N°1, Soclage: Sans socle","prices":{"price":"1195","regular_price":"1195","sale_price":"1195","price_range":null,"currency_code":"EUR","currency_symbol":"€","currency_minor_unit":2,"currency_decimal_separator":",","currency_thousand_separator":"","currency_prefix":"","currency_suffix":" €"}},{"id":40738,"variation":"Échelle: 28mm, Variante: N°1, Soclage: « Newhammer » \u0026#8211; 40x40mm","prices":{"price":"1245","regular_price":"1245","sale_price":"1245","price_range":null,"currency_code":"EUR","currency_symbol":"€","currency_minor_unit":2,"currency_decimal_separator":",","currency_thousand_separator":"","currency_prefix":"","currency_suffix":" €"}},{"id":40737,"variation":"Échelle: 28mm, Variante: N°2, Soclage: Sans socle","prices":{"price":"1495","regular_price":"1495","sale_price":"1495","price_range":null,"currency_code":"EUR","currency_symbol":"€","currency_minor_unit":2,"currency_decimal_separator":",","currency_thousand_separator":"","currency_prefix":"","currency_suffix":" €"}},{"id":40736,"variation":"Échelle: 28mm, Variante: N°2, Soclage: « Newhammer » \u0026#8211; 40x40mm","prices":{"price":"1545","regular_price":"1545","sale_price":"1545","price_range":null,"currency_code":"EUR","currency_symbol":"€","currency_minor_unit":2,"currency_decimal_separator":",","currency_thousand_separator":"","currency_prefix":"","currency_suffix":" €"}}];</script>

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500;600;700&display=swap">
<style>
html{scroll-behavior:smooth}
#zz{--ink:#1C1A19;--parch:#EEEAE3;--parch2:#E4DFD6;--card:#F6F3EE;--line:#D3CCC1;--line2:#C9C1B5;--muted:#5A544E;--body:#3A3532;--dark:#191716;--dtext:#ECE7DF;--dmuted:#A9A196;--dbody:#C7BFB4;--dline:#3A3532;--acc:#6B2226;--accd:#4A1518;--rose:#D08A80;font-family:'Work Sans',sans-serif;color:var(--ink);background:var(--parch);font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased;width:100%;overflow-x:hidden}
#zz *{box-sizing:border-box}
#zz,#zz p,#zz div,#zz span,#zz a,#zz small,#zz li{text-transform:none;letter-spacing:normal;word-spacing:normal}
#zz a{text-decoration:none;color:inherit}
#zz h1,#zz h2,#zz h3,#zz p{margin:0;padding:0;font-family:inherit;color:inherit;font-style:normal}
#zz p{font-weight:400}
#zz button{font-family:inherit;font-style:normal;border-radius:0;box-shadow:none;text-shadow:none;margin:0}
#zz img{max-width:none}
#zz .wrap{max-width:1240px;margin:0 auto}
#zz .sec{position:relative;padding:64px 24px 96px}
#zz .dark{background:var(--dark);color:var(--dtext)}
#zz .eye{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
#zz .eye::before{content:"";width:36px;height:1px;background:currentColor;flex:none}
#zz .dark .eye{color:var(--dmuted)}
#zz .h1,#zz .h2,#zz .h3c{font-weight:700;line-height:1.1;letter-spacing:.01em;text-transform:uppercase}
#zz .h1{font-size:54px}#zz .h2{font-size:42px}#zz .h3c{font-size:36px}
#zz .h1 span,#zz .h2 span,#zz .h3c span{text-transform:inherit;font-weight:300}
#zz .lead{font-size:19px;line-height:1.55;color:var(--body);max-width:620px}
#zz .dark .lead{color:var(--dbody)}
#zz .head{display:flex;flex-direction:column;gap:18px;max-width:720px}
#zz .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;min-height:46px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s;line-height:1.2}
#zz .btn:hover{background:var(--ink);color:var(--parch)}
#zz .btn.solid{background:var(--acc);border-color:var(--acc);color:#fff}
#zz .btn.solid:hover{background:var(--accd);border-color:var(--accd)}
#zz .btn:disabled{opacity:.6;cursor:wait}
#zz .dark .btn{border-color:var(--dtext);color:var(--dtext)}
#zz .dark .btn:hover{background:var(--dtext);color:var(--dark)}
#zz .ph{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;background-color:#2A2624;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 14px);color:#8E867C;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;overflow:hidden}
#zz .ph img,#zz .pimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s ease}
#zz .edge{line-height:0;position:relative;z-index:1}
#zz .edge svg{display:block;width:100%;height:56px;overflow:visible}
#zz .edge path{filter:drop-shadow(0 -2px 3px rgba(0,0,0,.22))}
#zz .edge.flip svg{transform:scaleX(-1)}
#zz .loading{opacity:.6}
#zz .err{color:var(--acc);font-size:16px}
#zz .rev{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
#zz .rev.in{opacity:1;transform:none}
#zz .ann{background:var(--dark);color:var(--dtext);overflow:hidden;white-space:nowrap;font-size:14px;font-weight:500;padding:10px 0}
#zz .ann{white-space:normal}
#zz .annl{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 22px;padding:0 16px;text-align:center}
#zz .annl .dot{color:var(--rose)}
#zz .ann:hover .mq{animation-play-state:paused}
#zz .mq span{padding:0 28px;position:relative}
#zz .mq span::after{content:"•";position:absolute;right:-4px;color:var(--rose)}
@keyframes zzmq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
#zz header.zh{background:var(--parch);border-bottom:1px solid var(--line);padding:0 24px;position:sticky;top:0;z-index:20}
#zz .zh .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
#zz .logo{display:flex;align-items:center;gap:12px}
#zz .logo b{font-weight:700;font-size:30px;color:var(--acc)}
#zz .logo span{font-weight:600;font-size:20px;letter-spacing:.18em}
#zz nav.zn{display:flex;flex-wrap:wrap;gap:26px}
#zz nav.zn a{font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid transparent;transition:border-color .2s}
#zz nav.zn a:hover,#zz nav.zn a.on{border-bottom-color:var(--ink)}
#zz .zh .r{display:flex;align-items:center;gap:14px}
#zz .zh .r .t{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
#zz .tiers{background:var(--parch2);border-bottom:1px solid var(--line);padding:20px 24px}
#zz .tiers .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px}
#zz .tiers .k{font-size:17px;font-weight:700}
#zz .tiers .s{font-size:15px;color:var(--muted)}
#zz .tiers .list{display:flex;flex-wrap:wrap;gap:12px 32px}
#zz .tiers .t{display:flex;align-items:center;gap:12px}
#zz .tiers .t b{font-size:30px;font-weight:700;color:var(--acc);line-height:1}
#zz .tiers .t span{display:flex;flex-direction:column;line-height:1.25}
#zz .tiers .t strong{font-size:16px;font-weight:600}
#zz .tiers .t small{font-size:14px;color:var(--muted)}
#zz .alli{display:flex;flex-direction:column;gap:18px}
#zz .alli-h{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px}
#zz .alli-h h3{font-size:22px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
#zz .alli-h h3 a{text-transform:uppercase}
#zz .alli-h h3 a:hover{color:var(--accd)}
#zz .alli-h>span{font-size:15px;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
#zz .grid-f{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
#zz .fcard{display:flex;flex-direction:column;background:var(--parch2);cursor:pointer;transition:transform .25s,box-shadow .25s;border:2px solid transparent;text-align:left;padding:0;color:var(--ink);width:100%}
#zz .fcard:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(28,26,25,.16)}
#zz .fcard[aria-expanded="true"]{border-color:var(--acc);box-shadow:0 14px 30px rgba(28,26,25,.16)}
#zz .fcard .fimg{position:relative;aspect-ratio:1/1;overflow:hidden;display:block;width:100%}
#zz .fcard .fimg img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;transition:transform .5s ease}
#zz .fcard:hover .fimg img{transform:scale(1.07)}
#zz .fcard .n{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;width:100%}
#zz .ct{font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.2;transition:color .2s}
#zz .fcard:hover .ct{color:var(--acc)}
#zz .fcard .arr{color:var(--acc);font-size:18px;transition:transform .25s}
#zz .fcard[aria-expanded="true"] .arr{transform:rotate(90deg)}
#zz .fpanel{display:none;background:var(--card);border:1px solid var(--line);padding:24px;flex-direction:column;gap:18px;animation:zzfade .35s ease}
#zz .fpanel.on{display:flex}
#zz .fp-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
#zz .fpanel{padding:18px 20px;gap:14px}
#zz .fpanel .pgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#zz .fpanel .pcard{gap:6px}
#zz .fpanel .pcard .f{display:none}
#zz .fpanel .pcard .ct{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#zz .fpanel .pcard .p{font-size:13px}
#zz .fpanel .qv{left:6px;right:6px;bottom:6px;min-height:34px;padding:6px;font-size:10px}
#zz .fp-top .chips{flex:1;justify-content:flex-end}
#zz .fp-more{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);border-bottom:1px solid currentColor;white-space:nowrap}
#zz .fp-more:hover{color:var(--accd)}
@media (max-width:900px){#zz .fpanel .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#zz .fp-cta{align-self:flex-start;min-height:52px;padding:16px 26px;font-size:13px;margin-top:32px}
#zz .fpanel .fp-top h4{font-size:28px;color:var(--ink);letter-spacing:.03em}
#zz .fp-top h4{margin:0;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
#zz .x{width:44px;height:44px;border:1px solid var(--line2);background:transparent;cursor:pointer;font-size:20px;line-height:1;padding:0;color:var(--ink)}
#zz .x:hover{border-color:var(--ink)}
#zz .chips{display:flex;flex-wrap:wrap;gap:8px}
#zz .chip{cursor:pointer;border:1px solid var(--line2);background:transparent;color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;min-height:40px;transition:background .15s,color .15s,border-color .15s}
#zz .chip:hover{border-color:var(--ink)}
#zz .chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--parch)}
#zz .dark .chip{border-color:#4A4440;color:var(--dtext)}
#zz .dark .chip:hover{border-color:var(--dtext)}
#zz .dark .chip[aria-pressed="true"]{background:var(--dtext);border-color:var(--dtext);color:var(--dark)}
#zz .flab{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);min-width:80px;padding-top:11px}
#zz .dark .flab{color:var(--dmuted)}
#zz .frow{display:flex;gap:12px}
#zz .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}
#zz .pcard{display:flex;flex-direction:column;gap:10px;min-width:0}
#zz .pw{position:relative}
#zz .pimg{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:transparent}
#zz .pcard:hover .pimg img{transform:scale(1.05)}
#zz .qv{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;background:var(--acc);color:#fff;border:0;padding:10px;min-height:40px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
#zz .pcard:hover .qv,#zz .qv:focus{opacity:1;transform:none}
@media (hover:none){#zz .qv{opacity:1;transform:none}}
#zz .pcard .f{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
#zz .dark .pcard .f{color:var(--rose)}
#zz .pcard .ct{font-size:16px}
#zz .pcard:hover .ct{color:var(--acc)}
#zz .dark .pcard:hover .ct{color:var(--rose)}
#zz .pcard .p{font-size:15px;color:var(--muted)}
#zz .dark .pcard .p{color:var(--dbody)}
#zz .pcard .p b{font-weight:600;color:var(--ink)}
#zz .dark .pcard .p b{color:var(--dtext)}
#zz .acc{border:1px solid var(--line2)}
#zz .acc-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;cursor:pointer;background:transparent;border:0;width:100%;text-align:left;color:var(--ink)}
#zz .acc-h:hover .plus{background:var(--ink);color:var(--parch)}
#zz .acc-h .k{font-size:21px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
#zz .acc-h p{color:var(--body);font-size:16px;margin-top:4px}
#zz .acc-h .plus{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);font-size:22px;transition:transform .25s}
#zz .acc-h .plus i{font-style:normal;display:block;transition:transform .25s}
#zz .acc[data-open="1"] .acc-h .plus i{transform:rotate(45deg)}
#zz .acc-b{display:none;padding:0 26px 26px;flex-direction:column;gap:20px}
#zz .acc[data-open="1"] .acc-b{display:flex}
#zz .news-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
#zz .arrows{display:flex;gap:10px}
#zz .arrows button{width:48px;height:48px;min-width:48px;padding:0;display:flex;align-items:center;justify-content:center;line-height:1;border:1px solid var(--dtext);background:transparent;color:var(--dtext);font-size:18px;cursor:pointer;transition:background .2s,color .2s}
#zz .arrows button:hover{background:var(--dtext);color:var(--dark)}
#zz .rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,calc((100% - 72px)/4));gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;padding-bottom:4px}
#zz .rail::-webkit-scrollbar{display:none}
#zz .rail .pcard{scroll-snap-align:start}
#zz .rail .pimg i{position:absolute;top:10px;left:10px;z-index:2;background:var(--dark);color:var(--dtext);font-style:normal;font-size:10px;font-weight:600;letter-spacing:.14em;padding:4px 8px}
#zz .steps{display:flex;flex-direction:column;gap:12px}
#zz .pill{cursor:pointer;border:1px solid var(--line2);background:transparent;color:var(--ink);font-weight:600;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s}
#zz .pill:hover{border-color:var(--ink)}
#zz .pill[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--parch)}
#zz .pill:disabled{cursor:default;opacity:1}
#zz .pill.sm{padding:9px 14px;min-height:42px;font-size:13px;letter-spacing:.04em;text-align:left}
#zz .box{display:flex;flex-wrap:wrap;background:var(--card);border:1px solid var(--line)}
#zz .box .L{flex:1 1 440px;min-width:0;display:flex;flex-direction:column}
#zz .box .R{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:20px;padding:32px;border-left:1px solid var(--line)}
#zz .main{aspect-ratio:1/1;font-size:12px;background:transparent;background-image:none;color:#8E867C}
#zz .main .off{position:absolute;top:16px;left:16px;z-index:2;background:var(--acc);color:#fff;font-size:12px;font-weight:600;letter-spacing:.14em;padding:6px 12px}
#zz .main .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:rgba(25,23,22,.82);color:var(--dtext);text-transform:none;letter-spacing:0;font-size:15px;font-weight:500;text-align:left}
#zz .main .cap em{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-right:10px}
#zz .strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;background:var(--parch2)}
#zz .tile{aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:3px;text-align:left;padding:8px;cursor:pointer;border:2px solid transparent;opacity:.82;transition:opacity .2s,border-color .2s;text-transform:none;letter-spacing:0}
#zz .tile:hover{opacity:1}
#zz .tile[aria-pressed="true"]{border-color:var(--acc);opacity:1}
#zz .tile.pop{animation:zzpop .45s ease}
@keyframes zzpop{0%{transform:scale(.9)}60%{transform:scale(1.04)}100%{transform:none}}
#zz .tile b{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--rose)}
#zz .tile span{font-size:12px;line-height:1.25;font-weight:500;color:var(--dtext)}
#zz .bx-head{display:flex;flex-direction:column;gap:8px;padding-bottom:20px;border-bottom:1px solid var(--line)}
#zz .bx-head .army{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
#zz .bx-head .ttl{font-size:26px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.2}
#zz .bx-head .pr{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
#zz .bx-head .pr b{font-size:38px;font-weight:700;letter-spacing:-.02em}
#zz .bx-head .pr s{font-size:19px;color:#7A7268}
#zz .bx-head .sum{font-size:16px;color:var(--muted)}
#zz .bx-head .lnk{align-self:flex-start;margin-top:6px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);border-bottom:1px solid currentColor;padding-bottom:2px}
#zz .bx-head .lnk:hover{color:var(--accd)}
#zz .step{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
#zz .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 0;border-bottom:1px solid #E0D9CE}
#zz .row:last-child{border-bottom:0}
#zz .row .lb{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:90px}
#zz .row .opts{flex:1 1 260px;display:flex;flex-wrap:wrap;gap:6px}
#zz .addbtn{width:100%;min-height:56px;font-size:14px}
#zz .ok{display:none;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--parch2);padding:14px 18px;font-size:16px}
#zz .ok.on{display:flex;animation:zzfade .35s ease}
#zz .ok a{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
#zz .trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 20px;background:var(--parch2);padding:18px 20px}
#zz .trust div{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.3}
#zz .trust svg{flex:none;color:var(--acc)}
#zz .trust b{font-weight:600}
@keyframes zzfade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
#zz .pil{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));border:1px solid var(--dline)}
#zz .pil>div{display:flex;flex-direction:column;gap:12px;padding:28px;border-right:1px solid var(--dline)}
#zz .pil b{font-size:13px;color:var(--rose)}
#zz .pil h3{font-size:19px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1.25}
#zz .pil p{font-size:17px;color:var(--dbody)}
#zz .comm{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
#zz footer.zf{background:var(--dark);color:var(--dtext);padding:48px 24px 36px}
#zz .zf .top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
#zz .zf .cols{display:flex;flex-wrap:wrap;gap:56px}
#zz .zf .col{display:flex;flex-direction:column;gap:10px;font-size:17px}
#zz .zf .col span{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--dmuted)}
#zz .zf .col a:hover{color:var(--rose)}
#zz .zf .copy{display:block;margin-top:36px;border-top:1px solid var(--dline);padding-top:20px;font-size:14px;color:#8E867C}
#zz .qvm{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(25,23,22,.6)}
#zz .qvm.on{display:flex;animation:zzfade .25s ease}
#zz .qvd{background:var(--parch);width:100%;max-width:980px;max-height:90vh;overflow:auto;display:flex;flex-wrap:wrap;position:relative}
#zz .qvd .x{position:absolute;top:12px;right:12px;z-index:3;background:var(--parch)}
#zz .qv-g{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:8px;padding:16px}
#zz .qv-main{position:relative;aspect-ratio:1/1;background:transparent}
#zz .qv-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#zz .qv-th{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
#zz .qv-th button{position:relative;aspect-ratio:1/1;border:2px solid transparent;background:transparent;padding:0;cursor:pointer}
#zz .qv-th button[aria-pressed="true"]{border-color:var(--acc)}
#zz .qv-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#zz .qv-i{flex:1 1 380px;min-width:0;padding:36px 32px;display:flex;flex-direction:column;gap:14px}
#zz .qv-i .f{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
#zz .qv-i h4{margin:0;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.2}
#zz .qv-i .p{font-size:20px}
#zz .qv-i .p b{font-weight:700}
#zz .qv-i .d{font-size:16px;color:var(--body)}
#zz .qv-i .d p{margin:0 0 8px}
#zz .qv-i ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:15px}
#zz .qv-i li b{font-weight:600}
@media (prefers-reduced-motion:reduce){#zz .rev{opacity:1;transform:none;transition:none}#zz .mq{animation:none}html{scroll-behavior:auto}}
@media (max-width:900px){#zz .h1{font-size:36px}#zz .h2{font-size:30px}#zz .h3c{font-size:26px}#zz nav.zn{gap:14px}#zz nav.zn a{font-size:12px}#zz .box .R{border-left:0;border-top:1px solid var(--line);padding:24px}#zz .sec{padding:48px 18px 72px}#zz header.zh{position:static}#zz .rail{grid-auto-columns:70%}#zz .frow{flex-direction:column;gap:6px}#zz .flab{padding-top:0}}
#zz .strip{background:transparent}
#zz .tile{background:transparent;background-image:none;border:1px solid var(--line2)}
#zz .tile[aria-pressed="true"]{border:2px solid var(--acc)}
#zz .tile b{color:var(--acc)}
#zz .tile span{color:var(--ink)}
#zz .qvd{max-width:1080px}
#zz .qv-i{padding:40px 32px 24px}
#zz .qv-i .p b{font-size:24px}
#zz .qv-i .lnk2{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);border-bottom:1px solid currentColor;padding-bottom:2px}
#zz .qv-desc{flex:1 1 100%;padding:24px 32px 32px;border-top:1px solid var(--line);font-size:16px;line-height:1.6;color:var(--body)}
#zz .qv-desc h5{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
#zz .qv-desc p{margin:0 0 10px}
#zz .qv-desc img{max-width:100%;height:auto}
#zz #zz-qvopts .row{flex-direction:column;align-items:flex-start;gap:8px}
#zz #zz-qvopts .row .lb{min-width:0}
#zz #zz-qvopts .opts{flex:none;width:100%}
#zz .qv-i .p{margin-top:6px}
#zz .qv-desc .lnk2{display:inline-block;margin-top:16px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);border-bottom:1px solid currentColor;padding-bottom:2px}
#zz .fpanel .pcard .p,#zz .fpanel .pcard .p b{font-weight:300}
#zz .fp-top{flex-wrap:nowrap}
#zz .fp-top h4{flex:none}
#zz .fp-cats{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:6px}
#zz .fp-cats .chips{flex:0 1 auto;min-width:0;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}
#zz .fp-cats .chips::-webkit-scrollbar{display:none}
#zz .fp-cats .chip{white-space:nowrap;flex:none}
#zz .fp-arr{display:none;width:40px;height:40px;flex:none;border:1px solid var(--line2);background:transparent;cursor:pointer;padding:0;font-size:16px;line-height:1;color:var(--ink)}
#zz .fp-arr:hover{border-color:var(--ink)}
#zz .fp-cats.ovf .fp-arr{display:flex;align-items:center;justify-content:center}
@media (max-width:900px){#zz .fp-top{flex-wrap:wrap}#zz .fp-cats{flex-basis:100%;order:3;justify-content:flex-start}}
#zz .pill.na{opacity:.35;text-decoration:line-through;cursor:not-allowed;border-style:dashed}
#zz .wbpanel{display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--line);padding:18px 20px}
#zz .wbpanel .pgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#zz .wbpanel .pcard{gap:6px}
#zz .wbpanel .pcard .f{display:none}
#zz .wbpanel .pcard .ct{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#zz .wbpanel .pcard .p,#zz .wbpanel .pcard .p b{font-size:13px;font-weight:300}
#zz .wbpanel .qv{left:6px;right:6px;bottom:6px;min-height:34px;padding:6px;font-size:10px}
#zz .wb-note{margin-top:18px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){#zz .wbpanel .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#zz header.zh{padding:0 32px}
#zz .zh .wrap{max-width:1240px;min-height:0;padding:26px 0 40px;gap:16px 36px;flex-wrap:wrap}
#zz .zh .logo{font-size:24px;font-weight:700;letter-spacing:.03em;color:var(--acc);gap:0}
#zz .zh .logo span{font-size:inherit;font-weight:700;letter-spacing:inherit;color:var(--acc)}
#zz nav.zn{order:3;flex-basis:100%;justify-content:flex-start;gap:10px 34px}
#zz nav.zn a{font-size:16px;font-weight:400;letter-spacing:.06em;padding-bottom:3px}
#zz .zh .r{gap:10px}
#zz .zh .btn{min-height:48px;padding:12px 18px;font-size:12px}
#zz .btn.track{border-color:var(--acc);color:var(--acc);background:transparent}
#zz .btn.track:hover{background:var(--acc);color:#fff}

@media (max-width:640px){#zz header.zh{padding:0 16px}#zz nav.zn{gap:8px 18px}#zz nav.zn a{font-size:14px}#zz .zh .r{width:100%}#zz .zh .r .btn{flex:1}}
#zz .zh .wrap{row-gap:0}#zz .zh .wrap::before{content:"";order:1;flex-basis:100%;height:14px}#zz .zh .logo{order:0}#zz nav.zn{order:2;flex:1;flex-basis:auto}#zz .zh .r{order:3}#zz nav.zn a{letter-spacing:.03em}
#zz .tiers{background:var(--parch2);border-bottom:1px solid var(--line);padding:34px 24px}
#zz .tiers .wrap{display:block}
#zz .tiers .tl{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 0}
#zz .tiers .tl i{display:block;width:1px;height:40px;background:var(--line2)}
#zz .tiers .li{display:flex;flex-direction:column;line-height:1.3}
#zz .tiers .li b{font-size:15px;font-weight:700;color:var(--ink)}
#zz .tiers .t small,#zz .tiers .li small{font-size:12px;font-weight:300;color:var(--body)}#zz .tiers .t{gap:10px}
#zz .tiers .t{display:flex;align-items:center;gap:12px}
#zz .tiers .t>b{font-size:30px;font-weight:700;color:var(--acc);line-height:1;letter-spacing:0}
#zz .tiers .t span{display:flex;flex-direction:column;line-height:1.3}
#zz .tiers .t strong{font-size:15px;font-weight:700;color:var(--ink)}
#zz .tiers .li b,#zz .tiers strong,#zz .tiers small,#zz .tiers span{text-transform:uppercase;letter-spacing:.03em}
#zz .eye,#zz .btn,#zz .fp-more,#zz .chip,#zz .flab,#zz .pcard .f,#zz .main .off,#zz .main .cap em,#zz .bx-head .army,#zz .bx-head .lnk,#zz .step,#zz .row .lb,#zz .ok a,#zz .zf .col span,#zz .qv-i .f,#zz .qv-i .lnk2,#zz .qv-desc h5,#zz .qv-desc .lnk2,#zz .wb-note,#zz .rail .pimg i,#zz .alli-h>span,#zz .tile b,#zz .qv{letter-spacing:.05em}
#zz .eye,#zz .fp-more,#zz .flab,#zz .step,#zz .row .lb,#zz .bx-head .army,#zz .bx-head .lnk,#zz .qv-i .lnk2,#zz .qv-desc .lnk2,#zz .wb-note,#zz .ok a,#zz .btn,#zz .zh .btn{font-size:13px}
#zz .alli-h h3{letter-spacing:.03em}
#zz .plat{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media (max-width:900px){#zz .plat{grid-template-columns:repeat(2,minmax(0,1fr))}}

#zz .grid-f .fpanel{grid-column:1/-1}
@media (max-width:900px){#zz .zh .wrap::before{height:10px}#zz nav.zn{flex:0 0 100%}#zz .zh .r{width:100%;margin-top:18px;align-items:stretch}#zz .zh .r .btn{flex:1 1 0;height:46px;min-height:46px;padding:0 10px;white-space:nowrap}#zz .tiers{padding:12px 16px 14px}#zz .tiers .tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 6px;text-align:center}#zz .tiers .tl i{display:none}#zz .tiers .li{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:2px 8px;align-items:baseline}#zz .tiers .li b{font-size:12px}#zz .tiers .t{flex-direction:column;gap:3px}#zz .tiers .t>b{font-size:19px}#zz .tiers .t span{align-items:center}#zz .tiers .t strong{font-size:11px}#zz .tiers .t small,#zz .tiers .li small{font-size:10px}#zz .grid-f{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media (hover:none),(max-width:900px){#zz .qv{position:static;opacity:1;transform:none;display:block;width:100%;margin-top:8px;padding:9px 8px;min-height:0}}

#zz .fp-cta{align-self:flex-end}
#zz .rail-nav{justify-content:flex-end;margin-top:-8px}
#zz #zz-news .head{max-width:960px}
#zz .chip.na{opacity:.28;cursor:not-allowed;pointer-events:none}
#zz .rail{grid-auto-columns:calc((100% - 48px)/3)}
#zz #zz-rail,#zz #zz-drail{margin-top:32px}#zz #zz-drail .pimg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:20%;background:var(--dark);z-index:1;pointer-events:none}#zz #zz-prows .row{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 0}#zz #zz-prows .row .lb{min-width:0}#zz #zz-prows .opts{flex:0 0 auto;width:100%}#zz #zz-prows .pill.na{opacity:.35}#zz #zz-pbox{border:0;background:none;box-shadow:none;clip-path:none;padding:0}#zz #zz-pbox .R{padding:8px 0 8px 40px}@media(max-width:900px){#zz #zz-pbox{padding:0}#zz #zz-pbox .R{padding:24px 0 0}}#zz header.zh.zfix{position:fixed;left:0;right:0;top:var(--zadm,0px);transform:translateY(-110%);transition:transform .3s ease;box-shadow:0 6px 18px rgba(0,0,0,.08)}#zz header.zh.zfix.zon{transform:none}#zz header.zh.zfix{background:rgba(20,18,17,.78);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);border-bottom-color:rgba(255,255,255,.08)}#zz header.zh.zfix .logo,#zz header.zh.zfix .wrap::before{display:none}#zz header.zh.zfix .wrap{padding:14px 0}#zz header.zh.zfix nav.zn a{color:#ECE7DF;border-bottom-color:transparent}#zz header.zh.zfix nav.zn a:hover,#zz header.zh.zfix nav.zn a.on{border-bottom-color:#ECE7DF}#zz header.zh.zfix .btn.track{color:#ECE7DF;border-color:rgba(236,231,223,.45);background:transparent}#zz header.zh.zfix .btn.track svg{color:#ECE7DF}@media(max-width:900px){#zz header.zh.zfix .wrap{padding:12px 0}#zz header.zh.zfix .zh .r,#zz header.zh.zfix .r{margin-top:10px}#zz header.zh.zfix .r .btn{height:40px;min-height:40px}}#zz .qv-main{overflow:hidden}@media(hover:hover){#zz .qv-main img{transition:transform .2s ease-out;cursor:zoom-in}#zz .qv-main:hover img{transform:scale(2.2)}}#zz .qv-i .pay{margin-top:-2px;color:var(--acc);font-size:26px;gap:10px}#zz .fcard{position:relative}#zz .fcard .flink{position:absolute;left:-6px;top:calc(100% + 5px);white-space:nowrap;z-index:2;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);background:transparent;padding:3px 6px 2px;border-bottom:1px solid var(--acc);opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease,background .2s,color .2s;pointer-events:none}#zz .fcard .n .ct{display:block;position:relative;transition:transform .25s ease,color .25s}#zz .fcard:hover .n .ct{transform:translateY(calc(-1 * var(--lift,14px)))}#zz .fcard:hover .flink{opacity:1;transform:none;pointer-events:auto}#zz .fcard .flink:hover{background:var(--acc);color:#fff;border-bottom-color:var(--acc)}@media(hover:none){#zz .fcard .flink{display:none}#zz .fcard:hover .n .ct{transform:none}}#zz .dnav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}#zz .dnav .rail-nav{margin:0}
@media (max-width:900px){#zz .rail{grid-auto-columns:calc((100% - 12px)/2);gap:12px}#zz .rail .pcard .ct{font-size:13px}#zz .rail .pcard .p{font-size:13px}#zz .rail-nav{justify-content:center;margin-top:0}#zz .fp-cta{align-self:stretch;text-align:center}#zz .frow .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-18px;padding-right:18px}#zz .frow .chips::-webkit-scrollbar{display:none}#zz .frow .chip{flex:0 0 auto;white-space:nowrap}#zz .fp-cats.ovf .fp-arr,#zz .fp-arr{display:none}#zz .fp-cats{min-width:0;max-width:100%}#zz .fp-cats .chips{max-width:none!important;flex:1 1 auto}#zz .fpanel .fp-top h4{flex:1 1 0;min-width:0;font-size:22px}}

@media (hover:none),(max-width:900px){#zz .qv{background:var(--parch);color:var(--acc);border:1px solid var(--acc)}#zz .fpanel .qv,#zz .wbpanel .qv{background:var(--card)}#zz .dark .qv{background:var(--dark);color:var(--rose);border-color:var(--rose)}#zz .qv:active{background:var(--acc);color:#fff;border-color:var(--acc)}}

#zz .loading{display:flex;align-items:center;gap:9px;animation:zzbreath 1.8s ease-in-out infinite}
#zz .loading::before{content:"";width:15px;height:15px;flex:none;background:var(--ink);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h12M6%2022h12M7%202v4l5%206-5%206v4M17%202v4l-5%206%205%206v4%27%2F%3E%3Cpath%20d%3D%27M9.5%2019h5%27%20stroke-width%3D%272.4%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h12M6%2022h12M7%202v4l5%206-5%206v4M17%202v4l-5%206%205%206v4%27%2F%3E%3Cpath%20d%3D%27M9.5%2019h5%27%20stroke-width%3D%272.4%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;animation:zzglass 1.8s ease-in-out infinite}
#zz .dark .loading::before{background:var(--dtext)}
@keyframes zzbreath{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes zzglass{0%,35%{transform:rotate(0)}65%,100%{transform:rotate(180deg)}}
@media (prefers-reduced-motion:reduce){#zz .loading,#zz .loading::before{animation:none}}

#zz #zz-qvprice s{color:var(--muted);font-weight:300;text-decoration:line-through;margin-right:4px}

#zz .chip .adot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:1px;box-shadow:0 0 0 1.5px rgba(255,255,255,.85)}

#zz .bx-head .army,#zz .bx-head .sum{display:none}
#zz .bx-head .pr .pct{align-self:center;background:var(--acc);color:#fff;font-size:14px;font-weight:700;padding:4px 9px;letter-spacing:.02em}
#zz .R .plnk{align-self:flex-start;font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--acc);border-bottom:1px solid currentColor;padding-bottom:2px;margin:6px 0 -4px}
#zz .R .plnk:hover{color:var(--accd)}
#zz .bx-head .pr .pct:empty,#zz .main .off:empty{display:none}

#zz .igC{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
#zz .igc{display:flex;flex-direction:column;gap:10px;color:var(--ink)}
#zz .igi{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;background:var(--dark);box-shadow:0 6px 18px rgba(0,0,0,.12)}
#zz .igi img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
#zz .igc:hover .igi img{transform:scale(1.04)}
#zz .igp{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--acc);display:flex;align-items:center;justify-content:center;font-size:19px;padding-left:4px;transition:transform .2s}
#zz .igc:hover .igp{transform:translate(-50%,-50%) scale(1.08)}
#zz .igx{font-size:14px;line-height:1.45;color:var(--body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#zz .igs{display:flex;gap:18px;font-size:13px;font-weight:600;color:var(--muted)}
#zz .igs span{display:inline-flex;align-items:center;gap:6px}
#zz .igc:hover .igs{color:var(--acc)}
@media (max-width:900px){#zz .igC{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#zz .igx{font-size:13px}}

#zz .main .off{display:none!important}
#zz .box .R{border-left:0}
#zz .L .lcap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--dark);color:var(--dtext);font-size:15px;font-weight:500;text-align:left}
#zz .L .lcap em{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--rose);margin-right:10px}
#zz .L .lcap span{text-transform:none}
#zz .stripH{display:flex;align-items:center;gap:8px;padding:14px 8px 2px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
#zz .stripH i{width:8px;height:8px;border-radius:50%;background:var(--acc);animation:zzlive 1.6s ease-in-out infinite}
@keyframes zzlive{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}
#zz .strip{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){#zz .L .lcap{font-size:13px;padding:10px 12px}}

#zz .R .addbtn{font-size:15px;min-height:58px;letter-spacing:.05em}
#zz .trust2{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border:1px solid var(--line2);background:transparent}
#zz .trust2 p{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:15px;line-height:1.45;color:var(--body)}
#zz .trust2 svg{flex:none;width:20px;height:20px;color:var(--acc);margin-top:1px}
#zz .trust2 .t-del{font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--acc);padding-bottom:14px;margin-bottom:2px;border-bottom:1px solid var(--line)}
#zz .trust2 .t-del span{text-transform:uppercase;letter-spacing:.03em}
#zz .trust2 .t-del b{font-weight:800}
#zz .trust2 strong{font-weight:600;color:var(--ink)}
#zz .trust2 a{color:inherit;text-decoration:underline;text-underline-offset:2px}
#zz .trust2 a:hover{color:var(--acc)}
#zz .pay{display:flex;align-items:center;gap:14px;font-size:34px;line-height:1;color:var(--accd);margin-top:-6px}
@media (max-width:900px){#zz .trust2{padding:14px 16px}#zz .trust2 p{font-size:14px}#zz .pay{font-size:30px}}

#zz .plinks{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin:6px 0 -4px}
#zz .plinks .plnk{margin:0}
#zz button.pinfo{background:none;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:0 0 2px;cursor:pointer;font-family:inherit;line-height:inherit;min-height:0}
#zz .dmod{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(25,23,22,.6)}
#zz .dmod.on{display:flex;animation:zzfade .25s ease}
#zz .dmod-b{position:relative;width:100%;max-width:680px;max-height:85vh;overflow:auto;display:flex;flex-direction:column;gap:16px;padding:34px 34px 30px;background:var(--parch);box-shadow:0 20px 60px rgba(0,0,0,.35)}
#zz .dmod-b h4{margin:0 48px 0 0;font-size:22px;font-weight:700;line-height:1.25;text-transform:uppercase;letter-spacing:.02em}
#zz .dmod-c{font-size:15px;line-height:1.6;color:var(--body)}
#zz .dmod-c p{margin:0 0 10px}
#zz .dmod-c ul{margin:0 0 10px;padding-left:20px}
#zz .dmod-c strong,#zz .dmod-c b{color:var(--ink);font-weight:600}
#zz .dmod .dx{position:absolute;top:14px;right:14px;width:40px;height:40px;padding:0;border:1px solid var(--line2);background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
#zz .dmod .dx:hover{border-color:var(--ink)}
#zz .dmod .plnk{align-self:flex-start;font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--acc);border-bottom:1px solid currentColor;padding-bottom:2px}
#zz .dmod .plnk:hover{color:var(--accd)}
@media (max-width:900px){#zz .dmod{padding:12px}#zz .dmod-b{padding:26px 20px 22px;max-height:90vh}#zz .dmod-b h4{font-size:18px}}

#zz .L .lcap{display:none!important}
#zz .stripH{padding-top:16px}
#zz .tile{position:relative}
#zz .tile .tq{position:absolute;top:8px;right:8px;font-style:normal;font-size:12px;font-weight:700;line-height:1;color:#fff;background:var(--acc);padding:4px 7px;letter-spacing:.02em}

#zz .main{position:relative}
#zz .gnav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;padding:0;display:none;align-items:center;justify-content:center;border:1px solid var(--line2);background:rgba(238,234,227,.92);color:var(--ink);font-size:18px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
#zz .main.multi .gnav{display:flex}
#zz .gp{left:12px}
#zz .gn{right:12px}
#zz .gnav:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
#zz .gcnt{position:absolute;right:12px;bottom:12px;z-index:3;font-size:12px;font-weight:600;letter-spacing:.05em;color:#fff;background:rgba(25,23,22,.75);padding:4px 8px}
#zz .gcnt:empty{display:none}
#zz .stripH{padding-top:30px}

#zz .gcnt{display:none!important}
#zz .gbar{display:none;justify-content:center;gap:10px;padding:14px 0 0}
#zz .main.multi + .gbar{display:flex}
#zz .gbar .gnav,#zz .znav .gnav{position:static;transform:none;display:flex}
#zz .tile .tz{position:absolute;top:6px;left:6px;z-index:2;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--ink);cursor:zoom-in;transition:background .2s,color .2s,border-color .2s}
#zz .tile .tz:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
#zz .zmod .dmod-b{max-width:820px}
#zz .zbox{display:flex;align-items:center;justify-content:center;min-height:320px;background:transparent}
#zz .zbox img{display:block;max-width:100%;max-height:62vh;object-fit:contain}
#zz .zfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#zz .zsub{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
#zz .znav{display:none;gap:10px}
#zz .zmod.multi .znav{display:flex}

#zz .tile .ti{position:absolute;left:6px;right:6px;top:6px;bottom:46px;width:calc(100% - 12px);height:calc(100% - 52px);object-fit:contain;pointer-events:none}
#zz .tile b,#zz .tile span{position:relative;z-index:1}

#zz #zz-rows .row{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 0}
#zz #zz-rows .row .lb{min-width:0}
#zz #zz-rows .opts{flex:none;width:100%}
#zz .bx-head .ttl{font-size:19px;font-weight:300;color:var(--acc);line-height:1.3}
#zz .plinks{margin-top:22px}
#zz .trust2{display:none!important}
#zz .R .pay{margin-top:-8px;color:var(--acc);font-size:26px;gap:10px}

#zz #zz-boxel{border:0;background:var(--card);box-shadow:0 0 0 100vmax var(--card);clip-path:inset(0 -100vmax);padding:28px 0}
#zz #zz-boxel .R{padding:8px 0 8px 40px}
#zz .bx-head .ttl{font-size:15px;font-weight:300;letter-spacing:.04em}
#zz .R .step{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
#zz .R .step::before{content:"";width:36px;height:1px;background:currentColor}
#zz .tile{overflow:hidden}
#zz .tile .ti{top:34px;bottom:auto;left:10px;right:10px;width:calc(100% - 20px);height:calc(100% - 90px);transform:none;object-fit:contain;opacity:0;transition:opacity .25s}
#zz .tile .ti.in{opacity:1}
@media (max-width:900px){#zz #zz-boxel{padding:18px 0}#zz #zz-boxel .R{padding:24px 0 0}}

#zz .tile::before,#zz .tile::after{content:"";position:absolute;left:0;right:0;z-index:1;background:var(--card);pointer-events:none}
#zz .tile::before{top:0;height:32px}
#zz .tile::after{bottom:0;height:50px}
#zz .tile b,#zz .tile span,#zz .tile .tz,#zz .tile .tq{z-index:2}
#zz .tile .tz span{z-index:auto}

#zz .tile::before,#zz .tile::after{display:none}
#zz .tile .tz{background:transparent}
#zz .tile > b{align-self:flex-start}
#zz .tile > span:not(.tz){align-self:stretch}

#zz #zz-zsub,#zz #zz-zlink{display:none!important}
#zz .zbase{margin-top:-8px;font-size:14px;font-weight:300;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
#zz .zbox{overflow:hidden}
#zz .zbox img{transition:transform .2s ease;cursor:zoom-in}
@media (hover:hover){#zz .zbox:hover img{transform:scale(2.2)}}
#zz .zfoot{justify-content:flex-end}

#zz footer.zf{padding:56px 24px 32px}
#zz .zf-perks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-bottom:36px;margin-bottom:44px;border-bottom:1px solid var(--dline)}
#zz .zf-perks>div{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--dbody)}
#zz .zf-perks svg{flex:none;color:var(--rose);margin-top:1px}
#zz .zf-perks b{display:block;margin-bottom:3px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dtext)}
#zz .zf .brand{display:flex;flex-direction:column;gap:12px;max-width:380px}
#zz .zf .zlogo{font-size:24px;font-weight:700;letter-spacing:.03em;color:var(--rose)}
#zz .zf .brand p{margin:0;font-size:15px;line-height:1.55;color:var(--dmuted)}
#zz .zf .brand p a{color:var(--dtext);text-decoration:underline;text-underline-offset:2px}
#zz .zf .soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
#zz .zf .soc a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--dline);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--dtext);transition:border-color .2s,color .2s}
#zz .zf .soc a:hover{border-color:var(--rose);color:var(--rose)}
#zz .zf .col{font-size:15px;gap:11px}
#zz .zf .col a{color:var(--dbody)}
#zz .zf .col span{font-size:13px}
#zz .zf .bot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:44px;padding-top:20px;border-top:1px solid var(--dline)}
#zz .zf .bot .copy{display:inline;margin:0;padding:0;border:0;font-size:13px}
#zz .zf .pay{display:flex;margin:0;gap:10px;font-size:26px;color:var(--dmuted)}
@media (max-width:900px){#zz .zf-perks{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}#zz .zf .cols{gap:36px}}
@media (max-width:520px){#zz .zf-perks{grid-template-columns:1fr}}
#zz .zf-perks span{font-weight:300}#zz .zf-perks span b{font-weight:700}@media(max-width:767px){#zz footer.zf .bot{padding-bottom:84px}}#zz footer.zf .cols a,#zz footer.zf .copy{text-transform:uppercase;letter-spacing:.06em}#zz footer.zf .cols a{font-size:12.5px;font-weight:400}#zz footer.zf .cols .col>span{font-weight:700;color:#ECE7DF}#zz footer.zf .copy{font-size:11px}#zz .edge{overflow:hidden;margin-bottom:-1px;margin-top:-1px}#zz .edge[data-edge="A"]{background:linear-gradient(var(--parch) calc(100% - 6px),var(--dark) calc(100% - 6px))!important}#zz .edge[data-edge="B"]{background:linear-gradient(var(--dark) calc(100% - 6px),var(--parch) calc(100% - 6px))!important}#zz .edge svg{height:57px}/* ===== Accueil : encadré Avantages ===== */
#zz .zfa{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;border:1px solid var(--line2);background:var(--card);padding:48px 52px}
#zz .zfa-l{display:flex;flex-direction:column;gap:18px;min-width:0}
#zz .zfa-l .h2{margin:0}
#zz .zfa-l .lead{margin:0}
#zz .zfa-f{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
#zz .zfa-f li{display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:400;line-height:1.45;color:var(--body);margin:0}
#zz .zfa-f svg{flex:none;color:var(--acc);margin-top:1px}
#zz .zfa-b{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:8px}
#zz .zfa-r{min-width:0}
#zz .zfa-lk{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);text-decoration:underline;text-underline-offset:4px}
#zz .zfa-lk:hover{color:var(--accd)}
#zz .zfa-demo{--gc:var(--acc);--gt:var(--acc);background:var(--parch);border:1px solid var(--gc);padding:28px 28px 26px;transition:border-color .5s}
#zz .zfa-demo p{margin:0}
#zz .zfa-k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
#zz .zfa-g{font-size:26px;font-weight:700;line-height:1.15;text-transform:uppercase;color:var(--ink);margin-top:6px!important;transition:opacity .25s}
#zz .zfa-g.out{opacity:0}
#zz .zfa-gr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:18px}
#zz .zfa-gr i{display:block;height:3px;background:var(--line);transition:background .5s}
#zz .zfa-gr i.on{background:var(--gc)}
#zz .zfa-gl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:7px}
#zz .zfa-gl span{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted)}
#zz .zfa-sep{height:1px;background:var(--line);margin:22px 0 20px}
#zz .zfa-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
#zz .zfa-m{font-size:24px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
#zz .zfa-pa{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:14px}
#zz .zfa-pa div{display:flex;flex-direction:column;gap:7px}
#zz .zfa-pa i{display:block;height:6px;background:var(--line);position:relative;overflow:hidden;transition:opacity .4s}
#zz .zfa-pa i b{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gc)}
#zz .zfa-pa span{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted);transition:color .3s,opacity .4s}
#zz .zfa-pa .hit span{color:var(--gt)}
#zz .zfa-pa .lock i{background:repeating-linear-gradient(90deg,var(--line) 0 4px,transparent 4px 7px)}
#zz .zfa-pa .lock span{opacity:.45}
#zz .zfa-gift{display:flex;gap:14px;align-items:center;margin-top:22px;padding:14px 16px;border:1px solid var(--line);background:var(--card);min-height:76px;box-sizing:border-box}
#zz .zfa-gift svg{flex:none;color:var(--gt);transition:color .5s}
#zz .zfa-gift p{display:flex;flex-direction:column;gap:3px}
#zz .zfa-gift b{font-size:16px;font-weight:600;color:var(--ink);line-height:1.3;transition:opacity .25s}
#zz .zfa-gift b.out{opacity:0}
#zz .zfa-gift.pop{animation:zfapop .5s ease-out}
@keyframes zfapop{0%{transform:scale(1)}40%{transform:scale(1.025)}100%{transform:scale(1)}}
@media (max-width:900px){
  #zz .zfa{grid-template-columns:1fr;gap:32px;padding:30px 20px}
  #zz .zfa-demo{padding:22px 18px 20px}
  #zz .zfa-g{font-size:22px}
  #zz .zfa-gl span{font-size:10px}
}
@media (prefers-reduced-motion:reduce){#zz .zfa-gift.pop{animation:none}}

/* ===== Page faction type (Héritage) ===== */
#zz .fx-off{display:none!important}
#zz #zz-box .steps{display:none}
#zz .fx-hero{position:relative;overflow:hidden;background:var(--fbg,#1D2230);color:var(--dtext);padding:72px 0 64px}
#zz .fx-hw{position:relative;min-height:390px}
#zz .fx-in{position:relative;z-index:1;max-width:560px}
#zz .fx-hero .eye{color:var(--facc,#D7B46A)}
#zz .fx-hero .eye::before{background:var(--facc,#D7B46A)}
#zz .fx-hero .h1{color:var(--dtext);margin:8px 0 0}
#zz .fx-hero .lead{color:var(--dbody);margin-top:18px}
#zz .fx-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
#zz .fx-hero .btn.fx-light{background:var(--dtext);border-color:var(--dtext);color:var(--ink)}
#zz .fx-hero .btn.fx-light:hover{background:#fff;border-color:#fff;color:var(--ink)}
#zz .fx-hero .btn.fx-line{background:transparent;border-color:rgba(236,231,223,.55);color:var(--dtext)}
#zz .fx-hero .btn.fx-line:hover{border-color:var(--dtext);background:rgba(236,231,223,.08)}
#zz .fx-facts{display:flex;flex-wrap:wrap;gap:10px 36px;margin-top:30px;padding-top:20px;border-top:1px solid rgba(236,231,223,.14)}
#zz .fx-facts p{margin:0;font-size:13px;font-weight:300;color:var(--dbody)}
#zz .fx-facts b{display:block;font-size:24px;font-weight:700;line-height:1.1;color:var(--dtext)}
#zz .fx-img{position:absolute;right:0;bottom:-64px;width:52%;max-width:660px;opacity:0;transform:translateY(80px);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);animation:fxUp 1.6s .15s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes fxUp{to{transform:translateY(0);opacity:.42}}
@media (prefers-reduced-motion:reduce){#zz .fx-img{animation:none;opacity:.42;transform:none}}
/* Cartes de choix du coffret */
#zz .fx-pick:empty{display:none}
#zz .fx-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#zz .fx-card{display:flex;flex-direction:column;text-align:left;padding:0;margin:0;background:var(--card);border:2px solid var(--line);border-radius:0;box-shadow:none;color:var(--ink);font-family:inherit;cursor:pointer;overflow:hidden;transition:border-color .2s}
#zz .fx-card:hover{border-color:var(--line2)}
#zz .fx-card[aria-pressed="true"]{border-color:var(--acc)}
#zz .fx-vis{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;aspect-ratio:16/7;padding:18px 22px;box-sizing:border-box;background-color:var(--fbg,#1D2230);background-size:cover;background-position:center 40%}
#zz .fx-vis::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,var(--fbg,#1D2230) 0%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.55) 100%);opacity:.92}
#zz .fx-vis>*{position:relative}
#zz .fx-rub{position:absolute!important;top:14px;left:22px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--dtext);padding:4px 8px}
#zz .fx-card[aria-pressed="true"] .fx-rub{background:var(--facc,#D7B46A)}
#zz .fx-fil{font-size:64px;font-weight:700;line-height:.85;text-transform:uppercase;color:rgba(236,231,223,.2)}
#zz .fx-chk{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:50%;border:1px solid rgba(236,231,223,.6);color:transparent}
#zz .fx-chk svg{width:16px;height:16px}
#zz .fx-card[aria-pressed="true"] .fx-chk{background:var(--acc);border-color:var(--acc);color:#fff}
#zz .fx-cb{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;flex:1}
#zz .fx-cb .k{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
#zz .fx-cb .t{font-size:22px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.2}
#zz .fx-det{display:flex;flex-direction:column;gap:10px}
#zz .fx-cb .d{font-size:15px;font-weight:400;line-height:1.5;color:var(--body)}
#zz .fx-pts{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}
#zz .fx-pts>span{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:400;color:var(--body)}
#zz .fx-pts i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;box-sizing:border-box;border-radius:50%;font-style:normal;font-size:12px;font-weight:700}
#zz .fx-pts .fx-ok i{background:var(--acc);border:1px solid var(--acc);color:#fff}
#zz .fx-pts .fx-no i{background:transparent;border:1px solid var(--dmuted);color:var(--muted)}
#zz .fx-pr{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:14px}
#zz .fx-pr b{font-size:24px;font-weight:700}
#zz .fx-pr s{font-size:15px;font-weight:300;color:var(--muted)}
#zz .fx-pr em{font-style:normal;font-size:11px;font-weight:600;background:var(--acc);color:#fff;padding:3px 7px;align-self:center}
#zz .fx-more{display:none;margin:12px 0 0;padding:6px 0;background:none;border:0;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
/* Réassurance sous le bouton panier */
#zz .fx-trust{display:flex;flex-direction:column;margin-top:20px;border-top:1px solid var(--line)}
#zz .fx-tl{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
#zz .fx-tl svg{width:22px;height:22px;flex:none;margin-top:2px;color:var(--acc)}
#zz .fx-tl p{margin:0;font-size:14px;font-weight:300;line-height:1.5;color:var(--body)}
#zz .fx-tl p b{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:2px}
#zz .fx-tl p strong{font-weight:600}
/* Unités */
#zz .fx-units{padding:48px 0 72px}
#zz .fx-crs{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:40px}
#zz .fx-crs>span{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
#zz .fx-grp{margin-top:54px;padding-top:40px;border-top:1px solid var(--line)}
#zz .fx-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:22px}
#zz .fx-h3{margin:0;font-size:26px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.15}
#zz .fx-n{font-size:13px;font-weight:300;letter-spacing:.04em;text-transform:none;margin-left:10px;color:var(--muted)}
#zz .fx-head .fx-tog{background:none;border:0;padding:6px 0;margin:0;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#zz .fx-bas{display:flex;justify-content:center;margin-top:28px}
#zz .fx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}
#zz .fx-pc .fx-ban{display:flex;align-items:center;justify-content:center;height:26px;background:var(--ink);color:var(--dtext);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center}
#zz .fx-pc .fx-ban.vide{background:transparent}
#zz .fx-pc .f{display:none}
#zz .fx-dg{align-self:flex-start;display:inline-flex;margin-top:10px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
#zz .fx-dg>b{background:#B3261E;color:#fff;padding:3px 7px;border:1px solid #B3261E;font-weight:600}
#zz .fx-dg>span{display:inline-flex;align-items:center;gap:4px;color:#B3261E;padding:3px 7px;border:1px solid #B3261E;border-left:0}
#zz .fx-dg svg{width:11px;height:11px}
#zz .fx-dg .sm{display:none}
#zz .fx-sw{position:fixed;left:16px;bottom:16px;z-index:60;display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--card);border:1px solid var(--line2);box-shadow:0 10px 30px rgba(0,0,0,.18);padding:10px 12px;max-width:calc(100% - 32px)}
#zz .fx-sw>span{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
@media(max-width:900px){
#zz .fx-hw{min-height:0;padding-bottom:190px}
#zz .fx-img{right:auto;left:50%;width:110%;max-width:none;transform:translate(-50%,80px)}
@keyframes fxUp{to{transform:translate(-50%,0);opacity:.42}}
#zz .fx-cards{grid-template-columns:1fr;gap:14px}
#zz .fx-vis{aspect-ratio:auto;height:96px}
#zz .fx-fil{font-size:40px}
#zz .fx-det{display:none}
#zz .fx-open .fx-det{display:flex}
#zz .fx-more{display:inline-block}
#zz .fx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
#zz .fx-dg .lg{display:none}
#zz .fx-dg .sm{display:inline}
#zz .fx-sw{left:8px;right:8px;bottom:8px;max-width:none}
}

#zz .fx-pc .pw{position:relative}
#zz .fx-zoom{position:absolute;top:8px;right:8px;z-index:3;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:0;padding:0;margin:0;background:rgba(246,243,238,.92);color:var(--ink);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15)}
#zz .fx-zoom:hover{background:var(--ink);color:var(--parch)}
#zz .fx-zoom svg{width:16px;height:16px}
#zz .fx-lb{position:fixed;inset:0;z-index:200;background:rgba(20,18,17,.82);display:none;align-items:center;justify-content:center;padding:24px}
#zz .fx-lb.on{display:flex}
#zz .fx-lbin{position:relative;background:var(--card);padding:16px;width:100%;max-width:min(860px,calc(100vh - 140px));box-sizing:border-box}
#zz .fx-lbz{overflow:hidden;cursor:zoom-in;aspect-ratio:1/1;background:#fff}
#zz .fx-lbz img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .15s ease-out}
#zz .fx-lbx{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;border:0;padding:0;background:var(--ink);color:#fff;font-size:20px;line-height:1;cursor:pointer;z-index:2}
#zz .fx-lbt{margin:10px 0 0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
#zz .fx-dg,#zz .fx-dg *{text-transform:uppercase!important}
@media(max-width:900px){#zz .fx-lbx{top:6px;right:6px}#zz .fx-lbin{padding:10px;max-width:100%}}

#zz .fx-crs .fx-cn{font-weight:300;opacity:.7;margin-left:5px}

#zz .fx-mos{display:grid;width:100%;aspect-ratio:1/1;gap:3px;background:var(--parch)}
#zz .pimg .fx-mos{position:absolute;inset:0;height:100%}
#zz .pimg .fx-mos img{position:static!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:cover;display:block;opacity:1!important;transform:none!important;min-height:0}
#zz .fx-mos.n2{grid-template-columns:1fr 1fr}
#zz .fx-mos.n3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
#zz .fx-mos.n3 img:first-child{grid-row:1 / span 2}
#zz .fx-mos.n4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
@media (hover:hover){#zz .fx-zoom{opacity:0;transition:opacity .2s}#zz .fx-pc:hover .fx-zoom,#zz .fx-zoom:focus-visible{opacity:1}}

#zz .fx-pc .qv.fx-qv{position:static!important;inset:auto!important;opacity:1!important;visibility:visible!important;transform:none!important;display:inline-block!important;width:auto!important;height:auto!important;min-height:0!important;margin:8px 0 0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;color:var(--acc)!important;font-family:inherit;font-size:11px!important;font-weight:600!important;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;align-self:flex-start;cursor:pointer}
#zz .fx-pc .qv.fx-qv:hover{color:var(--accd)!important}
#zz .fx-th{display:flex;align-items:center;gap:6px;margin-top:8px}
#zz .fx-thb{width:42px;height:42px;padding:0;margin:0;border:1px solid var(--line);border-radius:0;background:var(--card);cursor:pointer;opacity:.7;overflow:hidden;box-shadow:none}
#zz .fx-thb.on,#zz .fx-thb:hover{border-color:var(--ink);opacity:1}
#zz .fx-thb img{width:100%;height:100%;object-fit:cover;display:block}
#zz .fx-thm{font-size:12px;font-weight:600;color:var(--muted);margin-left:2px}

#zz .fx-pc .pimg{position:relative}
#zz .fx-mk{position:absolute;z-index:2;pointer-events:none}#zz .fx-thb{position:relative}#zz .fx-pc .pimg img:not(.fx-sc),#zz .fx-pc .fx-thb img:not(.fx-sc){visibility:hidden}
#zz .fx-pc .fx-ban{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2px 10px;min-height:26px;height:auto!important;padding:5px 10px!important;box-sizing:border-box;background:var(--fbg,#1D2230)!important;color:var(--dtext)!important;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;text-align:left}
#zz .fx-pc .fx-ban.vide{background:transparent!important}
#zz .fx-ban b{font-weight:700}
#zz .fx-dgt{display:inline-flex;align-items:center;gap:6px;color:var(--facc,#D7B46A);text-transform:uppercase}
#zz .fx-dgt b{font-weight:700}
#zz .fx-dgt i{font-style:normal;display:inline-flex;align-items:center;gap:3px;font-weight:700}
#zz .fx-dgt svg{width:12px;height:12px;flex:none}
#zz .fx-pc .qv.fx-qv{display:block!important;margin:7px 0 0!important;color:var(--muted)!important;font-size:10px!important;font-weight:600!important;text-decoration:none;letter-spacing:.1em}
#zz .fx-pc .qv.fx-qv:hover{color:var(--acc)!important;text-decoration:underline}
#zz .fx-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
#zz .fx-meta .fx-th{margin-top:0}
#zz .fx-crn{flex-basis:100%;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
#zz .fx-crn:empty{display:none}
#zz .fx-card .fx-vis{background-color:var(--card)!important;background-size:auto 160%!important;background-position:center 100%!important;background-repeat:no-repeat}
#zz .fx-vis::before{background:linear-gradient(90deg,var(--card) 0%,var(--card) 16%,rgba(246,243,238,.8) 34%,rgba(246,243,238,0) 58%)!important;opacity:1!important}
#zz .fx-fil{color:var(--fbg,#1D2230)!important;opacity:1!important}
#zz .fx-rub{background:var(--fbg,#1D2230)!important;color:var(--facc,#D7B46A)!important;border:1px solid var(--fbg,#1D2230)}
#zz .fx-card.eq .fx-rub{background:var(--card)!important;color:var(--fbg,#1D2230)!important}

#zz .fx-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:26px}
#zz .fx-top .fx-dg{margin:0!important}
#zz .fx-top .fx-ban{flex:1 1 auto;min-height:26px;color:var(--facc,#D7B46A)!important;background:var(--fbg,#1D2230)!important;justify-content:flex-start!important}
#zz .fx-pc .pw{position:relative}
#zz .fx-cr{position:absolute;top:10px;left:10px;z-index:3;padding:5px 9px;background:var(--parch);color:var(--fbg,#1D2230);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;pointer-events:none;opacity:0;transition:opacity .15s}
#zz .fx-pc.fx-survol .fx-cr{opacity:1}
#zz .fx-th{width:100%;display:flex;align-items:center;gap:5px}
#zz .fx-th .fx-thb{flex:0 0 calc((100% - 20px)/5);width:auto;height:auto;aspect-ratio:1/1;max-width:44px}
#zz .fx-nums{display:flex;flex-wrap:wrap;gap:4px}
#zz .fx-nums span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;box-sizing:border-box;border:1px solid var(--line2);font-size:11px;font-weight:600;color:var(--muted)}
#zz .fx-pc .qv.fx-qv{position:absolute!important;left:50%!important;bottom:14px!important;top:auto!important;right:auto!important;transform:translate(-50%,6px)!important;display:inline-flex!important;align-items:center;margin:0!important;padding:10px 20px!important;width:auto!important;height:auto!important;min-height:0!important;background:rgba(20,18,17,.72)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--dtext)!important;border:0!important;border-radius:0!important;font-size:12px!important;font-weight:600!important;letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;white-space:nowrap;opacity:0!important;visibility:visible!important;z-index:4;cursor:pointer;transition:opacity .2s,transform .2s!important}
#zz .fx-pc .pw:hover .qv.fx-qv{opacity:1!important;transform:translate(-50%,0)!important}
#zz .fx-pc .qv.fx-qv:hover{background:rgba(20,18,17,.9)!important;color:#fff!important;text-decoration:none!important}
@media(hover:none){#zz .fx-pc .qv.fx-qv{opacity:1!important;transform:translate(-50%,0)!important;padding:7px 12px!important;font-size:10px!important;bottom:8px!important}}
#zz .fx-card .fx-vis{background-position:right 6% bottom!important}
#zz .fx-card .fx-chk{border:1.5px solid var(--line2);background:var(--parch2);color:var(--line2)}
#zz .fx-card:hover .fx-chk{color:var(--muted);border-color:var(--muted)}
#zz .fx-card[aria-pressed="true"] .fx-chk{background:var(--acc);border-color:var(--acc);color:#fff}

#zz .fx-lbin{background:var(--card)!important}
#zz .fx-lbz{background:var(--card)!important}
#zz .fx-lbb{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin-top:12px}
#zz .fx-lbb .fx-lbt{margin:0}
#zz .fx-lbo{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#zz .fx-lbl{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
#zz .fx-lbo .fx-lbl:not(:first-child){margin-left:12px}
#zz .fx-lbc{margin:0;padding:7px 12px;border:1px solid var(--line2);border-radius:0;background:transparent;color:var(--ink);font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:none}
#zz .fx-lbc:hover{border-color:var(--ink)}
#zz .fx-lbc[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--dtext)}
#zz .fx-lbn{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fbg,#1D2230)}
#zz .fx-lbv{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;box-sizing:border-box;border:1px solid var(--line2);font-size:12px;font-weight:600;color:var(--muted)}

#zz .fx-pc .pw{overflow:hidden}
#zz .fx-cr{transition:opacity .3s}
#zz .fx-pc .qv.fx-qv{left:0!important;right:0!important;bottom:0!important;transform:translateY(100%)!important;justify-content:center;padding:12px 10px!important;background:rgba(20,18,17,.78)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--dtext)!important;font-size:12px!important;letter-spacing:.1em!important;opacity:0!important;transition:opacity .25s,transform .25s!important}
#zz .fx-pc .pw:hover .qv.fx-qv{opacity:1!important;transform:translateY(0)!important}
#zz .fx-pc .qv.fx-qv:hover{background:rgba(20,18,17,.9)!important;color:#fff!important}
@media(hover:none){#zz .fx-pc .qv.fx-qv{opacity:1!important;transform:none!important;padding:8px!important;font-size:10px!important;bottom:0!important}}

#zz .fx-pc .qv.fx-qv{background:rgba(107,34,38,.86)!important;color:#fff!important}
#zz .fx-pc .qv.fx-qv:hover{background:rgba(74,21,24,.94)!important;color:#fff!important}

#zz .fx-nums button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;box-sizing:border-box;margin:0;padding:0;border:1px solid var(--line2);border-radius:0;background:transparent;box-shadow:none;font-family:inherit;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s}
#zz .fx-nums button:hover{border-color:var(--ink);color:var(--ink)}
#zz .fx-pc .p{font-size:11px!important;font-weight:400!important;letter-spacing:.06em;color:var(--muted)!important}
#zz .fx-pc .p b{font-size:15px!important;font-weight:500!important;letter-spacing:0;color:var(--ink)!important;margin-left:2px}
#zz .fx-pc .p del,#zz .fx-pc .p s{font-weight:300!important}

#zz .fx-hero .h1{font-family:var(--ffont),'Work Sans',sans-serif!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;font-size:68px!important;line-height:1.05!important}
@media(max-width:900px){#zz .fx-hero .h1{font-size:48px!important}}

#zz .fx-sw select{font-family:inherit;font-size:13px;font-weight:600;padding:7px 10px;border:1px solid var(--line2);border-radius:0;background:#fff;color:var(--ink);cursor:pointer}
#zz .fx-top .fx-ban{min-height:0!important;height:23px!important;padding:0 10px!important;box-sizing:border-box;align-self:flex-start}#zz .fx-top.fx-mix{flex-wrap:nowrap;align-items:center;min-height:26px}#zz .fx-top.fx-mix .fx-ban{min-height:0!important;height:23px!important;box-sizing:border-box;align-self:flex-start;padding:0 8px!important;align-items:center!important;border:1px solid var(--fbg,#1D2230)}#zz .fx-mix .fx-ban{min-width:0;overflow:hidden;white-space:nowrap}#zz .fx-mix .fx-ban .t{text-transform:uppercase!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#zz .fx-mix .fx-ban .sm{display:none}#zz .fx-mix .fx-dg{flex:none}@media(max-width:600px){#zz .fx-mix .fx-dg .lg{display:none!important}#zz .fx-mix .fx-dg .sm{display:inline!important}}@media(min-width:601px){#zz .fx-mix .fx-dg .lg{display:inline!important}#zz .fx-mix .fx-dg .sm{display:none!important}}@media(max-width:600px){#zz .fx-mix .fx-ban .lg{display:none}#zz .fx-mix .fx-ban .sm{display:inline}}
#zz .fx-head .fx-tog{display:inline-flex!important;align-items:center;gap:8px;padding:12px 22px!important;background:transparent!important;color:var(--acc,#6B2226)!important;border:1px solid var(--acc,#6B2226)!important;text-decoration:none!important;font-size:13px!important;font-weight:600!important;letter-spacing:.08em;cursor:pointer;transition:background .15s,color .15s}#zz .fx-head .fx-tog:hover{background:var(--acc,#6B2226)!important;color:var(--card,#F6F3EE)!important}#zz .fx-grp .fx-head{margin-bottom:34px}
#zz #fx-hero .fx-hero{padding-bottom:121px}#zz #fx-hero>.edge{position:relative;z-index:2;margin-top:-57px!important;background:linear-gradient(transparent calc(100% - 6px),var(--parch,#EEEAE3) calc(100% - 6px))!important}#zz #fx-hero .fx-img{bottom:-112px;width:62%;max-width:820px}@media(max-width:900px){#zz #fx-hero .fx-img{width:120%;bottom:-100px}}
#zz #fx-hero .fx-img{bottom:-128px;width:70%;max-width:940px}@media(max-width:900px){#zz #fx-hero .fx-img{width:128%;bottom:-112px}}
#zz .fx-grid{row-gap:64px!important}@media(max-width:900px){#zz .fx-grid{row-gap:44px!important}}
@media(max-width:1272px){#zz .wrap:not(.zh .wrap){margin-left:16px!important;margin-right:16px!important}#zz footer.zf .wrap.wrap.wrap,#zz #zz-box>.wrap.wrap.wrap{margin-left:auto!important;margin-right:auto!important}}
@media(max-width:600px){#zz .fx-mix .fx-dg>b{display:none!important}#zz .fx-mix .fx-dg>span{border-left:1px solid #B3261E!important;background:#B3261E;color:#fff!important}#zz .fx-top.fx-mix .fx-ban{padding:0 6px!important}}
#zz .fxn{position:fixed;left:24px;top:50%;transform:translateY(-50%);z-index:900;width:280px;max-height:82vh;overflow-y:auto;overflow-x:hidden;padding:26px 26px 22px;background:rgba(246,243,238,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(201,193,181,.6);color:var(--ink,#1C1A19);scrollbar-width:thin}#zz .fxn *{box-sizing:border-box}#zz .fxn-h{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;padding:0 0 16px;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#5A544E);cursor:pointer;text-align:left}#zz .fxn-h::before{content:"";width:24px;height:1px;background:currentColor;flex:none}#zz .fxn-h i{display:none}#zz .fxn.ferme{padding-bottom:10px}#zz .fxn.ferme .fxn-b{display:none}#zz .fxn-a+.fxn-a{border-top:1px solid var(--line,#D3CCC1)}#zz .fxn-ab{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;background:none;border:0;padding:12px 0;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink,#1C1A19);cursor:pointer;text-align:left}#zz .fxn-ab:hover{color:var(--acc,#6B2226)}#zz .fxn-ab i{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .15s;flex:none;opacity:.7}#zz .fxn-a.open .fxn-ab i{transform:rotate(-135deg);margin-top:3px}#zz .fxn-a ul{display:none;list-style:none;margin:0;padding:0 0 12px}#zz .fxn-a.open ul{display:block}#zz .fxn-a li a{display:block;padding:6px 0 6px 12px;font-size:13px;font-weight:400;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--body,#3A3532);transition:color .15s}#zz .fxn-a li a:hover{color:var(--acc,#6B2226)}#zz .fxn-a li a[aria-current]{color:var(--fbg,#6B2226);font-weight:700}@media(max-width:1100px){#zz .fxn{display:none}}
/* ===== Fiche produit (maquette v2) ===== */
#zz #fx-hero,#zz .fx-sw{display:none}
#zz .fp-top{padding-top:48px;padding-bottom:84px}
#zz #fp-buy .qvm{position:static;display:block;inset:auto;padding:0;background:none;z-index:auto;animation:none}
#zz #fp-buy .qvd{max-width:none;max-height:none;overflow:visible;background:none;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start;box-shadow:none}
#zz #fp-buy .qvd>.x,#zz #fp-buy .qv-desc{display:none}
#zz #fp-buy .qv-g{position:sticky;top:24px;padding:0}
#zz #fp-buy .qv-i{padding:0}
#zz #fp-buy .qv-i>.f{display:none}
#zz .fp-fac{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--acc);color:var(--acc);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1;transition:background .2s,color .2s}
#zz .fp-fac svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
#zz .fp-fac:hover{background:var(--acc);color:#fff}
#zz .fp-fac:hover svg{transform:translateX(3px)}
#zz #fp-buy .qv-i h1{margin:18px 0 16px;font-size:46px;line-height:1.05;font-weight:700;text-transform:uppercase;letter-spacing:0;color:var(--ink)}
#zz .fp-dg{display:inline-flex;margin:0 0 26px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
#zz .fp-dg>b{background:#B3261E;color:#fff;padding:6px 10px;border:1px solid #B3261E;font-weight:600}
#zz .fp-dg>span{display:inline-flex;align-items:center;gap:6px;color:#B3261E;padding:6px 10px;border:1px solid #B3261E;border-left:0}
#zz .fp-dg svg{width:13px;height:13px}
#zz .fp-pct{display:flex;align-items:center;gap:10px;margin:8px 0 0;font-size:14px;font-weight:300;color:var(--muted)}
#zz .fp-pct b{background:#B3261E;color:#fff;font-size:12px;font-weight:600;letter-spacing:.06em;padding:4px 8px}
#zz .fp-pct:empty{display:none}
#zz .fp-buyrow{display:flex;align-items:stretch;gap:12px;margin-top:26px}
#zz .fp-buyrow #zz-qvadd{flex:1;min-height:54px;margin:0;font-size:13px;letter-spacing:.16em;padding:0 24px}
#zz .fp-qty{display:inline-flex;align-items:stretch;border:1px solid var(--line2);min-height:54px}
#zz .fp-qty button{width:30px;border:0;background:none;font:400 18px/1 "Work Sans",sans-serif;color:var(--ink);cursor:pointer;padding:0}
#zz .fp-qty button:hover{color:var(--acc)}
#zz .fp-qty input{width:38px;border:0;background:none;text-align:center;font:500 16px "Work Sans",sans-serif;color:var(--ink);-moz-appearance:textfield;padding:0}
#zz .fp-qty input::-webkit-inner-spin-button{-webkit-appearance:none}
#zz .fp-rs{list-style:none;margin:36px 0 0;padding:30px 0 0;border-top:1px solid var(--line);display:grid;gap:16px}
#zz .fp-rs li{display:flex;gap:14px;align-items:flex-start;font-size:15px;font-weight:300;line-height:1.45;color:var(--body)}
#zz .fp-rs li b{font-weight:600;color:var(--ink)}
#zz .fp-rs svg{flex:0 0 22px;width:22px;height:22px;stroke:var(--acc);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
#zz #fp-buy .qv-th{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:10px}
#zz #fp-buy .qv-th button{width:auto;height:auto;aspect-ratio:1/1}
#zz #fp-buy .qv-th img{width:100%;height:100%;object-fit:cover}
#zz .fp-car{padding-bottom:80px}
#zz .fp-cg{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}
#zz .fp-cg.one{grid-template-columns:minmax(0,1fr)}
#zz .fp-dl{margin:0;border-top:1px solid var(--dline)}
#zz .fp-dl>div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--dline)}
#zz .fp-dl dt{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dtext);padding-top:3px}
#zz .fp-dl dd{margin:0;font-size:16px;font-weight:300;line-height:1.55;color:var(--dbody)}
#zz .fp-box{border:1px solid var(--dline);padding:28px 30px}
#zz .fp-box h3{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rose)}
#zz .fp-box p{font-size:16px;font-weight:300;line-height:1.55;color:var(--dbody);margin:0 0 10px}
#zz .fp-cat{padding-bottom:24px}
#zz .fp-cat .fx-units{padding-top:32px;background:none}
#zz .fp-cat .fx-grp.fp-off{display:none}
#zz .fp-cat .fx-grp .fx-head{display:none}
#zz .fp-cat .fx-grp{border-top:0;padding-top:0;margin-top:0}
#zz .fp-cat .fx-bas{display:none}
html{overflow-anchor:none}
#zz .fp-cat .fp-types{margin-bottom:12px}
@media (max-width:1100px){
#zz #fp-buy .qvd,#zz .fp-cg{gap:40px}
}
@media (max-width:900px){
#zz .fp-top{padding-top:28px;padding-bottom:56px}
#zz #fp-buy .qvd,#zz .fp-cg{grid-template-columns:minmax(0,1fr);gap:28px}
#zz #fp-buy .qv-g{position:static}
#zz #fp-buy .qv-i h1{font-size:32px;margin-top:14px}
#zz .fp-dl>div{grid-template-columns:minmax(0,1fr);gap:6px}
#zz .fp-box{padding:22px}
#zz .fp-buyrow{gap:8px}
#zz .fp-buyrow #zz-qvadd{padding:0 12px;letter-spacing:.1em}
}
#zz #fp-buy .fp-rs{margin:30px 0 0;padding:28px 0 0}
#zz #fp-buy .qv-g>.fp-fac{margin:0 0 20px}
#zz #fp-buy .qv-i h1{margin-top:0}
#zz #fp-buy .fp-promo{margin:30px 0 0;padding:20px 22px;border:1px solid var(--acc);background:var(--card);display:flex;flex-direction:column;gap:4px}
#zz #fp-buy .fp-promo .e{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
#zz #fp-buy .fp-promo .e svg{width:16px;height:16px;stroke:var(--acc);fill:none;stroke-width:1.7;stroke-linecap:round}
#zz #fp-buy .fp-promo p{margin:6px 0 0;font-size:18px;font-weight:300;line-height:1.3;color:var(--acc)}
#zz #fp-buy .fp-promo p b{font-size:22px;font-weight:700;color:var(--acc)}
#zz #fp-buy .fp-snap{pointer-events:none}
#zz .fp-coffret .fp-top{display:none} #zz #fx-units .chip[data-fpg="*"][aria-pressed="false"],#zz #fx-units .chip[data-cr=""][aria-pressed="false"]{background:var(--parch2);border-color:var(--line2)} #zz #fx-units .chip[data-fpg="*"][aria-pressed="false"]:hover,#zz #fx-units .chip[data-cr=""][aria-pressed="false"]:hover{background:#DAD3C8} #zz .fp-coffret #zz-plink{display:none!important}
#zz .fp-coffret #zz-box{padding-bottom:72px}
#zz #fp-buy .fp-unit{margin:-10px 0 0;font-size:14px;font-weight:300;color:var(--muted)}
#zz #fp-buy .fp-unit:empty{display:none}
#zz #fp-buy .fp-promo .fp-u{font-size:14px;font-weight:300;color:var(--muted);white-space:nowrap}
#zz #fp-buy .fp-promo small{font-size:14px;font-weight:300;color:var(--muted)}
#zz .fp-prow{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
#zz .fp-prow #zz-qvprice{margin:0}
#zz .fp-pct{margin:0;text-transform:uppercase;font-size:12px;font-weight:500;letter-spacing:.1em}
#zz .fp-dgx{display:inline-flex;align-items:center;gap:5px;padding:0 10px;background:#B3261E;border:1px solid #B3261E;color:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;white-space:nowrap}
#zz .fp-dgx svg{width:12px;height:12px}
@media (min-width:901px){#zz .fp-cat .fx-crs{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:10px 18px}
#zz .fp-cat .fx-crs>span{flex:0 0 120px;margin:0;padding-top:11px}
#zz .fp-cat .fx-crs .chips{flex:1;margin:0}}
#zz .fp-lot{display:inline-flex;align-items:stretch;white-space:nowrap}
#zz .fp-lot .fp-dgx{margin-left:0}
#zz #fp-buy .fp-pct,#zz #fp-buy .fp-pct span{text-transform:uppercase}
@media (max-width:400px){#zz .zh .btn{padding-left:10px;padding-right:10px;letter-spacing:.06em;gap:6px}}
/* ===== Panier flottant Zelzarr ===== */
#fkcart-floating-toggler,#fkcart-modal,.fkcart-modal,.fkcart-floating-toggler{display:none!important}
#zfc{--p:#EEEAE3;--p2:#E4DFD6;--cd:#F6F3EE;--ink:#1C1A19;--bd:#3A3532;--mu:#5A544E;--ln:#D3CCC1;--ln2:#C9C1B5;--acc:#6B2226;--accd:#4A1518;--lt:#ECE7DF;font-family:"Work Sans",sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
#zfc *,#zfc *::before,#zfc *::after{box-sizing:border-box}
#zfc,#zfc *{text-transform:none;letter-spacing:normal;font-style:normal;line-height:1.4}
#zfc{font-size:15px;font-weight:400}
#zfc button{font-family:inherit;cursor:pointer}
#zfc a{text-decoration:none}
#zfc svg{flex:none}
#zfc .zfc-fab{position:fixed;right:32px;bottom:32px;z-index:9990;width:64px;height:64px;background:var(--acc);color:var(--lt);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(25,23,22,.22);transition:transform .2s,background .2s}
#zfc .zfc-fab:hover{background:var(--accd);transform:translateY(-2px)}
#zfc .zfc-fab svg{width:26px;height:26px}
#zfc .zfc-n{position:absolute;top:-9px;right:-9px;min-width:24px;height:24px;padding:0 6px;background:var(--ink);color:var(--lt);border:2px solid var(--p);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;line-height:1}
#zfc .zfc-n:empty{display:none}
#zfc .zfc-fab.pulse{animation:zfcp .5s ease}
@keyframes zfcp{40%{transform:scale(1.12)}}
#zfc .zfc-tot{position:fixed;right:108px;bottom:50px;z-index:9990;font-size:13px;font-weight:600;letter-spacing:.06em;background:var(--cd);border:1px solid var(--ln2);padding:6px 10px;pointer-events:none}
#zfc .zfc-tot:empty{display:none}
#zfc .zfc-pop{position:fixed;right:32px;bottom:116px;z-index:100002;width:390px;max-width:calc(100vw - 32px);background:var(--cd);border:1px solid var(--ln2);box-shadow:0 18px 40px rgba(25,23,22,.16);display:flex;flex-direction:column;opacity:0;transform:translateY(10px);transition:opacity .22s,transform .22s;pointer-events:none}
#zfc .zfc-pop.on{opacity:1;transform:none;pointer-events:auto}
#zfc .zfc-ph{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 4px 18px;border-bottom:1px solid var(--ln)}
#zfc .zfc-ok{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
#zfc .zfc-ok svg{width:18px;height:18px}
#zfc .zfc-px{width:44px;height:44px;border:0;background:none;color:var(--mu);display:flex;align-items:center;justify-content:center}
#zfc .zfc-px svg{width:16px;height:16px}
#zfc .zfc-pi{display:flex;gap:14px;padding:16px 18px}
#zfc .zfc-hint{margin:0 18px;padding:12px 14px;background:var(--p2);font-size:14px;font-weight:300;line-height:1.45;color:var(--bd)}
#zfc .zfc-hint b{font-weight:600;color:var(--ink)}
#zfc .zfc-hint b.a{color:var(--acc)}
#zfc .zfc-hint:empty{display:none}
#zfc .zfc-pb{display:flex;flex-direction:column;gap:4px;padding:16px 18px 14px}
#zfc .zfc-go{display:flex;align-items:center;justify-content:center;min-height:50px;border:0;background:var(--acc);color:var(--lt);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;width:100%}
#zfc .zfc-go:hover{background:var(--accd)}
#zfc .zfc-cont{min-height:44px;border:0;background:none;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);text-decoration:underline}
#zfc .zfc-veil{position:fixed;inset:0;z-index:100000;background:rgba(25,23,22,.48);opacity:0;transition:opacity .25s;pointer-events:none}
#zfc.open .zfc-veil{opacity:1;pointer-events:auto}
#zfc .zfc-dr{position:fixed;top:0;right:0;bottom:0;z-index:100001;width:460px;max-width:100vw;background:var(--p);display:flex;flex-direction:column;box-shadow:-24px 0 48px rgba(25,23,22,.18);transform:translateX(104%);transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s;visibility:hidden}
#zfc.open .zfc-dr{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
#zfc .zfc-hd{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--ln)}
#zfc .zfc-hd h2{margin:0;font-size:22px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.1;color:var(--ink);font-family:inherit}
#zfc .zfc-hd h2 span{font-weight:300}
#zfc .zfc-x{width:44px;height:44px;border:1px solid var(--ln2);background:none;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0}
#zfc .zfc-x:hover{border-color:var(--ink)}
#zfc .zfc-x svg{width:18px;height:18px}
#zfc .zfc-body{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}
#zfc .zfc-rem{padding:20px 28px 22px;background:var(--p2);display:flex;flex-direction:column;gap:12px}
#zfc .zfc-rt{display:flex;justify-content:space-between;align-items:center;gap:10px}
#zfc .zfc-eye{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
#zfc .zfc-bdg{font-size:12px;font-weight:600;letter-spacing:.1em;color:#fff;background:var(--acc);padding:3px 8px;white-space:nowrap}
#zfc .zfc-rx{font-size:15px;font-weight:300;line-height:1.45;color:var(--bd)}
#zfc .zfc-rx b{font-weight:600;color:var(--ink)}
#zfc .zfc-rx b.a{color:var(--acc)}
#zfc .zfc-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
#zfc .zfc-bar>div{display:flex;flex-direction:column;gap:6px}
#zfc .zfc-bar i{display:block;height:6px;background:var(--ln2);position:relative;overflow:hidden}
#zfc .zfc-bar i b{position:absolute;left:0;top:0;bottom:0;background:var(--acc);transition:width .4s}
#zfc .zfc-bar span{font-size:11px;font-weight:500;color:var(--mu)}
#zfc .zfc-bar .on span{font-weight:600;color:var(--acc)}
#zfc .zfc-liv{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:300;color:var(--bd)}
#zfc .zfc-liv b{font-weight:600;color:var(--ink)}
#zfc .zfc-liv svg{width:20px;height:20px;stroke:var(--acc)}
#zfc .zfc-its{padding:4px 28px 20px;display:flex;flex-direction:column}
#zfc .zfc-it{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--ln);transition:opacity .2s}
#zfc .zfc-it.busy{opacity:.45;pointer-events:none}
#zfc .zfc-im{width:84px;height:84px;flex:none;background:var(--p2);display:block;overflow:hidden}
#zfc .zfc-im img{width:100%;height:100%;object-fit:cover;display:block}
#zfc .zfc-pop .zfc-im{width:64px;height:64px}
#zfc .zfc-in{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
#zfc .zfc-l1{display:flex;justify-content:space-between;gap:12px}
#zfc .zfc-nm{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);line-height:1.3}
#zfc a.zfc-nm:hover{color:var(--acc)}
#zfc .zfc-pr{text-align:right;white-space:nowrap}
#zfc .zfc-pr s{font-size:13px;font-weight:300;color:var(--mu)}
#zfc .zfc-pr b{font-size:15px;font-weight:600}
#zfc .zfc-op{font-size:13px;font-weight:300;line-height:1.45;color:var(--mu)}
#zfc .zfc-l3{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
#zfc .zfc-q{display:flex;align-items:center;border:1px solid var(--ln2);height:34px}
#zfc .zfc-q button{width:30px;height:32px;border:0;background:none;font-size:16px;color:var(--ink);padding:0}
#zfc .zfc-q button:hover{color:var(--acc)}
#zfc .zfc-q span{width:28px;text-align:center;font-size:14px;font-weight:500}
#zfc .zfc-rm{border:0;background:none;padding:8px 0;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);text-decoration:underline}
#zfc .zfc-rm:hover{color:var(--acc)}
#zfc .zfc-av{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;border:1px solid var(--ln2);color:var(--bd);font-size:14px;font-weight:300;line-height:1.4}
#zfc .zfc-av:hover{border-color:var(--acc)}
#zfc .zfc-av b{font-weight:600;color:var(--ink)}
#zfc .zfc-av svg{width:20px;height:20px;stroke:var(--acc)}
#zfc .zfc-av em{font-style:normal;color:var(--acc)}
#zfc .zfc-ft{padding:20px 28px 24px;border-top:1px solid var(--ln);background:var(--cd);display:flex;flex-direction:column;gap:10px}
#zfc .zfc-ln{display:flex;justify-content:space-between;font-size:14px;font-weight:300;color:var(--bd)}
#zfc .zfc-ln.r{color:var(--acc)}
#zfc .zfc-tt{display:flex;justify-content:space-between;align-items:baseline;padding-top:10px;border-top:1px solid var(--ln)}
#zfc .zfc-tt span{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
#zfc .zfc-tt b{font-size:26px;font-weight:700}
#zfc .zfc-note{font-size:13px;font-weight:300;color:var(--mu);margin-top:-4px}
#zfc .zfc-cmd{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:6px;background:var(--acc);color:var(--lt);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
#zfc .zfc-cmd:hover{background:var(--accd);color:var(--lt)}
#zfc .zfc-vp{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--acc);color:var(--acc);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
#zfc .zfc-vp:hover{background:var(--acc);color:var(--lt)}
#zfc .zfc-sec{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:300;color:var(--mu);margin-top:2px}
#zfc .zfc-sec svg{width:14px;height:14px}
#zfc .zfc-vide{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 32px;text-align:center}
#zfc .zfc-vi{width:72px;height:72px;border:1px solid var(--ln2);display:flex;align-items:center;justify-content:center;color:var(--acc)}
#zfc .zfc-vi svg{width:30px;height:30px}
#zfc .zfc-vt{font-size:22px;font-weight:700;text-transform:uppercase;line-height:1.15}
#zfc .zfc-vt span{font-weight:300}
#zfc .zfc-vide p{margin:0;font-size:15px;font-weight:300;line-height:1.5;color:var(--bd)}
#zfc .zfc-vide .zfc-cmd{padding:0 28px}
#zfc .zfc-lk{display:flex;align-items:center;min-height:44px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
#zfc .zfc-tg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;text-align:center}
#zfc .zfc-tg div{display:flex;flex-direction:column;gap:2px}
#zfc .zfc-tg b{font-size:18px;font-weight:700;color:var(--acc)}
#zfc .zfc-tg span{font-size:11px;font-weight:500}
#zfc .zfc-err{margin:12px 28px 0;padding:10px 12px;border:1px solid #B3261E;color:#B3261E;font-size:13px;font-weight:400}
#zfc .zfc-err:empty{display:none}
@media (max-width:640px){
#zfc .zfc-fab{right:16px;bottom:16px;width:56px;height:56px}
#zfc .zfc-tot{display:none}
#zfc .zfc-pop{left:0;right:0;bottom:0;width:auto;max-width:none;border-width:1px 0 0;box-shadow:0 -14px 32px rgba(25,23,22,.16);transform:translateY(100%)}
#zfc .zfc-pop .zfc-pi{padding:12px 20px}
#zfc .zfc-pop .zfc-hint{margin:0 20px}
#zfc .zfc-pop .zfc-pb{padding:12px 20px 20px}
#zfc .zfc-pop .zfc-cont{display:none}
#zfc .zfc-dr{width:100vw;box-shadow:none}
#zfc .zfc-hd{padding:14px 16px 14px 20px}
#zfc .zfc-hd h2{font-size:19px}
#zfc .zfc-rem{padding:14px 20px 16px;gap:10px}
#zfc .zfc-rx{font-size:14px}
#zfc .zfc-bar span{display:none}
#zfc .zfc-its{padding:0 20px 16px}
#zfc .zfc-it{gap:14px;padding:16px 0}
#zfc .zfc-im{width:68px;height:68px}
#zfc .zfc-nm{font-size:13px}
#zfc .zfc-op{font-size:12px}
#zfc .zfc-ft{padding:14px 20px 20px;gap:8px;box-shadow:0 -10px 24px rgba(25,23,22,.06)}
#zfc .zfc-tt b{font-size:24px}
#zfc .zfc-vp{border:0;min-height:44px}
#zfc .zfc-vp:hover{background:none;color:var(--accd)}
#zfc .zfc-sec{display:none}
}
@media (prefers-reduced-motion:reduce){#zfc .zfc-dr,#zfc .zfc-veil,#zfc .zfc-pop{transition:none}#zfc .zfc-fab.pulse{animation:none}}
#zfc .zfc-cf{margin-top:22px;display:flex;flex-direction:column;gap:8px}
#zfc .zfc-cr{display:flex;gap:8px}
#zfc .zfc-cr input{flex:1;min-width:0;height:46px;border:1px solid var(--ln2);background:var(--cd);padding:0 14px;font:500 15px "Work Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-radius:0}
#zfc .zfc-cr input::placeholder{color:var(--mu);opacity:.6}
#zfc .zfc-cr input:focus{outline:2px solid var(--acc);outline-offset:-2px}
#zfc .zfc-cb{height:46px;padding:0 18px;border:1px solid var(--acc);background:none;color:var(--acc);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
#zfc .zfc-cb:hover{background:var(--acc);color:var(--lt)}
#zfc .zfc-cer{margin:0;font-size:13px;color:#B3261E}
#zfc .zfc-cn{margin:0;font-size:12px;font-weight:300;color:var(--mu)}
#zfc .zfc-ab{margin-top:22px;padding:16px 18px;border:1px solid var(--ln2);background:var(--cd);display:flex;flex-direction:column;gap:8px}
#zfc .zfc-ah{display:flex;justify-content:space-between;align-items:center;gap:10px}
#zfc .zfc-ah .zfc-rm{padding:4px 0}
#zfc .zfc-ab p{margin:0;font-size:14px;font-weight:300;line-height:1.45;color:var(--bd)}
#zfc .zfc-ab b{font-weight:600;color:var(--ink)}
#zfc .zfc-ab p.zfc-cn{font-size:12px;color:var(--mu)}
#zfc .zfc-al{align-self:flex-start;padding:4px 0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
#zz footer.zf .copy{font-weight:700}
#zz .fp-asm .fp-ag{padding:16px 0;border-top:1px solid var(--dline)}
#zz .fp-asm h3+.fp-ag{border-top:0;padding-top:6px}
#zz .fp-an{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 6px!important;font-size:13px!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase;color:var(--dtext)!important}
#zz .fp-ax{margin:0!important;font-size:15px!important;font-weight:300!important;line-height:1.55;color:var(--dbody)!important}
#zz .fp-ai{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
#zz .fp-ai li{margin:0;padding-left:14px;border-left:2px solid var(--dline)}
#zz .fp-aik{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 3px!important;font-size:12px!important;font-weight:600!important;letter-spacing:.06em;text-transform:uppercase;color:var(--dtext)!important}
#zz .fp-at{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--dline);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dmuted);line-height:1.5}
#zz .fp-at.on{border-color:var(--rose);color:var(--rose)}
#zz .fp-ax .fp-at{margin-right:8px;vertical-align:1px}
#zz .fp-sub{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px}
#zz .fp-sub li{margin:0}
#zz .fp-sub b{font-weight:600;color:var(--dtext)}
#zz .fx-card .fx-vis::after{content:"";position:absolute;left:0;right:0;top:0;height:24%;background:linear-gradient(var(--card) 45%,rgba(246,243,238,0));pointer-events:none;z-index:1}
#zz .fx-card .fx-vis>*{z-index:2}
</style>

<div id="zz">
  <header class="zh">
    <div class="wrap">
      <a href="/" class="logo">ZELZARR<span>.FR</span></a>
      <nav class="zn" aria-label="Navigation principale">
        <a href="/#zz-factions" class="on">Factions</a><a href="/#zz-news">Nouveautés</a><a href="/#zz-box">Coffrets</a><a href="/#zz-decor">Décors</a><a href="/#zz-plat">Plateaux &amp; aimants</a><a href="/avantages/">Avantages</a>
      </nav>
      <div class="r">
        <a href="/commandes/" class="btn track"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7h11v9H3z"/><path d="M14 10h4l3 3v3h-7"/><circle cx="7" cy="18" r="1.8"/><circle cx="17" cy="18" r="1.8"/></svg>Suivre ma commande</a>
        <a href="/panier/" class="btn solid"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M6 7h12l-1 13H7L6 7z"/><path d="M9 7a3 3 0 0 1 6 0"/></svg>Panier<span id="zz-cartn"></span></a>
      </div>
    </div>
  </header>
<section class="tiers" aria-label="Remises dégressives">
    <div class="wrap">
      <div class="tl"><div class="li"><b>Remises automatiques</b><small>Sur panier, hors coffrets</small></div><i></i><div class="t"><b>−5 %</b><span><strong>dès 50 €</strong><small>2 articles minimum</small></span></div><i></i><div class="t"><b>−10 %</b><span><strong>dès 100 €</strong><small>3 articles minimum</small></span></div><i></i><div class="t"><b>−15 %</b><span><strong>dès 150 €</strong><small>3 articles minimum</small></span></div><i></i><div class="t"><b>−20 %</b><span><strong>dès 250 €</strong><small>3 articles minimum</small></span></div></div>
    </div>
  </section>
<div id="zz-fp">
<section class="sec fp-top"><div class="wrap">
<div id="fp-buy"><h1 class="h2">Yaksha</h1><p class="lead loading">Chargement…</p></div>
</div></section>
<div class="edge" style="background:var(--parch)" data-edge="A" data-fill="#191716"></div>
<section class="sec dark fp-car" id="fp-car" style="padding-top:56px"><div class="wrap" style="display:flex;flex-direction:column;gap:32px">
<div class="head"><div class="eye">La référence en détail</div><h2 class="h2">Caractéristiques <span>et contenu</span></h2></div>
<div class="fp-cg" id="fp-cg"><p class="lead loading">Chargement…</p></div>
</div></section>
<div class="edge" style="background:var(--dark)" data-edge="B" data-fill="#EEEAE3"></div>
<section class="sec fp-cat" id="fp-cat" style="padding-top:56px"><div class="wrap">
<div class="head"><div class="eye" id="fp-cat-eye">Catalogue de la faction</div><h2 class="h2">Toute <span id="fp-cat-nom">la faction</span></h2><p class="lead">Changez de type d'unité ou de créateur pour parcourir la faction sans quitter cette page.</p></div>
</div>
<div id="fx-hero" hidden></div>
<section style="display:none" class="sec" id="zz-box" style="padding-top:56px">
    <div class="wrap" style="display:flex;flex-direction:column;gap:32px">
      <div class="head rev">
        <div class="eye">Coffrets de démarrage</div>
        <h2 class="h2">Démarrer <span>son armée</span></h2>
        <p class="lead">Deux coffrets pour commencer : une armée jouable à composer vous-même, ou l’équivalent de son homologue, à compléter. Choisissez celui qui vous correspond.</p>
      </div>
      <div class="steps rev">
        <div class="frow"><span class="flab">Alliance</span><div class="chips" id="zz-bal"><p class="lead loading">Chargement des coffrets…</p></div></div>
        <div class="frow"><span class="flab">Faction</span><div class="chips" id="zz-bfa"></div></div>
        <div class="frow" id="zz-bcw" style="display:none"><span class="flab">Coffret</span><div class="chips" id="zz-bco"></div></div>
      </div>
      <div id="fx-pick" class="fx-pick"></div>
      <div class="box rev" id="zz-boxel">
        <div class="L">
          <div class="ph main"><span class="off" id="zz-off"></span><span id="zz-lab"></span><span class="gcnt" id="zz-gcnt"></span></div>
          <div class="gbar"><button type="button" class="gnav gp" data-gal="-1" aria-label="Image précédente">←</button><button type="button" class="gnav gn" data-gal="1" aria-label="Image suivante">→</button></div>
          <div class="cap lcap"><span><em id="zz-ford"></em><span id="zz-fname"></span></span><span id="zz-fpos"></span></div>
          <div class="stripH"><i aria-hidden="true"></i>Vos choix en temps réel</div>
          <div class="strip" id="zz-strip" role="group" aria-label="Aperçu de votre sélection"></div>
        </div>
        <div class="R">
          <div class="bx-head">
            <div class="army" id="zz-army"></div>
            <div class="ttl" id="zz-ttl"></div>
            <div class="pr"><b id="zz-price"></b><s id="zz-old"></s><span class="pct" id="zz-pct"></span></div>
            <div class="sum" id="zz-sum"></div>
          </div>
          <div class="step">Composition du coffret</div>
          <div id="zz-rows"></div>
          <div class="plinks"><a class="lnk plnk" id="zz-plink" href="#">Voir la fiche produit →</a><button type="button" class="plnk pinfo" id="zz-pinfo">Infos rapides</button></div>
          <button type="button" class="btn solid addbtn" id="zz-add">Ajouter au panier · <span id="zz-tot"></span></button>
          <div class="ok" id="zz-ok" role="status"><span id="zz-okmsg"></span><a href="/panier/">Voir le panier →</a></div>
          <div class="trust2">
            <p><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.6 5.6 6 .7-4.5 4.1 1.2 6L12 16.4 6.7 19.4l1.2-6L3.4 9.3l6-.7z"/></svg><span><strong>+250 coffrets</strong> déjà imprimés et expédiés</span></p>
            <p><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94z"/></svg><span>Délai avant début d'impression estimé : <strong>entre 12 et 20 jours</strong></span></p>
            <p><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 8l-9-5-9 5v8l9 5 9-5z"/><path d="M3 8l9 5 9-5M12 13v8"/></svg><span>Livraison <strong>Mondial Relay</strong> offerte à partir de 125 € d'achat ! (<a href="/livraison/">Plus d'informations sur la livraison</a>)</span></p>
            <p><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="9"/><path d="M12 8l-4 4 4 4M16 12H8"/></svg><span>Retour possible sous 14 jours (satisfait ou remboursé)</span></p>
          </div>
          <div class="pay" aria-label="Moyens de paiement acceptés"><i class="fab fa-cc-mastercard" title="Mastercard"></i><i class="fab fa-cc-visa" title="Visa"></i><i class="fab fa-cc-paypal" title="PayPal"></i><i class="fab fa-apple-pay" title="Apple Pay"></i><i class="fab fa-google-pay" title="Google Pay"></i></div>
        </div>
      </div>
    </div>
  </section>
<div id="fx-units"></div>
</section>
</div>
<div class="fx-off" style="display:none">
  
  <section class="sec" id="zz-factions">
    <div class="wrap" style="display:flex;flex-direction:column;gap:48px">
      <div class="head rev">
        <div class="eye">Figurines imprimées en résine haute définition – wargames fantastiques</div>
        <h2 class="h1">Choisissez <span>votre camp</span></h2>
        <p class="lead">Ordre, Mal, Destruction ou Revenants : cliquez sur une faction pour découvrir ses unités. EMC au choix, quantité, soclage, etc.</p>
      </div>
      <div id="zz-alli" style="display:flex;flex-direction:column;gap:48px"></div>
      <div id="zz-acc" style="display:flex;flex-direction:column;gap:14px"></div>
    </div>
  </section>
  <div class="edge" style="background:var(--parch)" data-edge="A" data-fill="#191716"></div>
  <section class="sec dark" id="zz-news" style="padding-top:56px">
    <div class="wrap" style="display:flex;flex-direction:column;gap:32px">
      <div class="news-top rev">
        <div class="head">
          <div class="eye">Récemment ajouté au catalogue</div>
          <h2 class="h2">Les nouveautés <span>d'octobre 2026</span></h2>
          <p class="lead">Les dernières références ajoutées sur le site. Filtrez par faction ou par créateur, et faites glisser pour parcourir.</p>
        </div>
      </div>
      <div class="rev" style="display:flex;flex-direction:column;gap:10px">
        <div class="frow"><span class="flab">Faction</span><div class="chips" id="zz-nf"></div></div>
        <div class="frow"><span class="flab">Créateur</span><div class="chips" id="zz-nc"></div></div>
      </div>
      <div class="rail" id="zz-rail"><p class="lead loading">Chargement des nouveautés…</p></div>
      <div class="arrows rail-nav"><button type="button" aria-label="Précédent" data-rail="-1">←</button><button type="button" aria-label="Suivant" data-rail="1">→</button></div>
    </div>
  </section>
  <div class="edge" style="background:var(--dark)" data-edge="B" data-fill="#EEEAE3"></div>
  
  <div class="edge" style="background:var(--parch)" data-edge="A" data-fill="#191716"></div>

  <section class="sec dark" id="zz-decor" style="padding-top:56px">
    <div class="wrap" style="display:flex;flex-direction:column;gap:32px">
      <div class="head rev">
        <div class="eye">Décors</div>
        <h2 class="h2">Habillez <span>votre table</span></h2>
        <p class="lead">Éléments de terrain et dioramas imprimés en résine pour donner vie à vos champs de bataille. Filtrez par collection.</p>
      </div>
      <div class="rev" style="display:flex;flex-direction:column;gap:10px">
        <div class="frow"><span class="flab">Collection</span><div class="chips" id="zz-dcol"></div></div>
      </div>
      <div class="rail" id="zz-drail"><p class="lead loading">Chargement des décors…</p></div>
      <div class="dnav"><div class="arrows rail-nav"><button type="button" aria-label="Précédent" data-drail="-1">←</button><button type="button" aria-label="Suivant" data-drail="1">→</button></div></div>
    </div>
  </section>

  <div class="edge" style="background:var(--dark)" data-edge="B" data-fill="#EEEAE3"></div>

  <section class="sec" id="zz-plat" style="padding-top:56px">
    <div class="wrap" style="display:flex;flex-direction:column;gap:32px">
      <div class="head rev">
        <div class="eye">Accessoires</div>
        <h2 class="h2">Plateaux <span>&amp; aimants</span></h2>
        <p class="lead">Plateaux de mouvement à la taille de vos socles, et aimants pour les fixer. Choisissez le type, puis le format de vos socles.</p>
      </div>
      <div class="steps rev">
        <div class="frow"><span class="flab">Type</span><div class="chips" id="zz-pty"><p class="lead loading">Chargement…</p></div></div>
        <div class="frow"><span class="flab">Format</span><div class="chips" id="zz-pfo"></div></div>
      </div>
      <div class="box rev" id="zz-pbox">
        <div class="L">
          <div class="ph main" id="zz-pmain"></div>
          <div class="gbar" id="zz-pgbar"><button type="button" class="gnav gp" data-pgal="-1" aria-label="Image précédente">←</button><button type="button" class="gnav gn" data-pgal="1" aria-label="Image suivante">→</button></div>
        </div>
        <div class="R">
          <div class="bx-head">
            <div class="ttl" id="zz-pttl"></div>
            <div class="pr"><b id="zz-pprice"></b><s id="zz-pold"></s><span class="pct" id="zz-ppct"></span></div>
          </div>
          <div class="step">Options</div>
          <div id="zz-prows"></div>
          <div class="plinks"><a class="lnk plnk" id="zz-plink2" href="#">Voir la fiche produit →</a><button type="button" class="plnk pinfo" id="zz-pinfo2">Infos rapides</button></div>
          <button type="button" class="btn solid addbtn" id="zz-padd">Ajouter au panier · <span id="zz-ptot"></span></button>
          <div class="ok" id="zz-pok" role="status"><span id="zz-pokmsg"></span><a href="/panier/">Voir le panier →</a></div>
          <div class="pay" aria-label="Moyens de paiement acceptés"><i class="fab fa-cc-mastercard" title="Mastercard"></i><i class="fab fa-cc-visa" title="Visa"></i><i class="fab fa-cc-paypal" title="PayPal"></i><i class="fab fa-apple-pay" title="Apple Pay"></i><i class="fab fa-google-pay" title="Google Pay"></i></div>
        </div>
      </div>
    </div>
  </section>
  <div class="edge flip" style="background:var(--parch)" data-edge="A" data-fill="#191716"></div>
  <section class="sec dark" id="zz-atelier" style="padding-top:56px">
    <div class="wrap" style="display:flex;flex-direction:column;gap:44px">
      <div class="head rev">
        <div class="eye">L'atelier</div>
        <h2 class="h2" style="max-width:none">Imprimé avec soin <span style="white-space:nowrap">et savoir‑faire</span></h2>
      </div>
      <div class="pil rev">
        <div><b>I</b><h3>Résine haute qualité</h3><p>Mix unique d'ABS-Like, mat, haute précision, légèrement flexible &amp; résistante.</p></div>
        <div><b>II</b><h3>Impression d'une grande finesse</h3><p>Imprimantes 12K, finesse de couche de 30 µm.</p></div>
        <div><b>III</b><h3>Excellent rapport qualité/prix</h3><p>Remises toute l'année, tarifs dégressifs, rendu excellent.</p></div>
        <div><b>IV</b><h3>Grande personnalisation</h3><p>Coffrets personnalisables, fiches produits customisables : quantité, EMC, options diverses, soclage, etc.</p></div>
      </div>
    </div>
  </section>
  <div class="edge flip" style="background:var(--dark)" data-edge="B" data-fill="#EEEAE3"></div>
    <section class="sec" id="zz-avantages" style="padding-top:56px;padding-bottom:0">
    <div class="wrap">
      <div class="zfa">
        <div class="zfa-l">
          <div class="eye">Programme fidélité</div>
          <h2 class="h2">De la figurine au régiment <span>offert</span></h2>
          <p class="lead">Vos commandes remplissent une jauge. Dès 60 € de panier, elle vous offre une récompense, imprimée avec le reste de votre armée. Plus votre jauge est remplie, plus la récompense est grande, jusqu’au plafond fixé par votre grade.</p>
          <ul class="zfa-f">
            <li><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"/></svg>Sans compte ni points : votre grade suit le total de vos commandes.</li>
            <li><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"/></svg>5 grades, de Milicien dès 100 € à Comte Électeur dès 800 €.</li>
            <li><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"/></svg>100 € de commandes sur 12 mois glissants suffisent pour garder son grade.</li>
            <li><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6L9 17l-5-5"/></svg>Pas de récompense cette fois ? Votre jauge garde tout, jusqu’à votre plafond, pour une plus grande récompense ensuite.</li>
          </ul>
          <div class="zfa-b">
            <a class="btn solid" href="/avantages/">Découvrir les avantages</a>
            <a class="zfa-lk" href="/avantages/#zz-statut">Mon profil avantage →</a>
          </div>
        </div>
        <div class="zfa-r" aria-hidden="true">
          <div class="zfa-demo" id="zfa-demo">
            <p class="zfa-k">Votre grade</p>
            <p class="zfa-g" id="zfa-g">Vétéran Impérial</p>
            <div class="zfa-gr" id="zfa-gr"><i></i><i></i><i></i><i></i><i></i></div>
            <div class="zfa-gl"><span>100 €</span><span>200 €</span><span>300 €</span><span>500 €</span><span>800 €</span></div>
            <div class="zfa-sep"></div>
            <div class="zfa-row"><p class="zfa-k">Votre jauge</p><p class="zfa-m" id="zfa-m">130 €</p></div>
            <div class="zfa-pa" id="zfa-pa"><div><i><b></b></i><span>60 €</span></div><div><i><b></b></i><span>90 €</span></div><div><i><b></b></i><span>130 €</span></div><div><i><b></b></i><span>180 €</span></div><div><i><b></b></i><span>240 €</span></div></div>
            <div class="zfa-gift"><svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="8" width="17" height="12.5" rx="1"/><path d="M12 8v12.5M3.5 12.5h17M12 8c-1.6-3.4-5.6-3.6-5.6-1.2 0 1.2 1.4 1.2 5.6 1.2zM12 8c1.6-3.4 5.6-3.6 5.6-1.2 0 1.2-1.4 1.2-5.6 1.2z"/></svg><p><span class="zfa-k">Offert</span><b id="zfa-c">Une petite unité ou figurine spéciale</b></p></div>
          </div>
        </div>
      </div>
    </div>
  </section>
  <section class="sec" style="padding:48px 24px 72px">
    <div class="wrap comm rev">
      <div class="head" style="gap:14px">
        <div class="eye">Réseaux sociaux</div>
        <h2 class="h3c">Impressions 3D <span>&amp; coulisses</span></h2>
        <p class="lead">Nouveautés, impressions en cours, commandes prêtes à partir : suivez l'atelier en coulisses.</p>
      </div>
      <div style="display:flex;flex-wrap:wrap;gap:12px">
        <a href="https://www.instagram.com/zelzarr/" target="_blank" rel="noopener" class="btn"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4.2"/><circle cx="17.4" cy="6.6" r="1.1" fill="currentColor" stroke="none"/></svg>Instagram</a>
        <a href="https://www.youtube.com/@Zelzarr" target="_blank" rel="noopener" class="btn"><svg width="20" height="18" viewBox="0 0 24 24" fill="none" aria-hidden="true"><rect x="2" y="5" width="20" height="14" rx="4" stroke="currentColor" stroke-width="1.8"/><path d="M10 9.2v5.6l4.8-2.8z" fill="currentColor"/></svg>YouTube</a>
      </div>
    </div>
    <div class="wrap" style="margin-top:44px;display:flex;flex-direction:column;gap:18px">
      <div class="step">Nos derniers reels</div>
      <div class="igC">
        <a class="igc" href="https://www.instagram.com/reel/DePh07QBL0W/" target="_blank" rel="noopener"><span class="igi"><img src="https://zelzarr.fr/wp-content/uploads/2026/10/zelzarr-reel-DePh07QBL0W.jpg" alt="" width="361" height="640" loading="lazy" decoding="async"></span><span class="igx">Les Norse Tribes de chez Highlands Miniatures ! J'ai hâte de vous montrer les futures sorties.</span><span class="igs"><span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"><path d="M12 21s-7-4.4-9.3-8.6C1 9 2.7 5 6.5 5c2.2 0 3.6 1.3 5.5 3.3C13.9 6.3 15.3 5 17.5 5 21.3 5 23 9 21.3 12.4 19 16.6 12 21 12 21z"/></svg>64</span><span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"><path d="M21 12a8 8 0 0 1-11.6 7.1L4 20l1.1-4.6A8 8 0 1 1 21 12z"/></svg>0</span></span></a>
        <a class="igc" href="https://www.instagram.com/reel/DdB-kVhN4ea/" target="_blank" rel="noopener"><span class="igi"><img src="https://zelzarr.fr/wp-content/uploads/2026/10/zelzarr-reel-DdB-kVhN4ea.jpg" alt="" width="361" height="640" loading="lazy" decoding="async"></span><span class="igx">Des coffrets personnalisables pour démarrer votre armée à The Old World ? C'est possible sur mon site !</span><span class="igs"><span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"><path d="M12 21s-7-4.4-9.3-8.6C1 9 2.7 5 6.5 5c2.2 0 3.6 1.3 5.5 3.3C13.9 6.3 15.3 5 17.5 5 21.3 5 23 9 21.3 12.4 19 16.6 12 21 12 21z"/></svg>421</span><span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"><path d="M21 12a8 8 0 0 1-11.6 7.1L4 20l1.1-4.6A8 8 0 1 1 21 12z"/></svg>33</span></span></a>
        <a class="igc" href="https://www.instagram.com/reel/Dd4c0prgwM3/" target="_blank" rel="noopener"><span class="igi"><img src="https://zelzarr.fr/wp-content/uploads/2026/10/zelzarr-reel-Dd4c0prgwM3.jpg" alt="" width="361" height="640" loading="lazy" decoding="async"></span><span class="igx">Petite revue de la nouvelle gamme Warriors of the Dark Gods signée Lost Kingdom Miniatures.</span><span class="igs"><span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"><path d="M12 21s-7-4.4-9.3-8.6C1 9 2.7 5 6.5 5c2.2 0 3.6 1.3 5.5 3.3C13.9 6.3 15.3 5 17.5 5 21.3 5 23 9 21.3 12.4 19 16.6 12 21 12 21z"/></svg>66</span><span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"><path d="M21 12a8 8 0 0 1-11.6 7.1L4 20l1.1-4.6A8 8 0 1 1 21 12z"/></svg>5</span></span></a>
        <a class="igc" href="https://www.instagram.com/reel/DZvKLJDN68L/" target="_blank" rel="noopener"><span class="igi"><img src="https://zelzarr.fr/wp-content/uploads/2026/10/zelzarr-reel-DZvKLJDN68L.jpg" alt="" width="361" height="640" loading="lazy" decoding="async"></span><span class="igx">zelzarr.fr</span><span class="igs"><span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"><path d="M12 21s-7-4.4-9.3-8.6C1 9 2.7 5 6.5 5c2.2 0 3.6 1.3 5.5 3.3C13.9 6.3 15.3 5 17.5 5 21.3 5 23 9 21.3 12.4 19 16.6 12 21 12 21z"/></svg>361</span><span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"><path d="M21 12a8 8 0 0 1-11.6 7.1L4 20l1.1-4.6A8 8 0 1 1 21 12z"/></svg>33</span></span></a>
      </div>
    </div>
  </section>
  </div>
<div class="edge" style="background:var(--parch)" data-edge="A" data-fill="#191716"></div>
  <footer class="zf">
    <div class="wrap">
      <div class="zf-perks">
        <div><svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 7h11v9H3z"/><path d="M14 10h4l3 3v3h-7"/><circle cx="7" cy="18" r="1.8"/><circle cx="17" cy="18" r="1.8"/></svg><span><b>Livraison offerte</b>dès 125 € avec Mondial Relay, dès 200 € avec Colissimo</span></div>
        <div><svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 12V4h8l10 10-8 8z"/><circle cx="7.5" cy="8.5" r="1.4"/></svg><span><b>Jusqu'à −20 %</b>de remise appliquée automatiquement au panier</span></div>
        <div><svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.6 5.6 6 .7-4.5 4.1 1.2 6L12 16.4 6.7 19.4l1.2-6L3.4 9.3l6-.7z"/></svg><span><b>+1000 commandes</b>imprimées et expédiées à nos clients depuis 2023</span></div>
        <div><svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="5" y="11" width="14" height="10" rx="1.5"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></svg><span><b>Paiement sécurisé</b>carte bancaire, PayPal, Apple Pay et Google Pay</span></div>
      </div>
      <div class="top">
        <div class="brand">
          <a href="/" class="zlogo">ZELZARR<span>.FR</span></a>
          <p>Figurines imprimées en résine haute définition – wargames fantastiques.</p>
          <p>Contact : <a href="mailto:contact@zelzarr.fr">contact@zelzarr.fr</a></p>
          <div class="soc"><a href="https://www.instagram.com/zelzarr/" target="_blank" rel="noopener"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4.2"/><circle cx="17.4" cy="6.6" r="1.1" fill="currentColor" stroke="none"/></svg>Instagram</a><a href="https://www.youtube.com/@Zelzarr" target="_blank" rel="noopener"><svg width="18" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true"><rect x="2" y="5" width="20" height="14" rx="4" stroke="currentColor" stroke-width="1.8"/><path d="M10 9.2v5.6l4.8-2.8z" fill="currentColor"/></svg>YouTube</a></div>
        </div>
        <div class="cols">
          <div class="col"><span>Boutique</span><a href="/#zz-factions">Factions</a><a href="/#zz-factions" data-wb="1">Warbands</a><a href="/#zz-news">Nouveautés</a><a href="/#zz-box">Coffrets</a><a href="/#zz-decor">Décors</a><a href="/#zz-plat">Plateaux &amp; aimants</a><a href="/avantages/">Avantages</a></div>
          <div class="col"><span>Informations</span><a href="/commandes/">Suivre ma commande</a><a href="/livraison/">Livraison</a><a href="/cgv/">CGV</a><a href="/mentions-legales/">Mentions légales</a><a href="/politique-confidentialite/">Confidentialité</a></div>
        </div>
      </div>
      <div class="bot"><span class="copy">© 2022–2026 Zellef / Zelzarr. Tous droits réservés.</span><div class="pay" aria-label="Moyens de paiement acceptés"><i class="fab fa-cc-mastercard" title="Mastercard"></i><i class="fab fa-cc-visa" title="Visa"></i><i class="fab fa-cc-paypal" title="PayPal"></i><i class="fab fa-apple-pay" title="Apple Pay"></i><i class="fab fa-google-pay" title="Google Pay"></i></div></div>
    </div>
  </footer>
  <div class="qvm" id="zz-qvm" role="dialog" aria-modal="true" aria-label="Vue rapide"><div class="qvd" id="zz-qvd"></div></div>
</div>


<script>
(function(){
/* NB : ce script n'utilise jamais le caractère « et commercial » (WordPress le transforme). On écrit \u0026 à la place. */
var EDGES={A:"M0,80 L0,33.2 Q3.5,32.0 7,35.7 L14,31.0 Q16.0,33.4 18,34.6 L25,35.0 Q27.0,30.9 29,25.1 L48,34.1 Q53.5,33.6 59,32.3 Q64.5,30.6 70,30.1 Q73.0,31.3 76,31.2 Q81.5,29.2 87,24.5 Q90.0,24.5 93,29.3 Q95.0,28.0 97,24.3 L113,28.2 L122,26.6 L135,21.9 L142,24.3 L161,26.6 L170,33.5 L186,29.1 Q191.5,32.2 197,34.8 Q199.0,34.8 201,30.2 Q204.0,32.0 207,28.8 Q209.0,32.8 211,33.7 L217,28.4 Q219.0,31.4 221,31.8 L240,31.6 Q243.5,27.8 247,27.4 Q251.5,25.0 256,26.0 Q264.0,29.2 272,31.3 L278,26.3 Q286.0,27.2 294,29.0 Q299.5,31.0 305,32.1 L312,30.7 L318,31.6 Q320.0,31.3 322,30.3 L326,31.2 Q329.5,29.9 333,30.6 L346,33.7 L353,32.4 L366,23.4 L385,22.9 Q388.0,21.9 391,21.9 Q394.5,25.2 398,25.9 L417,25.2 Q419.0,27.3 421,24.9 L437,28.4 Q440.0,27.2 443,26.6 Q451.0,29.3 459,27.2 L478,26.9 Q480.0,22.7 482,14.2 Q485.0,18.9 488,24.0 Q493.5,26.5 499,25.8 Q503.5,22.0 508,22.0 Q517.5,20.5 527,19.5 L538,16.5 L547,21.0 Q553.5,17.1 560,16.9 L564,20.8 Q567.5,19.0 571,17.6 L587,22.4 Q596.5,23.7 606,25.8 Q608.0,27.6 610,29.0 Q612.0,31.5 614,29.4 Q619.5,23.6 625,20.4 L644,28.0 Q650.5,32.3 657,33.8 Q666.5,30.4 676,28.4 L700,32.6 Q706.5,33.2 713,33.1 Q716.5,33.8 720,33.3 Q723.0,32.3 726,34.5 L745,38.2 Q753.0,41.7 761,40.9 Q767.5,38.6 774,40.8 L780,38.9 L791,40.4 L795,38.6 Q807.0,35.3 819,35.9 Q823.5,40.1 828,48.4 L841,35.9 Q853.0,37.2 865,38.1 Q874.5,38.5 884,40.1 Q887.0,38.3 890,39.3 L914,39.4 Q926.0,38.8 938,34.9 L947,34.1 L958,34.7 Q970.0,32.6 982,29.2 Q984.0,29.6 986,32.9 L992,33.0 L1016,36.0 Q1024.0,36.3 1032,37.8 Q1040.0,43.8 1048,44.8 L1072,42.5 Q1077.5,40.1 1083,35.3 Q1087.5,37.2 1092,39.9 L1101,43.7 L1107,45.0 Q1119.0,48.0 1131,55.2 L1138,43.6 Q1142.5,44.0 1147,44.6 Q1150.5,43.0 1154,43.5 Q1157.5,42.2 1161,45.2 L1170,49.9 Q1174.5,46.1 1179,46.6 L1195,53.0 Q1198.5,51.8 1202,48.7 L1208,48.6 L1221,46.9 L1245,49.1 Q1254.5,48.4 1264,49.0 L1283,38.3 Q1286.5,41.5 1290,44.0 Q1292.0,43.2 1294,38.0 Q1297.0,38.4 1300,39.4 Q1308.0,38.3 1316,39.1 L1320,43.6 L1333,40.6 Q1345.0,43.1 1357,41.5 L1373,37.2 L1386,36.3 L1393,35.0 L1417,31.1 L1433,27.6 L1440,27.6 L1440,80 Z",B:"M0,80 L0,28.9 L13,25.7 Q22.5,29.2 32,27.8 L48,28.6 Q50.0,26.0 52,26.7 L65,32.3 L78,26.4 L87,38.9 Q93.5,32.6 100,22.9 L107,40.0 Q112.5,33.8 118,31.6 Q120.0,32.3 122,28.0 L131,26.3 L137,37.2 Q140.5,35.6 144,36.7 Q147.5,31.3 151,25.7 L162,23.6 L173,20.8 L197,24.7 Q200.0,28.8 203,35.9 Q209.5,28.9 216,22.8 Q220.5,25.3 225,28.4 Q234.5,24.4 244,24.7 Q246.0,27.9 248,27.8 Q253.5,24.2 259,25.3 L263,22.1 L276,25.4 Q279.0,25.6 282,24.0 Q291.5,23.3 301,21.2 Q304.0,22.0 307,19.0 Q309.0,20.3 311,22.4 L317,21.2 Q323.5,20.8 330,24.3 Q334.5,24.1 339,27.9 Q342.0,24.2 345,19.0 Q357.0,23.6 369,27.2 Q378.5,29.3 388,34.8 L399,31.4 L403,32.7 Q406.5,33.5 410,35.6 Q422.0,32.9 434,34.9 Q438.5,35.7 443,33.1 L450,30.9 Q452.0,31.9 454,32.2 Q457.5,35.3 461,37.9 Q470.5,37.0 480,40.0 Q483.5,39.3 487,36.2 Q492.5,41.5 498,41.8 Q503.5,39.5 509,42.2 L528,45.6 Q531.0,45.7 534,44.9 Q540.5,44.4 547,43.6 Q559.0,38.8 571,37.9 L587,41.3 L606,40.5 Q614.0,40.5 622,39.9 L633,36.9 L642,43.0 Q644.0,38.4 646,37.6 L650,41.8 Q658.0,42.1 666,40.4 L673,42.8 L686,39.9 L710,39.0 Q715.5,40.0 721,37.3 Q730.5,33.2 740,33.9 Q752.0,43.7 764,49.0 L788,40.5 L812,33.6 L819,53.2 L825,42.4 Q828.5,40.5 832,40.3 L845,42.8 L869,39.2 Q872.5,37.6 876,40.9 L885,45.2 Q891.5,42.7 898,44.8 L904,42.2 L917,43.1 L936,45.3 L952,51.8 Q958.5,50.5 965,51.3 Q970.5,51.3 976,47.5 Q982.5,49.6 989,47.8 L1000,43.5 L1009,42.2 Q1012.5,40.8 1016,41.0 L1040,37.5 L1056,41.6 L1063,41.1 Q1071.0,38.7 1079,37.2 L1092,42.9 L1103,39.9 L1116,38.5 Q1118.0,37.2 1120,38.9 Q1129.5,36.6 1139,30.0 Q1142.5,32.7 1146,31.2 Q1154.0,28.7 1162,29.5 L1171,26.1 L1184,29.5 Q1190.5,26.6 1197,24.7 Q1201.5,24.0 1206,26.7 L1212,27.9 Q1218.5,30.0 1225,30.6 Q1229.5,28.9 1234,29.1 L1245,28.7 L1251,31.3 L1267,31.6 Q1272.5,28.8 1278,28.8 L1282,30.1 L1301,24.9 L1317,26.4 L1323,30.0 Q1329.5,34.5 1336,38.0 Q1344.0,35.7 1352,29.7 L1371,32.7 L1387,33.5 Q1399.0,33.5 1411,33.0 Q1413.0,30.4 1415,32.0 Q1418.0,31.3 1421,28.8 L1434,28.6 Q1437.0,27.7 1440,28.6 L1440,80 Z"};
var UP="/wp-content/uploads/", API="/wp-json/wc/store/v1/";
var ALLI=[
["Ordre","",[["Reinland","reinland","2024/08/Reinland-Presentation-1024x614.png","reinland",54],["Cathay","cathay","2026/04/Cathay-v2.1-1024x614.png","cathay",1383],["Royaume de Chouannes","royaume-de-chouannes","2024/08/Royaume-de-Chouannes-Presentation-1024x614.png","royaume-de-chouannes",238],["Nains de Kaldum","nains","2026/02/Nains-1024x614.png","nains-de-kaldum",173],["Elfes du Bois Sacré","elfes-du-bois-sacre","2026/05/Elfes-du-Bois-Sacre-v2-1024x614.png","elfes-du-bois-sacre",381],["Elfes d'Althamar","elfes-althamar","2024/09/Elfes-dAlthamar-1024x614.png","elfes-dalthamar",380],["Sauriens","sauriens","2026/06/Sauriens-1024x614.png","sauriens",382],["Oblast de Tchaïka","oblast-de-tchaika","2024/08/Oblast-de-Tchaika-Presentation-1024x614.png","oblast-de-tchaika",383]]],
["Mal","/impression-3d-mal/",[["Mal Universel","mal-universel","2026/05/Mal-Universel-v2-1024x614.png","mal-universel",394],["Hommes-Rats","hommes-rats","2025/06/Hommes-Rats-Presentation3-1024x614.png","hommes-rats",395],["Nains Infernaux","nains-infernaux","2026/05/Nains-Infernaux-v2-1024x614.png","nains-de-drazherak",397],["Bovigors","bovigors","2026/04/Bovigors-1024x614.png","bovigors",396],["Khrâne","khrane","2025/12/INTRO-Khrane-1024x614.png","khrane",393],["Borkle","borkle","2025/12/BORKLE2-1024x614.png","borkle",390],["Mageenzch","mageenzch","2025/12/Intro-FACTION2-1024x614.png","mageenzch",391],["Sadikesh","sadikesh","2025/12/Sadikesh-Accueil-1024x614.png","sadikesh",392]]],
["Destruction","/impression-3d-destruction/",[["Tribus Ogres","tribus-ogres","2025/06/Tribus-Ogres-1024x614.png","tribus-ogres",386],["Orques \u0026 Gobelins","orques-gobelins","2025/04/Orques-et-Gobelins-1024x614.png","orques-et-gobelins",387],["Elfes de Meleroth","elfes-de-meleroth","2024/11/Elfes-de-Meleroth-1024x614.png","elfes-de-meleroth",389]]],
["Revenants","/impression-3d-revenants/",[["Duché d'Outre-Tombe","duche-outre-tombe","2026/06/Duche-dOutre-Tombe-1024x614.png","duche-outre-tombe",375],["Légions des Dunes","legions-des-dunes","2024/08/Legions-des-Dunes-Presentation-1024x614.png","legions-des-dunes",378]]],
["Dark Crusades","",[["Horde Damnée","horde-damnee","2025/07/Horde-Damnee-1024x614.png","horde-damnee",1377],["Esprits Pénitents","esprits-penitents","2025/08/Esprits-Penitents-1024x614.png","esprits-penitents",1378]]]];
var MAIN_ALLI=4;
var ACC_TXT={"Autres factions fantastiques":"Duché d'Épouvantaal, Concile Nécrophage, Seigneurs de la Nuit.","Dark Crusades":"Horde Damnée, Esprits Pénitents et les croisades à venir."};
var WARBANDS={id:1220,page:"/warbands/",txt:"Bande de héros pour les jeux d'escarmouche."};
var COFFRET_DEMARRAGE=111;
var TYPES=[["Infanterie",["infanterie"]],["Infanterie monstrueuse",["infanterie monstrueuse"]],["Cavalerie",["cavalerie"]],["Cavalerie monstrueuse",["cavalerie monstrueuse"]],["Chariots",["chariot"]],["Machines de guerre",["machine de guerre"]],["Artillerie",["artillerie"]],["Équipes d'armes",["équipes d'armes"]],["Monstres",["monstre"]],["Héros",["héro","héros"]]];
var CREATORS={"apache studio":"Apache Studio","crab miniatures":"Crab Miniatures","dragon's lake miniatures":"Dragon's Lake Miniatures","duncan shadow":"Duncan Shadow","ezipion miniaturas":"Ezipion Miniaturas","highlands miniatures":"Highlands Miniatures","highland miniatures":"Highlands Miniatures","ilhadiel":"Ilhadiel","infernal miniatures":"Infernal Miniatures","kyoushuneko":"Kyoushuneko","lost kingdom":"Lost Kingdom Miniatures","lost kingdom miniatures":"Lost Kingdom Miniatures","magori miniatures":"Magori Miniatures","parasite collectibles":"Parasite Collectibles","sabertooth collectibles":"Sabertooth Collectibles","sin's miniatures":"Sin's Miniatures","the beholder miniatures":"The Beholder Miniatures","vae victis miniatures":"Vae Victis Miniatures","vinciminiatures":"Vinciminiatures","white angel miniatures":"White Angel Miniatures"};
var ORD=["1er choix","2e choix","3e choix","4e choix","5e choix","6e choix","7e choix","8e choix"];
var $=function(id){return document.getElementById("zz-"+id)};
var root=document.getElementById("zz");
function esc(t){return String(t==null?"":t).replace(/\u0026/g,"\u0026amp;").replace(/</g,"\u0026lt;").replace(/"/g,"\u0026quot;")}
function dec(s){var t=document.createElement("textarea");t.innerHTML=s||"";return t.value}
function norm(s){return dec(s).toLowerCase().replace(/[’\u0060]/g,"'").trim()}
function pad(n){return (n<10?"0":"")+n}
function eur(n){return n.toFixed(2).replace(".",",")+" €"}
function money(pr,v){return eur(v/Math.pow(10,pr.currency_minor_unit))}
function priceHTML(p){var pr=p.prices;if(!pr)return "";var min=pr.price_range?pr.price_range.min_amount:pr.price;return (pr.price_range?"À PARTIR DE ":"")+"<b>"+money(pr,+min)+"</b>"}
var F="id,name,slug,permalink,images,prices,categories,tags,attributes,short_description,is_purchasable";
function get(path){var k="zzc:"+path;try{var c=sessionStorage.getItem(k);if(c){var o=JSON.parse(c);if(Date.now()-o.t<600000)return Promise.resolve(o.d)}}catch(e){}return fetch(API+path,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw r;return r.json()}).then(function(d){try{sessionStorage.setItem(k,JSON.stringify({t:Date.now(),d:d}))}catch(e){}return d})}
function whenNear(el,fn){if(!("IntersectionObserver" in window)){fn();return}var ob=new IntersectionObserver(function(en){if(en[0].isIntersecting){ob.disconnect();fn()}},{rootMargin:"900px 0px"});ob.observe(el)}
function qs(o){return Object.keys(o).map(function(k){return k+"="+encodeURIComponent(o[k])}).join("\u0026")}
function catSlugs(p){return (p.categories||[]).map(function(c){return c.slug})}
function tagNames(p){return (p.tags||[]).map(function(t){return norm(t.name)})}
function isNoise(p){return catSlugs(p).indexOf("non-classe")>-1||/ventes-flashs|commande-personnalisee|livraison/.test(p.slug)||!(p.images||[]).length}
function isCoffret(p){return catSlugs(p).some(function(s){return s.indexOf("coffret")===0})}
function creatorOf(p){var n=tagNames(p);for(var i=0;i<n.length;i++){if(CREATORS[n[i]])return CREATORS[n[i]]}return ""}
var FAC={};ALLI.forEach(function(a){a[2].forEach(function(f){FAC[f[3]]={slug:f[3],name:f[0],page:"/"+f[1]+"/",img:f[2],cat:f[4],al:a[0]}})});
function factionOf(p){var s=catSlugs(p);for(var i=0;i<s.length;i++){if(FAC[s[i]])return FAC[s[i]]}return null}
var PMAP={};
function remember(ps){ps.forEach(function(p){PMAP[p.id]=p});return ps}
window.zzRemember=remember;window.zzOpenQV=function(i){openQV(i)};
function card(p,badge){
  var im=(p.images||[])[0],fa=factionOf(p);
  return '<div class="pcard"><div class="pw"><a class="pimg" href="'+esc(p.permalink)+'">'+(badge?'<i>'+badge+'</i>':'')+(im?'<img src="'+esc(im.thumbnail||im.src)+'" srcset="'+esc(im.srcset||"")+'" sizes="(max-width: 900px) 70vw, 300px" alt="'+esc(dec(im.alt||p.name))+'" loading="lazy" decoding="async">':'')+'</a>'+
  '<button type="button" class="qv" data-qv="'+p.id+'">Vue rapide</button></div>'+
  '<span class="f">'+esc(fa?fa.name:"")+'</span><a class="ct" href="'+esc(p.permalink)+'">'+esc(dec(p.name))+'</a><span class="p">'+priceHTML(p)+'</span></div>';
}
root.querySelectorAll(".edge").forEach(function(el){el.innerHTML='<svg viewBox="0 0 1440 80" preserveAspectRatio="none" aria-hidden="true"><path fill="'+el.dataset.fill+'" d="'+EDGES[el.dataset.edge]+'"/></svg>'});
function facCards(list){return list.map(function(f){return '<button type="button" class="fcard" aria-expanded="false" data-cat="'+f[3]+'"><span class="fimg"><img src="'+UP+f[2].replace("-1024x614","-300x180")+'" srcset="'+UP+f[2].replace("-1024x614","-300x180")+' 300w, '+UP+f[2].replace("-1024x614","-768x461")+' 768w" sizes="(max-width: 900px) 45vw, 220px" alt="" loading="lazy" decoding="async"></span><span class="n"><span class="ct">'+esc(f[0])+'<span class="flink" data-flink="/'+f[1]+'/">Voir la faction →</span></span><span class="arr" aria-hidden="true">→</span></span></button>'}).join("")}
$("alli").innerHTML=ALLI.slice(0,MAIN_ALLI).map(function(a){var n=a[2].length;return '<div class="alli rev"><div class="alli-h"><h3>'+esc(a[0])+'</h3><span>'+n+' faction'+(n>1?'s':'')+'</span></div><div class="grid-f">'+facCards(a[2])+'</div><div class="fpanel"></div></div>'}).join("");
$("acc").innerHTML=ALLI.slice(MAIN_ALLI).map(function(a){return '<div class="acc rev" data-open="0"><button type="button" class="acc-h" aria-expanded="false"><span><span class="k">'+esc(a[0])+'</span><p>'+esc(ACC_TXT[a[0]]||"")+'</p></span><span class="plus" aria-hidden="true"><i>+</i></span></button><div class="acc-b"><div class="grid-f">'+facCards(a[2])+'</div><div class="fpanel"></div></div></div>'}).join("")+
'<div class="acc rev" data-open="0" data-warbands="1"><button type="button" class="acc-h" aria-expanded="false"><span><span class="k">Warbands</span><p>'+esc(WARBANDS.txt)+'</p></span><span class="plus" aria-hidden="true"><i>+</i></span></button><div class="acc-b"><div class="wbpanel"><div class="pgrid" id="zz-wb"><p class="lead loading">Chargement…</p></div><p class="wb-note">Toutes les warbands sont ici.</p></div></div></div>';
var FCACHE={},FPEND={},ZZAPI="/wp-json/zelzarr/v1/";
function zzRoute(path,fb){if(window.ZZ_VDATA){if(path==="variations/"+window.ZZ_PID){return Promise.resolve(window.ZZ_VDATA)}}return fetch("/wp-json/zelzarr/v1/"+path+"?t="+Math.floor(Date.now()/300000)).then(function(r){if(!r.ok){throw r}return r.json()}).then(function(l){if(!Array.isArray(l)){throw 0}if(!l.length){throw 0}return l}).catch(function(){return fb()})}
function getZZ(path,fallback){return fetch(ZZAPI+path).then(function(r){if(!r.ok)throw r;return r.json()}).catch(function(){return fallback()})}
function isVitrine(p){return tagNames(p).indexOf("vitrine accueil")>-1}
function byNewest(a,b){return b.id-a.id}
function byOldest(a,b){return a.id-b.id}
function groupUnits(units){
  units=units.slice().sort(byOldest);
  var g=TYPES.map(function(t){var it=units.filter(function(p){var n=tagNames(p);return t[1].some(function(x){return n.indexOf(x)>-1})});return {label:t[0],count:it.length,items:it.filter(isVitrine).concat(it.filter(function(p){return !isVitrine(p)})).slice(0,4)}}).filter(function(x){return x.count});
  if(!g.length)if(units.length)g=[{label:"Toutes les unités",count:units.length,items:units.slice(0,4)}];
  return g;
}
function unitsOf(f){
  if(FCACHE[f.cat])return Promise.resolve(FCACHE[f.cat]);
  if(FPEND[f.cat])return FPEND[f.cat];
  FPEND[f.cat]=getZZ("faction/"+f.cat,function(){
    return get("products?"+qs({category:f.cat,per_page:100,orderby:"date",order:"asc",_fields:F})).then(function(ps){return {groups:groupUnits(ps.filter(function(p){return isNoise(p)?false:!isCoffret(p)}))}});
  }).then(function(d){var g=d.groups||[];g.forEach(function(x){remember(x.items)});FCACHE[f.cat]=g;delete FPEND[f.cat];return g},function(e){delete FPEND[f.cat];throw e});
  return FPEND[f.cat];
}
function prefetch(e){var c=e.target.closest?e.target.closest(".fcard"):null;if(c){var f=FAC[c.dataset.cat];if(f)unitsOf(f).catch(function(){})}}
root.addEventListener("mouseover",prefetch);root.addEventListener("focusin",prefetch);root.addEventListener("touchstart",prefetch,{passive:true});
function fpOverflow(panel,keep){var w=panel.querySelector(".fp-cats");if(!w)return;var c=w.querySelector(".chips"),cs=c.querySelectorAll(".chip");w.classList.remove("ovf");c.style.maxWidth="";c.scrollLeft=0;if(cs.length>4){w.classList.add("ovf");c.style.maxWidth=Math.ceil(cs[3].getBoundingClientRect().right-cs[0].getBoundingClientRect().left)+"px"}c.scrollLeft=keep||0}
window.addEventListener("resize",function(){root.querySelectorAll(".fpanel.on").forEach(function(pn){fpOverflow(pn,0)})});
function renderPanel(panel,f,groups,type){
  var oc=panel.querySelector(".fp-cats .chips"),keep=oc?oc.scrollLeft:0;
  panel.dataset.cat=f.slug;
  var cta='<a href="'+f.page+'" class="btn solid fp-cta">Voir toutes les références →</a>';
  var close='<button type="button" class="x" data-close="1" aria-label="Fermer">×</button>';
  if(!groups.length){panel.innerHTML='<div class="fp-top"><h4>'+esc(f.name)+'</h4>'+close+'</div>'+cta;return}
  var cur=groups.filter(function(g){return g.label===type})[0]||groups[0];
  panel.innerHTML='<div class="fp-top"><h4>'+esc(f.name)+'</h4><div class="fp-cats"><button type="button" class="fp-arr" data-fparr="-1" aria-label="Catégories précédentes">←</button><div class="chips">'+groups.map(function(g){return '<button type="button" class="chip" data-type="'+esc(g.label)+'" aria-pressed="'+(g===cur)+'">'+esc(g.label)+' ('+g.count+')</button>'}).join("")+'</div><button type="button" class="fp-arr" data-fparr="1" aria-label="Catégories suivantes">→</button></div>'+close+'</div>'+
    '<div class="pgrid">'+cur.items.slice(0,4).map(function(p){return card(p)}).join("")+'</div>'+cta;
  fpOverflow(panel,keep);
}
function closeAccs(keep){root.querySelectorAll('.acc[data-open="1"]').forEach(function(a){if(a!==keep){a.dataset.open="0";a.querySelector(".acc-h").setAttribute("aria-expanded","false")}})}
function closeAll(){root.querySelectorAll('.fcard[aria-expanded="true"]').forEach(function(b){b.setAttribute("aria-expanded","false")});root.querySelectorAll(".fpanel.on").forEach(function(pn){pn.classList.remove("on")});closeAccs(null)}
function toggleFaction(btn){
  var grid=btn.closest(".grid-f"),panel=grid.querySelector(".fpanel")||grid.nextElementSibling,f=FAC[btn.dataset.cat];
  var open=btn.getAttribute("aria-expanded")==="true";
  closeAccs(btn.closest(".acc"));
  root.querySelectorAll('.fcard[aria-expanded="true"]').forEach(function(b){b.setAttribute("aria-expanded","false")});
  root.querySelectorAll(".fpanel.on").forEach(function(p){if(p!==panel)p.classList.remove("on")});
  if(open){panel.classList.remove("on");return}
  panel.classList.remove("on");var row=[].filter.call(grid.querySelectorAll(".fcard"),function(c){return c.offsetTop===btn.offsetTop});row[row.length-1].after(panel);
  btn.setAttribute("aria-expanded","true");panel.classList.add("on");
  panel.innerHTML='<p class="lead loading">Chargement des unités '+esc(f.name)+'…</p>';
  unitsOf(f).then(function(u){renderPanel(panel,f,u)}).catch(function(){panel.innerHTML='<p class="err">Impossible de charger les unités. <a href="'+f.page+'">Ouvrir la page '+esc(f.name)+'</a></p>'});
  setTimeout(function(){panel.scrollIntoView({behavior:"smooth",block:"nearest"})},150);
}
var NEWS=[],NF={fac:"",cr:""};
function chipsHTML(list,cur,key,ok){return ['<button type="button" class="chip" data-'+key+'="" aria-pressed="'+(cur==="")+'">Tout</button>'].concat(list.map(function(x){var na=ok?!ok[x]:false;return '<button type="button" class="chip'+(na?' na" disabled aria-disabled="true"':'"')+' data-'+key+'="'+esc(x)+'" aria-pressed="'+(cur===x)+'">'+esc(x)+'</button>'})).join("")}
function nOkF(p){var fa=factionOf(p);return NF.fac?(fa?fa.name===NF.fac:false):true}
function nOkC(p){return NF.cr?creatorOf(p)===NF.cr:true}
function renderNews(){
  var list=NEWS.filter(function(p){return nOkF(p)?nOkC(p):false}).slice(0,12);
  $("rail").innerHTML=list.length?list.map(function(p){return card(p,"Nouveau")}).join(""):'<p class="lead">Aucune nouveauté pour ce filtre.</p>';
  $("rail").scrollLeft=0;
  var facs=[],crs=[],fOk={},cOk={};NEWS.forEach(function(p){var fa=factionOf(p),c=creatorOf(p);if(fa?facs.indexOf(fa.name)<0:false)facs.push(fa.name);if(c?crs.indexOf(c)<0:false)crs.push(c);if(fa?nOkC(p):false)fOk[fa.name]=1;if(c?nOkF(p):false)cOk[c]=1});
  $("nf").innerHTML=chipsHTML(facs,NF.fac,"nf",fOk);$("nc").innerHTML=chipsHTML(crs.sort(),NF.cr,"nc",cOk);
}
whenNear($("news"),function(){getZZ("news",function(){return get("products?"+qs({orderby:"date",order:"desc",per_page:60,category:15,category_operator:"not_in",_fields:F}))}).then(function(ps){NEWS=remember(ps).filter(function(p){return !isNoise(p)}).sort(byNewest).slice(0,40);renderNews()}).catch(function(){$("rail").innerHTML='<p class="err">Impossible de charger les nouveautés. <a href="/nouveautes/">Voir la page Nouveautés</a></p>'});});
var rail=$("rail");
root.querySelectorAll("[data-rail]").forEach(function(b){b.addEventListener("click",function(){rail.scrollBy({left:(+b.dataset.rail)*(rail.clientWidth*0.8),behavior:"smooth"})})});
var down=false,sx=0,sl=0,moved=false;
rail.addEventListener("mousedown",function(e){if(e.target.closest(".qv"))return;down=true;moved=false;sx=e.pageX;sl=rail.scrollLeft;rail.style.scrollSnapType="none";rail.style.cursor="grabbing";e.preventDefault()});
window.addEventListener("mouseup",function(){if(!down)return;down=false;rail.style.scrollSnapType="";rail.style.cursor=""});
rail.addEventListener("mousemove",function(e){if(!down)return;var d=e.pageX-sx;if(Math.abs(d)>4)moved=true;rail.scrollLeft=sl-d});
rail.addEventListener("click",function(e){if(moved){e.preventDefault();e.stopPropagation();moved=false}},true);
var DEC=[],DF={col:"",cr:""};
function dCat(p){var x=(p.categories||[]).filter(function(c){return c.id!==913})[0];return x?dec(x.name):""}
function dCol(p){return dCat(p).replace(/^Volume\s+[IVX]+\s*[-–]\s*/i,"")}
function dCr(p){var k=creatorOf(p);if(k)return k;var t=(p.tags||[])[0];return t?dec(t.name):""}
function dOk1(p){return DF.col?dCol(p)===DF.col:true}
function dOk2(p){return DF.cr?dCr(p)===DF.cr:true}
function renderDecor(){var list=DEC.filter(function(p){return dOk1(p)?dOk2(p):false}),r=$("drail");r.innerHTML=list.length?list.map(function(p){return card(p)}).join(""):'<p class="lead">Aucun décor pour ce filtre.</p>';r.scrollLeft=0;var cols=[],crs=[],a={},b={};DEC.forEach(function(p){var c1=dCol(p),k=dCr(p);if(c1)if(cols.indexOf(c1)<0)cols.push(c1);if(k)if(crs.indexOf(k)<0)crs.push(k);if(dOk2(p))a[c1]=1;if(dOk1(p))b[k]=1});$("dcol").innerHTML=cols.map(function(x){return '<button type="button" class="chip" data-dcol="'+esc(x)+'" aria-pressed="'+(x===DF.col)+'">'+esc(x)+'</button>'}).join("")}
whenNear($("decor"),function(){getZZ("decors",function(){return get("products?"+qs({category:913,per_page:100,_fields:F}))}).then(function(ps){DEC=remember(ps).filter(function(p){return !/\(copie\)/i.test(p.name)}).sort(function(x,y){return dCat(x).localeCompare(dCat(y))});DF.col=DEC.length?dCol(DEC[0]):"";renderDecor()}).catch(function(){$("drail").innerHTML='<p class="err">Impossible de charger les décors. <a href="/decors/">Voir la page Décors</a></p>'})});
function dragRail(el){var dn=false,x0=0,s0=0,mv=false;el.addEventListener("mousedown",function(e){if(e.target.closest(".qv"))return;dn=true;mv=false;x0=e.pageX;s0=el.scrollLeft;el.style.scrollSnapType="none";el.style.cursor="grabbing";e.preventDefault()});window.addEventListener("mouseup",function(){if(!dn)return;dn=false;el.style.scrollSnapType="";el.style.cursor=""});el.addEventListener("mousemove",function(e){if(!dn)return;var dd=e.pageX-x0;if(Math.abs(dd)>4)mv=true;el.scrollLeft=s0-dd});el.addEventListener("click",function(e){if(mv){e.preventDefault();e.stopPropagation();mv=false}},true)}
var drail=$("drail");dragRail(drail);root.querySelectorAll("[data-drail]").forEach(function(b){b.addEventListener("click",function(){drail.scrollBy({left:(+b.dataset.drail)*(drail.clientWidth*0.8),behavior:"smooth"})})});
(function(){var h=root.querySelector("header.zh");if(!h)return;var sp=document.createElement("div");sp.style.display="none";h.parentNode.insertBefore(sp,h.nextSibling);var y0=window.scrollY,H=0,top0=0,ab=document.getElementById("wpadminbar"),sup=0;root.addEventListener("click",function(e){var a=e.target.closest("a[href^='#']");if(a){sup=1;h.classList.remove("zon")}},true);["wheel","touchstart","keydown"].forEach(function(t){window.addEventListener(t,function(){sup=0},{passive:true})});
function adm(){return ab?(getComputedStyle(ab).position==="fixed"?ab.offsetHeight:0):0}
var NL=[].slice.call(h.querySelectorAll("nav.zn a[href^='#zz-']"));
function spy(){var cur=null,lim=window.innerHeight*0.35;NL.forEach(function(a){var s=document.getElementById(a.getAttribute("href").slice(1));if(!s)return;var r=s.getBoundingClientRect(),nx=s.nextElementSibling,b=(nx?(/edge/.test(nx.className)?nx.getBoundingClientRect().bottom:r.bottom):r.bottom);if(r.top<=lim)if(b>lim)cur=a});NL.forEach(function(a){a.classList.toggle("on",a===cur)})}
var acc=0,lt=0;
function onS(){var y=window.scrollY,up=y<y0,fx=h.classList.contains("zfix");if(sup){h.classList.remove("zon");acc=0}if(!fx){top0=h.getBoundingClientRect().top+y;H=h.offsetHeight}
  if(y>top0+H){if(!fx){sp.style.height=H+"px";sp.style.display="block";h.style.setProperty("--zadm",adm()+"px");h.style.transition="none";h.classList.add("zfix");void h.offsetWidth;h.style.transition=""}
    if(y<top0+H+260){h.classList.remove("zon")}else if(up){var tn=Date.now();if(tn-lt>4000)acc=0;lt=tn;acc+=y0-y;if(acc>350)if(!sup)h.classList.add("zon")}else{acc=0;if(y-y0>2)h.classList.remove("zon")}}
  else{if(fx){h.classList.remove("zfix");h.classList.remove("zon");sp.style.display="none"}}
  spy();y0=y}
window.addEventListener("scroll",onS,{passive:true});onS()})();
var qvd0=$("qvd");if(qvd0)qvd0.addEventListener("mousemove",function(e){var im=e.target.closest(".qv-main img");if(!im)return;var r=im.getBoundingClientRect();im.style.transformOrigin=((e.clientX-r.left)/r.width*100)+"% "+((e.clientY-r.top)/r.height*100)+"%"});
root.addEventListener("click",function(e){var l=e.target.closest("[data-flink]");if(!l)return;e.preventDefault();e.stopPropagation();location.href=l.getAttribute("data-flink")},true);
root.addEventListener("click",function(e){var l=e.target.closest("[data-wb]");if(!l)return;e.preventDefault();e.stopPropagation();var acc=root.querySelector(".acc[data-warbands]");if(!acc)return;if(acc.dataset.open!=="1"){var hb=acc.querySelector(".acc-h");if(hb)hb.click()}setTimeout(function(){window.scrollTo({top:acc.getBoundingClientRect().top+window.scrollY-90,behavior:"smooth"})},60)},true);
root.addEventListener("mouseover",function(e){var f=e.target.closest(".fcard");if(!f)return;var ct=f.querySelector(".n .ct"),fl=f.querySelector(".flink");if(!ct)return;if(!fl)return;var sp=f.offsetHeight-(ct.offsetTop+ct.offsetHeight),need=5+fl.offsetHeight+14;f.style.setProperty("--lift",Math.max(8,need-sp)+"px")});
/* ===== Accueil : animation de l'encadré Avantages ===== */
(function(){
  var demo=document.getElementById("zfa-demo");if(!demo){return}
  var G=[["Milicien","#6B2226","#6B2226"],["Troupe régulière","#6B2226","#6B2226"],["Vétéran Impérial","#B9875A","#7E5430"],["Général","#A9AFB6","#5F666D"],["Comte Électeur","#C9A45C","#8A6A2F"]];
  var T=[60,90,130,180,240];
  var C=["Une figurine à pied","Une figurine montée","Une petite unité ou figurine spéciale","Un régiment de 10 unités","Un régiment de 20 unités"];
  var gEl=document.getElementById("zfa-g"),mEl=document.getElementById("zfa-m"),cEl=document.getElementById("zfa-c");
  var gr=[].slice.call(document.querySelectorAll("#zfa-gr i")),pa=[].slice.call(document.querySelectorAll("#zfa-pa div"));
  var gift=demo.querySelector(".zfa-gift");
  var lastGift=-2,run=false,timer=null,gen=0,gt=null;
  function eu(v){return Math.round(v)+" €"}
  function setGrade(k){
    demo.style.setProperty("--gc",G[k][1]);demo.style.setProperty("--gt",G[k][2]);
    gEl.classList.add("out");setTimeout(function(){gEl.textContent=G[k][0];gEl.classList.remove("out")},250);
    gr.forEach(function(x,i){x.classList.toggle("on",i<=k)});
    pa.forEach(function(x,i){x.classList.toggle("lock",i>k);x.classList.remove("hit");x.querySelector("b").style.width="0"});
    lastGift=-2;setGift(-1);
  }
  function setGift(i){
    if(i===lastGift){return}lastGift=i;
    cEl.classList.add("out");clearTimeout(gt);
    gt=setTimeout(function(){cEl.textContent=i<0?"Dès 60 € de panier":C[i];cEl.classList.remove("out");if(i>=0){gift.classList.remove("pop");void gift.offsetWidth;gift.classList.add("pop")}},250);
  }
  function setAmount(v,k){
    mEl.textContent=eu(v);
    var best=-1;
    pa.forEach(function(x,i){
      var lo=i?T[i-1]:0,hi=T[i],w=v>=hi?100:(v<=lo?0:(v-lo)/(hi-lo)*100);
      if(i>k){w=0}
      x.querySelector("b").style.width=w+"%";
      var hit=v>=hi?(i<=k):false;x.classList.toggle("hit",hit);if(hit){best=i}
    });
    setGift(best);
  }
  function anim(from,to,ms,k,done){
    var t0=null,g=gen;
    function step(t){if(!run){return}if(g!==gen){return}if(t0===null){t0=t}var p=Math.min(1,(t-t0)/ms),e=1-Math.pow(1-p,3);setAmount(from+(to-from)*e,k);if(p<1){requestAnimationFrame(step)}else{done()}}
    requestAnimationFrame(step);
  }
  function wait(ms,fn){timer=setTimeout(function(){if(run){fn()}},ms)}
  function cycle(k){
    if(!run){return}
    setGrade(k);setAmount(0,k);
    wait(900,function(){
      anim(0,T[k]+15,1900+k*250,k,function(){
        wait(2200,function(){cycle(k===4?0:k+1)});
      });
    });
  }
  function fixe(){setGrade(2);setTimeout(function(){setAmount(145,2)},300)}
  if(window.matchMedia){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){fixe();return}}
  fixe();
  if(!("IntersectionObserver" in window)){run=true;gen++;cycle(0);return}
  new IntersectionObserver(function(es){es.forEach(function(e){
    if(e.isIntersecting){if(!run){run=true;gen++;clearTimeout(timer);cycle(0)}}
    else{run=false;clearTimeout(timer)}
  })},{threshold:0.35}).observe(demo);
})();
var wbLoaded=false;
function loadWarbands(){if(wbLoaded)return;wbLoaded=true;get("products?"+qs({category:WARBANDS.id,per_page:8,orderby:"date",order:"asc",_fields:F})).then(function(ps){$("wb").innerHTML=remember(ps).sort(byOldest).map(function(p){return card(p)}).join("")}).catch(function(){$("wb").innerHTML='<p class="err">Impossible de charger les warbands.</p>'})}
var QS={id:0,sel:{}},VPRICES={};
function qvAttrs(p){return (p.attributes||[]).filter(function(a){return a.has_variations}).map(function(a){return {label:dec(a.name),tax:a.taxonomy||"",opts:a.terms.map(function(t){return {name:dec(t.name).replace(/"([^"]*)"/g,"« $1 »"),raw:dec(t.name),slug:t.slug}})}})}
function vFits(v,attrs,sel){var ok=true;(v.attributes||[]).forEach(function(w){if(!ok)return;if(!w.value)return;var ai=-1;attrs.forEach(function(a,k){if(norm(a.label)===norm(w.name))ai=k});if(ai<0)return;var si=sel[ai];if(si==null)return;var o=attrs[ai].opts[si];if(w.value!==o.slug){if(norm(w.value)!==norm(o.raw))ok=false}});return ok}
function qvMatch(p,attrs,sel){var vs=p.variations||[],s=sel||QS.sel;for(var i=0;i<vs.length;i++){if(vFits(vs[i],attrs,s))return vs[i].id}return 0}
function qvAvail(p,attrs,ai,oi){if(!(p.variations||[]).length)return true;var s={};for(var k in QS.sel)s[k]=QS.sel[k];s[ai]=oi;return qvMatch(p,attrs,s)?true:false}
function optIdx(a,val){for(var i=0;i<a.opts.length;i++){if(a.opts[i].slug===val)return i;if(norm(a.opts[i].raw)===norm(val))return i}return -1}
function takeVariation(v,attrs){(v.attributes||[]).forEach(function(w){if(!w.value)return;var k=-1;attrs.forEach(function(a,j){if(norm(a.label)===norm(w.name))k=j});if(k<0)return;var x=optIdx(attrs[k],w.value);if(x>-1)QS.sel[k]=x})}
function qvInit(p){var attrs=qvAttrs(p),vs=p.variations||[];QS.sel={};attrs.forEach(function(a,i){QS.sel[i]=0});if(vs.length){if(!qvMatch(p,attrs))takeVariation(vs[0],attrs)}}
function qvPick(ai,oi){var p=PMAP[QS.id];if(!p)return;QS.touched=1;if(QS.sel[ai]===oi){QS.sel[ai]=null;qvRefresh();return}var attrs=qvAttrs(p),vs=p.variations||[];QS.sel[ai]=oi;if(vs.length){if(!qvMatch(p,attrs)){var only={};only[ai]=oi;for(var i=0;i<vs.length;i++){if(vFits(vs[i],attrs,only)){takeVariation(vs[i],attrs);QS.sel[ai]=oi;break}}}}qvRefresh()}
function qvDone(attrs){for(var i=0;i<attrs.length;i++){if(attrs[i].opts.length>1){if(QS.sel[i]==null)return false}}return true}
var DEFS={};
function slugify(t){return norm(t).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}
function parseDefs(h){var d={},doc=new DOMParser().parseFromString(h,"text/html");doc.querySelectorAll("form.variations_form select").forEach(function(se){var n=(se.getAttribute("data-attribute_name")||se.name||"").replace(/^attribute_/,""),o=se.querySelector("option[selected]");if(n){if(o){if(o.value)d[n]=o.value}}});return d}
function qvApplyDef(p,attrs,d){attrs.forEach(function(a,i){var v=d[a.tax||slugify(a.label)];if(v==null)v=d[slugify(a.label)];if(v!=null){var x=optIdx(a,v);if(x>-1)QS.sel[i]=x}})}
function qvLoadDefs(p){var attrs=qvAttrs(p);if(DEFS[p.id]){qvApplyDef(p,attrs,DEFS[p.id]);return}
  getZZ("defaults/"+p.id,function(){return fetch(p.permalink,{credentials:"same-origin"}).then(function(r){return r.text()}).then(parseDefs)}).then(function(d){DEFS[p.id]=d||{};if(QS.id!==p.id)return;if(QS.touched)return;qvApplyDef(p,attrs,DEFS[p.id]);qvRefresh()}).catch(function(){})}
function qvPriceHTML(p,attrs){var vid=qvDone(attrs)?qvMatch(p,attrs):0,pr=VPRICES[p.id],v=vid?(pr?pr[vid]:null):null;if(v)return (v.r>v.p?'<s>'+money(p.prices,v.r)+'</s> ':'')+'<b>'+money(p.prices,v.p)+'</b>';var x=p.prices;if(!x)return "";var min=x.price_range?+x.price_range.min_amount:+x.price,reg=+x.regular_price;return (x.price_range?"À PARTIR DE ":"")+(reg>min?'<s>'+money(x,reg)+'</s> ':'')+'<b>'+money(x,min)+'</b>'}
function qvRows(p,attrs){return attrs.map(function(a,ai){var one=a.opts.length===1;return '<div class="row"><span class="lb">'+esc(a.label)+'</span><div class="opts" role="group" aria-label="'+esc(a.label)+'">'+a.opts.map(function(o,oi){var na=one?false:!qvAvail(p,attrs,ai,oi);return '<button type="button" class="pill sm'+(na?' na':'')+'" data-qa="'+ai+'" data-qo="'+oi+'" aria-pressed="'+(one?true:QS.sel[ai]===oi)+'"'+(one?' disabled':(na?' disabled title="Combinaison indisponible"':''))+'>'+esc(o.name)+'</button>'}).join("")+'</div></div>'}).join("")}
function qvRefresh(){var p=PMAP[QS.id];if(!p)return;var attrs=qvAttrs(p);$("qvopts").innerHTML=qvRows(p,attrs);$("qvprice").innerHTML=qvPriceHTML(p,attrs);qvImg(p,attrs)}
function qvCode(im,v){var b=String(im.src||"").split("/").pop().toLowerCase().replace(/\.[a-z0-9]+$/,"");var tk=b.split(/[^a-z0-9]+/);var w=v.split(/\s+/);var ini=w.map(function(x){return x.charAt(0)}).join("");if(ini.length>1){if(tk.indexOf(ini)>=0){return true}if(tk.indexOf(ini.replace(/m$/,""))>=0){return true}}var w0=w[0].replace(/[^a-z0-9]/g,"");return w0.length>3?tk.indexOf(w0)>=0:false}
function qvImg(p,attrs){var m=$("qvimg");if(!m){return}if(!QS.touched){return}var vals=[];attrs.forEach(function(a,i){var s=QS.sel[i];if(s==null){return}if(/chelle|socl|taille|lot|artilleur|quipage|groupe|champion|ma.tre|bras|quantit/i.test(a.label)){return}var o=a.opts[s];if(o){vals.push(norm(o.raw))}});if(!vals.length){return}var best=null,bs=0;(p.images||[]).map(function(im,i){var b=String(im.src||"").split("/").pop();var s=/(^|[^a-z0-9])av([^a-z]|$)/i.test(b)?0:(/(^|[^a-z0-9])ar([^a-z]|$)/i.test(b)?2:1);return {im:im,s:s*1000+i}}).sort(function(x,y){return x.s-y.s}).map(function(o){return o.im}).forEach(function(im){var ps=dec(im.alt||"").split("|").map(function(x){return norm(x)});var cp=norm((typeof crPhoto=="function"?crPhoto(im):"")||"");var sc=0;vals.forEach(function(v){if(ps.indexOf(v)>=0){sc++}else if(cp==v){sc++}else if(qvCode(im,v)){sc++}});if(sc>bs){bs=sc;best=im}});if(!best){return}if(m.getAttribute("src")!=best.src){m.src=best.src;m.srcset=best.srcset||""}var k=(p.images||[]).indexOf(best);$("qvd").querySelectorAll(".qv-th button").forEach(function(b){b.setAttribute("aria-pressed",String(+b.getAttribute("data-qvi")==k))})}

function qvOk(h){$("qvokmsg").innerHTML=h;var ok=$("qvok");ok.classList.remove("on");void ok.offsetWidth;ok.classList.add("on")}
function openQV(id){
  var p=PMAP[id];if(!p)return;
  QS={id:+id,sel:{}};loadFA();qvInit(p);qvLoadDefs(p);
  var ims=(p.images||[]).slice(0,16),fa=factionOf(p);
  $("qvd").innerHTML='<button type="button" class="x" data-qvclose="1" aria-label="Fermer">×</button>'+
   '<div class="qv-g"><div class="qv-main">'+(ims[0]?'<img id="zz-qvimg" src="'+esc(ims[0].src)+'" srcset="'+esc(ims[0].srcset||"")+'" sizes="(max-width: 900px) 100vw, 720px" alt="'+esc(dec(ims[0].alt||p.name))+'">':'')+'</div>'+
   (ims.length>1?'<div class="qv-th">'+ims.map(function(im,i){return '<button type="button" data-qvi="'+i+'" aria-pressed="'+(i===0)+'" aria-label="Image '+(i+1)+'"><img src="'+esc(im.thumbnail||im.src)+'" alt="" loading="lazy"></button>'}).join("")+'</div>':'')+'</div>'+
   '<div class="qv-i"><span class="f">'+esc(fa?fa.name:"")+'</span><h4>'+esc(dec(p.name))+'</h4><div id="zz-qvopts"></div><div class="p" id="zz-qvprice">'+qvPriceHTML(p,qvAttrs(p))+'</div>'+
   '<button type="button" class="btn solid addbtn" id="zz-qvadd">Ajouter au panier</button><div class="ok" id="zz-qvok" role="status"><span id="zz-qvokmsg"></span><a href="/panier/">Voir le panier →</a></div><div class="pay" aria-label="Moyens de paiement acceptés"><i class="fab fa-cc-mastercard" title="Mastercard"></i><i class="fab fa-cc-visa" title="Visa"></i><i class="fab fa-cc-paypal" title="PayPal"></i><i class="fab fa-apple-pay" title="Apple Pay"></i><i class="fab fa-google-pay" title="Google Pay"></i></div>'+
   '</div>'+
   '<div class="qv-desc"><h5>Description</h5><div id="zz-qvdesc">'+(p.short_description||'<p class="loading">Chargement…</p>')+'</div><a href="'+esc(p.permalink)+'" class="lnk2">Voir la fiche complète →</a></div>';
  qvRefresh();
  $("qvd").dataset.id=id;$("qvm").classList.add("on");document.documentElement.style.overflow="hidden";
  $("qvd").querySelector(".x").focus();
  get("products/"+id).then(function(full){var q=PMAP[id];if(!q)return;if(full.variations)q.variations=full.variations;if(QS.id!==+id)return;if(!qvMatch(q,qvAttrs(q)))qvInit(q);var d=full.description||full.short_description||"";$("qvdesc").innerHTML=d||'<p>Pas de description pour cette référence.</p>';qvRefresh()}).catch(function(){});
  if(!VPRICES[id])zzRoute("variations/"+id,function(){return get("products?"+qs({type:"variation",parent:id,per_page:100,_fields:"id,prices"}))}).then(function(vs){var m={};vs.forEach(function(v){m[v.id]={p:+v.prices.price,r:+v.prices.regular_price}});VPRICES[id]=m;if(QS.id===+id)qvRefresh()}).catch(function(){});
}
function qvFromImg(i){var p=PMAP[QS.id];if(!p){return}var im=(p.images||[])[i];if(!im){return}var ps=dec(im.alt||"").split("|").map(function(x){return norm(x)});var attrs=qvAttrs(p);var ch=false;attrs.forEach(function(a,ai){if(/chelle|socl|taille|lot|artilleur|quipage|groupe|champion|ma.tre|bras|quantit/i.test(a.label)){return}var cr=/cr.ateur/i.test(a.label);var oi=-1;var altA=a.opts.some(function(o){return ps.indexOf(norm(o.raw))>=0});a.opts.forEach(function(o,j){if(oi>=0){return}var v=norm(o.raw);if(ps.indexOf(v)>=0){oi=j}else if(cr){if(!altA){if(qvCode(im,v)){oi=j}}}});if(oi<0){return}QS.touched=1;if(QS.sel[ai]!==oi){qvPick(ai,oi);ch=true}});if(ch){var m=$("qvimg");if(m){m.src=im.src;m.srcset=im.srcset||""}$("qvd").querySelectorAll(".qv-th button").forEach(function(b){b.setAttribute("aria-pressed",String(+b.getAttribute("data-qvi")==i))})}}
function qvCrea(){var ch=document.querySelector("#zz [data-cr][aria-pressed=\"true\"]");if(!ch){return}var cr=ch.getAttribute("data-cr");if(!cr){return}var p=PMAP[QS.id];if(!p){return}var attrs=qvAttrs(p);var ai=-1,oi=-1;attrs.forEach(function(a,i){if(ai<0){if(/cr.ateur/i.test(a.label)){ai=i}}});if(ai<0){return}attrs[ai].opts.forEach(function(o,j){if(oi<0){if(norm(o.raw)==norm(cr)){oi=j}}});if(oi<0){return}if(QS.sel[ai]!==oi){qvPick(ai,oi)}else{QS.touched=1;qvRefresh()}}
document.addEventListener("click",function(e){window.__fxQvSrc=null;var q=e.target.closest?e.target.closest("[data-qv]"):null;if(!q){return}if(q.hasAttribute("data-nv")){return}var pc=q.closest(".pcard");if(!pc){return}var on=pc.querySelector(".fx-thb.on");if(on){window.__fxQvSrc=on.getAttribute("data-big")}},true);
function fxBase(u){return String(u||"").split("/").pop().replace(/-\d+x\d+(\.[a-z0-9]+)$/i,"$1")}
var _fxOQ=openQV;openQV=function(id){_fxOQ(id);qvCrea();var s=window.__fxQvSrc;window.__fxQvSrc=null;if(!s){return}var p=PMAP[QS.id];if(!p){return}var k=-1;(p.images||[]).forEach(function(im,i){if(k<0){if(fxBase(im.src)==fxBase(s)){k=i}}});if(k<0){return}qvFromImg(k);var im=p.images[k];var m=$("qvimg");if(m){m.src=im.src;m.srcset=im.srcset||""}$("qvd").querySelectorAll(".qv-th button").forEach(function(bt){bt.setAttribute("aria-pressed",String(+bt.getAttribute("data-qvi")==k))})};
function qvAdd(){
  var p=PMAP[QS.id];if(!p)return;
  var attrs=qvAttrs(p),btn=$("qvadd"),v=attrs.map(function(a,ai){return va(a,a.opts[QS.sel[ai]||0])});
  if(!qvDone(attrs)){qvOk('<span class="err">Choisissez une option dans chaque ligne.</span>');return}
  btn.disabled=true;
  fetch(API+"cart",{credentials:"same-origin"}).then(function(r){
    return fetch(API+"cart/add-item",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","Nonce":r.headers.get("Nonce")||""},body:JSON.stringify({id:p.id,quantity:(window.zzQty?window.zzQty():1),variation:v})});
  }).then(function(r){return r.json().then(function(j){if(!r.ok)throw j;return j})}).then(function(cart){
    setCount(cart.items_count);if(!window.zzPF){qvOk("✓  Ajouté au panier")}
    if(window.jQuery)window.jQuery(document.body).trigger("wc_fragment_refresh");
  }).catch(function(err){qvOk('<span class="err">'+esc(dec((err||{}).message||"L'ajout n'a pas fonctionné."))+'</span>')}).then(function(){btn.disabled=false});
}
function closeQV(){$("qvm").classList.remove("on");document.documentElement.style.overflow=""}
$("qvm").addEventListener("click",function(e){if(e.target===this)closeQV()});
document.addEventListener("keydown",function(e){if(e.key==="Escape"){if($("qvm").classList.contains("on"))closeQV()}});
var BOXES=[],C={al:"",fac:"",i:0,picks:{},ex:{},soc:0,focus:0};
var ALC={"Ordre":"#2f5d9e","Mal":"#1c1a19","Destruction":"#d9772b","Revenants":"#6e4a9e"};
var GAL={id:0,i:0};
function galStep(d){var B=cur();if(!B)return;var n=boxGal(B).length;if(n<2)return;GAL.i=(GAL.i+d+n)%n;renderBox()}
var ZCR={HM:"Highlands Miniatures",WAM:"White Angel Miniatures",TBM:"The Beholder Miniatures",ILH:"Ilhadiel"};
var ZSTOP=["de","des","du","la","le","les","et","av","ar","free","n","l","d","coffret","exemple"];
function ztok(t,img){var s=norm(dec(t||""));if(img)s=s.replace(/\([^)]*\)/g," ");s=s.normalize("NFD").replace(/[̀-ͯ]/g,"").replace(/\bx\d+\b/g," ").replace(/[^a-z0-9]+/g," ");return s.split(" ").filter(function(w){return w?ZSTOP.indexOf(w)<0:false}).filter(function(w){return isNaN(+w)}).map(function(w){return w.length>3?w.replace(/s$/,""):w})}
function zPin0(B,full){var raw=zRefs(full||""),out=[];raw.forEach(function(r0){var r=norm(dec(r0)).replace(/\s+/g," ");(B.ims||[]).forEach(function(im){var al=im.alt?norm(dec(im.alt)).split("|").map(function(x){return x.replace(/\s+/g," ").trim()}):[];if(al.indexOf(r)>-1)out.push(Object.assign({},im,{zref:r0}))})});return out}
function zMatch(B,ref){if(!B)return null;if(!ref)return null;var ot=ztok(ref,false);if(!ot.length)return null;var best=null,bs=0.3;(B.ims||[]).forEach(function(im){var nm=im.name||"";if(/^coffret/i.test(nm))return;var it=ztok(nm,true),hit=ot.filter(function(w){return it.indexOf(w)>-1}).length,extra=it.filter(function(w){return ot.indexOf(w)<0}).length,sc=hit/ot.length-0.01*extra;if(sc>bs){bs=sc;best={img:im,code:((nm.match(/\(([A-Za-z]+)\)/)||[])[1]||"").toUpperCase()}}});return best}
var ZT={};
function zMid(im){var s=(im.srcset||"").split(",").map(function(x){var p=x.trim().split(" ");return {u:p[0],w:parseInt(p[1],10)||0}}).filter(function(o){return o.w>=450}).sort(function(a,b){return a.w-b.w});return s.length?s[0].u:im.src}
function zTrim(src){if(ZT[src])return ZT[src];ZT[src]=new Promise(function(res){var im=new Image();im.decoding="async";im.onload=function(){try{var W=im.naturalWidth,H=im.naturalHeight,k=Math.min(1,500/Math.max(W,H)),w=Math.max(1,Math.round(W*k)),h=Math.max(1,Math.round(H*k)),c=document.createElement("canvas");c.width=w;c.height=h;var x=c.getContext("2d");x.drawImage(im,0,0,w,h);var d=x.getImageData(0,0,w,h).data,br=d[0],bg=d[1],bb=d[2],ba=d[3],rows=[],y,X;
  var on=function(p){if(d[p+3]<25)return false;if(ba<25)return true;return Math.abs(d[p]-br)+Math.abs(d[p+1]-bg)+Math.abs(d[p+2]-bb)>40};
  for(y=0;y<h;y++){rows[y]=0;for(X=0;X<w;X++){if(on((y*w+X)*4))rows[y]++}}
  var blocks=[],cur=null,gap=Math.max(3,Math.round(h*0.012)),last=-999;
  for(y=0;y<h;y++){if(rows[y]>1){if(cur?(y-last<=gap):false){cur.b=y;cur.m+=rows[y]}else{cur={t:y,b:y,m:rows[y]};blocks.push(cur)}last=y}}
  if(!blocks.length){res(src);return}
  var main=blocks.reduce(function(a,b){return b.m>a.m?b:a}),keep=blocks.filter(function(b){return b===main?true:(b.b-b.t>h*0.12)});
  var t=Math.min.apply(null,keep.map(function(b){return b.t})),bo=Math.max.apply(null,keep.map(function(b){return b.b})),l=w,r=0;
  for(y=t;y<=bo;y++){for(X=0;X<w;X++){if(on((y*w+X)*4)){if(X<l)l=X;if(X>r)r=X}}}
  if(r<l){res(src);return}
  var pad=Math.round(Math.max(r-l,bo-t)*0.03),sx=Math.max(0,Math.floor((l-pad)/k)),sy=Math.max(0,Math.floor((t-pad)/k)),ex=Math.min(W,Math.ceil((r+pad)/k)),ey=Math.min(H,Math.ceil((bo+pad)/k)),cw=ex-sx,ch=ey-sy,q=Math.min(1,520/Math.max(cw,ch)),o=document.createElement("canvas");o.width=Math.round(cw*q);o.height=Math.round(ch*q);o.getContext("2d").drawImage(im,sx,sy,cw,ch,0,0,o.width,o.height);res(o.toDataURL("image/webp",0.9))}catch(e){res(src)}};im.onerror=function(){res(src)};im.src=src});return ZT[src]}
function zFill(){root.querySelectorAll("#zz-strip .ti[data-zs]").forEach(function(img){var u=img.getAttribute("data-zs");img.removeAttribute("data-zs");zTrim(u).then(function(v){img.src=v;img.classList.add("in")})})}
function toBox(p){
  var ch=[],soc=null,ex=[],hid=[];
  (p.attributes||[]).filter(function(a){return a.has_variations}).forEach(function(a){
    var o={label:dec(a.name),tax:a.taxonomy||"",opts:a.terms.map(function(t){return {name:dec(t.name).replace(/"([^"]*)"/g,"« $1 »"),raw:dec(t.name),slug:t.slug}})};
    if(/soclage/i.test(o.label))soc=o;else if(/choix/i.test(o.label))ch.push(o);else if(o.opts.length>1){o.after=ch.length;ex.push(o)}else hid.push(o);
  });
  var nm=dec(p.name),m=nm.match(/«\s*([^»]+?)\s*»/),pr=p.prices,dv=Math.pow(10,pr.currency_minor_unit),fa=factionOf(p),im=(p.images||[])[0];
  return {id:p.id,n:m?m[1]:nm,fa:fa,al:fa?fa.al:"Autres factions fantastiques",p:pr.price/dv,o:(+pr.regular_price>+pr.price)?pr.regular_price/dv:0,c:ch,s:soc,ex:ex,h:hid,link:p.permalink,img:im,ims:p.images||[]};
}
function boxesOf(al,fac){return BOXES.filter(function(b){return b.al===al?(fac?(b.fa?b.fa.name===fac:false):true):false})}
function cur(){return boxesOf(C.al,C.fac)[C.i]}
function renderSteps(){
  var als=ALLI.map(function(a){return a[0]}).filter(function(a){return boxesOf(a).length});
  $("bal").innerHTML=als.map(function(a){return '<button type="button" class="chip" data-bal="'+esc(a)+'" aria-pressed="'+(a===C.al)+'">'+(ALC[a]?'<i class="adot" style="background:'+ALC[a]+'"></i>':'')+esc(a)+'</button>'}).join("");
  var facs=[];ALLI.forEach(function(a){if(a[0]===C.al)a[2].forEach(function(f){if(boxesOf(C.al,f[0]).length)facs.push(f[0])})});
  $("bfa").innerHTML=facs.map(function(f){return '<button type="button" class="chip" data-bfa="'+esc(f)+'" aria-pressed="'+(f===C.fac)+'">'+esc(f)+'</button>'}).join("");
  var bs=boxesOf(C.al,C.fac);
  $("bcw").style.display=bs.length>1?"":"none";
  $("bco").innerHTML=bs.map(function(b,i){return '<button type="button" class="chip" data-bco="'+i+'" aria-pressed="'+(i===C.i)+'">'+esc(b.n)+'</button>'}).join("");
}
function sel(ci){var c=cur().c[ci];return c.opts[C.picks[ci]||0].name}
function optBtns(o,idx,attr){
  var one=o.opts.length===1;
  return o.opts.map(function(x,oi){return '<button type="button" class="pill sm" '+attr+'="'+oi+'" aria-pressed="'+(oi===idx)+'"'+(one?' disabled title="Choix unique, inclus dans le coffret"':'')+'>'+esc(x.name)+'</button>'}).join("");
}
function renderBox(pop){
  var B=cur();if(!B)return;
  var f=Math.min(C.focus,B.c.length-1),nOpt=B.c.filter(function(c){return c.opts.length>1}).length;
  $("off").style.display=B.o?"":"none";$("off").textContent=B.o?"−"+Math.round((1-B.p/B.o)*100)+" %":"";
  var main=root.querySelector(".main"),old=main.querySelector("img");
  if(GAL.id!==B.id){GAL.id=B.id;GAL.i=0}var gcr=boxCre(B).cur;if(GAL.cr!==gcr){GAL.cr=gcr;GAL.i=0}var gl=boxGal(B),GI=gl.length?GAL.i%gl.length:0,IMG=gl[GI],gk=B.id+"-"+GI+"-"+(IMG?IMG.id:0);$("gcnt").textContent=gl.length>1?pad(GI+1)+" / "+pad(gl.length):"";main.classList.toggle("multi",gl.length>1);
  if(IMG){if(old?old.dataset.id!=gk:true){if(old)old.remove();var im=document.createElement("img");im.dataset.id=gk;im.src=IMG.src;if(IMG.srcset)im.srcset=IMG.srcset;im.sizes="(max-width: 900px) 100vw, 620px";im.alt="Coffret "+B.n;im.decoding="async";main.insertBefore(im,main.firstChild)}$("lab").textContent=""}
  else{if(old)old.remove();$("lab").textContent=B.c.length?"Photo · "+sel(f):""}
  $("ford").textContent=ORD[f]||"";$("fname").textContent=B.c.length?sel(f):"";$("fpos").textContent=B.c.length?pad(f+1)+" / "+pad(B.c.length):"";
  $("pct").textContent=B.o?"−"+Math.round((1-B.p/B.o)*100)+" %":"";$("pct").style.display=B.o?"":"none";
  $("army").textContent=B.fa?B.fa.name:"";$("ttl").textContent="Coffret « "+B.n+" »";
  $("price").textContent=eur(B.p);$("old").textContent=B.o?eur(B.o):"";
  $("sum").textContent=B.c.length+" unités et personnages"+(nOpt?", dont "+nOpt+" au choix":"")+". Socles fournis.";
  $("plink").href=B.link;
  stripSet(B.c.map(function(c,ci){var full=sel(ci),pn=zPinned(B,full),tm=pn.length?{img:pn[0],code:""}:zMatch(B,zRefs(full)[0]||""),qn=(full.match(/\bx\d+/gi)||[]).map(function(q){return q.toLowerCase()}),s=full.replace(/\bx\d+\s*/gi,"").replace(/\s+/g," ").trim();if(s.length>44)s=s.slice(0,42)+"…";return '<button type="button" class="ph tile'+(pop===ci?" pop":"")+'" aria-pressed="'+(ci===f)+'" aria-label="'+esc((ORD[ci]||"")+" : "+sel(ci))+'" data-tile="'+ci+'">'+'<span class="tz" data-zoom="'+ci+'" title="Agrandir">'+ZSVG+'</span>'+(tm?'<img class="ti" data-zs="'+esc(zMid(tm.img))+'" alt="">':'')+(qn.length?'<i class="tq">'+qn.join(" \u0026 ")+'</i>':'')+'<b>'+pad(ci+1)+'</b><span>'+esc(s)+'</span></button>'}));zFill();
  var rA=B.c.map(function(c,ci){return '<div class="row"><span class="lb">'+(ORD[ci]||esc(c.label))+'</span><div class="opts" role="group" aria-label="'+esc(ORD[ci]||c.label)+'">'+optBtns(c,C.picks[ci]||0,"data-c"+ci)+'</div></div>'});var rX=B.ex.map(function(o,xi){return '<div class="row"><span class="lb">'+esc(o.label)+'</span><div class="opts" role="group" aria-label="'+esc(o.label)+'">'+optBtns(o,C.ex[xi]||0,"data-x"+xi)+'</div></div>'});var rows="";var putX=function(n){B.ex.forEach(function(o,xi){if(o.after===n){rows+=rX[xi]}})};putX(0);rA.forEach(function(r,ci){rows+=r;putX(ci+1)});B.ex.forEach(function(o,xi){if(o.after==null){rows+=rX[xi]}else if(o.after>rA.length){rows+=rX[xi]}});
  if(B.s)rows+='<div class="row"><span class="lb">Soclage</span><div class="opts" role="group" aria-label="Soclage">'+optBtns(B.s,C.soc,"data-soc")+'</div></div>';
  $("rows").innerHTML=rows;
  $("tot").textContent=eur(B.p);boxVars(B);boxPrice();
}
function nk(s){return norm(s).replace(/×/g,"x").replace(/["«»\s]+/g," ").trim()}
var BV={};
function boxVars(B){if(BV[B.id]!==undefined)return;BV[B.id]=null;zzRoute("variations/"+B.id,function(){return get("products?"+qs({type:"variation",parent:B.id,per_page:100,_fields:"id,prices,variation"}))}).then(function(vs){var labs=B.c.concat(B.ex,B.s?[B.s]:[],B.h).map(function(a){return a.label});BV[B.id]=vs.map(function(v){var m={},str=dec(v.variation||"");labs.forEach(function(l){var i=str.indexOf(l+": ");if(i<0)return;var st=i+l.length+2,end=str.length;labs.forEach(function(l2){var j=str.indexOf(", "+l2+": ",st);if(j>=0)end=Math.min(end,j)});m[nk(l)]=nk(str.slice(st,end))});return {m:m,p:+v.prices.price,r:+v.prices.regular_price,dv:Math.pow(10,v.prices.currency_minor_unit)}});var b=cur();if(b)if(b.id===B.id)boxPrice()}).catch(function(){})}
function boxCur(B){var s={};B.c.forEach(function(c,ci){s[nk(c.label)]=c.opts[C.picks[ci]||0]});B.ex.forEach(function(o,xi){s[nk(o.label)]=o.opts[C.ex[xi]||0]});if(B.s)s[nk(B.s.label)]=B.s.opts[C.soc];B.h.forEach(function(h){s[nk(h.label)]=h.opts[0]});return s}
function boxPrice(){var B=cur();if(!B)return;var p=B.p,o=B.o,L=BV[B.id];if(L){var s=boxCur(B);for(var i=0;i<L.length;i++){var v=L[i],ok=true;for(var k in v.m){var op=s[k],w=v.m[k];if(!op||!w)continue;if(w!==nk(op.raw))if(w!==nk(op.name))if(w!==nk(op.slug))ok=false}if(ok){p=v.p/v.dv;o=v.r>v.p?v.r/v.dv:0;break}}}var pc=o?"−"+Math.round((1-p/o)*100)+" %":"";$("price").textContent=eur(p);$("old").textContent=o?eur(o):"";$("tot").textContent=eur(p);$("pct").textContent=pc;$("pct").style.display=o?"":"none";$("off").textContent=pc;$("off").style.display=o?"":"none"}
function stripSet(a){var st=$("strip"),ks=[].slice.call(st.children),K=function(h){return h.replace(/ aria-pressed="(true|false)"/,"").replace("ph tile pop","ph tile")},mk=function(h){var t=document.createElement("template");t.innerHTML=h;return t.content.firstElementChild};if(ks.length!==a.length||ks.some(function(e){return !e._k})){st.innerHTML=a.join("");[].forEach.call(st.children,function(e,i){e._k=K(a[i])});return}a.forEach(function(h,i){var e=ks[i],k=K(h),nn=mk(h);if(e._k===k){e.setAttribute("aria-pressed",nn.getAttribute("aria-pressed"));e.className=nn.className;return}nn._k=k;st.replaceChild(nn,e)})}
var CRC={"highlands":"HM","apache":"APACHE","white angel":"WAM"};
function crCode(s){s=norm(s);for(var k in CRC)if(s.indexOf(k)>-1)return CRC[k];return ""}
function imTok(im){return ((im.name||"")+" "+decodeURIComponent((im.src||"").split("/").pop())).toUpperCase().split(/[^A-Z0-9]+/)}
function boxCre(B){var r={cur:"",all:[]};B.ex.forEach(function(o,xi){if(/cr.ateur/i.test(o.label)){r.all=o.opts.map(function(x){return crCode(x.raw)}).filter(Boolean);r.cur=crCode(o.opts[C.ex[xi]||0].raw)}});return r}
function zCre(B,list){var cr=boxCre(B);if(!cr.cur||list.length<2)return list;var g={},ord=[];list.forEach(function(im){var k=im.zref||"";if(!g[k]){g[k]=[];ord.push(k)}g[k].push(im)});var out=[];ord.forEach(function(k){var L=g[k],mine=L.filter(function(im){return imTok(im).indexOf(cr.cur)>-1});if(!mine.length)mine=L.filter(function(im){var t=imTok(im);return !cr.all.some(function(x){return x!==cr.cur?t.indexOf(x)>-1:false})});out=out.concat(mine.length?mine:L)});return out}
function boxGal(B){var fn=function(im){return decodeURIComponent((im.src||"").split("/").pop())};var L=(B.ims||[]).filter(function(im){return !im.alt?(!/^x\d/i.test(fn(im))?!/^x\d/i.test(im.name||""):false):false});if(!L.length)L=B.img?[B.img]:[];var cr=boxCre(B);if(cr.cur){var a=L.filter(function(im){return imTok(im).indexOf(cr.cur)>-1});L=a.concat(L.filter(function(im){return a.indexOf(im)<0}))}return L}
function zPinned(B,full){return zCre(B,zPin0(B,full))}
function pickBox(){C.picks={};C.ex={};C.soc=0;C.focus=0;renderSteps();renderBox();hideOk()}
function hideOk(){$("ok").classList.remove("on")}
function showOk(h){$("okmsg").innerHTML=h;var ok=$("ok");ok.classList.remove("on");void ok.offsetWidth;ok.classList.add("on")}
function va(o,opt){return {attribute:o.tax||o.label,value:o.tax?opt.slug:opt.raw}}
function setCount(n){$("cartn").textContent=n?" ("+n+")":""}
function addToCart(){
  var B=cur(),btn=$("add"),v=[];
  B.c.forEach(function(c,ci){v.push(va(c,c.opts[C.picks[ci]||0]))});
  B.ex.forEach(function(o,xi){v.push(va(o,o.opts[C.ex[xi]||0]))});
  B.h.forEach(function(h){v.push(va(h,h.opts[0]))});
  if(B.s)v.push(va(B.s,B.s.opts[C.soc]));
  btn.disabled=true;
  fetch(API+"cart",{credentials:"same-origin"}).then(function(r){
    return fetch(API+"cart/add-item",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","Nonce":r.headers.get("Nonce")||""},body:JSON.stringify({id:B.id,quantity:1,variation:v})});
  }).then(function(r){return r.json().then(function(j){if(!r.ok)throw j;return j})}).then(function(cart){
    setCount(cart.items_count);showOk("✓  Coffret « "+esc(B.n)+" » ajouté au panier");
    if(window.jQuery)window.jQuery(document.body).trigger("wc_fragment_refresh");
  }).catch(function(err){showOk('<span class="err">'+esc(dec((err||{}).message||"L'ajout n'a pas fonctionné."))+'</span> <a href="'+B.link+'">Ouvrir la fiche du coffret</a>')}).then(function(){btn.disabled=false});
}
whenNear($("box"),function(){zzRoute("faction-produits/"+COFFRET_DEMARRAGE+",373",function(){return get("products?"+qs({category:COFFRET_DEMARRAGE+",373",per_page:60,_fields:F}))}).then(function(ps){
  BOXES=remember(ps).filter(function(p){return p.is_purchasable!==false}).map(toBox).sort(function(x,y){return (/muraille/i.test(x.n+" "+x.link)?1:0)-(/muraille/i.test(y.n+" "+y.link)?1:0)});
  if(!BOXES.length)throw 0;
  C.al=window.FXF?FXF.all:"Ordre";C.fac=window.FXF?FXF.nom:"";var fxb=boxesOf(C.al,C.fac),fk=-1;fxb.forEach(function(x,i){if(fk<0){if(!/quivalent/i.test(x.n+" "+x.link)){fk=i}}});C.i=fk<0?0:fk;if(window.ZZ_BOXID){var fnd=false;fxb.forEach(function(x,i){if(+x.id===+window.ZZ_BOXID){C.i=i;fnd=true}});window.ZZ_BOXFOUND=fnd;setTimeout(function(){document.dispatchEvent(new Event("zzbox"))},0)}if(fxb.length){pickBox()}if(window.fxReady){window.fxReady(fxb)}
}).catch(function(){$("bal").innerHTML='<p class="err">Impossible de charger les coffrets pour le moment.</p>'});});
fetch(API+"cart",{credentials:"same-origin"}).then(function(r){return r.json()}).then(function(c){setCount(c.items_count)}).catch(function(){});
root.addEventListener("click",function(e){
  var t=e.target.closest("button");if(!t)return;
  var d=t.dataset;
  if(d.qv){e.preventDefault();openQV(d.qv);return}
  if(d.qvclose){closeQV();return}
  if(d.qa!=null){qvPick(+d.qa,+d.qo);$("qvok").classList.remove("on");return}
  if(t.id==="zz-qvadd"){qvAdd();return}
  if(d.qvi!=null){(function(ix){setTimeout(function(){qvFromImg(ix)},0)})(+d.qvi);var p=PMAP[$("qvd").dataset.id],im=p.images[+d.qvi],m=$("qvimg");m.src=im.src;m.srcset=im.srcset||"";t.parentNode.querySelectorAll("button").forEach(function(b){b.setAttribute("aria-pressed",b===t?"true":"false")});return}
  if(d.fparr!=null){var ch=t.parentNode.querySelector(".chips");ch.scrollBy({left:(+d.fparr)*ch.clientWidth*0.7,behavior:"smooth"});return}
  if(t.classList.contains("fcard")){toggleFaction(t);return}
  if(d.close){t.closest(".fpanel").classList.remove("on");root.querySelectorAll('.fcard[aria-expanded="true"]').forEach(function(b){b.setAttribute("aria-expanded","false")});return}
  if(d.type!=null){var pn=t.closest(".fpanel"),f=FAC[pn.dataset.cat];renderPanel(pn,f,FCACHE[f.cat],d.type);return}
  if(t.classList.contains("acc-h")){var a=t.parentNode,o=a.dataset.open==="1";closeAll();if(!o){a.dataset.open="1";t.setAttribute("aria-expanded","true");if(a.dataset.warbands)loadWarbands()}return}
  if(d.dcol!=null){DF.col=d.dcol;renderDecor();return}
  if(d.dcr!=null){DF.cr=d.dcr;renderDecor();return}
  if(d.nf!=null){NF.fac=d.nf;renderNews();return}
  if(d.nc!=null){NF.cr=d.nc;renderNews();return}
  if(d.bal!=null){C.al=d.bal;var b0=boxesOf(C.al)[0];C.fac=b0.fa?b0.fa.name:"";C.i=0;pickBox();return}
  if(d.bfa!=null){C.fac=d.bfa;C.i=0;pickBox();return}
  if(d.bco!=null){C.i=+d.bco;pickBox();return}
  if(d.tile!=null){C.focus=+d.tile;renderBox();return}
  if(d.soc!=null){C.soc=+d.soc;renderBox();hideOk();return}
  if(t.id==="zz-add"){addToCart();return}
  for(var k in d){var mc=/^c(\d+)$/.exec(k),mx=/^x(\d+)$/.exec(k);
    if(mc){var ci=+mc[1];C.picks[ci]=+d[k];C.focus=ci;renderBox(ci);hideOk();return}
    if(mx){C.ex[+mx[1]]=+d[k];renderBox();hideOk();return}}
});
var PLS=[],PT={t:"",i:0,sel:{},gi:0,touched:false},PTYPES=["Carrés","Rectangles","Aimants"],PV={};
function pDims(p){var m=dec(p.name).match(/\((\d+)x(\d+)mm\)/i);return m?[+m[1],+m[2]]:null}
function pFer(p){return /fer de lance/i.test(dec(p.name))?1:0}
function pType(p){if(/aimant/i.test(dec(p.name)))return "Aimants";var d=pDims(p);if(!d)return "";return d[0]===d[1]?"Carrés":"Rectangles"}
function pLab(p){var d=pDims(p);return (pFer(p)?"Fer de lance ":"")+(d?d[0]+"x"+d[1]+"mm":dec(p.name))}
function pOf(t){return PLS.filter(function(p){return pType(p)===t}).sort(function(a,b){var x=pDims(a)||[0,0],y=pDims(b)||[0,0];return (x[0]*x[1]-y[0]*y[1])||(x[0]-y[0])||(pFer(a)-pFer(b))})}
function pCur(){return pOf(PT.t)[PT.i]}
function pAttrs(p){return qvAttrs(p).map(function(a){var o=a.opts.slice();if(o.every(function(x){return /^\d+x\d+$/i.test(x.raw)}))o.sort(function(x,y){var u=x.raw.split(/x/i),v=y.raw.split(/x/i);return (u[0]*u[1]-v[0]*v[1])||(u[0]-v[0])});a.opts=o;return a})}
function pDefs(p){var at=pAttrs(p),ap=function(d){if(pCur()!==p)return;if(PT.touched)return;at.forEach(function(a,i){var v=d[a.tax||slugify(a.label)];if(v==null)v=d[slugify(a.label)];if(v!=null){var x=optIdx(a,v);if(x>-1)PT.sel[i]=x}});pRender()};if(DEFS[p.id]){ap(DEFS[p.id]);return}getZZ("defaults/"+p.id,function(){return fetch(p.permalink,{credentials:"same-origin"}).then(function(r){return r.text()}).then(parseDefs)}).then(function(d){DEFS[p.id]=d||{};ap(DEFS[p.id])}).catch(function(){})}
function pVars(p){if(PV[p.id]!==undefined)return;PV[p.id]=null;get("products?"+qs({type:"variation",parent:p.id,per_page:100,_fields:"id,prices,variation"})).then(function(vs){var labs=pAttrs(p).map(function(a){return a.label});PV[p.id]=vs.map(function(v){var m={},str=dec(v.variation||"");labs.forEach(function(l){var i=str.indexOf(l+": ");if(i<0)return;var st=i+l.length+2,end=str.length;labs.forEach(function(l2){var j=str.indexOf(", "+l2+": ",st);if(j>=0)end=Math.min(end,j)});m[nk(l)]=nk(str.slice(st,end))});return {m:m,p:+v.prices.price,r:+v.prices.regular_price,dv:Math.pow(10,v.prices.currency_minor_unit)}});if(pCur()===p)pRender()}).catch(function(){})}
function pMatch(p){var L=PV[p.id];if(!L)return null;var at=pAttrs(p);for(var i=0;i<L.length;i++){var v=L[i],ok=true;at.forEach(function(a,ai){var w=v.m[nk(a.label)];if(!w)return;var o=a.opts[PT.sel[ai]||0];if(w!==nk(o.raw))if(w!==nk(o.name))if(w!==nk(o.slug))ok=false});if(ok)return v}return null}
function pVm(v,at,sel){return at.every(function(a,ai){var w=v.m[nk(a.label)];if(!w)return true;var o=a.opts[sel[ai]||0];return w===nk(o.raw)||w===nk(o.name)||w===nk(o.slug)})}
function pFits(p,sel){var L=PV[p.id];if(!L)return true;var at=pAttrs(p);return L.some(function(v){return pVm(v,at,sel)})}
function pFix(p,keep){if(pFits(p,PT.sel))return;var at=pAttrs(p);at.forEach(function(a,ai){if(ai===keep)return;if(pFits(p,PT.sel))return;for(var oi=0;oi<a.opts.length;oi++){var s={};for(var k in PT.sel)s[k]=PT.sel[k];s[ai]=oi;if(pFits(p,s)){PT.sel[ai]=oi;return}}})}
function pOptOk(p,ai,oi){var s={};for(var k in PT.sel)s[k]=PT.sel[k];s[ai]=oi;return pFits(p,s)}
function pChips(){$("pty").innerHTML=PTYPES.filter(function(t){return pOf(t).length}).map(function(t){return '<button type="button" class="chip" data-pty="'+esc(t)+'" aria-pressed="'+(t===PT.t)+'">'+esc(t)+'</button>'}).join("");$("pfo").innerHTML=pOf(PT.t).map(function(p,i){return '<button type="button" class="chip" data-pfo="'+i+'" aria-pressed="'+(i===PT.i)+'">'+esc(pLab(p))+'</button>'}).join("")}
function pPick(){PT.sel={};PT.gi=0;PT.touched=false;pChips();var p=pCur();if(!p)return;pVars(p);pDefs(p);pRender();$("pok").classList.remove("on")}
function pRender(){var p=pCur();if(!p)return;var ims=p.images||[],IM=ims.length?ims[PT.gi%ims.length]:null,mn=$("pmain"),old=mn.querySelector("img"),k=p.id+"-"+(IM?IM.id:0);
  if(IM){if(old?old.dataset.k!==k:true){if(old)old.remove();var im=document.createElement("img");im.dataset.k=k;im.src=IM.src;if(IM.srcset)im.srcset=IM.srcset;im.sizes="(max-width: 900px) 100vw, 620px";im.alt=dec(IM.alt||p.name);im.decoding="async";mn.appendChild(im)}}else{if(old)old.remove()}
  mn.classList.toggle("multi",ims.length>1);
  $("pttl").textContent=dec(p.name);
  var v=pMatch(p),pr=p.prices||{},dv=Math.pow(10,pr.currency_minor_unit||2),cp=v?v.p/v.dv:(+pr.price)/dv,co=v?(v.r>v.p?v.r/v.dv:0):((+pr.regular_price>+pr.price)?pr.regular_price/dv:0);
  $("pprice").textContent=(v?"":(pr.price_range?"À partir de ":""))+eur(cp);$("pold").textContent=co?eur(co):"";$("ppct").textContent=co?"−"+Math.round((1-cp/co)*100)+" %":"";$("ppct").style.display=co?"":"none";$("ptot").textContent=eur(cp);
  $("plink2").href=p.permalink;
  $("prows").innerHTML=pAttrs(p).map(function(a,ai){if(a.opts.length<2)return "";return '<div class="row"><span class="lb">'+esc(a.label)+'</span><div class="opts" role="group" aria-label="'+esc(a.label)+'">'+a.opts.map(function(o,oi){return '<button type="button" class="pill sm'+(pOptOk(p,ai,oi)?'':' na')+'" data-pop="'+ai+'-'+oi+'" aria-pressed="'+(oi===(PT.sel[ai]||0))+'">'+esc(o.name)+'</button>'}).join("")+'</div></div>'}).join("")}
function pOk(h){$("pokmsg").innerHTML=h;var ok=$("pok");ok.classList.remove("on");void ok.offsetWidth;ok.classList.add("on")}
function pAdd(){var p=pCur();if(!p)return;var btn=$("padd"),v=pAttrs(p).map(function(a,ai){return va(a,a.opts[PT.sel[ai]||0])});btn.disabled=true;fetch(API+"cart",{credentials:"same-origin"}).then(function(r){return fetch(API+"cart/add-item",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","Nonce":r.headers.get("Nonce")||""},body:JSON.stringify({id:p.id,quantity:1,variation:v})})}).then(function(r){return r.json().then(function(j){if(!r.ok)throw j;return j})}).then(function(cart){setCount(cart.items_count);pOk("✓  "+esc(dec(p.name))+" ajouté au panier");if(window.jQuery)window.jQuery(document.body).trigger("wc_fragment_refresh")}).catch(function(err){pOk('<span class="err">'+esc(dec((err||{}).message||"L'ajout n'a pas fonctionné."))+'</span> <a href="'+p.permalink+'">Ouvrir la fiche produit</a>')}).then(function(){btn.disabled=false})}
$("plat").addEventListener("click",function(e){var t=e.target.closest("[data-pty],[data-pfo],[data-pop],[data-pgal],#zz-padd,#zz-pinfo2");if(!t)return;var d=t.dataset;
  if(t.id==="zz-pinfo2"){var pi=pCur();if(pi)infoOpen({id:pi.id,link:pi.permalink,t:dec(pi.name)});return}
  if(t.id==="zz-padd"){pAdd();return}
  if(d.pty!=null){PT.t=d.pty;PT.i=0;pPick();return}
  if(d.pfo!=null){PT.i=+d.pfo;pPick();return}
  if(d.pgal!=null){var p=pCur(),nn=p?(p.images||[]).length:0;if(nn>1){PT.gi=(PT.gi+(+d.pgal)+nn)%nn;pRender()}return}
  if(d.pop!=null){var q=d.pop.split("-");PT.sel[+q[0]]=+q[1];PT.touched=true;var cp0=pCur();if(cp0)pFix(cp0,+q[0]);pRender();$("pok").classList.remove("on")}});
var PLAT_CAT=1567;
whenNear($("plat"),function(){
  getZZ("plateaux",function(){return get("products?"+qs({category:PLAT_CAT,per_page:30,orderby:"menu_order",order:"asc",_fields:F}))}).then(function(ps){
    PLS=remember(ps).filter(function(p){return !isNoise(p)});PT.t=PTYPES.filter(function(t){return pOf(t).length})[0]||"";PT.i=0;pPick();
  }).catch(function(){$("pty").innerHTML='<p class="err">Impossible de charger les plateaux. <a href="/plateaux-de-mouvement-aimants/">Voir la page</a></p>'});
});
var FAL=0;function loadFA(){if(FAL)return;FAL=1;["fontawesome.min.css","brands.min.css"].forEach(function(f){var l=document.createElement("link");l.rel="stylesheet";l.href="/wp-content/plugins/elementor/assets/lib/font-awesome/css/"+f;document.head.appendChild(l)})}
whenNear($("box"),loadFA);whenNear(root.querySelector("footer.zf"),loadFA);
function infoClose(){var m=$("dmod");if(m)m.classList.remove("on");document.documentElement.style.overflow=""}
function infoOpen(X){var B=X||cur();if(!B)return;var m=$("dmod");if(!m){m=document.createElement("div");m.id="zz-dmod";m.className="dmod";m.setAttribute("role","dialog");m.setAttribute("aria-modal","true");m.innerHTML='<div class="dmod-b"><button type="button" class="dx" data-dclose="1" aria-label="Fermer">×</button><h4 id="zz-dttl"></h4><div class="dmod-c" id="zz-dtxt"></div><a class="lnk plnk" id="zz-dlink" href="#">Voir la fiche produit →</a></div>';root.appendChild(m);m.addEventListener("click",function(e){if(e.target===m)infoClose();if(e.target.closest("[data-dclose]"))infoClose()})}
  $("dttl").textContent=B.t||"Coffret « "+B.n+" »";$("dlink").href=B.link;var p=PMAP[B.id],h=p?(p.description||p.short_description||""):"";$("dtxt").innerHTML=h||'<p class="lead loading">Chargement…</p>';m.classList.add("on");document.documentElement.style.overflow="hidden";
  if(!h)get("products/"+B.id).then(function(x){$("dtxt").innerHTML=x.description||x.short_description||"<p>Aucune description pour ce coffret.</p>"}).catch(function(){$("dtxt").innerHTML="<p>Impossible de charger la description.</p>"})}
$("pinfo").addEventListener("click",function(){infoOpen()});
document.addEventListener("keydown",function(e){if(e.key==="Escape")infoClose()});
root.addEventListener("click",function(e){var g=e.target.closest("[data-gal]");if(g)galStep(+g.dataset.gal)});
(function(){var m=root.querySelector(".main"),sx=null;if(!m)return;m.addEventListener("touchstart",function(e){sx=e.touches[0].clientX},{passive:true});m.addEventListener("touchend",function(e){if(sx===null)return;var dx=e.changedTouches[0].clientX-sx;sx=null;if(Math.abs(dx)>40)galStep(dx<0?1:-1)})})();
var ZSVG='<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="6.5"/><path d="M16 16l4.5 4.5M11 8.5v5M8.5 11h5"/></svg>';
var ZC={},ZG={list:[],i:0};
function zRefs(full){return full.replace(/\bx\d+\s*/gi,"").split(/\s+(?:\u0026|et)\s+(?![^(]*\))/i).map(function(t){return t.replace(/\s+/g," ").trim()}).filter(Boolean)}
function zFind(name0,faSlug){var name=name0.replace(/\([^)]*\)/g,"").replace(/\s+/g," ").trim();if(ZC[name])return ZC[name];ZC[name]=get("products?"+qs({search:name,per_page:8,_fields:"id,name,permalink,categories,images"})).then(function(r){var n=norm(name),ex=r.filter(function(p){return norm(dec(p.name))===n}),sf=r.filter(function(p){return catSlugs(p).indexOf(faSlug)>-1});return ex[0]||sf[0]||r[0]||null}).catch(function(){return null});return ZC[name]}
function zBase(B,ref){if(!B)return "";var p=PMAP[B.id],h=p?(p.short_description||""):"";if(!h)return "";var t=dec(h.replace(/<br\s*\/?>/gi,"\n").replace(/<\/(p|li|div)>/gi,"\n").replace(/<[^>]+>/g,"")),rt=ztok(ref,true),out="";if(!rt.length)return "";t.split("\n").forEach(function(line){if(out)return;var mm=line.match(/(\d+\s*x\s*\d+\s*mm)\s*:\s*(.+)/i);if(!mm)return;mm[2].split(/[,;]/).forEach(function(itm){if(out)return;var tt=ztok(itm,true);if(!tt.length)return;if(rt.every(function(w){return tt.indexOf(w)>-1}))out=mm[1].replace(/\s+/g,"")})});return out.replace(/mm$/i," mm")}
var ZCR2={HM:"Highlands Miniatures",WAM:"White Angel Miniatures",TBM:"The Beholder Miniatures",ILH:"Ilhadiel",DLM:"Dragon's Lake Miniatures",APACHE:"Apache Studio",CRAB:"Crab Miniatures",LK:"Lost Kingdom Miniatures",LKM:"Lost Kingdom Miniatures","SIN'S":"Sin's Miniatures",SINS:"Sin's Miniatures"};
function zCreator(B,nm){var n=dec(nm||"").replace(/\s+(AV|AR|FREE)\d?\s*$/i,"").replace(/’/g,"'"),m=n.match(/\(([^)]+)\)\s*$/)||n.match(/\s([A-Z]{2,5})\s*$/),c="";if(m){c=m[1].trim().toUpperCase();if(ZCR2[c])return ZCR2[c]}var p=B?PMAP[B.id]:null,h=p?dec((p.short_description||"").replace(/<[^>]+>/g," ")):"",mm=h.match(/Cr[ée]ateur(?:\(s\))?\s*:\s*([^\n]+?)\s+(?:[ÉE]chelle|R[ée]sine|$)/i);if(mm){if(mm[1].indexOf(",")<0)return mm[1].trim()}return ""}
function zShow(){var it=ZG.list[ZG.i],m=$("zmod");if(!m)return;m.classList.toggle("multi",ZG.list.length>1);if(!it){$("zbox").innerHTML='<p class="lead">Pas encore de photo pour ce choix.</p>';return}$("zbox").innerHTML='<img src="'+esc(it.src)+'" alt="'+esc(it.name)+'">';var B0=cur(),bz=zBase(B0,it.zref||it.name||""),crn=zCreator(B0,it.iname||""),parts=[];if(bz)parts.push("Socle(s) "+bz.replace(/\s+/g,""));if(crn)parts.push(crn);$("zbase").textContent=parts.join(" · ");$("zbase").style.display=parts.length?"":"none"}
function zClose(){var m=$("zmod");if(m)m.classList.remove("on");document.documentElement.style.overflow=""}
function zOpen(ci){var B=cur();if(!B)return;var full=sel(ci),refs=zRefs(full),faSlug="";Object.keys(FAC).forEach(function(k){if(FAC[k]===B.fa)faSlug=k});
  var m=$("zmod");if(!m){m=document.createElement("div");m.id="zz-zmod";m.className="dmod zmod";m.setAttribute("role","dialog");m.setAttribute("aria-modal","true");m.innerHTML='<div class="dmod-b"><button type="button" class="dx" data-zclose="1" aria-label="Fermer">×</button><h4 id="zz-zttl"></h4><div class="zbase" id="zz-zbase"></div><div class="zbox" id="zz-zbox"></div><div class="zfoot"><span class="zsub" id="zz-zsub"></span><div class="znav"><button type="button" class="gnav" data-zstep="-1" aria-label="Photo précédente">←</button><button type="button" class="gnav" data-zstep="1" aria-label="Photo suivante">→</button></div></div><a class="lnk plnk" id="zz-zlink" href="#">Voir la fiche de l\'unité →</a></div>';root.appendChild(m);m.addEventListener("mousemove",function(e){var im=e.target.closest(".zbox img");if(!im)return;var r=im.getBoundingClientRect();im.style.transformOrigin=((e.clientX-r.left)/r.width*100)+"% "+((e.clientY-r.top)/r.height*100)+"%"});
    m.addEventListener("click",function(e){if(e.target===m)zClose();if(e.target.closest("[data-zclose]"))zClose();var st=e.target.closest("[data-zstep]");if(st){var n=ZG.list.length;if(n){ZG.i=(ZG.i+(+st.dataset.zstep)+n)%n;zShow()}}});
    var sx=null;m.addEventListener("touchstart",function(e){sx=e.touches[0].clientX},{passive:true});m.addEventListener("touchend",function(e){if(sx===null)return;var dx=e.changedTouches[0].clientX-sx,n=ZG.list.length;sx=null;if(Math.abs(dx)>40){if(n>1){ZG.i=(ZG.i+(dx<0?1:-1)+n)%n;zShow()}}})}
  $("zttl").textContent=full.replace(/\bx\d+\s*/gi,"");$("zsub").textContent="";$("zlink").style.display="none";$("zbox").innerHTML='<p class="lead loading">Chargement…</p>';m.classList.remove("multi");m.classList.add("on");document.documentElement.style.overflow="hidden";
  var pin=zPinned(B,full);if(pin.length){ZG={list:pin.map(function(im){return {src:im.src,name:im.zref||dec(im.alt),link:"",zref:im.zref,iname:im.name}}),i:0};zShow();zFind(refs[0]||"",faSlug).then(function(p){if(p){ZG.list.forEach(function(it){it.link=p.permalink});zShow()}});return}
  Promise.all(refs.map(function(r){return zFind(r,faSlug)})).then(function(ps){var l=[];ps.forEach(function(p,k){var mt=zMatch(B,refs[k]),code=mt?mt.code:"",lab=refs[k]+(code?" · "+(ZCR[code]||code):"");if(mt)l.push({src:mt.img.src,name:lab,link:p?p.permalink:"",zref:refs[k],iname:mt.img.name});if(!p)return;if(mt){(p.images||[]).forEach(function(im){if(code?(im.name||"").indexOf("("+code+")")>-1:false){if(im.src!==mt.img.src)l.push({src:im.src,name:lab,link:p.permalink,zref:refs[k],iname:im.name})}})}else{(p.images||[]).slice(0,6).forEach(function(im){l.push({src:im.src,name:dec(p.name),link:p.permalink,zref:refs[k],iname:im.name})})}});ZG={list:l,i:0};zShow()})}
root.addEventListener("click",function(e){var z=e.target.closest("[data-zoom]");if(!z)return;e.stopPropagation();e.preventDefault();zOpen(+z.dataset.zoom)},true);
document.addEventListener("keydown",function(e){if(e.key==="Escape")zClose()});
var els=root.querySelectorAll(".rev");
if("IntersectionObserver" in window){var io=new IntersectionObserver(function(en){en.forEach(function(x){if(x.isIntersecting){x.target.classList.add("in");io.unobserve(x.target)}})},{threshold:0.08,rootMargin:"0px 0px -40px 0px"});els.forEach(function(el){io.observe(el)})}else{els.forEach(function(el){el.classList.add("in")})}
})();
</script>
<script>
(function(){
/* Masque le texte intégré aux photos (nom en bas, échelle/socles en haut à droite), seulement quand il y en a. */
var cv=document.createElement("canvas"),S=160;cv.width=S;cv.height=S;var cx=cv.getContext("2d",{willReadFrequently:true});
function lum(d,i){return d[i]*0.3+d[i+1]*0.59+d[i+2]*0.11}
function bandes(d,bgL,y0,y1,pas,x0,x1,seuil){
 var res=[],cur=null;
 for(var y=y0;pas>0?y<y1:y>y1;y+=pas){
  var n=0,mx=S;for(var x=x0;x<x1;x++){var i=(y*S+x)*4;if(d[i+3]>50){if(Math.abs(lum(d,i)-bgL)>seuil){n++;if(x<mx){mx=x}}}}
  if(n>0){if(!cur){cur={a:y,b:y,mx:mx};res.push(cur)}else{cur.b=y;if(mx<cur.mx){cur.mx=mx}}cur.vide=0}
  else if(cur){cur.vide=(cur.vide||0)+1;if(cur.vide>=3){cur=null}}
 }
 return res;
}
var cv2=document.createElement("canvas"),T=300;cv2.width=T;cv2.height=T;var cx2=cv2.getContext("2d",{willReadFrequently:true});
function ligne(d,bgL,y,x0,x1,tr){var n=0,a=T,b=-1;if(y>=T){return {n:0,a:a,b:b}}for(var x=x0;x<x1;x++){var i=(y*T+x)*4;var v=tr?(d[i+3]>20):(d[i+3]>50?(Math.abs(lum(d,i)-bgL)>35):false);if(v){n++;if(x<a){a=x}b=x}}return {n:n,a:a,b:b}}
/* Haut à droite : « échelle / socles » (petites lignes) et « N variantes » juste dessous, toujours au même endroit sur les visuels */
function hautDroite(img,a,col,bgL,tr){
 var d;try{cx2.clearRect(0,0,T,T);cx2.drawImage(img,0,0,T,T);d=cx2.getImageData(0,0,T,T).data}catch(e){return}
 function L(y,x0){return ligne(d,bgL,y,x0,T,tr)}
 var r,nb=0,last=-1,mn=T;
 for(var y=0;y<12;y++){r=L(y,150);if(r.n){nb++;last=y;if(r.a<mn){mn=r.a}}}
 var ech=false;if(nb>=3){if(mn>=195){if(!L(last+1,150).n){ech=true}}}
 var y0=ech?last+1:0,vr=0,vl=-1,vm=T;
 for(var y2=y0;y2<y0+22;y2++){r=L(y2,150);if(r.n){if(r.b-r.a>50){vr++;vl=y2;if(r.a<vm){vm=r.a}}}}
 var hv=-1;if(vr>=6){for(var y3=vl+1;y3<vl+7;y3++){if(!L(y3,vm).n){hv=y3;break}}}
 var vari=hv>0;
 if(!ech){if(!vari){return}}
 var h=vari?hv:last+1,w=Math.min(vari?vm:T,ech?mn:T);
 var k=document.createElement("span");k.className="fx-mk";k.style.cssText="right:0;top:0;width:"+((T-w+5)/T*100).toFixed(1)+"%;height:"+((h+3)/T*100).toFixed(1)+"%;background:"+col;a.appendChild(k);
}
function fond(el){while(el){var c=getComputedStyle(el).backgroundColor;if(!/^transparent$|rgba\(0, 0, 0, 0\)/.test(c)){return c}el=el.parentElement}return "#EEEAE3"}
function scan(img){
 img.classList.add("fx-sc");var a=img.closest(".pimg")||img.closest(".fx-thb");if(!a){return}
 a.querySelectorAll(".fx-mk").forEach(function(x){x.remove()});
 if(!img.naturalWidth){return}
 var d;try{cx.clearRect(0,0,S,S);cx.drawImage(img,0,0,S,S);d=cx.getImageData(0,0,S,S).data}catch(e){return}
 var bi=(3*S+3)*4,trans=d[bi+3]<20;
 var col=trans?fond(a):"rgb("+d[bi]+","+d[bi+1]+","+d[bi+2]+")";
 var bgL=trans?233:lum(d,bi);
 /* Bas : bandes de texte fines empilées dans les 30 % du bas, séparées du modèle par un vide */
 var bb=bandes(d,bgL,S-1,Math.floor(S*0.5),-1,8,S-8,50),haut=-1;
 for(var k=0;k<bb.length;k++){var h=bb[k].a-bb[k].b+1;if(h<=S*0.11){if(bb[k].b>=S*0.7){haut=bb[k].b;continue}}break}
 if(haut>0){var nxt=null;for(var q=0;q<bb.length;q++){if(bb[q].a<haut){nxt=bb[q];break}}
  var ok=nxt?(haut-nxt.a>=4):true;
  if(ok){var m=document.createElement("span");m.className="fx-mk";m.style.cssText="left:0;right:0;bottom:0;height:"+((S-haut+3)/S*100).toFixed(1)+"%;background:"+col;a.appendChild(m)}}
 hautDroite(img,a,col,bgL,trans);
}
window.fxScan=function(root){(root||document).querySelectorAll(".fx-pc .pimg img, .fx-pc .fx-thb img").forEach(function(img){if(img.complete){scan(img)}})};document.addEventListener("error",function(e){var t=e.target;if(t){if(t.tagName==="IMG"){if(t.classList){t.classList.add("fx-sc")}}}},true);setTimeout(function(){document.querySelectorAll(".fx-pc img:not(.fx-sc)").forEach(function(im){if(im.complete){im.classList.add("fx-sc")}})},8000);var fxRoot=document.getElementById("zz")||document.body;new MutationObserver(function(ms){ms.forEach(function(m){m.addedNodes.forEach(function(n){if(n.querySelectorAll){n.querySelectorAll(".fx-pc .pimg img, .fx-pc .fx-thb img").forEach(function(im){if(im.complete){scan(im)}})}})})}).observe(fxRoot,{childList:true,subtree:true});
document.addEventListener("load",function(e){var t=e.target;if(t){if(t.tagName==="IMG"){if(t.closest){if(t.closest(".fx-pc")){scan(t)}}}}},true);
})();
</script>
<script>
window.FXORD={"reinland":["Lanciers","Bretteurs","Hallebardiers","Joueurs d'Espadon","Flagellants","Arbalétriers","Arquebusiers","Compagnie de Milices-Franche","Archers","Arquebusiers de Fer","Reichguard à pied","Gardes Teutons","Guerriers-Loups","Soeurs de Bataille","Ogres Impériaux","Nains Impériaux","Halfelins Impériaux","Halfelins Miliciens","Halfelins Vétérans","Zélateurs","Reichsguard","Chevaliers Griffons","Chevaliers Blancs du Loup","Pistoliers","Escorteurs","Meute de chasse","Jeunes Demi-Gryphes","Chevaliers du Soleil d'Or","Chevaliers Léopards","Chiens de Guerre","Wagon de Guerre","Canon Arcanique","Machinum Celestiae","Char à Vapeur","Vaisseau Terrestre","Char à Vapeur de Mariendorf","Altar de Bataille de Sigmund","Mortier","Grand Canon","Canon à Volées","Batterie Orage de Feu","Empereur sur Griffon","Balthazarus Gold","Volkom l'Inflexible","Comte Boris","Général sur Pégase","Archiprêtre","Noble-Payeur","Capitaine","Purgateur","Prêtre de Guerre","Sorciers","Mage de Bataille","Maître Ingénieur","Prêtre-Loup de Guerre","Général Nain","Halfelin Cuisinier","Halfelin Patriarche","Ully \u0026 Remarquand","Zélote de Sigmund","Matriarche","Seigneur sur Griffon","Capitaine de Mariendorf","Général de Mariendorf","Baronne Lansquenette","Soeur Flagellante","Capitaine Nain","Prince Marchand","Skurt Hellberg","Lothar Schatthelm","Colonel","Lector Hauss","Général de la Reichguard","Grand Maître du Soleil d'Or","Grand Maître des Léopards","Archiprêtre Vétéran","Oktav Schaffmän","Zélateur Suprême","Duelliste","Prêtresse de Guerre","Archiprêtre de Mor","Chevaliers Templiers (x5)","Zélatrices (x3)","Maître d'Ordre de Mor","Purgateur Ogre","Ogre de Mariendorf","Général de Middheim","Prêtre-Guerrier Teuton","Guerrière Teuton","Purgatrices (x3)","Garde d'Honneur Impériale","Les Épées du Loup","Têtes de Morts","Boucaniers de Mariendorf","Patrouille Fluviale","Arquebusiers du Wolchland","Chasseurs d'Hérétiques (x8)","Meute de Chasseurs de Sorcières"],"hommes-rats":["Esclaves","Guerriers Hommes-Rats","Vermines d'Impact","Fervents de la Peste","Fervents de la Peste (Encenseurs)","Traqueurs Nocturnes","Lanceurs d'Orbes Toxiques","Maîtres Tireurs","Lances-Flammes à Vertepierre","Mortiers à Orbes Mortelles","Creus'Tunnel","Mitrailleuses Infernales","Roue Horrifique","Broyeurs Endiablés","Ratapulte de la Peste","Rats-Loups","Rats Brutes","Erreur de la Portée","Aberration de Mutafosse","Nuée de Rats","Malerats","Grands Rats Pestiférés","Rats Géants","Archiprêtre Borklitch","Thankrol","Rikk la Griffe","Maître Assassin Sneeck","Ghrot le Malpropre","Ghortch","Vermine en Chef","Devin Gris","Ingémage","Assassin de la Nuit","Rat's Rocket","Prêtre Pestiféré","Sorcier de Deshin","Maîtres de Meute","Porte-Bannière"],"duche-outre-tombe":["Guerriers Squelettes","Zombies","Goules","Mornesprits","Chevaliers de Sang-Dragon","Sentinelles des Cryptes","Gardes Squelettes","Soeurs de la Nuit","Lâmenuits","Arbalâmes","Cavaliers Noirs","Cavaliers Spectraux","Loups Zombies","Charette Mortuaire","Carosse Nocturne","Palanquin du Sangcrifice","Trône du Mortarium","Crypte Mouvante","Batgheists","Wargulf","Wargheist","Chauves-Souris Géantes","Dragon Zombie","Abomination des Cryptes","Bête des Abîmes","Horrorgheist","Nuée de Chauves-Souris","Nuée de Fantômes","Vlad von Drak","Isabeau von Drak","Mandred von Drak","Meferathi","Krall","Hermann Keppler","Comte Vampire","Roi Revenant","Nécromancien","Roi Goule","Seigneur des Suaires","Banshee","Vampiresse","Musiciens Squelettes","Noble Vampire","Général Vampire","Naggizhar","Rakon von Drak","Serguerik","Seigneur Vampire sur Dragon Zombie","Seigneuresse de la Nuit","Émissaire Squelette","Grande Bannière des Morts"],"cathay":["Levées Paysannes","Archers Paysans","Guerriers de Jade","Sentinelles de Jade","Gardes Impériaux","Épéistes Dragon","Assassins","Tirailleurs de Jade","Flèches de Jade","Traits de Jade","Guerriers Singes","Singes Avant-Coureurs","Guerriers Martiaux","Tireurs Becs-de-Fer","Cannonniers de Plombs","Guerriers des Hautes-Terres","Ogres Orientaux","Cavalerie de Jade","Traits montés de Jade","Cavaliers Longma","Sentinelle Géante","Dragon des Rivières","Dragon Côtier","Hommes-Tigres","Chiens des Temples","Incarnation Singe","Lanterne des Cieux","Grand Canon","Bombarde Impériale","Batterie à Roquettes Enflammées","Chariot de Ravitaillement Impérial","Navire Éternel","Magistrat","Seigneur Shen-Yan sur Longma Vénérable","Seigneur Magistrat","Général","Seigneur Lamedragon","Yaksha","Roi Singe","Général Singe","Erlang Shen","Esprit Shaolin Malveillant","Alchimiste","Princesse Dragon","Astromancien","Grand Maître Stratégiste","Maître Assassin","Reine Dragon","Porte-Bannière Cathayen","Seigneuresse Montée"],"royaume-de-chouannes":["Hommes d'Armes","Archers Paysans","Pélerins de bataille \u0026 Relique","Chevaliers Quêteurs à pied","Écuyers","Chevaliers à Pied","Brigands","Sergents à pieds","Arquebusiers de Chouannes","Arbalétriers de Chouannes","Sergents à cheval","Chevaliers Vagabonds","Chevaliers Royaux","Chevaliers Quêteurs","Chevaliers Graaliques","Chevaliers sur Pégases","Trébuchet","Bombarde exilée","Hippogriffe","Géant de Chouannes","Ogre de Chouannes","Chevalier de Jade","Roi Robert","Grand Duc Lancelot","Duc Jaume","Duc à pied","Jheanne la Jouvencelle","Baron Bruce","Baron Aldéric","Paladin","Prophétesse","Damoiselle","Sergent Vétéran","Sorcier Exilé","Porte-Bannière","Clerc du Graal","Bande de Bertrand","Chapelle de la Dame","Chariot d'armes","Tente Royale","Épée du Graal","Trébuchet brisé","Écuyer et cheval","Panneaux du Royaume","Sergent \u0026 Chien de chasse","Chevalier agenouillé"],"nains":["Guerriers Nains","Arquebusiers","Arbalétriers","Marteauliers","Tueurs","Rangers","Mineurs","Brises-Acier","Lances-Feu","Pirates Nains","Tueurs Frénétiques","Confrérie Forgetueurs","Nains Orientaux","Nains Piquiers","Tueurs Vétérans","Grêlons-Tonnerre","Garde Royale","Gyrocoptère léger","Gyrocoptère","Gyrobombardier","Gyromitrailleur","Trébuchet des Rancoeurs","Catapulte des Rancoeurs","Canon en Orgue","Canon à Feu","Baliste","Canon Nain","Barge-Éclair","Barge Zeppelin","Lance-Hâches","Char à Forge","Trébuchet Anti-Grobii","Char Nain","Machine de Mine","Golem de Fer","Perce-Roche","Chariot à bière","Chariot à munitions","Éclaireur sur Bouquetin","Ours de Guerre Montés","Nains sur Sangliers Lourds","Char à Sangliers","Char à Bouquetins","Rangers sur Ours","Vhorgrim le Rancuneux","Vhorek Tête d'Acier","Beledar Marteau d'Acier","Um-Kadrim","Josef Brewman","Le Nain des Neiges","Gortek","Felipe","Seigneur Nain","Maître des Runes","Noble","Prêtresse de Vahaya","Ingénieur","Ingénieure","Héro Tueur","Tueur de Dragon","Tueur de Démon","Tueur de Géant","Tueur de Troll","Prêtre des Runes","Porte-Bannière","Seigneur des Monts","Seigneur du Nord","Seigneur sur Bouclier","Héros Célèbres Nains porteurs de bouclier","Maître Ingénieur","Seigneur Naine","Héro Lance-Feu","Roi Nain sur Trône","Roi Nain","Fracasse-Roche","Roi Tueur","Seigneur des Rancunes","Reine Naine","Ingénieurs des Tranchés"],"elfes-du-bois-sacre":["Archers Sylvains","Gardes Sylvains","Patrouilleurs des Bois","Danseurs Guerriers","Éclaireurs","Dryades","Vengeurs des Bosquets","Esprits Vengeurs","Avant-garde Sylvestre","Soeurs des Ronces","Chevaucheurs Sauvages","Guerriers Volants","Guerriers sur Grands Hiboux","Chevaucheurs sur Insectes Majestueux","Esprits Vengeurs sur Insectes Majestueux","Troupeau de Chasse","Forcebois","Frappebois","Dragon des Bois","Grands Aigles","Arbre animé","Seigneur des Bois","Noble Sylvain sur Dragon des Bois","Général Sylvain sur Grand Faucon","Capitaine des Bois","Chantemage","Enchantresse","Danselame","Coureur des Bois","Âme-des-bois Vénérable","Magearbre Vénérable","Homme-Abre Ancien","Poussemère","Sylrion","Dhortur","Alaroth","Thressal, Champion du Toutvert","Sombre-Sève","Prince Sylvain sur Grand Cerf","Druide Sylvain sur Licorne","Grande Bannière des Bois"],"elfes-althamar":["Lanciers Elfiques","Archers Elfiques","Gardes Marins","Rangers","Guerriers Lions de Thrace","Maîtres Épéistes","Guarde du Phénix","Guerriers de l'Ombre","Soeurs de Galarielle","Sentinelles de Thrace","Sororité de la Lumière","Maîtres Épéistes du Lion","Lanciers du Lion","Gardes du Lion","Lions de Guerre","Patrouilleurs","Casques d'Argent","Princes Draconiques","Chariot Elfique","Chariot à Lions","Guerriers Lions Montés","Sentinelles Montés de Thrace","Casques d'Argent du Lion","Grands Aigles","Phoenix de Feu","Phoenix de Glace","Griffon","Dragon d'Althamar","Dragon des Mers","Baliste Griffe d'Aigle","Cotre-Voilier Volant","Tyraenion","Neclys","Roi Exilé","Galarielle","Eltharyn","Aslion, le Roi Lion","Prince Elfique","Commandant Elfique","Princesse Elfique","Mage Draconique","Noble Draconique","Noble Elfique","Seigneur Elfique","Mage Elfique","Grande-Bannière","Prince Lion","Seigneur des Côtes"],"sauriens":["Guerriers Sauriens","Gardes Sauriens","Geckolings","Geckolings (Lanceurs)","Geckolings Vétérans","Cameleolings","Krokoxigors","Krokoxigors Bénis","Cavaliers sur Raptors","Chevaucheurs de Dimorphodon","Chevaucheurs de Téranodon","Zoarr","Lanceurs Geckolings Montés","Geckos sur Raptordons","Salamandres Axolotl Géantes","Salamandres","Plastrodon","Zozonsaures","Carnotaurus Sauvage","Stegatops Sauvage","Bastankyladon (Crystal Solaire)","Stegatops Ancien","Stégatops","Carnotaurus","Bastankyladon (Arche Reptilienne)","Coatl","Tritodon","Saurien Effroyable","Nazcamunda, Prêtre Éternel","Crapoak, Relique Suprême","Oyotl, le Rescapé","Itzcalax, Gardien Éternel","Ekotl'Etto","Saurien Primordial","Prêtre-Mage Amphibiann","Krokoxigor Primordial","Vétéran Saurien sur Carnosaur","Vétéran Balafré","Mage Gecko","Élu Gecko","Chef Gecko","Saurien sur Rexosaur","Mage Gecko sur Spisauron"],"oblast-de-tchaika":["Guerriers de Tchaïka","Kodar","Streltsy","Filles de Natalya","Lanciers Ailés à pied","Garde du Tzar","Ogres du Koural","Cavaliers Drokhoss","Lanciers Ailés","Ours de Guerre","Char léger","Char lourd","Loups des Glaces","Léopard des Neiges","Ours Sauvages","Ours-Garous","Choses dans les Bois","Géant du Nord","Ours Primaire","Canon","Mortier","Canon à Volées","Batterie Orage de Feu","Tank à Vapeur de Tchaïka","Le Grand Boltsine","Tzarine Katja","Bogdan Oursun","Helenka Makovska","Boyard","Sorcière des Glaces","Droujina","Maître des Bêtes","Ogre Ailé","Sergent Ailé","Porte-Bannière"],"mal-universel":["Guerriers du Mal","Guerriers du Mal Élus","Maraudeurs du Mal","Pillards Nordiques","Maraudeurs Archers","Berserkers","Chasseurs Nordiques","Damnés","Guerrières du Mal","Maraudeuses","Cultistes du Mal","Harpies","Huskarls","Cavaliers Tumultueurs","Cavaliers Tumuleurs Élus","Cavaliers Pillards","Champions des Tribus Pillardes","Chiens du Mal","Char du Mal","Char Étripeur","Altar Sombre","Char du Mal Élu","Chevaucheurs sur Malbisons","Cavaliers Pillards Nordiques","Cavaliers Chasseurs","Huskarls Montés","Chariot Uuskarl","Ogres du Mal","Ogres Cultistes","Trolls Maléfiques","Rejetons du Mal","Manticore","Dragon du Mal","Dragon du Mal (Bicéphale)","Chimère","Loups Étripeurs","Rejeton Gigantesque du Mal","Mamouth de Guerre","Fomoires","Dragon de Verteflamme","Bête-Vortex Mutatrice","Dévoresprit","Ursakarls","Canon Cataclysmique","Arc'héron","Seigneur de la Corruption","Guerroyeur en Chef","Champion Ardent","Prince Démoniaque","Sorcier de la Déchéance","Ensorceleur Exalté","Frygaar Chaînefer","Gorlak, le Grand Dragon","Chef de Tribu Pillarde","Shamane Maraudeuse","Throll","Shaman Fomoire","Wolferik l'Errant","Championne Exaltée","Mor'Garoth, le Déchu des Abîmes","Archicultistes","Jarl","Sacrifice","Chasseur du Givre","Roi Maraudeur","Reine Maraudeuse","Chasseuse du Nord","Chef Nordique","Druide Nordique"],"nains-infernaux":["Esclaves Orcs","Orques de Fer","Guerriers Infernaux","Tireurs Ardents","Gardestructeurs","Tirailleurs Infernaux","Indestructibles","Gobelins des Steppes","Assassins des Steppes","Gobelins des Steppes Archers","Nés-Feu","Tueurs Infernaux","Cultistes Thorror","Acolytes Infernaux","Gobelins des Steppes sur Loups","Gobelins des Steppes sur Loups Archers","Centaurs-Taureaux","Elephant de Guerre","Chariot Gobelin des Steppes","Chariot-Taureau","Grand Taurus","Lamassu","Destroyeur Démoniaque","Géant Asservi","Géant Assiégeur","Démon de Fer","Découpeur Infernal","Lanceur-crieur de Roquettes","Lance-Fusée Crimort","Mortier Tremblesol","Mortier Infernal","Canon Magmique","Canon Infernal","Baliste Gobeline","Canon Cataclysmique","Bélier Infernal","Flotille d'Acier Volante","Assiégeur Centaure-Taureau","Tour de Siège Infernale","Tank d'Acier Infernal","Tarkhan des Steppes","Astagorth Poing d'Acier","Drakharth le Charbonneux","Zathak le Sombre","Zordug le Scélérat","Hiérophante Infernal","Maître-Sorcier Démonique","Mage-Artificier","Prévôt Infernal","Sangtor'ok","Chef Orque de Fer Infernal","Forgefiel","Altar de l'Infernalroi","Relique Taur'ok","Grande Bannière Infernale"],"bovigors":["Semi-Cornes","Semi-Cornes Archers","Cornes Sauvages","Longues-Cornes","Harpies","Centaures","Chiens du Mal","Harde de Sanglegor","Char à Boucs-de-Sang","Char à Sanglegor","Cornes Sauvages Montés","Bestyclope","Bestighorgon","Géant du Mal","Affrosité des Marais","Ogres du Mal","Trolls Maléfiques","Rejetons du Mal","Rejetons Gigantesque du Mal","Dragons-Ogre","Minotaures","Peryton","Droggoth","Cockatrice","Bovigor Géant","Géant d'Assaut","Minotogres","Seigneur Bestial","Bête de Guerre","Bête-Chasseur","Archibête sur Dragon Sauvage","Chamane Criard","Grand Chamane Beugleur","Ensorceleur des Bêtes","Taurok","Champion Minotaure","Tyran Minotaure","Sabot-Tueur","Khazkar l'Éborgné","Griffe Stellaire","Étendard des Bêtes","Minotaure Étendard des Bêtes","Élan-Tueur","Druide Minotaure sur Sanglor","Shaman Bovigor sur Horreur Des Bois","Héroïne Corne Sauvage Montée","Gargouille","Chien Bestial","Mionotgre Tyran"],"khrane":["Démons Écarlates","Guerriers de Khrâne","Écarlames","Massacrânes","Fustigeurs Sanglants","Pilleurs du Carnage","Confrérie Molossarque","Ravageurs Sanglants","Démons Ravageurs","Chevaliers de Khrâne","Char de Khrâne","Juggernautes","Altar de Khrâne","Molosses du Massacre","Carnagors","Rejetons de Khrâne","Rejetons Gigantesques de Khrâne","Avatar du Sang","Engeance de la Boucherie","Autel du Sang","Canon Écarlate","Valkyria la Reine du Carnage","Faucheur de Crânes","Cerberak","Apôtre du Massacre","Avatar du Sang Exalté","Héraut Suprême de Khrâne","Héraut de Khrâne","Prince Démon de Khrâne","Tyran de Khrâne","Démon Exilé de Khrâne","Invocation Suprême de Khrâne","Prêcheur du Carnage","Augure de la Fureur","Grande Bannière de Khrâne","Tortionnaire Sanguinaire","Seigneur-Dompteur du Chenil de Sang","Marteleur de Crânes","Molossard","Furgax"],"borkle":["Pustulards","Portepestilences","Guerriers de Borkle","Élus de Borkle","Ravageurs de Borkle","Putrigors","Pestefléaux","Confrères Purulents","Harpies Pustulardes","Ogres de la Peste","Portepestilences sur Mouches Purulentes","Chevaliers d'Essaim Purulents","Chevaliers de Borkle","Cavaliers de la Pourriture"],"mageenzch":["Nuée de Changelins","Alters Bleus","Guerriers de Mageenzch","Guerriers Exaltés de Mageenzch","Élus de Mageenzch","Chimerigors","Alters Roses","Furies Changeantes","Cultistes de Mageenzch","Ogres du Changement","Chevaliers Chromatiques sur Disques","Char des Flammes du Destin","Chevaliers de Mageenzch","Char de Mageenzch","Altar de Mageenzch","Criards du Changement","Émissaires Pyromantiques","Rejetons de Mageenzch","Émissaires Pyromantiques Exaltés","Illusionard Métamorphique","Cockatrice","Bête-Vortex Muthatique","Raptoryx","Bête Changeante Gigantesque","Rejeton Gigantesque de Mageenzch","Seigneurs du Changement Maudit","Changeleur le Sans-Visage","Écrivains Imperturbables","Messager de l'Éther","Illusionard Métamorphique Exalté","Sorcier Exalté de Mageenzch","Transmutatrice Azurine","Prince Élu de Mageenzch","Archi-Cosmarque","Seigneur de Mageenzch","Dragomancien","Cultiste Exalté de Mageenzch","Sorcière de Mageenzch","Scribe du Changement sur Disque","Chamane Chimerigor","Conjureur Émacié","Lunatiquateur","Émissaire Pyromantique Exalté","Hérauts du Changement","Déchus de Mageenzch","Démon Majeur de Mageenzch (Oldschool)","Minotaure Arcanique","Hérauts Chimerigors","Archers Chimerigors","Kalitch, le Dragon Changeant","Seigneur Exalté de Mageenzch","Mage des Plumes","Héraut Cultiste","Plumarque","Seigneur Influx","Prince Démoniaque Ailé de Mageenzch","Prince Démoniaque de Mageenzch","Sorts du Changement","Familiers de Mageenzch","Monolithes Changeants"],"sadikesh":["Dépravettes","Guerrières de Sadikesh","Guerrières Élues de Sadikesh","Prétoriennes","Bovigors de l'Excès","Furies Voltigeuses","Gardes de l'Agonie","Veneuses du Vice","Tirarcheuses","Cingleuses","Chevalières de Sadikesh","Esthètes Suppliciaires","Quadrige","Grand-Circassien","Bige de Guerre","Altar de l'Extase","Bestialames","Forteresse-Harem de la Dépravation","Parangon de l'Excquisitude","Alteskaar","Louangeresse","Matriarque-Suprême","Archi-Maître(sse)","Seigneuresse des Plaisirs","Prince(sse) Démoniaque de Sadikesh","Majestuette","Oracle des Trances","Soeurs Malfaisantes","Tentatrice sur Esclave-Tyran","Maîtreresse","Dualtesse","Musicienne Envoûteuse","Avatar de l'Excès","Grand Gourmet sur Palanquin de l'Excès","Sort : Dépravette","Sort : Shuriken Traîtres","Sort : Miroir Envoûtant"],"tribus-ogres":["Gnoblings","Gnoblings Giboyeurs","Guerriers Ogres","Ogres de Fer","Mercenaires Ogres","Cannoniers Ogres","Yettis","Égorgeur","Piétineurs","Dents de Sabre","Chariot Ogre","Géant","Lance-Débris","Crache-Métal","Obesus Ventregras","Zgark le Démembreur","Cragg le Disséqueur","Chef Tyran","Maître Éventreur","Truand","Chasseur","Traqueur","Braconnier","Bouchers","Pansefeu","Tyranneau","Maîtrebête","Équipage Harponniers","Fauconnier","Chef Gnobling","Ogre Ronin","Ogre Tueur de Dragon","Ogresse Matonne"],"orques-gobelins":["Gobelins","Gobelins Archers","Orques","Orques Archers","Gobelins de la Lune","Gobelin de la Lune Archers","Gobelins de la Lune Rétiaires","Gob' Zélés","Orques Primitifs","Orques Primitifs Archers","Orques Sombres","Nuée de Goblings","Zigouilleurs","Chevaucheurs Gobelins","Chevaucheurs Gobelins Archers","Gobelins des Bois sur Araignées","Orques sur Sanglochons","Orques Sauvages sur Sanglochons","Gobelins de la Lune sur Cavors","Cavors sauvages (+Bergers)","Char à Orques","Chariots à Gob'","Char improvisé Goblings","Lance-Rocher","Katapult' à Gob'","Baliste Gobeline","Trolls de Roc","Trolls des Marais","Sorcière Trollesse","Géant","Arachnid' Géante","Idole eud'Pierre","Vouivre","Cavors Déchicteurs","Géant Briseur d'Os","Rimgorg Sombrefer","Gurrzarg","Borgad Griff'Fer","Chef Orque","Chamane Gobelin","Chaman Gobelin des Bois","Grand Chef Gobelin de la Lune","Grand Chaman Orque Primitif","Chef Eud'Guerre Gobelin","Grand Shamane Gobelin de la Lune","Shamane Gobelin de la Lune","Chamane Orque","Grand Chef Orque Sombre","Chef Gobelin de la Lune"],"elfes-de-meleroth":["Effroilances","Affrelames","Sorcières Elfiques","Boureaux de Kar Vaneth","Sentinelles Noires","Soeurs de Sang","Sombres Carreaux","Corsaires de la Noiremer","Ombres","Harpies","Raptors sauvages","Coursiers des Brumes","Cavaliers Raptors","Âmes Maudites","Chariot Coursefléau","Char à Raptors","Méduses Soeursang","Méduses Rampesang","Manticore sauvage","Kraken","Incarnation Médusai","Hydre","Hydre de Guerre","Affrosité des Mers","Dragon Noir","Incarnation du Dieu-Sang","Baliste Noire","Marmite de Sang","Malekor","Mère Supplice","Reine Écarlate","Hellecron","Lothar Coeur d'Obsidienne","Seigneur Noir","Rekalarth","Kourond Sombrepoing","Seigneur de l'Effroi","Sorcière du Mal","Maître Dresseur","Soeur Suprême","Assassin du Zèle","Porte-Bannière","Maître des Sombreflottes"],"legions-des-dunes":["Guerriers Squelettes","Archers Squelettes","Guerriers des Dunes","Gardes des Nécropoles","Mommies","Cavaliers Squelettes","Cavaliers des Dunes","Chevaliers des Ossuaires","Cavaliers Archers","Chariots","Nuée des Dunes","Chargonards géants","Hamsetis","Rodeur Nécropolite","Scorpion des Dunes","Sphinx Nécrolithe","Androsphinx","Géant Nécrolithe","Dragon-Caïman d'Os","Hiérarque Titan","Ammut de Guerre","Sphinx Caracals","Charognarques Animés","Arche Damnée Séculaire","Lance-Crânes","Setesh l'Éternel","Arkham le Sombre","Reine Khaleda","Rhametep Hierophante Suprême","Prince Scaraphas","Nekmaph","Narhotep","Grande Bannière des Dunes","Roi des Dunes","Prêtre Morturaire","Nécromaître","Prince des Dunes","Roi Scorpion","Reine des Dunes","Prêtresse","Assassin"]};
(function(){
/* Carrés de variantes : ouvrent la vue rapide sur la variante choisie */
document.addEventListener("click",function(e){var b=e.target.closest?e.target.closest("[data-nv]"):null;if(!b){return}var n=b.getAttribute("data-nv"),k=0;setTimeout(function(){var t=setInterval(function(){k++;var hit=null;document.querySelectorAll("[data-qa]").forEach(function(x){if(!hit){var s=x.textContent.trim();if(/^N°\s*\d+$/i.test(s)){if(s.replace(/\D/g,"")===n){hit=x}}}});if(hit){clearInterval(t);if(hit.getAttribute("aria-pressed")!=="true"){hit.click()}}if(k>40){clearInterval(t)}},100)},250)});
})();
(function(){
/* Vignettes créateurs : le clic fige la photo ; 3 s après la sortie de la fiche, retour à la photo de départ. */
function poser(pc,src,big){var img=pc.querySelector(".pimg img");if(!img){return}var z=pc.querySelector(".fx-zoom");if(z){z.setAttribute("data-z",big)}if(img.getAttribute("src")===src){return}pc._fxw=src;var fait=false;var go=function(){if(fait){return}fait=true;if(pc._fxw!==src){return}img.style.transition="opacity .09s";img.style.opacity=".4";setTimeout(function(){img.removeAttribute("srcset");img.loading="eager";img.src=src;img.style.opacity="1"},90)};var pre=new Image();pre.onload=go;pre.onerror=go;pre.src=src;if(pre.complete){go()}}
function nom(pc,t){var cr=pc.querySelector(".fx-cr");if(cr){if(t){cr.textContent=t}}}
function retour(pc){var th=pc.querySelectorAll(".fx-thb");if(!th.length){return}var b=th[0];th.forEach(function(x){x.classList.toggle("on",x===b)});pc.classList.remove("fx-survol");pc.classList.remove("fx-fige");poser(pc,b.getAttribute("data-src"),b.getAttribute("data-big"))}
document.addEventListener("mouseover",function(e){if(!e.target.closest){return}var pc=e.target.closest(".pcard");if(pc){clearTimeout(pc._fxr)}var b=e.target.closest(".fx-thb");if(b){var p2=b.closest(".pcard");if(p2){if(!p2._pre){p2._pre=1;p2.querySelectorAll(".fx-thb").forEach(function(x){var q=new Image();q.src=x.getAttribute("data-src")})}nom(p2,b.getAttribute("data-n"));p2.classList.add("fx-survol");poser(p2,b.getAttribute("data-src"),b.getAttribute("data-big"))}}});
document.addEventListener("mouseout",function(e){if(!e.target.closest){return}var to=e.relatedTarget;
 var t=e.target.closest(".fx-th");if(t){var dedans=to?t.contains(to):false;if(!dedans){var pc=t.closest(".pcard");if(pc){if(pc.classList.contains("fx-fige")){var on=pc.querySelector(".fx-thb.on");if(on){nom(pc,on.getAttribute("data-n"));poser(pc,on.getAttribute("data-src"),on.getAttribute("data-big"))}}else{pc.classList.remove("fx-survol");var b0=pc.querySelector(".fx-thb");if(b0){poser(pc,b0.getAttribute("data-src"),b0.getAttribute("data-big"))}}}}}
 var p2=e.target.closest(".pcard");if(p2){var reste=to?p2.contains(to):false;if(!reste){if(p2.classList.contains("fx-fige")){clearTimeout(p2._fxr);p2._fxr=setTimeout(function(){retour(p2)},3000)}}}});
document.addEventListener("click",function(e){var b=e.target.closest?e.target.closest(".fx-thb"):null;if(!b){return}e.preventDefault();var pc=b.closest(".pcard");if(!pc){return}var th=pc.querySelectorAll(".fx-thb");th.forEach(function(x){x.classList.toggle("on",x===b)});if(b===th[0]){pc.classList.remove("fx-fige")}else{pc.classList.add("fx-fige")}nom(pc,b.getAttribute("data-n"));pc.classList.add("fx-survol");poser(pc,b.getAttribute("data-src"),b.getAttribute("data-big"));if(window.matchMedia("(hover: none)").matches){clearTimeout(pc._fxr);pc._fxr=setTimeout(function(){retour(pc)},3000)}});
})();

</script>
<script>
window.fxStart=function(){
/* Page faction type (Héritage). Aucun « et commercial » dans ce script. */
var EDG={A:"M0,80 L0,33.2 Q3.5,32.0 7,35.7 L14,31.0 Q16.0,33.4 18,34.6 L25,35.0 Q27.0,30.9 29,25.1 L48,34.1 Q53.5,33.6 59,32.3 Q64.5,30.6 70,30.1 Q73.0,31.3 76,31.2 Q81.5,29.2 87,24.5 Q90.0,24.5 93,29.3 Q95.0,28.0 97,24.3 L113,28.2 L122,26.6 L135,21.9 L142,24.3 L161,26.6 L170,33.5 L186,29.1 Q191.5,32.2 197,34.8 Q199.0,34.8 201,30.2 Q204.0,32.0 207,28.8 Q209.0,32.8 211,33.7 L217,28.4 Q219.0,31.4 221,31.8 L240,31.6 Q243.5,27.8 247,27.4 Q251.5,25.0 256,26.0 Q264.0,29.2 272,31.3 L278,26.3 Q286.0,27.2 294,29.0 Q299.5,31.0 305,32.1 L312,30.7 L318,31.6 Q320.0,31.3 322,30.3 L326,31.2 Q329.5,29.9 333,30.6 L346,33.7 L353,32.4 L366,23.4 L385,22.9 Q388.0,21.9 391,21.9 Q394.5,25.2 398,25.9 L417,25.2 Q419.0,27.3 421,24.9 L437,28.4 Q440.0,27.2 443,26.6 Q451.0,29.3 459,27.2 L478,26.9 Q480.0,22.7 482,14.2 Q485.0,18.9 488,24.0 Q493.5,26.5 499,25.8 Q503.5,22.0 508,22.0 Q517.5,20.5 527,19.5 L538,16.5 L547,21.0 Q553.5,17.1 560,16.9 L564,20.8 Q567.5,19.0 571,17.6 L587,22.4 Q596.5,23.7 606,25.8 Q608.0,27.6 610,29.0 Q612.0,31.5 614,29.4 Q619.5,23.6 625,20.4 L644,28.0 Q650.5,32.3 657,33.8 Q666.5,30.4 676,28.4 L700,32.6 Q706.5,33.2 713,33.1 Q716.5,33.8 720,33.3 Q723.0,32.3 726,34.5 L745,38.2 Q753.0,41.7 761,40.9 Q767.5,38.6 774,40.8 L780,38.9 L791,40.4 L795,38.6 Q807.0,35.3 819,35.9 Q823.5,40.1 828,48.4 L841,35.9 Q853.0,37.2 865,38.1 Q874.5,38.5 884,40.1 Q887.0,38.3 890,39.3 L914,39.4 Q926.0,38.8 938,34.9 L947,34.1 L958,34.7 Q970.0,32.6 982,29.2 Q984.0,29.6 986,32.9 L992,33.0 L1016,36.0 Q1024.0,36.3 1032,37.8 Q1040.0,43.8 1048,44.8 L1072,42.5 Q1077.5,40.1 1083,35.3 Q1087.5,37.2 1092,39.9 L1101,43.7 L1107,45.0 Q1119.0,48.0 1131,55.2 L1138,43.6 Q1142.5,44.0 1147,44.6 Q1150.5,43.0 1154,43.5 Q1157.5,42.2 1161,45.2 L1170,49.9 Q1174.5,46.1 1179,46.6 L1195,53.0 Q1198.5,51.8 1202,48.7 L1208,48.6 L1221,46.9 L1245,49.1 Q1254.5,48.4 1264,49.0 L1283,38.3 Q1286.5,41.5 1290,44.0 Q1292.0,43.2 1294,38.0 Q1297.0,38.4 1300,39.4 Q1308.0,38.3 1316,39.1 L1320,43.6 L1333,40.6 Q1345.0,43.1 1357,41.5 L1373,37.2 L1386,36.3 L1393,35.0 L1417,31.1 L1433,27.6 L1440,27.6 L1440,80 Z",B:"M0,80 L0,28.9 L13,25.7 Q22.5,29.2 32,27.8 L48,28.6 Q50.0,26.0 52,26.7 L65,32.3 L78,26.4 L87,38.9 Q93.5,32.6 100,22.9 L107,40.0 Q112.5,33.8 118,31.6 Q120.0,32.3 122,28.0 L131,26.3 L137,37.2 Q140.5,35.6 144,36.7 Q147.5,31.3 151,25.7 L162,23.6 L173,20.8 L197,24.7 Q200.0,28.8 203,35.9 Q209.5,28.9 216,22.8 Q220.5,25.3 225,28.4 Q234.5,24.4 244,24.7 Q246.0,27.9 248,27.8 Q253.5,24.2 259,25.3 L263,22.1 L276,25.4 Q279.0,25.6 282,24.0 Q291.5,23.3 301,21.2 Q304.0,22.0 307,19.0 Q309.0,20.3 311,22.4 L317,21.2 Q323.5,20.8 330,24.3 Q334.5,24.1 339,27.9 Q342.0,24.2 345,19.0 Q357.0,23.6 369,27.2 Q378.5,29.3 388,34.8 L399,31.4 L403,32.7 Q406.5,33.5 410,35.6 Q422.0,32.9 434,34.9 Q438.5,35.7 443,33.1 L450,30.9 Q452.0,31.9 454,32.2 Q457.5,35.3 461,37.9 Q470.5,37.0 480,40.0 Q483.5,39.3 487,36.2 Q492.5,41.5 498,41.8 Q503.5,39.5 509,42.2 L528,45.6 Q531.0,45.7 534,44.9 Q540.5,44.4 547,43.6 Q559.0,38.8 571,37.9 L587,41.3 L606,40.5 Q614.0,40.5 622,39.9 L633,36.9 L642,43.0 Q644.0,38.4 646,37.6 L650,41.8 Q658.0,42.1 666,40.4 L673,42.8 L686,39.9 L710,39.0 Q715.5,40.0 721,37.3 Q730.5,33.2 740,33.9 Q752.0,43.7 764,49.0 L788,40.5 L812,33.6 L819,53.2 L825,42.4 Q828.5,40.5 832,40.3 L845,42.8 L869,39.2 Q872.5,37.6 876,40.9 L885,45.2 Q891.5,42.7 898,44.8 L904,42.2 L917,43.1 L936,45.3 L952,51.8 Q958.5,50.5 965,51.3 Q970.5,51.3 976,47.5 Q982.5,49.6 989,47.8 L1000,43.5 L1009,42.2 Q1012.5,40.8 1016,41.0 L1040,37.5 L1056,41.6 L1063,41.1 Q1071.0,38.7 1079,37.2 L1092,42.9 L1103,39.9 L1116,38.5 Q1118.0,37.2 1120,38.9 Q1129.5,36.6 1139,30.0 Q1142.5,32.7 1146,31.2 Q1154.0,28.7 1162,29.5 L1171,26.1 L1184,29.5 Q1190.5,26.6 1197,24.7 Q1201.5,24.0 1206,26.7 L1212,27.9 Q1218.5,30.0 1225,30.6 Q1229.5,28.9 1234,29.1 L1245,28.7 L1251,31.3 L1267,31.6 Q1272.5,28.8 1278,28.8 L1282,30.1 L1301,24.9 L1317,26.4 L1323,30.0 Q1329.5,34.5 1336,38.0 Q1344.0,35.7 1352,29.7 L1371,32.7 L1387,33.5 Q1399.0,33.5 1411,33.0 Q1413.0,30.4 1415,32.0 Q1418.0,31.3 1421,28.8 L1434,28.6 Q1437.0,27.7 1440,28.6 L1440,80 Z"};
var API="/wp-json/wc/store/v1/", UP="/wp-content/uploads/";
var FAC=[
 {k:"reinland",nom:"Reinland",all:"Ordre",cat:54,img:"2024/08/Reinland-Presentation-1024x614.png",bg:"#1D2230",acc:"#D7B46A",font:"UnifrakturMaguntia",fq:"UnifrakturMaguntia"},
 {k:"cathay",nom:"Cathay",all:"Ordre",cat:1383,img:"2026/04/Cathay-v2.1-1024x614.png",bg:"#1C4A3C",acc:"#E0B85A",font:"Shippori Mincho",fq:"Shippori+Mincho:wght@700"},
 {k:"royaume-de-chouannes",nom:"Royaume de Chouannes",all:"Ordre",cat:238,img:"2024/08/Royaume-de-Chouannes-Presentation-1024x614.png",bg:"#1A2850",acc:"#E8DFC8",font:"Cinzel Decorative",fq:"Cinzel+Decorative:wght@700"},
 {k:"nains",nom:"Nains de Kaldum",all:"Ordre",cat:173,img:"2026/02/Nains-1024x614.png",bg:"#22272B",acc:"#C8893F",font:"Metamorphous",fq:"Metamorphous"},
 {k:"elfes-du-bois-sacre",nom:"Elfes du Bois Sacré",all:"Ordre",cat:381,img:"2026/05/Elfes-du-Bois-Sacre-v2-1024x614.png",bg:"#1A2A1C",acc:"#D49A4A",font:"Uncial Antiqua",fq:"Uncial+Antiqua"},
 {k:"elfes-althamar",nom:"Elfes d'Althamar",all:"Ordre",cat:380,img:"2024/09/Elfes-dAlthamar-1024x614.png",bg:"#14303B",acc:"#CFE3E6",font:"Fondamento",fq:"Fondamento"},
 {k:"sauriens",nom:"Sauriens",all:"Ordre",cat:382,img:"2026/06/Sauriens-1024x614.png",bg:"#0E2A33",acc:"#4FC7B0",font:"Macondo",fq:"Macondo"},
 {k:"oblast-de-tchaika",nom:"Oblast de Tchaïka",all:"Ordre",cat:383,img:"2024/08/Oblast-de-Tchaika-Presentation-1024x614.png",bg:"#1B2733",acc:"#B8D6E8",font:"Ruslan Display",fq:"Ruslan+Display"},
 {k:"mal-universel",nom:"Mal Universel",all:"Mal",cat:394,img:"2026/05/Mal-Universel-v2-1024x614.png",bg:"#161414",acc:"#B8963E",font:"Metal Mania",fq:"Metal+Mania"},
 {k:"hommes-rats",nom:"Hommes-Rats",all:"Mal",cat:395,img:"2025/06/Hommes-Rats-Presentation3-1024x614.png",bg:"#1B2A23",acc:"#A9C46C",font:"Jolly Lodger",fq:"Jolly+Lodger"},
 {k:"nains-infernaux",nom:"Nains Infernaux",all:"Mal",cat:397,img:"2026/05/Nains-Infernaux-v2-1024x614.png",bg:"#1C1412",acc:"#E8742A",font:"Metal Mania",fq:"Metal+Mania"},
 {k:"bovigors",nom:"Bovigors",all:"Mal",cat:396,img:"2026/04/Bovigors-1024x614.png",bg:"#231C15",acc:"#CDBB98",font:"Pirata One",fq:"Pirata+One"},
 {k:"khrane",nom:"Khrâne",all:"Mal",cat:393,img:"2025/12/INTRO-Khrane-1024x614.png",bg:"#2B0E0E",acc:"#D8A657",font:"Nosifer",fq:"Nosifer"},
 {k:"borkle",nom:"Borkle",all:"Mal",cat:390,img:"2025/12/BORKLE2-1024x614.png",bg:"#232614",acc:"#C3C255",font:"Freckle Face",fq:"Freckle+Face"},
 {k:"mageenzch",nom:"Mageenzch",all:"Mal",cat:391,img:"2025/12/Intro-FACTION2-1024x614.png",bg:"#171A3A",acc:"#6FD3E0",font:"Aboreto",fq:"Aboreto"},
 {k:"sadikesh",nom:"Sadikesh",all:"Mal",cat:392,img:"2025/12/Sadikesh-Accueil-1024x614.png",bg:"#2A1430",acc:"#E59AC6",font:"Rubik Wet Paint",fq:"Rubik+Wet+Paint"},
 {k:"tribus-ogres",nom:"Tribus Ogres",all:"Destruction",cat:386,img:"2025/06/Tribus-Ogres-1024x614.png",bg:"#2A2018",acc:"#D79B4C",font:"Bowlby One SC",fq:"Bowlby+One+SC"},
 {k:"orques-gobelins",nom:"Orques \u0026 Gobelins",all:"Destruction",cat:387,img:"2025/04/Orques-et-Gobelins-1024x614.png",bg:"#1A2716",acc:"#D8692B",font:"Rock Salt",fq:"Rock+Salt"},
 {k:"elfes-de-meleroth",nom:"Elfes de Meleroth",all:"Destruction",cat:389,img:"2024/11/Elfes-de-Meleroth-1024x614.png",bg:"#17111F",acc:"#B9A6E0",font:"Cormorant Unicase",fq:"Cormorant+Unicase:wght@600"},
 {k:"duche-outre-tombe",nom:"Duché d'Outre-Tombe",all:"Revenants",cat:375,img:"2026/06/Duche-dOutre-Tombe-1024x614.png",bg:"#2A1618",acc:"#E08A7E",font:"UnifrakturCook",fq:"UnifrakturCook:wght@700"},
 {k:"legions-des-dunes",nom:"Légions des Dunes",all:"Revenants",cat:378,img:"2024/08/Legions-des-Dunes-Presentation-1024x614.png",bg:"#2B2216",acc:"#E3BE6A",font:"Marcellus SC",fq:"Marcellus+SC"},
 {k:"horde-damnee",nom:"Horde Damnée",all:"Dark Crusades",cat:1377,img:"2025/07/Horde-Damnee-1024x614.png",bg:"#1E1A1A",acc:"#E05A3A",font:"Pirata One",fq:"Pirata+One"},
 {k:"esprits-penitents",nom:"Esprits Pénitents",all:"Dark Crusades",cat:1378,img:"2025/08/Esprits-Penitents-1024x614.png",bg:"#12262A",acc:"#9ED9C9",font:"Jim Nightshade",fq:"Jim+Nightshade"},
 {k:"warbands",nom:"Warbands",all:"Warbands",cat:1220,img:"",bg:"#191716",acc:"#D08A80"}
];
/* Créateurs connus : nom de l'étiquette, code utilisé dans les noms d'images */
var CREA=[["Highlands Miniatures","HM"],["Magori Miniatures","MAGO"],["Vae Victis Miniatures","VVM"],["Infernal Miniatures","INF"],["White Angel Miniatures","WAM"],["Duncan Shadow","DS"],["Crab Miniatures","CRAB"],["Dragon's Lake Miniatures","DLM"],["Sabertooth Collectibles","SC"],["The Beholder Miniatures","TBM"],["Sin's Miniatures","SIN"],["Lost Kingdom Miniatures","LK"],["Apache Studio","Apache"],["Vinci Miniatures","VINCI"],["Kyoushuneko","KYOU"],["Ezipion Miniaturas","EZI"],["Parasite Collectibles","PC"],["Ilhadiel","IL"]];
var m=location.search.match(/[?\u0026]f=([a-z-]+)/), f=FAC[0];
FAC.forEach(function(x){if(m){if(m[1]===x.k){f=x}}});if(window.ZZ_FACTION){FAC.forEach(function(x){if(x.k===window.ZZ_FACTION){f=x}})}if(window.ZZ_FCAT){FAC.forEach(function(x){if(+x.cat===+window.ZZ_FCAT){f=x}})}
window.FXF={all:f.all,nom:f.nom};
var zz=document.getElementById("zz");zz.style.setProperty("--fbg",f.bg);zz.style.setProperty("--facc",f.acc);if(f.font){var fl=document.createElement("link");fl.rel="stylesheet";fl.href="https://fonts.googleapis.com/css2?family="+f.fq+String.fromCharCode(38)+"display=swap";document.head.appendChild(fl);zz.style.setProperty("--ffont","'"+f.font+"'")}

function esc(t){return String(t==null?"":t).replace(/\u0026/g,"\u0026amp;").replace(/</g,"\u0026lt;").replace(/"/g,"\u0026quot;")}
function dec(s){var t=document.createElement("textarea");t.innerHTML=s||"";return t.value}
function j(u){var k="fxc:"+u;try{var c=sessionStorage.getItem(k);if(c){var o=JSON.parse(c);if(Date.now()-o.t<1800000){return Promise.resolve(o.d)}}}catch(e){}return fetch(u,{credentials:"same-origin"}).then(function(r){if(!r.ok){throw r}return r.json()}).then(function(d){try{sessionStorage.setItem(k,JSON.stringify({t:Date.now(),d:d}))}catch(e){}return d})}
function eur(v){return Number(v).toFixed(2).replace(".",",")+" €"}
function money(pr,v){var d=pr.currency_minor_unit==null?2:pr.currency_minor_unit;return eur(Number(v)/Math.pow(10,d))}
function priceHTML(p){var pr=p.prices;if(!pr){return ""}var min=pr.price_range?pr.price_range.min_amount:pr.price;return (pr.price_range?"À PARTIR DE ":"")+"<b>"+money(pr,min)+"</b>"}
function edge(e,from,to){return '<div class="edge" style="background:linear-gradient('+from+' calc(100% - 6px),'+to+' calc(100% - 6px))"><svg viewBox="0 0 1440 80" preserveAspectRatio="none" aria-hidden="true"><path fill="'+to+'" d="'+EDG[e]+'"/></svg></div>'}
function canon(n){var k=dec(n).toLowerCase().replace(/[’]/g,"'");if(k==="highland miniatures"){return "Highlands Miniatures"}var r=null;CREA.forEach(function(c){if(!r){if(c[0].toLowerCase()===k){r=c[0]}}});return r}
function createursDe(p){var out=[];(p.tags||[]).forEach(function(t){var c=canon(t.name);if(c){if(out.indexOf(c)<0){out.push(c)}}});return out}
function attr(p,re){var r=null;(p.attributes||[]).forEach(function(a){if(!r){if(re.test(dec(a.name))){r=a}}});return r}
function banniere(p){var L=[[/^variante$/i,0],[/^type de troupe$/i,0],[/^armes?$/i,1]];var v=null,isA=0;L.forEach(function(x){if(v){return}var a=attr(p,x[0]);if(a){if((a.terms||[]).length>1){v=a;isA=x[1]}}});if(!v){return ""}var t=(v.terms||[]).map(function(x){return dec(x.name).trim()}).filter(function(x){return !/lot entier|entier|complet|^les (deux|trois|quatre|cinq|six|sept|huit|neuf|dix)|^tou(s|tes)( les)?$|^ensemble/i.test(x)});var lw=function(s){return dec(s||"").toLowerCase().trim()};if(filtre){var ca=attr(p,/cr.ateur/i);if(ca){var cs=null;(ca.terms||[]).forEach(function(x){if(lw(x.name)==lw(filtre)){cs=x.slug}});if(cs){var vals={},any=false,seen=false;(p.variations||[]).forEach(function(w){var okc=false,val=null;(w.attributes||[]).forEach(function(at){var an=lw(at.name);if(/cr.ateur/.test(an)){if(at.value==cs){okc=true}}if(an==lw(v.name)){val=at.value}});if(okc){seen=true;if(val){vals[val]=1}else{any=true}}});if(seen){if(!any){t=(v.terms||[]).filter(function(x){return vals[x.slug]}).map(function(x){return dec(x.name).trim()}).filter(function(x){return !/lot entier|entier|complet|^les (deux|trois|quatre|cinq|six|sept|huit|neuf|dix)|^tou(s|tes)( les)?$|^ensemble/i.test(x)})}}}}}if(t.length<2){return ""}var k="modèles";if(t.some(function(x){return /cheval|pied|monture|pégase|griffon|dragon|destrier|char|disque|juggernaut|horrorgheist|bête|wargh|loup|sanglier|monté/i.test(x)})){k="montures"}else if(isA){k="armes"}else if(t.every(function(x){return /arme|arc|lance|bouclier|hallebarde|épée|fusil|arbal|fléau|hache|glaive|javelot|pistolet/i.test(x)})){k="armes"}p._bnS="Plusieurs "+k;p._bnM=t.length+" "+k;if(k=="montures"){var m=t.filter(function(x){return !/pied/i.test(x)});if(m.length==1){if(m.length<t.length){var s=m[0];var lc=s.charAt(0).toLowerCase()+s.slice(1);p._bnS=s;p._bnM=s;return "Disponible "+lc}}}return "Plusieurs "+k+" disponibles"}
function degressif(p){if(typeof p.zz_dg==="number"){return p.zz_dg}if(!fxDone){return null}var a=attr(p,/taille du lot/i);if(!a){return null}var tl=(a.terms||[]).map(function(x){var n=String(dec(x.name)).match(/(\d+)/);return n?Number(n[1]):0}).filter(function(n){return n>0});if(tl.length<2){return null}var pr=p.prices,rg=pr?pr.price_range:null;var pct=0;if(rg){var lo=Math.min.apply(null,tl),hi=Math.max.apply(null,tl);var u1=Number(rg.min_amount)/lo,u2=Number(rg.max_amount)/hi;if(u1>0){pct=Math.round((1-u2/u1)*100)}}return pct>0?Math.max(5,Math.round(pct/5)*5):0}
function piedDe(p){var r=null;(p.attributes||[]).forEach(function(a){if(r){return}if(!/^(variante|type de troupe)$/i.test(dec(a.name||""))){return}var t=(a.terms||[]).map(function(x){return dec(x.name||"").trim()});if(t.length<2){return}var pd=null;t.forEach(function(x){if(!pd){if(/pied/i.test(x)){pd=x}}});if(pd){r={pied:pd,all:t}}});return r}
function fnSlug(im){var b=String(im.src||"").split("/").pop().toLowerCase();try{b=decodeURIComponent(b)}catch(e){}return b.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}
function tSlug(t){return t.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/^(sur|a)\s+/,"").replace(/[^a-z0-9]+/g,"-")}
function aPied(im,mp){var ps=dec(im.alt||"").split("|").map(function(s){return s.trim().toLowerCase()});if(ps.indexOf(mp.pied.toLowerCase())>=0){return true}if(mp.all.some(function(t){return ps.indexOf(t.toLowerCase())>=0})){return false}return /(^|[^a-z])a-pied([^a-z]|$)/.test(fnSlug(im))}
function noMont(im,mp){var ps=dec(im.alt||"").split("|").map(function(s){return s.trim().toLowerCase()});if(mp.all.some(function(t){return ps.indexOf(t.toLowerCase())>=0})){return false}var f=fnSlug(im);return !mp.all.some(function(t){if(/pied/i.test(t)){return false}var s=tSlug(t);return s.length>3?f.indexOf(s)>=0:false})}
function imageDe(p,cr){var ims=p.images||[];var mp=piedDe(p);if(!cr){if(mp){var ap=avOrd(ims).filter(function(im){return aPied(im,mp)});if(ap.length){return ap[0]}}var sv=ims.filter(function(im){return !/variantes|combinaison/i.test(String(im.src||"").split("/").pop())});return sv.length?sv[0]:ims[0]}ims=avOrd(ims);if(mp){ims=ims.filter(function(im){return aPied(im,mp)}).concat(ims.filter(function(im){return !aPied(im,mp)}))}var sv2=ims.filter(function(im){return !/variantes|combinaison/i.test(String(im.src||"").split("/").pop())});if(sv2.length){ims=sv2}var crl=cr.toLowerCase();var codeRe=function(cd){return new RegExp("(^|[^a-z])"+cd.toLowerCase()+"([^a-z]|$)")};var code=null;CREA.forEach(function(c){if(c[0]===cr){code=c[1]}});var parts=function(im){return dec(im.alt||"").split("|").map(function(s){return s.trim().toLowerCase()})};var fnm=function(im){return String(im.src||"").split("/").pop().toLowerCase()};var KC=["hm","wa","wam","crab","tbm","vvm","vv","lk","lkm","dlm","im","sc","pc","ds","mago","magori","sin","sins","vinci","ilhadiel","apache","kyou","ezipion","parasite","sabertooth","infernal"];CREA.forEach(function(c){if(c[1]){if(KC.indexOf(String(c[1]).toLowerCase())<0){KC.push(String(c[1]).toLowerCase())}}});var isComp=function(im){var tk=fnm(im).replace(/\.[a-z0-9]+$/,"").split(/[^a-z0-9]+/);var nb=0;KC.forEach(function(k){if(tk.indexOf(k)>=0){nb++}});return nb>1};var autres=function(im){var ps=parts(im);return CREA.some(function(c){if(c[0]===cr){return false}return ps.indexOf(String(c[0]).toLowerCase())>=0})};var best=null;ims.forEach(function(im){if(!best){if(!isComp(im)){if(parts(im).indexOf(crl)>=0){best=im}}}});if(best){return best}ims.forEach(function(im){if(best){return}if(autres(im)){return}if(isComp(im)){return}var f=fnm(im);var s=(dec(im.alt||"")+" "+f).toLowerCase();if(s.indexOf(crl)>=0){best=im}else if(code){if(codeRe(code).test(f)){best=im}}});if(best){return best}ims.forEach(function(im){if(!best){if(parts(im).indexOf(crl)>=0){best=im}}});return best?best:ims[0]}

/* ---------- Haut de page ---------- */
var hero=document.getElementById("fx-hero");
hero.innerHTML='<section class="fx-hero"><div class="wrap fx-hw"><img class="fx-img" src="'+UP+f.img+'" alt="" aria-hidden="true"><div class="fx-in"><p class="eye">'+esc(f.all)+'</p><h2 class="h1">'+esc(f.nom).split(" ").map(function(w){return w.indexOf("-")>=0?'<span style="white-space:nowrap">'+w+'</span>':w}).join(" ")+'</h2><p class="lead">Toutes les unités de la faction, regroupées par type et créateurs. Coffret personnalisable pour démarrer votre armée de 0 à prix réduit.</p><div class="fx-cta"><a class="btn fx-light" href="#zz-box">Le coffret de démarrage</a><a class="btn fx-line" href="#fx-units">Voir les unités</a></div><div class="fx-facts"><p><b id="fx-nref">…</b>références</p><p><b id="fx-ncr">…</b>créateurs</p></div></div></div></section>'+edge("B",f.bg,"#EEEAE3");

/* ---------- Choix de la faction (maquette) ---------- */
(function(){var live=!!(window.ZZ_FACTION||window.ZZ_PID);var url=function(x){return live?"/"+x.k+"/":"/?page_id=58290"+String.fromCharCode(38)+"preview=true"+String.fromCharCode(38)+"f="+x.k};var al=[];FAC.forEach(function(x){if(x.k==="warbands"){return}var g=null;al.forEach(function(a){if(a.n===x.all){g=a}});if(!g){g={n:x.all,l:[]};al.push(g)}g.l.push(x)});var h='<button type="button" class="fxn-h" aria-expanded="true">Factions<i aria-hidden="true"></i></button><div class="fxn-b">'+al.map(function(a){var on=a.l.indexOf(f)>=0;return '<div class="fxn-a'+(on?" open":"")+'"><button type="button" class="fxn-ab" aria-expanded="'+(on?"true":"false")+'">'+esc(a.n)+'<i aria-hidden="true"></i></button><ul>'+a.l.map(function(x){return '<li><a href="'+esc(url(x))+'"'+(x===f?' aria-current="page"':"")+'>'+esc(x.nom)+'</a></li>'}).join("")+'</ul></div>'}).join("")+'</div>';var nv=document.createElement("nav");nv.className="fxn";nv.setAttribute("aria-label","Changer de faction");nv.innerHTML=h;(document.getElementById("zz")||document.body).appendChild(nv);var mq=window.matchMedia("(min-width: 1600px)");var setOpen=function(o){nv.classList.toggle("ferme",!o);nv.querySelector(".fxn-h").setAttribute("aria-expanded",o?"true":"false")};setOpen(mq.matches);nv.addEventListener("click",function(e){if(e.target.closest(".fxn-h")){setOpen(nv.classList.contains("ferme"));return}var b=e.target.closest(".fxn-ab");if(b){var d=b.parentNode;var was=d.classList.contains("open");nv.querySelectorAll(".fxn-a").forEach(function(x){x.classList.remove("open");x.querySelector(".fxn-ab").setAttribute("aria-expanded","false")});if(!was){d.classList.add("open");b.setAttribute("aria-expanded","true")}}})})();
var sw=document.createElement("div");sw.className="fx-sw";var so="",la="";FAC.forEach(function(x){if(x.all!==la){if(la){so+="</optgroup>"}so+='<optgroup label="'+esc(x.all)+'">';la=x.all}so+='<option value="'+x.k+'"'+(x===f?" selected":"")+">"+esc(x.nom)+"</option>"});so+="</optgroup>";sw.innerHTML='<span>Aperçu · faction</span><select aria-label="Choisir la faction">'+so+"</select>";sw.querySelector("select").addEventListener("change",function(e){location.search="?page_id=58290"+String.fromCharCode(38)+"preview=true"+String.fromCharCode(38)+"f="+e.target.value});if(!window.ZZ_FACTION){zz.appendChild(sw)}

/* ---------- Délai de l'atelier et réassurance sous le bouton panier ---------- */
var tr=document.querySelector("#zz-box .trust2");
var IC={t:'<circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/>',s:'<path d="M12 3l2.6 5.6 6 .7-4.5 4.1 1.2 6L12 16.4 6.7 19.4l1.2-6L3.4 9.3l6-.7z"/>',l:'<path d="M21 8l-9-5-9 5v8l9 5 9-5z"/><path d="M3 8l9 5 9-5M12 13v8"/>'};
function ligne(ic,t,txt){return '<div class="fx-tl"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">'+IC[ic]+'</svg><p><b>'+t+'</b>'+txt+'</p></div>'}
function reassure(delai){if(!tr){return}tr.className="fx-trust";tr.innerHTML=ligne("t","Délai de l’atelier",delai)+ligne("s","+250 coffrets","déjà imprimés et expédiés.")+ligne("l","Livraison offerte","en Mondial Relay à partir de 125 € d’achat.")}
reassure("Calcul en cours…");
j("/wp-json/zelzarr/v1/atelier").then(function(a){if(!a.ok){throw 0}var w1=Math.max(1,Math.round(a.p25/7)),w2=Math.max(w1,Math.ceil(a.p75/7));reassure("Ces 30 derniers jours, les commandes sont parties en <strong>"+(w1===w2?w1+" semaine"+(w1>1?"s":""):w1+" à "+w2+" semaines")+"</strong>.")}).catch(function(){reassure("Le délai s’affiche dans votre panier.")});

/* ---------- Coffrets : démarrage ou Équivalent ---------- */
var pick=document.getElementById("fx-pick"), ouvertDet=false;
var ICK='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg>';
function cartes(boxes){
 if(!pick){return} if(window.ZZ_BOXID){if(!boxes.zzSeul){var me=boxes.filter(function(x){return String(x.id)===String(window.ZZ_BOXID)?true:(x.link?x.link.indexOf(location.pathname)>=0:false)}).slice(0,1);me.zzSeul=true;cartes(me);return}}
 if(boxes.length<2){pick.innerHTML="";var ld=document.querySelector("#zz-box .head .lead");if(ld){var b0=boxes[0]||{};var s0=String(b0.n||"")+" "+String(b0.link||"");ld.textContent=/quivalent/i.test(s0)?(/chouannes|dunes/i.test(s0)?"L’équivalent complet de son homologue en un seul coffret, à prix réduit : héros et unités rares compris, jouable directement.":"L’équivalent de son homologue en un seul coffret, à prix réduit : une base solide à compléter pour pouvoir jouer."):"Une armée jouable en un seul coffret, à prix réduit. Composez votre coffret parmi des dizaines de combinaisons disponibles."}return}
 if(boxes.some(function(b){return /quivalent/i.test(b.n+" "+(b.link||""))?/chouannes|dunes/i.test(b.n+" "+(b.link||"")):false})){var ld2=document.querySelector("#zz-box .head .lead");if(ld2){ld2.textContent="Deux coffrets pour commencer : une armée jouable à composer vous-même, ou l’équivalent complet de son homologue, héros compris. Choisissez celui qui vous correspond."}}if(boxes.some(function(b){return /muraille/i.test(b.n+" "+(b.link||""))})){var ld3=document.querySelector("#zz-box .head .lead");if(ld3){ld3.textContent="Un coffret de base pour démarrer, et son extension pour compléter votre armée. Choisissez selon vos besoins."}}var bco=document.getElementById("zz-bco"),on=bco?bco.querySelector('[aria-pressed="true"]'):null,ci=on?Number(on.getAttribute("data-bco")):-1;
 pick.innerHTML='<div class="fx-cards'+(ouvertDet?' fx-open':'')+'">'+boxes.map(function(b,i){
  var eq=/quivalent/i.test(b.n+" "+(b.link||""));var ext=eq?/muraille/i.test(b.n+" "+(b.link||"")):false;var hasExt=boxes.some(function(z){return /muraille/i.test(z.n+" "+(z.link||""))});var full=eq?(ext?false:/chouannes|dunes/i.test(b.n+" "+(b.link||""))):false;
  var combis=1;(b.c||[]).forEach(function(c){combis*=Math.max(1,(c.opts||[]).length)});
  var pct=b.o?Math.round((1-b.p/b.o)*100):0;
  var base2=eq?(ext?false:(full?false:hasExt)):false;var pts=ext?["Complète le coffret de base","Unités uniques supplémentaires"]:base2?["À combiner avec le coffret Extension","Deux pièces d’artillerie"]:full?["Unités de base, spéciales et rares incluses","Héro(s) inclus","Contenu fixe, sans choix","Jouable directement"]:eq?["Faible diversité d’unités","Héro(s) non inclus","Utilisation limitée","Base à compléter"]:["Unités de base, spéciales et/ou rares incluses","Héro(s) inclus",combis+" combinaisons disponibles","Jouable directement"];
  var im=b.img?b.img.src:"";
  return '<button type="button" class="fx-card'+(eq?' eq':'')+'" data-i="'+i+'" aria-pressed="'+(i===ci?"true":"false")+'"><span class="fx-vis"'+(im?' style="background-image:url('+esc(im)+')"':'')+'><span class="fx-rub">'+(ext?'Extension':(full?'Armée complète':(eq?'Base à compléter':'Armée jouable')))+'</span><span class="fx-fil">'+(ext?'Extension':(full?'Complet':(eq?'Base':'Jouable')))+'</span><span class="fx-chk">'+ICK+'</span></span><span class="fx-cb"><span class="k">'+(ext?'Coffret Équivalent Extension':(eq?'Coffret Équivalent':'Coffret de démarrage personnalisable'))+'</span><span class="t">'+(eq?'L’équivalent de son homologue':'« '+esc(b.n)+' »')+'</span><span class="fx-det"><span class="d">'+(ext?'Le contenu exact de son homologue pour The Old World : une extension qui vient compléter le coffret Starter.':full?'Le contenu exact de son homologue pour The Old World : une armée complète, héros et unités rares compris, jouable directement.':eq?'Le contenu exact de son homologue pour The Old World. Une base solide, à compléter pour pouvoir jouer.':'Une armée prête à jouer dès la première partie, avec des unités rares et variées.')+'</span><span class="fx-pts">'+pts.map(function(t){return '<span class="'+((eq?(full?false:(ext?false:!base2)):false)?'fx-no':'fx-ok')+'"><i>'+((eq?(full?false:(ext?false:!base2)):false)?'−':'✓')+'</i>'+t+'</span>'}).join("")+'</span></span><span class="fx-pr"><b>'+eur(b.p)+'</b>'+(b.o?'<s>'+eur(b.o)+'</s>':'')+(pct?'<em>−'+pct+' %</em>':'')+'</span></span></button>'}).join("")+'</div><button type="button" class="fx-more" id="fx-det">'+(ouvertDet?'Masquer le détail ↑':'Comparer les deux coffrets ↓')+'</button>';
 window.FXB=boxes;
}
window.fxReady=function(boxes){if(!boxes.length){var ld=document.querySelector("#fx-hero .lead");if(ld){ld.textContent="Toutes les unités de la faction, regroupées par type et créateurs. Composez votre armée unité par unité, avec des remises automatiques sur votre panier."}var bx=document.getElementById("zz-box");if(bx){bx.style.display="none"}document.querySelectorAll('.fx-cta a[href="#zz-box"]').forEach(function(a){a.style.display="none"});return}if(!boxes.some(function(b){return !/quivalent/i.test(String(b.n||"")+" "+String(b.link||""))})){var hl=document.querySelector("#fx-hero .lead");if(hl){hl.textContent="Toutes les unités de la faction, regroupées par type et créateurs. Un coffret équivalent pour démarrer votre armée à prix réduit."}}cartes(boxes)};
if(pick){pick.addEventListener("click",function(e){
 if(e.target.closest("#fx-det")){ouvertDet=!ouvertDet;if(window.FXB){cartes(window.FXB)}return}
 var c=e.target.closest(".fx-card");if(!c){return}
 var b=document.querySelector('#zz-bco [data-bco="'+c.getAttribute("data-i")+'"]');if(b){b.click()}
 setTimeout(function(){if(window.FXB){cartes(window.FXB)}},30)})}

/* ---------- Unités ---------- */
var units=document.getElementById("fx-units"), D=null, filtre="", ouverts={};
units.innerHTML='<section class="sec fx-units" id="fx-units-s"><div class="wrap"><p class="lead loading">Chargement des unités…</p></div></section>';
function crPhoto(im){var s=(dec(im.alt||"")+" "+(im.src||"")).toLowerCase(),o=null;CREA.forEach(function(c){if(!o){if(s.indexOf(c[0].toLowerCase())>=0){o=c[0]}else if(new RegExp("(^|[^a-z])"+c[1].toLowerCase()+"([^a-z]|$)").test(s)){o=c[0]}}});return o}
function avOrd(l){var sc=function(im){var b=String(im.src||"").split("/").pop().replace(/\.[a-z0-9]+$/i,"");return /(^|[^a-z0-9])av([^a-z]|$)/i.test(b)?0:(/(^|[^a-z0-9])ar([^a-z]|$)/i.test(b)?2:1)};return l.map(function(im,i){return {im:im,i:i,s:sc(im)}}).sort(function(x,y){return x.s-y.s||x.i-y.i}).map(function(o){return o.im})}
function varImgs(p,cl){var IGN=/chelle|socl|taille|lot|cr.ateur|artilleur|quipage|groupe|champion|ma.tre|bras|quantit/i;var crMulti=(p.attributes||[]).some(function(at){return /cr.ateur/i.test(dec(at.name||""))?((at.terms||[]).length>1):false});if(crMulti){return []}var mp=piedDe(p);var groups=[];(p.attributes||[]).forEach(function(a){if(IGN.test(dec(a.name||""))){return}if(/^armes?$/i.test(dec(a.name||""))){return}var ts=[];(a.terms||[]).forEach(function(t){var n=dec(t.name||"").trim();if(n){ts.push(n)}});ts=ts.filter(function(x){return !/lot entier|entier|complet|^les (deux|trois|quatre|cinq|six|sept|huit|neuf|dix)|^tou(s|tes)( les)?$|^ensemble/i.test(x)});if(ts.length<2){return}if(ts.every(function(x){return /arme|arc|lance|bouclier|hallebarde|épée|fusil|arbal|fléau|hache|glaive|javelot|pistolet/i.test(x)})){return}if(ts.length>1){groups.push(ts)}});if(!groups.length){return []}var oth=[];if(mp){var mg=-1;groups.forEach(function(g,gi){if(g.indexOf(mp.pied)>=0){mg=gi}});if(mg>=0){if(groups.length>1){oth=groups.filter(function(g,gi){return gi!=mg});groups=[groups[mg]]}}}var hasCr=cl.length>1?(p.attributes||[]).some(function(at){return /cr.ateur/i.test(dec(at.name||""))}):false;var out=[],vus=[],srcs=[];avOrd(p.images||[]).filter(function(im){if(!oth.length){return true}var ps=dec(im.alt||"").split("|").map(function(s){return s.trim().toLowerCase()});return oth.every(function(g){var hit=g.filter(function(t){return ps.indexOf(t.toLowerCase())>=0});return hit.length?hit.indexOf(g[0])>=0:true})}).forEach(function(im){var parts=dec(im.alt||"").split("|").map(function(s){return s.trim().toLowerCase()});var lab=[],o=0,ok=false;groups.forEach(function(ts,gi){var hit=null;ts.forEach(function(t,ti){if(!hit){if(parts.indexOf(t.toLowerCase())>=0){hit=t;o+=ti*Math.pow(100,groups.length-gi)}}});if(hit){lab.push(hit);ok=true}else{o+=99*Math.pow(100,groups.length-gi)}});if(!ok){return}var cc=hasCr?crPhoto(im):null;var key=lab.join(" · ")+(cc?" · "+cc:"");if(vus.indexOf(key)>=0){return}if(srcs.indexOf(im.src)>=0){return}vus.push(key);srcs.push(im.src);out.push({im:im,lab:key,o:o})});if(out.length<2){return []}out.sort(function(x,y){return x.o-y.o});if(mp){out.sort(function(x,y){return (aPied(y.im,mp)?1:0)-(aPied(x.im,mp)?1:0)})}return out}
function estCrea(x){x=dec(x);if(/^[A-Z]{2,5}(\s*(\u0026|et|,|\/)\s*[A-Z]{2,5})*$/.test(x.trim())){return true}x=x.toLowerCase();return CREA.some(function(c){return String(c[0]).toLowerCase().split(/\s+/).some(function(w){w=w.replace(/[^a-z0-9']/g,'');if(w.length<4){return false}if(/^(miniatures?|miniaturess|studio|collectibles)$/.test(w)){return false}return x.indexOf(w.replace(/s$/,''))>=0})})}
function titre(n){return dec(n).replace(/\s*\(([^)]*)\)/g,function(m,x){return estCrea(x)?'':m}).trim()}
function numsCrea(p,cr,nums){var code=null;CREA.forEach(function(c){if(c[0]===cr){code=c[1]}});var any=false,res=[];(p.images||[]).forEach(function(im){var ps=dec(im.alt||"").split("|").map(function(s){return s.trim()});var n=null;ps.forEach(function(s){var m=/^N°\s*(\d+)$/i.exec(s);if(m){n=m[1]}});if(!n){return}any=true;var low=ps.map(function(s){return s.toLowerCase()});var ok=low.indexOf(cr.toLowerCase())>=0;if(!ok){if(code){var s=(String(im.src||"").split("/").pop()).toLowerCase();ok=new RegExp("(^|[^a-z])"+code.toLowerCase()+"([^a-z]|$)").test(s)}}if(ok){if(res.indexOf(n)<0){res.push(n)}}});if(!any){return nums}return nums.filter(function(n){return res.indexOf(n)>=0})}
function varCrea(p,cr){var code=null;CREA.forEach(function(c){if(c[0]===cr){code=c[1]}});var mine=avOrd(p.images||[]).filter(function(im){var s=(dec(im.alt||"")+" "+String(im.src||"").split("/").pop()).toLowerCase();if(s.indexOf(cr.toLowerCase())>=0){return true}return code?new RegExp("(^|[^a-z])"+code.toLowerCase()+"([^a-z]|$)").test(s):false});if(createursDe(p).length<2){mine=avOrd(p.images||[])}var IG=/chelle|socl|taille|lot|cr.ateur|artilleur|quipage|groupe|champion|ma.tre|bras|quantit/i;var groups=[];(p.attributes||[]).forEach(function(a){if(IG.test(dec(a.name||""))){return}var ts=(a.terms||[]).map(function(t){return dec(t.name||"").trim()}).filter(function(x){return x?!/lot entier|entier|complet|^les (deux|trois|quatre|cinq|six|sept|huit|neuf|dix)|^tou(s|tes)( les)?$|^ensemble/i.test(x):false});if(ts.length>1){groups.push(ts)}});if(!groups.length){return []}var out=[],vus=[],srcs=[];mine.forEach(function(im){var parts=dec(im.alt||"").split("|").map(function(s){return s.trim().toLowerCase()});var fs=fnSlug(im);var tk=fs.replace(/\.[a-z0-9]+$/,"").split(/[^a-z0-9]+/);var lab=[],o=0;groups.forEach(function(ts,gi){var hit=null;var altG=ts.some(function(t){return parts.indexOf(t.toLowerCase())>=0});ts.forEach(function(t,ti){if(hit){return}var ok=parts.indexOf(t.toLowerCase())>=0;if(!ok){if(altG){return}var sl=tSlug(t);if(sl.length>3){if(fs.indexOf(sl)>=0){ok=true}}if(/pied/i.test(t)){if(/(^|[^a-z])a-pied([^a-z]|$)/.test(fs)){ok=true}}var ini=t.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").split(/\s+/).filter(function(w){return /[a-z0-9]/.test(w)}).map(function(w){return w.charAt(0)}).join("");if(ini.length>1){if(tk.indexOf(ini)>=0){ok=true}}}if(ok){hit=t;o+=ti*Math.pow(100,groups.length-gi)}});if(hit){lab.push(hit)}else{o+=99*Math.pow(100,groups.length-gi)}});if(!lab.length){return}var key=lab.join(" · ");if(vus.indexOf(key)>=0){return}if(srcs.indexOf(im.src)>=0){return}vus.push(key);srcs.push(im.src);out.push({im:im,lab:key,o:o})});if(out.length<2){return []}out.sort(function(x,y){return x.o-y.o});var mp=piedDe(p);if(mp){out.sort(function(x,y){return (aPied(y.im,mp)?1:0)-(aPied(x.im,mp)?1:0)})}return out}
function card(p){
 var im=imageDe(p,filtre),bn=banniere(p),dg=degressif(p),nm=titre(p.name);
 var cl=createursDe(p),th='',crN=filtre?filtre:(cl.length?cl[0]:''),mos=false;
 var vi=varImgs(p,cl);if(!filtre){if(vi.length>1){mos=true;bn="";im=vi[0].im;crN=vi[0].lab;var mx=vi.length>5?4:5;th='<div class="fx-th">'+vi.slice(0,mx).map(function(o,k){return '<button type="button" class="fx-thb'+(k?'':' on')+'" data-src="'+esc(o.im.thumbnail||o.im.src)+'" data-big="'+esc(o.im.src)+'" data-n="'+esc(o.lab)+'" aria-label="Voir '+esc(o.lab)+'"><img src="'+esc(o.im.thumbnail||o.im.src)+'" alt="" loading="lazy"></button>'}).join('')+(vi.length>mx?'<span class="fx-thm">+'+(vi.length-mx)+'</span>':'')+'</div>'}else if(cl.length>1){var mi=[],mc=[],ms=[];var mpx=piedDe(p);cl.forEach(function(x){var i=imageDe(p,x);if(i){if(mpx?(aPied(i,mpx)?true:noMont(i,mpx)):true){if(ms.indexOf(i.src)<0){mi.push(i);mc.push(x);ms.push(i.src)}}}});if(mi.length>1){mos=true;im=mi[0];crN=mc[0];var mx=mi.length>5?4:5;th='<div class="fx-th">'+mi.slice(0,mx).map(function(i,k){return '<button type="button" class="fx-thb'+(k?'':' on')+'" data-src="'+esc(i.thumbnail||i.src)+'" data-big="'+esc(i.src)+'" data-n="'+esc(mc[k])+'" aria-label="Voir '+esc(mc[k])+'"><img src="'+esc(i.thumbnail||i.src)+'" alt="" loading="lazy"></button>'}).join('')+(mi.length>mx?'<span class="fx-thm">+'+(mi.length-mx)+'</span>':'')+'</div>'}}} var vcOn=filtre?true:(mos?false:cl.length<2);if(vcOn){var vc=varCrea(p,filtre||(cl[0]||""));if(vc.length<2){if(cl.length<2){vc=vi}}if(vc.length>1){mos=true;bn="";im=vc[0].im;crN=vc[0].lab;var mx2=vc.length>5?4:5;th='<div class="fx-th">'+vc.slice(0,mx2).map(function(o,k){return '<button type="button" class="fx-thb'+(k?'':' on')+'" data-src="'+esc(o.im.thumbnail||o.im.src)+'" data-big="'+esc(o.im.src)+'" data-n="'+esc(o.lab)+'" aria-label="Voir '+esc(o.lab)+'"><img src="'+esc(o.im.thumbnail||o.im.src)+'" alt="" loading="lazy"></button>'}).join('')+(vc.length>mx2?'<span class="fx-thm">+'+(vc.length-mx2)+'</span>':'')+'</div>'}} var nums=[];(p.attributes||[]).forEach(function(a){if(/variante/i.test(dec(a.name||''))){(a.terms||[]).forEach(function(t){var m=/^N°\s*(\d+)/i.exec(dec(t.name||''));if(m){nums.push(m[1])}})}});if(filtre){nums=numsCrea(p,filtre,nums)}if(!filtre){if(cl.length>1){if(nums.length>1){var mx=0;cl.forEach(function(x){var q=numsCrea(p,x,nums);if(q.length>mx){mx=q.length}});var anyN=(p.images||[]).some(function(im){return /(^|\|)\s*N°\s*\d+\s*(\||$)/i.test(dec(im.alt||""))});if(anyN){if(mx<2){nums=[]}}}}}
 var bas=mos?th:(nums.length>1?'<div class="fx-nums" title="Variantes disponibles">'+nums.map(function(n){return '<button type="button" data-qv="'+p.id+'" data-nv="'+n+'" aria-label="Voir la variante N°'+n+'">'+n+'</button>'}).join('')+'</div>':(crN?'<span class="fx-crn">'+esc(crN)+'</span>':''));
 var deg=!dg?'':'<span class="fx-dg"><b><span class="lg">Tarif dégressif</span><span class="sm">Dégressif</span></b>'+(dg?'<span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7l6 6 4-4 6 6"/><path d="M20 10v5h-5"/></svg>'+dg+' %</span>':'')+'</span>';
 var top=(bn?(deg?true:false):false)?'<div class="fx-top fx-mix">'+deg+'<span class="fx-ban"><span class="t lg">'+esc(p._bnS)+'</span><span class="t sm">'+esc(p._bnM)+'</span></span></div>':'<div class="fx-top'+((bn||deg)?'':' vide')+'">'+deg+(bn?'<span class="fx-ban">'+esc(bn)+'</span>':'')+'</div>';
 return '<div class="pcard fx-pc">'+top+'<div class="pw"><a class="pimg" href="'+esc(p.permalink)+'">'+(im?'<img src="'+esc(im.thumbnail||im.src)+'" alt="'+esc(dec(im.alt||nm))+'" loading="lazy" decoding="async">':'')+'</a>'+(mos?'<span class="fx-cr" aria-hidden="true">'+esc(crN)+'</span>':'')+(im?'<button type="button" class="fx-zoom" data-z="'+esc(im.src)+'" data-a="'+esc(nm)+'" aria-label="Agrandir la photo"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="M20 20l-4-4M11 8v6M8 11h6"/></svg></button>':'')+'<button type="button" class="qv fx-qv" data-qv="'+p.id+'">Vue rapide</button></div><div class="fx-meta">'+bas+'</div><a class="ct" href="'+esc(p.permalink)+'">'+esc(nm)+'</a><span class="p">'+priceHTML(p)+'</span></div>';
}
function rendre(){
 if(!D){return}
 var crs=[];D.tous.forEach(function(p){createursDe(p).forEach(function(c){if(crs.indexOf(c)<0){crs.push(c)}})});
 crs.sort(function(a,b){return D.nbCr[b]-D.nbCr[a]});
 var h='<section class="sec fx-units" id="fx-units-s"><div class="wrap"><div class="fx-crs"><span>Créateur</span><div class="chips" role="group" aria-label="Trier par créateur"><button type="button" class="chip" data-cr="" aria-pressed="'+(filtre?"false":"true")+'">Tous<span class="fx-cn">('+D.tous.length+')</span></button>'+crs.map(function(c){return '<button type="button" class="chip" data-cr="'+esc(c)+'" aria-pressed="'+(filtre===c?"true":"false")+'">'+esc(c)+'<span class="fx-cn">('+D.nbCr[c]+')</span></button>'}).join("")+'</div></div>';
 var n=0;
 D.groupes.forEach(function(g){
  var liste=g.items.filter(function(p){return filtre?createursDe(p).indexOf(filtre)>=0:true});
  if(!liste.length){return}
  var ouv=window.zzFP?true:!!ouverts[g.label], plus=liste.length>4;
  h+='<div class="fx-grp"'+(n?'':' style="border-top:0;padding-top:0;margin-top:0"')+'><div class="fx-head"><h3 class="fx-h3">'+esc(g.label)+'<span class="fx-n">'+liste.length+' référence'+(liste.length>1?'s':'')+(filtre?' de chez '+esc(filtre):'')+'</span></h3>'+(plus?'<button type="button" class="fx-tog" data-g="'+esc(g.label)+'" aria-expanded="'+(ouv?"true":"false")+'">'+(ouv?'Réduire ↑':'Voir les '+liste.length+' ↓')+'</button>':'')+'</div><div class="fx-grid">'+(ouv?liste:liste.slice(0,4)).map(card).join("")+'</div>'+(plus?(ouv?'<div class="fx-bas"><button type="button" class="btn fx-tog" data-g="'+esc(g.label)+'" aria-expanded="true">Réduire ↑</button></div>':''):'')+'</div>';
  n++;
 });
 h+='</div></section>';
 units.innerHTML=h;
}
units.addEventListener("click",function(e){
 var c=e.target.closest("[data-cr]");if(c){filtre=c.getAttribute("data-cr");ouverts={};rendre();return}
 var t=e.target.closest(".fx-tog");if(t){var g=t.getAttribute("data-g"),haut=!ouverts[g]?false:true;ouverts[g]=!ouverts[g];rendre();if(haut){var el=units.querySelector('.fx-tog[data-g="'+g.replace(/"/g,"")+'"]');if(el){el.closest(".fx-grp").scrollIntoView({block:"start"})}}}
});
function fxAll(cat){var k="fxa:"+cat;try{var cc=sessionStorage.getItem(k);if(cc){var o=JSON.parse(cc);if(Date.now()-o.t<1800000){return Promise.resolve(o.d)}}}catch(e){}var base=API+"products?category="+cat+"\u0026per_page=20\u0026_fields=id,name,slug,permalink,type,images,prices,categories,tags,attributes,variations,short_description,is_purchasable";var one=function(n){return fetch(base+"\u0026page="+n,{credentials:"same-origin"}).then(function(r){if(!r.ok){return {l:[],t:0}}var t=+(r.headers.get("X-WP-TotalPages")||0);return r.json().then(function(l){return {l:l,t:t}})}).catch(function(){return {l:[],t:0}})};var par=function(){return Promise.all([1,2,3,4,5,6].map(one)).then(function(rs){var tot=rs[0].t;var more=[];for(var n=7;n<=tot;n++){more.push(one(n))}return Promise.all(more).then(function(ms){var out=[];rs.concat(ms).forEach(function(x){out=out.concat(x.l)});try{sessionStorage.setItem(k,JSON.stringify({t:Date.now(),d:out}))}catch(e){}return out})})};return fetch("/wp-json/zelzarr/v1/faction-produits/"+cat+"?t="+Math.floor(Date.now()/1800000),{credentials:"omit"}).then(function(r){if(!r.ok){throw 0}return r.json()}).then(function(l){if(!Array.isArray(l)){throw 0}if(!l.length){throw 0}try{sessionStorage.setItem(k,JSON.stringify({t:Date.now(),d:l}))}catch(e){}return l}).catch(function(){return par()})}
var fxH=function(r){
 var fxAll=r[1].concat(r[2]);var compl=fxAll.filter(function(p){var cs=(p.categories||[]).map(function(c){return c.id});if(cs.indexOf(111)>=0){return false}if(cs.indexOf(371)>=0){return true}if(cs.indexOf(373)>=0){return !/starter/i.test(dec(p.name))}return false});var tous=fxAll.filter(function(p){return !(p.categories||[]).some(function(c){return c.id===374||c.id===371||c.id===373})});
 if(window.zzRemember){window.zzRemember(tous.concat(compl))}
 /* Groupes : même ordre et mêmes types que l'aperçu de l'accueil, retrouvés par l'étiquette commune */
 var autres={};CREA.forEach(function(c){autres[c[0].toLowerCase()]=1});autres[f.nom.toLowerCase()]=1;
 var groupes=(r[0].groups||[]).filter(function(g){return g.items.length}).map(function(g){
  var cpt={};g.items.forEach(function(p){(p.tags||[]).forEach(function(t){var k=dec(t.name);if(!autres[k.toLowerCase()]){if(!/^maj/i.test(k)){cpt[k]=(cpt[k]||0)+1}}})});
  var tag=null;Object.keys(cpt).forEach(function(k){if(cpt[k]===g.items.length){if(!tag){tag=k}}});
  return {label:g.label,tag:tag,items:[]};
 });
 tous.forEach(function(p){var mis=false;groupes.forEach(function(g){if(!mis){if(g.tag){if((p.tags||[]).some(function(t){return dec(t.name)===g.tag})){g.items.push(p);mis=true}}}})});var libre=groupes.filter(function(g){return !g.tag});if(libre.length){tous.forEach(function(q){var dans=groupes.some(function(g){return g.items.indexOf(q)>=0});if(!dans){libre[0].items.push(q)}})}var gI=null,gM=null;groupes.forEach(function(g){var l=dec(g.label).toLowerCase().trim();if(l=="infanterie"){gI=g}if(/^infanterie monstrueuse$/.test(l)){gM=g}});if(gM){if(gI){gI.items=gI.items.concat(gM.items);groupes.splice(groupes.indexOf(gM),1)}else{gM.label="Infanterie"}}var gC=null,gCM=null;groupes.forEach(function(g){var l=dec(g.label).toLowerCase().trim();if(l=="cavalerie"){gC=g}if(/^cavalerie monstrueuse$/.test(l)){gCM=g}});if(gCM){if(gC){gC.items=gC.items.concat(gCM.items);groupes.splice(groupes.indexOf(gCM),1)}else{gCM.label="Cavalerie"}}var OR=(window.FXORD||{})[f.k]||[];if(OR.length){var nz=function(s){return dec(s).toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'').replace(/\([^)]*\)/g,' ').replace(/[^a-z0-9 ]/g,' ').replace(/\s+/g,' ').trim().split(' ').map(function(w){return w.length>3?w.replace(/s$/,''):w}).join(' ')};var ON=OR.map(nz);var rk=function(q){var n=nz(q.name);var i=ON.indexOf(n);if(i>=0){return i}for(var k=0;k<ON.length;k++){if(ON[k].length>3){if(n.indexOf(ON[k])>=0){return k}if(ON[k].indexOf(n)>=0){return k}}}var tn=n.split(' '),best=-1,bs=0;ON.forEach(function(o,k){var to=o.split(' '),cc=0;to.forEach(function(w){if(w.length>3){if(tn.indexOf(w)>=0){cc++}}});var sc=cc/Math.max(to.length,1);if(sc>bs){bs=sc;best=k}});return bs>=0.5?best:9999};groupes.forEach(function(g){g.items.forEach(function(q,i){q._r=rk(q);q._i=i});g.items.sort(function(a,b){return a._r===b._r?a._i-b._i:a._r-b._r})})}
 var nref=0,nbCr={};
 tous.forEach(function(p){
  var nc=1,nv=1,a=attr(p,/créateur/i),v=attr(p,/^variante$/i);
  if(a){nc=Math.max(1,(a.terms||[]).length)}
  if(v){nv=Math.max(1,(v.terms||[]).filter(function(t){return !/complet/i.test(dec(t.name))}).length)}
  nref+=nc*nv;
  createursDe(p).forEach(function(c){nbCr[c]=(nbCr[c]||0)+1});
 });
 document.getElementById("fx-nref").textContent=nref;
 document.getElementById("fx-ncr").textContent=Object.keys(nbCr).length;
 var vus=[],nb2={};groupes.forEach(function(g){g.items.forEach(function(q){if(vus.indexOf(q)<0){vus.push(q);createursDe(q).forEach(function(x){nb2[x]=(nb2[x]||0)+1})}})});D={tous:vus,groupes:groupes,nbCr:nb2};
 rendre();
};
var fxPF=+f.cat===1220?fxAll(1220).then(function(l){l=l.filter(function(q){return q.id!==36070});return {groups:[{label:"Warbands",count:l.length,items:l}]}}):j("/wp-json/zelzarr/v1/faction/"+f.cat);var fxDone=false;
fxPF.then(function(fa){if(fxDone){return}var it=[];(fa.groups||[]).forEach(function(g){it=it.concat(g.items||[])});if(!it.length){return}try{fxH([fa,it,[]]);document.getElementById("fx-nref").textContent="…";document.getElementById("fx-ncr").textContent="…"}catch(e){}}).catch(function(){});
Promise.all([fxPF,fxAll(f.cat).then(function(l){return l.filter(function(q){return q.id!==36070})})]).then(function(r){fxDone=true;fxH([r[0],r[1],[]])}).catch(function(){units.innerHTML='<section class="sec fx-units"><div class="wrap"><p class="lead">Impossible de charger les unités.</p></div></section>'});
};
</script>
<script>
(function(){
/* Agrandissement d'une photo d'unité (loupe), avec choix du créateur. Aucun « et commercial ». */
var lb=document.createElement("div");lb.className="fx-lb";lb.setAttribute("role","dialog");lb.setAttribute("aria-modal","true");lb.setAttribute("aria-label","Photo agrandie");
lb.innerHTML='<div class="fx-lbin"><button type="button" class="fx-lbx" aria-label="Fermer">×</button><div class="fx-lbz"><img alt=""></div><div class="fx-lbb"><p class="fx-lbt"></p><div class="fx-lbo"></div></div></div>';
document.getElementById("zz").appendChild(lb);
var img=lb.querySelector("img"),zb=lb.querySelector(".fx-lbz"),tt=lb.querySelector(".fx-lbt"),oo=lb.querySelector(".fx-lbo"),zoom=false;
function esc2(s){var d=document.createElement("div");d.textContent=s||"";return d.innerHTML}
function fermer(){lb.classList.remove("on");document.documentElement.style.overflow="";img.style.transform="";zoom=false}
function ouvrir(b){
 var src=b.getAttribute("data-z"),alt=b.getAttribute("data-a")||"",pc=b.closest(".pcard");
 img.src=src;img.alt=alt;img.style.transform="";zoom=false;tt.textContent=alt;oo.innerHTML="";
 if(pc){
  var th=pc.querySelectorAll(".fx-thb"),nu=pc.querySelectorAll(".fx-nums span"),cr=pc.querySelector(".fx-crn");
  if(th.length){
   oo.innerHTML='<span class="fx-lbl">Modèle</span>'+[].map.call(th,function(t){var on=t.getAttribute("data-big")===src;return '<button type="button" class="fx-lbc" data-big="'+esc2(t.getAttribute("data-big"))+'" aria-pressed="'+(on?"true":"false")+'">'+esc2(t.getAttribute("data-n"))+'</button>'}).join("");
  }else{
   var h='';if(cr){h+='<span class="fx-lbl">Créateur</span><span class="fx-lbn">'+esc2(cr.textContent)+'</span>'}
   if(nu.length){h+='<span class="fx-lbl">Variantes</span>'+[].map.call(nu,function(n){return '<span class="fx-lbv">'+esc2(n.textContent)+'</span>'}).join("")}
   oo.innerHTML=h;
  }
 }
 lb.classList.add("on");document.documentElement.style.overflow="hidden";
}
document.addEventListener("click",function(e){var b=e.target.closest(".fx-zoom");if(b){e.preventDefault();ouvrir(b);return}var c=e.target.closest(".fx-lbc");if(c){img.src=c.getAttribute("data-big");img.style.transform="";zoom=false;oo.querySelectorAll(".fx-lbc").forEach(function(x){x.setAttribute("aria-pressed",x===c?"true":"false")});return}if(e.target===lb){fermer();return}if(e.target.closest(".fx-lbx")){fermer()}});
document.addEventListener("keydown",function(e){if(e.key==="Escape"){if(lb.classList.contains("on")){fermer()}}});
function viser(x,y){var r=zb.getBoundingClientRect();img.style.transformOrigin=((x-r.left)/r.width*100)+"% "+((y-r.top)/r.height*100)+"%"}
zb.addEventListener("mousemove",function(e){viser(e.clientX,e.clientY);img.style.transform="scale(2.2)"});
zb.addEventListener("mouseleave",function(){img.style.transform=""});
zb.addEventListener("click",function(e){if(window.matchMedia("(hover: none)").matches){zoom=!zoom;viser(e.clientX,e.clientY);img.style.transform=zoom?"scale(2.2)":""}});
})();
</script>
<script>
(function(){var VC={};var nz=function(s){var t=document.createElement("textarea");t.innerHTML=s||"";return t.value.toLowerCase().replace(/\u00d7/g,"x").replace(/[\u2019\u0060]/g,"'").replace(/[\u00ab\u00bb"]/g,"").replace(/\s+/g," ").trim()};var fmt=function(v,mu){return (v/Math.pow(10,mu)).toFixed(2).replace(".",",")+" \u20ac"};function prixVignette(pc,lab){var q=pc.querySelector("[data-qv]");if(!q){return}var id=q.getAttribute("data-qv");var sp=pc.querySelector(".p");if(!sp){return}if(pc._p0==null){pc._p0=sp.innerHTML}var go=function(vs){if(!pc.classList.contains("fx-fige")){return}var parts=lab.split(" \u00b7 ").map(nz);var ok=vs.filter(function(v){var s=nz(v.variation||"");return parts.every(function(x){return s.indexOf(x)>=0})});if(!ok.length){return}var mu=ok[0].prices.currency_minor_unit;var ps=ok.map(function(v){return +v.prices.price});var mn=Math.min.apply(null,ps),mx=Math.max.apply(null,ps);sp.innerHTML=(mn!==mx?"\u00c0 PARTIR DE ":"")+"<b>"+fmt(mn,mu)+"</b>"};if(VC[id]){go(VC[id]);return}fetch("/wp-json/wc/store/v1/products?type=variation"+String.fromCharCode(38)+"parent="+id+String.fromCharCode(38)+"per_page=100").then(function(r){return r.json()}).then(function(vs){VC[id]=vs||[];go(VC[id])}).catch(function(){})}document.addEventListener("click",function(e){var b=e.target.closest?e.target.closest(".fx-thb"):null;if(!b){return}var pc=b.closest(".pcard");if(!pc){return}setTimeout(function(){prixVignette(pc,b.getAttribute("data-n")||"")},20);if(!pc._obs){pc._obs=new MutationObserver(function(){if(!pc.classList.contains("fx-fige")){if(pc._p0!=null){var sp=pc.querySelector(".p");if(sp){sp.innerHTML=pc._p0}}}});pc._obs.observe(pc,{attributes:true,attributeFilter:["class"]})}})})();
</script>
<script>(function(){
/* Fiche produit type (maquette v2). Aucun « et commercial » dans ce script : il est construit avec fromCharCode. */
var A=String.fromCharCode(38);
var root=document.getElementById("zz-fp");if(!root){return}
window.zzFP=1;
var Q=new URLSearchParams(location.search);
var PID=String(window.ZZ_PID||Q.get("ref")||"19114");
var ST="/wp-json/wc/store/v1/";
var E={"<":A+"lt;",">":A+"gt;","\"":A+"quot;","'":A+"#39;"};
function esc(s){return String(s==null?"":s).split(A).join(A+"amp;").replace(/[<>"']/g,function(c){return E[c]})}
var TA=document.createElement("textarea");
function dec(s){TA.innerHTML=String(s||"");return TA.value}
function nz(s){return dec(s).toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g,"").replace(/×/g,"x").replace(/’/g,"'").replace(/[«»"“”]/g,"").replace(/\s+/g," ").trim()}
function $(id){return document.getElementById(id)}
function jget(u){return fetch(u,{credentials:"same-origin"}).then(function(r){if(!r.ok){throw r.status}return r.json()})}
function qs(o){return Object.keys(o).map(function(k){return k+"="+encodeURIComponent(o[k])}).join(A)}
function clean(s){return String(s||"").replace(/\s*\((?:[^()]*?)warhammer[^()]*\)/gi,"").replace(/,?\s*compatibles?\s+avec\s+[“«"][^”»"]*warhammer[^”»"]*[”»"]/gi,"").replace(/\s{2,}/g," ").trim()}
function facLink(slug){return "/?page_id=58290"+A+"preview=true"+A+"f="+encodeURIComponent(slug)}
function fromCache(id){var hit=null;try{for(var i=0;i<sessionStorage.length;i++){var k=sessionStorage.key(i);if(k.indexOf("fxa:")!==0){continue}var o=JSON.parse(sessionStorage.getItem(k)||"{}");(o.d||[]).forEach(function(x){if(hit){return}if(String(x.id)===String(id)){hit=x}else{if(x.slug===id){hit=x}}})}}catch(e){}return hit}
function specs(html){
var box=document.createElement("div");box.innerHTML=html||"";
var rows=[],free=[],asm=[],mode="",cur=null,last=null;
var HORS=/^(socles?|soclage|[ée]chelle|r[ée]sine|finesse|cr[ée]ateurs?|sculpteurs?|contenu|taille|dimensions?|hauteur)/i;
box.querySelectorAll("p").forEach(function(pa){
pa.innerHTML.split(/<br\s*\/?>/i).forEach(function(seg){
var d=document.createElement("div");d.innerHTML=seg;var st=d.querySelector("strong");var txt=d.textContent.trim();if(!txt){return}
var puce=/^[•·]/.test(txt),tiret=/^[–—-]/.test(txt);
var lb="",v="";if(st){lb=st.textContent.replace(/\s*:\s*$/,"").trim();v=txt.slice(txt.indexOf(st.textContent)+st.textContent.length).replace(/^\s*:\s*/,"").trim()}
if(!lb){free.push(clean(txt));return}
if(/^assemblage/i.test(lb)){mode="asm";cur=null;if(v){asm.push({nom:"",txt:clean(v),it:[]})}return}
if(mode==="asm"){if(!HORS.test(lb)){
if(tiret){if(cur){cur.it.push([lb,clean(v)])}else{asm.push({nom:"",txt:"",it:[[lb,clean(v)]]})}return}
cur={nom:lb,txt:clean(v),it:[]};asm.push(cur);return}
mode=""}
if(tiret){if(last){last[2].push([lb,clean(v)]);return}}
if(!v){free.push(clean(txt));return}
last=[lb,clean(v),[]];rows.push(last);mode="row"
})
});
return {rows:rows,free:free,asm:asm}
}
function asmTag(t){t=String(t||"");if(/(n.est|ne sont) pas modulables?/i.test(t)){return '<span class="fp-at">Non modulable</span>'}if(/modulables?/i.test(t)){return '<span class="fp-at on">Modulable</span>'}return ""}
function asmBox(l){if(!l.length){return ""}return '<div class="fp-box fp-asm"><h3>Assemblage</h3>'+l.map(function(g){return '<div class="fp-ag">'+(g.nom?'<p class="fp-an">'+esc(g.nom)+(g.it.length?'':asmTag(g.txt))+'</p>':'')+(g.txt?'<p class="fp-ax">'+(g.nom?'':asmTag(g.txt))+esc(g.txt)+'</p>':'')+(g.it.length?'<ul class="fp-ai">'+g.it.map(function(x){return '<li><p class="fp-aik">'+esc(x[0])+asmTag(x[1])+'</p><p class="fp-ax">'+esc(x[1])+'</p></li>'}).join("")+'</ul>':'')+'</div>'}).join("")+'</div>'}
function attrOf(p,re){var r=null;(p.attributes||[]).forEach(function(a){if(!r){if(re.test(dec(a.name||""))){r=a}}});return r}
function degressif(p){var a=attrOf(p,/taille du lot/i);if(!a){return 0}var tl=(a.terms||[]).map(function(x){var n=String(dec(x.name)).match(/(\d+)/);return n?Number(n[1]):0}).filter(function(n){return n>0});if(tl.length<2){return 0}var rg=(p.prices||{}).price_range;if(!rg){return 0}var lo=Math.min.apply(null,tl),hi=Math.max.apply(null,tl);var u1=Number(rg.min_amount)/lo,u2=Number(rg.max_amount)/hi;var pct=u1>0?Math.round((1-u2/u1)*100):0;return pct>0?Math.max(5,Math.round(pct/5)*5):0}
function groupOf(p){var g=null;(p.tags||[]).forEach(function(t){if(g){return}var n=nz(t.name);if(/^(infanterie|cavalerie|personnages?|hero|monstres?|machines? de guerre|artillerie|chars?|chariots|betes|unites? rares?|unites? speciales?|elite)/.test(n)){g=dec(t.name)}});return g}
var ICO={
 arrow:'<svg viewBox="0 0 24 24"><path d="M5 12h14"/><path d="M13 6l6 6-6 6"/></svg>',
 down:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7l6 6 4-4 6 6"/><path d="M20 10v5h-5"/></svg>',
 truck:'<svg viewBox="0 0 24 24"><path d="M3 7h11v9H3z"/><path d="M14 10h4l3 3v3h-7z"/><circle cx="7" cy="18" r="1.6"/><circle cx="17" cy="18" r="1.6"/></svg>',
 pct:'<svg viewBox="0 0 24 24"><path d="M19 5 5 19"/><circle cx="7" cy="7" r="2.2"/><circle cx="17" cy="17" r="2.2"/></svg>',
 drop:'<svg viewBox="0 0 24 24"><path d="M12 3c3.5 4.2 6 7.3 6 10.5a6 6 0 0 1-12 0C6 10.3 8.5 7.2 12 3z"/></svg>'
};
function load(){
 /* Préchargement en parallèle : combinaisons du produit, et liste des coffrets si c’est un coffret */
 var tq="?t="+Math.floor(Date.now()/300000);if(/^\d+$/.test(PID)){if(!window.ZZ_VDATA){fetch("/wp-json/zelzarr/v1/variations/"+PID+tq).catch(function(){})}}if(/coffret/i.test(location.pathname)){fetch("/wp-json/zelzarr/v1/faction-produits/111,373"+tq).catch(function(){})}
 var c=window.ZZ_PDATA?window.ZZ_PDATA:fromCache(PID);if(c){render(c);return}
 var u=/^\d+$/.test(PID)?ST+"products/"+PID:ST+"products?"+qs({slug:PID});
 jget(u).then(function(p){if(Array.isArray(p)){p=p[0]}if(!p){throw 404}render(p)}).catch(function(e){console.log("[FP]",e);$("fp-buy").innerHTML='<p class="lead">Référence introuvable.</p>'})
}
function selIn(re){var r=null;document.querySelectorAll("#zz-qvopts .row").forEach(function(row){var lb=row.querySelector(".lb");if(!lb){return}if(!re.test(lb.textContent)){return}var b=row.querySelector('[aria-pressed="true"]');if(b){r=b.textContent.trim()}});return r}
function lotInfo(){var r=null;document.querySelectorAll("#zz-qvopts .row").forEach(function(row){var lb=row.querySelector(".lb");if(!lb){return}if(!/taille du lot/i.test(lb.textContent)){return}var ns=[].slice.call(row.querySelectorAll("[data-qo]")).map(function(b){var m=b.textContent.match(/(\d+)/);return m?+m[1]:0});var b=row.querySelector('[aria-pressed="true"]');var m=b?b.textContent.match(/(\d+)/):null;if(m){r={n:+m[1],min:Math.min.apply(null,ns)}}});return r}
var DGV=null;
function eur(v){return v.toFixed(2).replace(".",",")+" €"}
function curPrice(){var pr=$("zz-qvprice");if(!pr){return 0}var m=(pr.textContent.match(/\d+[.,]\d{2}/g)||[]).map(function(x){return parseFloat(x.replace(",","."))});return m.length?m[m.length-1]:0}
function majPct(){var el=$("fp-pct"),pr=$("zz-qvprice");if(!el){return}if(!pr){return}var m=(pr.textContent.match(/\d+[.,]\d{2}/g)||[]).map(function(x){return parseFloat(x.replace(",","."))});var h="";if(m.length>1){var reg=m[0],now=m[m.length-1];if(reg>now){var pc=Math.round((1-now/reg)*20)*5;var l=lotInfo();var t="";if(l){if(l.n>l.min){t='<span>avec le lot de '+l.n+'</span>'}}h='<b>−'+pc+' %</b>'+t}}if(el.innerHTML!==h){el.innerHTML=h}var r=$("fp-r20");if(r){var cp=curPrice();var tx=cp?eur(cp*0.8):"";if(r.textContent!==tx){r.textContent=tx}}majUnit()}
function figs(){var n=0;document.querySelectorAll('#zz-qvopts .row [aria-pressed="true"]').forEach(function(b){var m=b.textContent.match(/(\d+)\s*fig/i);if(m){n=+m[1]}});return n}
function majUnit(){var nf=figs(),cp=curPrice();var a="",b="";if(nf>1){if(cp){a="soit "+eur(cp/nf)+" la figurine";b="(soit "+eur(cp*0.8/nf)+" / pièce)"}}var u=$("fp-unit");if(u){if(u.textContent!==a){u.textContent=a}}var v=$("fp-r20u");if(v){if(v.textContent!==b){v.textContent=b}}var w=$("fp-r20n");if(w){var nm=nomType(nf);if(w.textContent!==nm){w.textContent=nm}}}
function nomType(nf){if(+window.ZZ_FCAT===1220){return "Cette warband"}var g=nz(GRP0||"");if(/^(hero|personnage|seigneur|champion)/.test(g)){return "Ce héros"}if(/monstre|bete/.test(g)){return "Ce monstre"}if(/machine/.test(g)){return "Cette machine de guerre"}if(/artillerie/.test(g)){return "Cette pièce d’artillerie"}if(/^char/.test(g)){return "Ce char"}if(/infanterie|cavalerie|unite|elite/.test(g)){return nf>1?"Ce régiment":"Cette figurine"}return nf>1?"Ce lot":"Cette figurine"}
function majDg(){if(!DGV){return}var row=null;document.querySelectorAll("#zz-qvopts .row").forEach(function(x){var lb=x.querySelector(".lb");if(lb){if(/taille du lot/i.test(lb.textContent)){row=x}}});if(!row){return}if(row.querySelector(".fp-dgx")){return}var best=null,bn=0;row.querySelectorAll("[data-qo]").forEach(function(b){var m=b.textContent.match(/(\d+)/);var n=m?+m[1]:0;if(n>bn){bn=n;best=b}});if(!best){return}var s=document.createElement("span");s.className="fp-dgx";s.title="Tarif dégressif : prix par figurine";s.innerHTML=ICO.down+"−"+DGV+" %";var w=document.createElement("span");w.className="fp-lot";best.parentNode.insertBefore(w,best);w.appendChild(best);w.appendChild(s)}
function dgCalc(p){if(typeof p.zz_dg==="number"){DGV=p.zz_dg;majDg();return}if(!attrOf(p,/taille du lot/i)){return}jget(ST+"products?"+qs({type:"variation",parent:p.id,per_page:100,_fields:"id,prices,variation"})).then(function(vs){var mn={};vs.forEach(function(v){var m=String(v.variation||"").match(/taille du lot\s*:\s*(\d+)/i);if(!m){return}var n=+m[1];var u=Number(v.prices.price)/n;if(!(u>0)){return}if(mn[n]===undefined){mn[n]=u}else{if(u<mn[n]){mn[n]=u}}});var ks=Object.keys(mn).map(Number).sort(function(a,b){return a-b});if(ks.length<2){return}var pc=Math.round((1-mn[ks[ks.length-1]]/mn[ks[0]])*20)*5;if(pc>0){DGV=pc;majDg()}}).catch(function(){})}
var GRP0=null,G=null,crDone=false;
var MAINP=null,SWAP=false,SAVED=null;
function buildBuy(p){var cat=(p.categories||[])[0]||{};
if(window.zzRemember){window.zzRemember([p])}
 var buy=$("fp-buy");var m=document.getElementById("zz-qvm");
 if(m){buy.innerHTML="";buy.appendChild(m)}
 if(window.zzOpenQV){window.zzOpenQV(p.id)}
 document.documentElement.style.overflow="";
 if(document.activeElement){document.activeElement.blur()}
 var qi=buy.querySelector(".qv-i");
 if(qi){
  var h=qi.querySelector("h4");var h1=document.createElement("h1");h1.textContent=dec(p.name);if(h){h.parentNode.replaceChild(h1,h)}
  
  dgCalc(p);
  var pr=$("zz-qvprice");
  if(pr){var pc=document.createElement("div");pc.id="fp-pct";pc.className="fp-pct";var pw=document.createElement("div");pw.className="fp-prow";pr.parentNode.insertBefore(pw,pr);pw.appendChild(pr);pw.appendChild(pc);var un=document.createElement("div");un.id="fp-unit";un.className="fp-unit";pw.parentNode.insertBefore(un,pw.nextSibling);var qo=$("zz-qvopts");if(qo){new MutationObserver(majDg).observe(qo,{childList:true})}new MutationObserver(majPct).observe(pr,{childList:true,subtree:true,characterData:true});majPct()}
  var add=$("zz-qvadd");
  if(add){var row=document.createElement("div");row.className="fp-buyrow";add.parentNode.insertBefore(row,add);row.appendChild(add);var qd=document.createElement("div");qd.className="fp-qty";qd.innerHTML='<button type="button" data-fq="-1" aria-label="Retirer un">−</button><input id="fp-q" type="number" min="1" value="1" aria-label="Quantité"><button type="button" data-fq="1" aria-label="Ajouter un">+</button>';row.appendChild(qd)}
  var rs=document.createElement("ul");rs.className="fp-rs";
  rs.innerHTML='<li>'+ICO.truck+'<span><b>Livraison offerte</b> dès 125 € avec Mondial Relay, dès 200 € avec Colissimo.</span></li><li>'+ICO.drop+'<span><b>Imprimée à la commande</b> en résine ABS-Like, couches de 30 µm.</span></li>';
  var pm=document.createElement("div");pm.className="fp-promo";pm.innerHTML='<span class="e">'+ICO.pct+'Remise automatique −20 %</span><p><span id="fp-r20n">Ce régiment</span> reviendrait à <b id="fp-r20"></b> <span id="fp-r20u" class="fp-u"></span></p><small>dans une commande atteignant 250 € ou plus. Remise automatique, aucune manipulation nécessaire.</small>';qi.appendChild(pm);qi.appendChild(rs);majPct();
 }
 window.zzQty=function(){var i=$("fp-q");var n=i?parseInt(i.value,10):1;return n>0?n:1};
}
function saveSel(){var s=[];document.querySelectorAll("#zz-qvopts .row").forEach(function(r){var lb=r.querySelector(".lb");var b=r.querySelector('[aria-pressed="true"]');s.push([lb?lb.textContent:"",b?b.textContent:null])});return s}
function restoreSel(s){(s||[]).forEach(function(x){if(x[1]===null){return}document.querySelectorAll("#zz-qvopts .row").forEach(function(r){var lb=r.querySelector(".lb");if(!lb){return}if(lb.textContent!==x[0]){return}r.querySelectorAll("[data-qo]").forEach(function(b){if(b.textContent===x[1]){if(b.getAttribute("aria-pressed")!=="true"){b.click()}}})})})}
/* Vue rapide depuis le catalogue : le bloc d'achat redevient une fenêtre le temps de l'aperçu */
document.addEventListener("click",function(e){var t=e.target;if(!t.closest){return}var q=t.closest("[data-qv]");if(!q){return}if(!q.closest("#fp-cat")){return}if(SWAP){return}var m=$("zz-qvm"),buy=$("fp-buy");if(!m){return}if(!buy){return}SAVED=saveSel();var d=m.querySelector(".qvd");if(d){var snap=d.cloneNode(true);snap.querySelectorAll("[id]").forEach(function(x){x.removeAttribute("id")});snap.removeAttribute("id");var w=document.createElement("div");w.className="qvm fp-snap";w.appendChild(snap);buy.appendChild(w)}$("zz").appendChild(m);SWAP=true},true);
function watchQV(){var m=$("zz-qvm");if(!m){return}new MutationObserver(function(){if(!SWAP){return}if(m.classList.contains("on")){return}SWAP=false;buildBuy(MAINP);restoreSel(SAVED)}).observe(m,{attributes:true,attributeFilter:["class"]})}
watchQV();
function render(p){
 var FCATS=[54,1383,238,173,381,380,382,383,394,395,397,396,393,390,391,392,386,387,389,375,378,1377,1378];var cat=null;(p.categories||[]).forEach(function(x){if(!cat){if(FCATS.indexOf(+x.id)>=0){cat=x}}});if(!cat){cat=(p.categories||[])[0]||{}}
 GRP0=groupOf(p);
 document.title=dec(p.name)+" – Zelzarr";
 window.ZZ_FCAT=cat.id;
 $("fp-cat-eye").textContent="Catalogue "+dec(cat.name||"");
 $("fp-cat-nom").textContent="la faction "+dec(cat.name||"");if(+cat.id===1220){var zwh=$("fp-cat-nom").parentNode;zwh.innerHTML='Toutes <span id="fp-cat-nom">les warbands</span>';var zwl=zwh.parentNode.querySelector(".lead");if(zwl){zwl.textContent="Parcourez toutes les warbands sans quitter cette page."}}
 var fu=$("fx-units");
 if(fu){new MutationObserver(function(){apply()}).observe(fu,{childList:true})}
 if(window.fxStart){window.fxStart()}
 var isBox=/coffret/i.test(dec(p.name||""));(p.categories||[]).forEach(function(c){if([111,371,373,374].indexOf(+c.id)>=0){isBox=true}});
 if(isBox){var bx=$("zz-box"),top=document.querySelector("#zz-fp .fp-top");if(bx){if(top){window.ZZ_BOXID=p.id;root.classList.add("fp-coffret");bx.setAttribute("style","padding-top:48px");top.parentNode.insertBefore(bx,top);
  var nm=dec(p.name||"");var m=nm.match(/[«"]\s*([^»"]+?)\s*[»"]/);var hd=bx.querySelector(".head");if(hd){var ey=hd.querySelector(".eye"),h2=hd.querySelector(".h2");if(ey){ey.textContent=/quivalent/i.test(nm)?"Coffret Équivalent":"Coffret de démarrage"}if(h2){var h1=document.createElement("h1");h1.className="h2";h1.innerHTML=m?'Coffret <span>« '+esc(m[1])+' »</span>':esc(nm);h2.parentNode.replaceChild(h1,h2)}}
  document.addEventListener("zzbox",function(){if(window.ZZ_BOXFOUND){return}root.classList.remove("fp-coffret");bx.setAttribute("style","display:none");MAINP=p;buildBuy(p)})}}}
 if(!window.ZZ_BOXID){MAINP=p;buildBuy(p)}
 var sp=specs(p.short_description);
 var crA=attrOf(p,/cr.ateur/i);var crs=crA?crA.terms.map(function(t){return dec(t.name)}):[];
 var dl=sp.rows.map(function(r){if(/cr.ateur/i.test(r[0])){if(crs.length){return '<div><dt>'+(crs.length>1?'Sculpteurs':'Sculpteur')+'</dt><dd>'+esc(crs.join(", "))+'</dd></div>'}}return '<div><dt>'+esc(r[0])+'</dt><dd>'+esc(r[1])+(r[2]?(r[2].length?'<ul class="fp-sub">'+r[2].map(function(x){return '<li><b>'+esc(x[0])+'</b> : '+esc(x[1])+'</li>'}).join("")+'</ul>':''):'')+'</dd></div>'}).join("");
 var box=asmBox(sp.asm||[]);
 if(sp.free.length){box+='<div class="fp-box"'+(box?' style="margin-top:20px"':'')+'><h3>Contenu du lot</h3>'+sp.free.map(function(t){return '<p>'+esc(t)+'</p>'}).join("")+'</div>'}
 if(p.description){var dd=document.createElement("div");dd.innerHTML=p.description;var t=clean(dd.textContent);if(t){box+='<div class="fp-box" style="margin-top:20px"><h3>Description</h3><p>'+esc(t)+'</p></div>'}}
 $("fp-cg").classList.toggle("one",!box);
 $("fp-cg").innerHTML='<dl class="fp-dl">'+dl+'</dl>'+(box?'<div>'+box+'</div>':'');
}
function apply(){
 var u=$("fx-units");if(!u){return}
 var gs=[].slice.call(u.querySelectorAll(".fx-grp"));if(!gs.length){return}
 var names=gs.map(function(g){var t=g.querySelector(".fx-tog");if(t){return t.getAttribute("data-g")}var h=g.querySelector(".fx-h3");return h?String(h.firstChild?h.firstChild.textContent:"").trim():""});var cnt=gs.map(function(g){var n=g.querySelector(".fx-n");var m=n?n.textContent.match(/(\d+)/):null;return m?m[1]:""});
 if(!G){if(GRP0){names.forEach(function(n){if(!G){if(nz(n).indexOf(nz(GRP0))===0){G=n}}})}}
 if(G!=="*"){if(names.indexOf(G)<0){G=names[0]}}
 var tog=null;
 gs.forEach(function(g,i){var on=G==="*"?true:names[i]===G;g.classList.toggle("fp-off",!on);if(on){var t=g.querySelector(".fx-tog");if(t){if(t.getAttribute("aria-expanded")==="false"){tog=t}}}});
 var crs=u.querySelector(".fx-crs");
 if(crs){if(!u.querySelector(".fp-types")){var ty=document.createElement("div");ty.className="fx-crs fp-types";crs.parentNode.insertBefore(ty,crs)}
  u.querySelector(".fp-types").innerHTML='<span>Type d’unité</span><div class="chips" role="group" aria-label="Type d’unité">'+(names.length<2?"":'<button type="button" class="chip fp-all" data-fpg="*" aria-pressed="'+(G==="*")+'">Tous<span class="fx-cn">('+cnt.reduce(function(a,b){return a+(parseInt(b,10)||0)},0)+')</span></button>')+names.map(function(n){return '<button type="button" class="chip" data-fpg="'+esc(n)+'" aria-pressed="'+(n===G)+'">'+esc(n)+(cnt[names.indexOf(n)]?'<span class="fx-cn">('+cnt[names.indexOf(n)]+')</span>':'')+'</button>'}).join("")+'</div>'}
  if(tog){tog.click()}
}
function pickCr(name){var want=nz(name||"");var hit=null;document.querySelectorAll("#fx-units [data-cr]").forEach(function(b){if(nz(b.getAttribute("data-cr"))===want){hit=b}});if(!hit){return false}if(hit.getAttribute("aria-pressed")==="true"){return false}hit.click();return true}
document.addEventListener("click",function(e){
 var t=e.target;if(!t.closest){return}
 var q=t.closest("[data-fq]");
 if(q){var i=$("fp-q");var n=(parseInt(i.value,10)||1)+(+q.getAttribute("data-fq"));i.value=n<1?1:n;return}
 var g=t.closest("[data-fpg]");
 if(g){G=g.getAttribute("data-fpg");apply();return}
 var o=t.closest("#zz-qvopts [data-qo]");
 if(o){setTimeout(function(){majPct();},30)}
},true);
load();
})();</script>
<script>
(function(){
/* Aperçu uniquement : les cartes du catalogue ouvrent la maquette de fiche produit au lieu de l'ancienne fiche. */
if(location.search.indexOf("preview=true")<0){return}
document.addEventListener("click",function(e){var t=e.target;if(!t.closest){return}var a=t.closest("#fx-units .pcard a[href]");if(!a){return}var pc=a.closest(".pcard");var q=pc?pc.querySelector("[data-qv]"):null;if(!q){return}if(e.ctrlKey){return}if(e.metaKey){return}e.preventDefault();location.href="/?page_id=58933"+String.fromCharCode(38)+"preview=true"+String.fromCharCode(38)+"ref="+q.getAttribute("data-qv")},true);
})();
</script>
<script>/*ZFC-PANIER*/(function(){
/* Panier flottant Zelzarr (Store API). Aucun « et commercial » dans ce script : il est construit avec fromCharCode. */
if(window.zzPF){return}window.zzPF=1;
var A=String.fromCharCode(38);
var API="/wp-json/wc/store/v1/";
var TIERS=[{p:5,min:50,n:2},{p:10,min:100,n:3},{p:15,min:150,n:3},{p:20,min:250,n:3}];
var LIVRE=125;
var NONCE="",CART=null,OPEN=false,POPT=null,LASTFOCUS=null;
var nativeFetch=window.fetch.bind(window);
var E={"<":A+"lt;",">":A+"gt;","\"":A+"quot;","'":A+"#39;"};
function esc(s){return String(s==null?"":s).split(A).join(A+"amp;").replace(/[<>"']/g,function(c){return E[c]})}
var TA=document.createElement("textarea");
function dec(s){TA.innerHTML=String(s||"");return TA.value}
function mu(c){var t=(c||CART||{}).totals||{};return t.currency_minor_unit==null?2:t.currency_minor_unit}
function eur(v){return Number(v).toFixed(2).replace(".",",")+" €"}
function num(minor,c){return Number(minor||0)/Math.pow(10,mu(c))}
var I={
 bag:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 7h12l-1 13H7L6 7z"/><path d="M9 7a3 3 0 0 1 6 0"/></svg>',
 x:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18"/></svg>',
 ok:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg>',
 truck:'<svg viewBox="0 0 24 24" fill="none" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 7h11v9H3z"/><path d="M14 10h4l3 3v3h-7z"/><circle cx="7" cy="18" r="1.6"/><circle cx="17" cy="18" r="1.6"/></svg>',
 medal:'<svg viewBox="0 0 24 24" fill="none" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="9" r="5"/><path d="M9 13.5L7.5 21l4.5-2.5 4.5 2.5L15 13.5"/></svg>',
 lock:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" aria-hidden="true"><rect x="5" y="11" width="14" height="10"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></svg>'
};
var root=document.createElement("div");root.id="zfc";
root.innerHTML=
 '<a class="zfc-fab" href="/panier/" aria-label="Ouvrir le panier">'+I.bag+'<span class="zfc-n"></span></a>'+
 '<span class="zfc-tot"></span>'+
 '<div class="zfc-pop" role="status" aria-live="polite"></div>'+
 '<div class="zfc-veil"></div>'+
 '<aside class="zfc-dr" role="dialog" aria-modal="true" aria-label="Votre panier">'+
  '<div class="zfc-hd"><h2>Votre panier <span class="zfc-hn"></span></h2><button type="button" class="zfc-x" aria-label="Fermer le panier">'+I.x+'</button></div>'+
  '<div class="zfc-body"></div>'+
  '<div class="zfc-ft"></div>'+
 '</aside>';
function q(s){return root.querySelector(s)}
function mount(){document.body.appendChild(root)}
if(document.body){mount()}else{document.addEventListener("DOMContentLoaded",mount)}
function isCoffret(it){return /coffret/i.test(dec(it.name||""))}
function remise(c){
 var amt=0,n=0;(c.items||[]).forEach(function(it){if(isCoffret(it)){return}amt+=num((it.totals||{}).line_subtotal,c)+num((it.totals||{}).line_subtotal_tax,c);n+=it.quantity||0});
 var cur=null,next=null;TIERS.forEach(function(t){if(amt>=t.min){if(n>=t.n){cur=t}}});
 TIERS.forEach(function(t){if(next){return}if(cur){if(t.p<=cur.p){return}}next=t});
 return {amt:amt,n:n,cur:cur,next:next}
}
function hintTxt(r){
 if(!r.next){return r.cur?'Vous profitez de la remise maximale : <b class="a">−'+r.cur.p+' %</b>.':""}
 var m=Math.max(0,r.next.min-r.amt),k=Math.max(0,r.next.n-r.n);
 var parts=[];if(m>0){parts.push('<b>'+eur(m)+'</b>')}if(k>0){parts.push('<b>'+k+' article'+(k>1?'s':'')+'</b>')}
 if(!parts.length){return ""}
 return (r.cur?'Encore ':'Plus que ')+parts.join(' et ')+' pour passer à <b class="a">−'+r.next.p+' %</b>'+(r.cur?'.':' sur tout le panier.')
}
function opts(it){var o=[];(it.variation||[]).forEach(function(v){var val=dec(v.value||"");if(/^.chelle$/i.test(dec(v.attribute||""))){if(/^28 ?mm$/i.test(val)){return}}o.push(val)});(it.item_data||[]).forEach(function(d){var val=dec(d.display||d.value||"");if(val){o.push(val)}});return o.join(" · ")}
function img(it){var im=(it.images||[])[0];return im?'<img src="'+esc(im.thumbnail||im.src)+'" alt="" loading="lazy">':""}
function linePrice(it,c){var p=it.prices||{};var qn=it.quantity||1;var now=num(p.price,c)*qn,reg=num(p.regular_price,c)*qn;return (reg>now?'<s>'+eur(reg)+'</s> ':'')+'<b>'+eur(now)+'</b>'}
function avData(c){var x=((c.extensions||{})["zelzarr-avantage"])||{};var d=x.json;if(typeof d==="string"){try{d=JSON.parse(d)}catch(e){d=null}}return d||x}
function render(c){
 CART=c;var n=c.items_count||0;
 q(".zfc-n").textContent=n?String(n):"";
 q(".zfc-fab").setAttribute("aria-label","Ouvrir le panier"+(n?", "+n+" article"+(n>1?"s":""):""));
 q(".zfc-hn").textContent="("+n+")";
 var hn=document.getElementById("zz-cartn");if(hn){hn.textContent=n?"("+n+")":""}
 var t=c.totals||{};var sous=num(t.total_items,c)+num(t.total_items_tax,c);var rem=num(t.total_discount,c)+num(t.total_discount_tax,c);var tot=Math.max(0,sous-rem);
 q(".zfc-tot").textContent=n?eur(tot):"";
 var body=q(".zfc-body"),ft=q(".zfc-ft");
 if(!n){
  body.innerHTML='<div class="zfc-vide"><div class="zfc-vi">'+I.bag+'</div><div class="zfc-vt">Votre panier <span>est vide</span></div><p>Choisissez votre faction pour composer votre armée unité par unité.</p><a class="zfc-cmd" href="/#zz-factions" data-zfc-close>Voir les factions</a><a class="zfc-lk" href="/#zz-box" data-zfc-close>Coffrets de démarrage →</a></div>'+
   '<div class="zfc-rem"><span class="zfc-eye">Remises automatiques</span><div class="zfc-tg">'+TIERS.map(function(x){return '<div><b>−'+x.p+' %</b><span>dès '+x.min+' €</span></div>'}).join("")+'</div><span class="zfc-note" style="text-align:center;margin:0">Sur panier, hors coffrets · livraison offerte dès '+LIVRE+' €</span></div>';
  ft.style.display="none";return
 }
 ft.style.display="";
 var r=remise(c);var h=hintTxt(r);
 var prev=0;var bar=TIERS.map(function(x){var f=r.amt<=prev?0:(r.amt>=x.min?1:(r.amt-prev)/(x.min-prev));var on=r.cur?(x.p<=r.cur.p):false;prev=x.min;return '<div class="'+(on?'on':'')+'"><i><b style="width:'+Math.round(f*100)+'%"></b></i><span>−'+x.p+' % · '+x.min+' €</span></div>'}).join("");
 var liv=tot>=LIVRE?'Livraison offerte avec Mondial Relay':'Livraison offerte dans <b>'+eur(LIVRE-tot)+'</b> (Mondial Relay)';
 var html='<div class="zfc-rem"><div class="zfc-rt"><span class="zfc-eye">Remise automatique</span>'+(r.cur?'<span class="zfc-bdg">−'+r.cur.p+' % appliqués</span>':'')+'</div>'+(h?'<div class="zfc-rx">'+h+'</div>':'')+'<div class="zfc-bar">'+bar+'</div><div class="zfc-liv">'+I.truck+'<span>'+liv+'</span></div></div>';
 html+='<div class="zfc-err" role="alert"></div><div class="zfc-its">';
 (c.items||[]).forEach(function(it){
  var o=opts(it);var lim=it.quantity_limits||{};var ed=lim.editable!==false;
  html+='<div class="zfc-it" data-k="'+esc(it.key)+'"><a class="zfc-im" href="'+esc(it.permalink||"#")+'" tabindex="-1" aria-hidden="true">'+img(it)+'</a><div class="zfc-in"><div class="zfc-l1"><a class="zfc-nm" href="'+esc(it.permalink||"#")+'">'+esc(dec(it.name))+'</a><span class="zfc-pr">'+linePrice(it,c)+'</span></div>'+(o?'<div class="zfc-op">'+esc(o)+'</div>':'')+
   '<div class="zfc-l3">'+(ed?'<div class="zfc-q"><button type="button" data-zq="-1" aria-label="Retirer un">−</button><span aria-label="Quantité">'+it.quantity+'</span><button type="button" data-zq="1" aria-label="Ajouter un">+</button></div>':'<span class="zfc-op">Quantité : '+it.quantity+'</span>')+'<button type="button" class="zfc-rm" data-zrm>Retirer</button></div></div></div>'
 });
 html+=avBox(c);
 html+='</div>';
 body.innerHTML=html;
 ft.innerHTML='<div class="zfc-ln"><span>Sous-total</span><span>'+eur(sous)+'</span></div>'+(rem>0?'<div class="zfc-ln r"><span>Remise automatique'+(r.cur?' −'+r.cur.p+' %':'')+'</span><span>−'+eur(rem)+'</span></div>':'')+
  '<div class="zfc-tt"><span>Total</span><b>'+eur(tot)+'</b></div><div class="zfc-note">Livraison calculée à l’étape suivante.</div>'+
  '<a class="zfc-cmd" href="/commande/">Commander</a><a class="zfc-vp" href="/panier/">Voir le panier</a><div class="zfc-sec">'+I.lock+'Paiement sécurisé · CB, PayPal, Apple Pay, Google Pay</div>';
}
var AVCODE="",AVERR="";
function offert(s){return /^une /i.test(s||"")?"offerte":"offert"}
function avBox(c){
 var d=avData(c)||{};var et=d.etat||"aucun";
 if(et==="aucun"||et==="erreur"){var msg=AVERR;if(!msg){if(et==="erreur"){msg=d.message||"Ce code ne peut pas être utilisé."}}
  return '<div class="zfc-cf"><label class="zfc-eye" for="zfc-code">Code avantage</label><div class="zfc-cr"><input id="zfc-code" type="text" placeholder="ZZ-XXXXXX" autocomplete="off" autocapitalize="characters" spellcheck="false" value="'+esc(AVCODE)+'"><button type="button" class="zfc-cb" data-zav-go>Appliquer</button></div>'+(msg?'<p class="zfc-cer" role="alert">'+esc(msg)+'</p>':'')+'<p class="zfc-cn">Reçu par e-mail : votre jauge fidélité vous offre une récompense dès 60 € de panier.</p></div>'}
 if(et==="info"){return '<div class="zfc-ab"><p>'+esc(d.message||"")+'</p></div>'}
 var h='<div class="zfc-ab"><div class="zfc-ah"><span class="zfc-eye">'+esc(d.grade?"Grade "+dec(d.grade):"Avantage fidélité")+(d.code_aff?' · '+esc(d.code_aff):'')+'</span><button type="button" class="zfc-rm" data-zav-rm>Retirer</button></div>';
 var cad=d.choisi||d.cadeau||"";
 if(et==="choix"){h+='<p>Vous avez droit à <b>'+esc(d.cadeau)+'*</b> '+offert(d.cadeau)+' avec cette commande.</p><a class="zfc-al" href="/panier/#recompense">Choisir ma récompense →</a>'}
 if(et==="ok"){h+='<p>Votre récompense : <b>'+esc(cad)+'*</b>, offerte avec cette commande.</p><a class="zfc-al" href="/panier/#recompense">Changer sur la page panier →</a>'}
 if(et==="manque"){h+='<p>Encore <b>'+eur(Number(d.manque||0))+'</b> de panier pour obtenir <b>'+esc(cad)+'*</b>.</p>'}
 var su=d.suivant;if(su){if(su.manque>0){if(et!=="manque"){h+='<p>Encore <b>'+eur(Number(su.manque))+'</b> pour débloquer <b>'+esc(su.cadeau)+'*</b>.</p>'}}}
 if(!cad){if(d.conseil){h+='<p>'+esc(d.conseil)+'</p>'}}
 if(cad){h+='<p class="zfc-cn">*ou équivalent</p>'}
 return h+'</div>'
}
function avSend(data,btn){if(btn){btn.disabled=true;btn.textContent="…"}return post("cart/extensions",{namespace:"zelzarr-avantage",data:data}).then(function(c){var d=avData(c)||{};if(d.etat!=="erreur"){AVCODE=""}AVERR="";render(c)}).catch(function(err){AVERR=dec((err||{}).message||"Ce code ne peut pas être utilisé.");render(CART)})}
function avGo(){var i=document.getElementById("zfc-code");var v=i?i.value.trim():"";if(!v){AVERR="Saisissez le code reçu par e-mail.";render(CART);var i2=document.getElementById("zfc-code");if(i2){i2.focus()}return}AVCODE=v;avSend({action:"code",code:v},q("[data-zav-go]"))}
function keepNonce(r){var n=r.headers.get("Nonce");if(n){NONCE=n}return r}
function getCart(){return nativeFetch(API+"cart",{credentials:"same-origin"}).then(keepNonce).then(function(r){return r.json()}).then(function(c){render(c);return c})}
function post(path,body){var go=function(){return nativeFetch(API+path,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","Nonce":NONCE},body:JSON.stringify(body)}).then(keepNonce).then(function(r){return r.json().then(function(j){if(!r.ok){throw j}return j})})};return NONCE?go():getCart().then(go)}
function act(path,body,el){if(el){el.classList.add("busy")}var e=q(".zfc-err");if(e){e.textContent=""}return post(path,body).then(function(c){render(c);return c}).catch(function(err){if(el){el.classList.remove("busy")}var e2=q(".zfc-err");if(e2){e2.textContent=dec((err||{}).message||"La modification n’a pas pu être enregistrée.")}})}
function open(){if(OPEN){return}OPEN=true;LASTFOCUS=document.activeElement;hidePop();root.classList.add("open");document.documentElement.style.overflow="hidden";var x=q(".zfc-x");setTimeout(function(){x.focus()},60);getCart()}
function close(){if(!OPEN){return}OPEN=false;root.classList.remove("open");document.documentElement.style.overflow="";if(LASTFOCUS){if(LASTFOCUS.focus){try{LASTFOCUS.focus()}catch(e){}}}}
window.zzPanier={open:open,close:close,refresh:getCart};
function hidePop(){var p=q(".zfc-pop");p.classList.remove("on");clearTimeout(POPT)}
function showPop(c,it){
 if(OPEN){return}var p=q(".zfc-pop");var n=c.items_count||0;var t=c.totals||{};var tot=Math.max(0,num(t.total_items,c)+num(t.total_items_tax,c)-num(t.total_discount,c)-num(t.total_discount_tax,c));
 var mob=window.matchMedia("(max-width: 640px)").matches;var o=it?opts(it):"";
 p.innerHTML='<div class="zfc-ph"><span class="zfc-ok">'+I.ok+'Ajouté au panier</span><button type="button" class="zfc-px" aria-label="Fermer">'+I.x+'</button></div>'+
  (it?'<div class="zfc-pi"><span class="zfc-im">'+img(it)+'</span><div class="zfc-in"><div class="zfc-l1"><span class="zfc-nm">'+esc(dec(it.name))+'</span><span class="zfc-pr">'+linePrice(it,c)+'</span></div>'+(o?'<div class="zfc-op">'+esc(o)+'</div>':'')+'</div></div>':'')+
  '<div class="zfc-hint">'+hintTxt(remise(c))+'</div>'+
  '<div class="zfc-pb"><button type="button" class="zfc-go" data-zfc-open>Voir le panier ('+n+')'+(mob?' · '+eur(tot):'')+'</button><button type="button" class="zfc-cont">Continuer mes achats</button></div>';
 requestAnimationFrame(function(){p.classList.add("on")});
 var fab=q(".zfc-fab");fab.classList.remove("pulse");void fab.offsetWidth;fab.classList.add("pulse");
 clearTimeout(POPT);POPT=setTimeout(hidePop,7000);
}
q(".zfc-pop").addEventListener("mouseenter",function(){clearTimeout(POPT)});
q(".zfc-pop").addEventListener("mouseleave",function(){POPT=setTimeout(hidePop,3000)});
function added(c){
 var before={};((CART||{}).items||[]).forEach(function(it){before[it.key]=it.quantity});
 var hit=null;(c.items||[]).forEach(function(it){if(before[it.key]===undefined){hit=it}else{if(it.quantity>before[it.key]){hit=it}}});
 render(c);showPop(c,hit)
}
window.fetch=function(u,o){
 var p=nativeFetch(u,o);var url=typeof u==="string"?u:((u||{}).url||"");var m=((o||{}).method||"GET").toUpperCase();
 if(m==="POST"){if(url.indexOf("/wc/store/v1/cart/add-item")>=0){p.then(function(r){if(r.ok){keepNonce(r);r.clone().json().then(added).catch(function(){})}}).catch(function(){})}else{if(url.indexOf("/wc/store/v1/batch")>=0){p.then(function(r){if(r.ok){setTimeout(function(){getCart()},50)}}).catch(function(){})}}}
 return p
};
if(window.jQuery){window.jQuery(document.body).on("added_to_cart removed_from_cart wc_fragments_refreshed",function(){getCart()})}
document.addEventListener("click",function(e){
 var t=e.target;if(!t.closest){return}
 var fab=t.closest("#zfc .zfc-fab");
 var hp=t.closest("header a[href*=\"/panier\"]");
 if(fab||hp){if(e.ctrlKey||e.metaKey||e.shiftKey){return}e.preventDefault();open();return}
 if(t.closest("#zfc [data-zfc-open]")){open();return}
 if(t.closest("#zfc .zfc-px")||t.closest("#zfc .zfc-cont")){hidePop();return}
 if(t.closest("#zfc .zfc-x")||t.closest("#zfc .zfc-veil")||t.closest("#zfc [data-zfc-close]")){close();return}
 if(t.closest("#zfc [data-zav-go]")){avGo();return}if(t.closest("#zfc [data-zav-rm]")){avSend({action:"retirer"},null);return}
 var b=t.closest("#zfc [data-zq]");
 if(b){var row=b.closest(".zfc-it");var k=row.getAttribute("data-k");var it=null;((CART||{}).items||[]).forEach(function(x){if(x.key===k){it=x}});if(!it){return}var nq=it.quantity+(+b.getAttribute("data-zq"));if(nq<1){act("cart/remove-item",{key:k},row)}else{act("cart/update-item",{key:k,quantity:nq},row)}return}
 var rm=t.closest("#zfc [data-zrm]");
 if(rm){var row2=rm.closest(".zfc-it");act("cart/remove-item",{key:row2.getAttribute("data-k")},row2);return}
},true);
document.addEventListener("keydown",function(e){
 if(!OPEN){return}
 if(e.key==="Enter"){if(e.target){if(e.target.id==="zfc-code"){e.preventDefault();avGo();return}}}
 if(e.key==="Escape"){e.stopPropagation();close();return}
 if(e.key==="Tab"){var f=[].slice.call(q(".zfc-dr").querySelectorAll("a[href],button:not([disabled])")).filter(function(x){return x.offsetParent!==null});if(!f.length){return}var a=f[0],z=f[f.length-1];if(e.shiftKey){if(document.activeElement===a){e.preventDefault();z.focus()}}else{if(document.activeElement===z){e.preventDefault();a.focus()}}}
},true);
getCart().catch(function(){});
})();</script>

<script>
/*ZZ-HD*/(function(){function hd(e){var t=e.target;if(!t.closest){return}var m=t.closest(".qv-main");if(!m){return}var i=m.querySelector("img");if(!i){return}if(i.getAttribute("srcset")){i.removeAttribute("srcset")}}document.addEventListener("mouseover",hd);document.addEventListener("touchstart",hd,{passive:true})})();
</script>
<script type="speculationrules">
{"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/astra/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
		<div data-elementor-type="popup" data-elementor-id="1169" class="elementor elementor-1169 elementor-location-popup" data-elementor-settings="{&quot;triggers&quot;:[],&quot;timing&quot;:[]}">
		<div class="elementor-section-wrap">
					<section class="elementor-section elementor-top-section elementor-element elementor-element-f118029 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f118029" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-cc1aea4" data-id="cc1aea4" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				</div>
		</div>
		<script type="application/ld+json">{"@context":"https://schema.org/","@type":"Product","@id":"https://zelzarr.fr/produit/cathay-yaksha/#product","name":"Yaksha","url":"https://zelzarr.fr/produit/cathay-yaksha/","description":"Cr\u00e9ateur : Kyoushuneko\r\n\u00c9chelle\u00a0: 28mm (compatible avec \u201cWarhammer The Old World\u201d &amp;amp; \u201cWarhammer Fantasy Battle\u201d)\r\nR\u00e9sine\u00a0: ABS-Like (Plus r\u00e9sistante que les r\u00e9sines standards, excellent niveau de d\u00e9tail, rendu mat)\r\nFinesse de couche\u00a0: 30\u00b5m (Contre 50\u00b5m chez la plupart des autres imprimeurs 3D)\r\nAssemblage : Cette figurine n'est pas modulable, elle est fournie comme montr\u00e9e sur l'image.\r\nSocles : En FDM (impression filament) au format \u201cNewhammer\u201d compatible avec \u201cWarhammer The Old World\u201d (suppl\u00e9ment) ou figurine(s) fournie(s) sans socle(s).","image":"https://zelzarr.fr/wp-content/uploads/2024/07/x2-Yakshas.png","sku":40735,"offers":[{"@type":"AggregateOffer","lowPrice":"11.95","highPrice":"15.45","offerCount":4,"priceValidUntil":"2027-12-31","availability":"https://schema.org/InStock","url":"https://zelzarr.fr/produit/cathay-yaksha/","seller":{"@type":"Organization","name":"Zelzarr","url":"https://zelzarr.fr"},"priceCurrency":"EUR"}],"brand":{"@type":"Brand","name":"Zelzarr"}}</script>			<script>
				( () => {
					const lazyloadRunObserver = () => {
						const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
						const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
							entries.forEach( ( entry ) => {
								if ( entry.isIntersecting ) {
									let lazyloadBackground = entry.target;
									if( lazyloadBackground ) {
										lazyloadBackground.classList.add( 'e-lazyloaded' );
									}
									lazyloadBackgroundObserver.unobserve( entry.target );
								}
							});
						}, { rootMargin: '200px 0px 200px 0px' } );
						lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
							lazyloadBackgroundObserver.observe( lazyloadBackground );
						} );
					};
					const events = [
						'DOMContentLoaded',
						'elementor/lazyload/observe',
					];
					events.forEach( ( event ) => {
						document.addEventListener( event, lazyloadRunObserver );
					} );
				} )();
			</script>
			
<!-- Koko Analytics v2.5.3 - https://www.kokoanalytics.com/ -->
<script>
(()=>{var e=window.koko_analytics,s=["utm_source","utm_medium","utm_campaign"],d=/bot|crawl|spider|seo|lighthouse|facebookexternalhit|preview|prerender|headless|phantom|scrapy|python|curl|wget|go-http|okhttp|node-fetch|axios|java\/|libwww|http[-_]?client|monitor|uptime|pingdom|statuscake|validator|scanner/i;function u(){let t={},n=new URLSearchParams(window.location.search),c=new URLSearchParams(window.location.hash.substring(1));return s.forEach(a=>{let o=n.get(a)||c.get(a);o&&(t[a]=o)}),t}function h(t,n){if(typeof navigator.sendBeacon=="function"){navigator.sendBeacon(t,n);return}fetch(t,{method:"POST",body:n,keepalive:!0,credentials:"same-origin"}).catch(()=>{})}e.trackPageview=function(t,n){if(d.test(navigator.userAgent)||window._phantom||window.__nightmare||window.navigator.webdriver||window.Cypress){console.debug("Koko Analytics: Ignoring call to trackPageview because user agent is a bot or this is a headless browser.");return}h(e.url,new URLSearchParams({action:"koko_analytics_collect",pa:t,po:n,r:document.referrer.indexOf(e.site_url)==0?"":document.referrer,m:e.use_cookie?"c":e.method[0],...u()}))};function r(){e.trackPageview(e.path,e.post_id)}function i(){e.autotracked||(r(),e.autotracked=!0)}document.prerendering?document.addEventListener("prerenderingchange",i,{once:!0}):document.visibilityState==="hidden"||document.visibilityState==="prerender"?document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&i()}):i();window.addEventListener("pageshow",t=>{t.persisted&&r()});})();
</script>


<div id="photoswipe-fullscreen-dialog" class="pswp" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true" aria-label="Image plein écran">
	<div class="pswp__bg"></div>
	<div class="pswp__scroll-wrap">
		<div class="pswp__container">
			<div class="pswp__item"></div>
			<div class="pswp__item"></div>
			<div class="pswp__item"></div>
		</div>
		<div class="pswp__ui pswp__ui--hidden">
			<div class="pswp__top-bar">
				<div class="pswp__counter"></div>
				<button class="pswp__button pswp__button--zoom" aria-label="Zoomer/Dézoomer"></button>
				<button class="pswp__button pswp__button--fs" aria-label="Basculer en plein écran"></button>
				<button class="pswp__button pswp__button--share" aria-label="Partagez"></button>
				<button class="pswp__button pswp__button--close" aria-label="Fermer (Echap)"></button>
				<div class="pswp__preloader">
					<div class="pswp__preloader__icn">
						<div class="pswp__preloader__cut">
							<div class="pswp__preloader__donut"></div>
						</div>
					</div>
				</div>
			</div>
			<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
				<div class="pswp__share-tooltip"></div>
			</div>
			<button class="pswp__button pswp__button--arrow--left" aria-label="Précédent (flèche  gauche)"></button>
			<button class="pswp__button pswp__button--arrow--right" aria-label="Suivant (flèche droite)"></button>
			<div class="pswp__caption">
				<div class="pswp__caption__center"></div>
			</div>
		</div>
	</div>
</div>
	<script>
		(function () {
			var c = document.body.className;
			c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
			document.body.className = c;
		})();
	</script>
	<script type="text/template" id="tmpl-elementor-templates-modal__header">
	<div class="elementor-templates-modal__header__logo-area"></div>
	<div class="elementor-templates-modal__header__menu-area"></div>
	<div class="elementor-templates-modal__header__items-area">
		<# if ( closeType ) { #>
			<button type="button" class="elementor-templates-modal__header__close elementor-templates-modal__header__close--{{{ closeType }}} elementor-templates-modal__header__item" aria-label="Fermer">
				<# if ( 'skip' === closeType ) { #>
				<span>Passer</span>
				<# } #>
				<i class="eicon-close" aria-hidden="true"></i>
				<span class="elementor-screen-only">{{{ $e.components?.get( 'document/elements' )?.utils?.getTitleForLibraryClose() }}}</span>
			</button>
		<# } #>
		<div id="elementor-template-library-header-tools"></div>
	</div>
</script>

<script type="text/template" id="tmpl-elementor-templates-modal__header__logo">
	<span class="elementor-templates-modal__header__logo__icon-wrapper e-logo-wrapper">
		<i class="eicon-elementor-circle"></i>
	</span>
	<span class="elementor-templates-modal__header__logo__title">{{{ title }}}</span>
</script>
<script id="sourcebuster-js-js" src="https://zelzarr.fr/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js?ver=11.1.0"></script>
<script id="wc-order-attribution-js-extra">
var wc_order_attribution = {"params":{"lifetime":1.0000000000000000818030539140313095458623138256371021270751953125e-5,"session":30,"base64":false,"ajaxurl":"https://zelzarr.fr/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}};
//# sourceURL=wc-order-attribution-js-extra
</script>
<script id="wc-order-attribution-js" src="https://zelzarr.fr/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=11.1.0"></script>
			<script>
			/(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1);
			</script>
			<script>/*ZZ-TRACE*/(function(){
var q=new URLSearchParams(location.search);
try{if(q.get('zz_trace')==='off'){localStorage.setItem('zz_notrace','1')}if(q.get('zz_trace')==='on'){localStorage.removeItem('zz_notrace')}if(localStorage.getItem('zz_notrace')){return}}catch(x){}
if(navigator.webdriver){return}
var U="https:\/\/zelzarr.fr\/wp-json\/zelzarr\/v1\/trace",sid,pv,vid;
function alea(){return (Math.random().toString(36).slice(2,10)+Date.now().toString(36)).slice(0,20)}
try{vid=localStorage.getItem('zz_vid');if(!vid){vid=alea();localStorage.setItem('zz_vid',vid)}}catch(x){vid=''}
try{sid=sessionStorage.getItem('zz_sid');if(!sid){sid=alea();sessionStorage.setItem('zz_sid',sid)}pv=(parseInt(sessionStorage.getItem('zz_pv'),10)||0)+1;sessionStorage.setItem('zz_pv',String(pv))}catch(x){return}
var path=location.pathname.replace(/\/order-received\/.*$/,'/commande-validee/').replace(/\/view-order\/.*$/,'/voir-commande/').replace(/\/\d+(?=\/|$)/g,'/#');
var cmd=location.pathname.match(/\/order-received\/(\d+)/);
var Q=[],actif=0,dep=document.hidden?0:Date.now(),scr=0;
function tps(){return actif+(dep?Date.now()-dep:0)}
function envoi(fin){if(fin){Q.push({t:'q',a:Date.now(),ms:tps(),sc:scr})}if(!Q.length){return}var b=JSON.stringify({s:sid,v:vid,pv:pv,n:Date.now(),e:Q});Q=[];try{if(navigator.sendBeacon){navigator.sendBeacon(U,new Blob([b],{type:'application/json'}))}else{fetch(U,{method:'POST',body:b,keepalive:true,headers:{'Content-Type':'application/json'}})}}catch(x){}}
function ajout(e){e.a=Date.now();Q.push(e);if(Q.length>=25){envoi()}}
var ref='';try{if(document.referrer){var h=new URL(document.referrer).hostname;if(h!==location.hostname){ref=h}}}catch(x){}
var src=q.get('utm_source')||(q.get('srsltid')?'Google Shopping':'')||(q.get('gclid')||q.get('gbraid')||q.get('wbraid')?'Google Ads':'')||(q.get('fbclid')?'Facebook / Instagram':'');
ajout({t:'v',p:path,ti:document.title.slice(0,150),r:ref,w:window.innerWidth,src:src.slice(0,40)});
if(cmd){ajout({t:'o',id:cmd[1],k:q.get('key')||''})}
addEventListener('scroll',function(){var d=document.documentElement,m=d.scrollHeight-innerHeight;if(m>0){var v=Math.min(100,Math.round(scrollY/m*100));if(v>scr){scr=v}}},{passive:true});
document.addEventListener('visibilitychange',function(){if(document.hidden){if(dep){actif+=Date.now()-dep;dep=0}envoi(true)}else{dep=Date.now()}});
addEventListener('pagehide',function(){if(dep){actif+=Date.now()-dep;dep=0}envoi(true)});
function net(t){return (t||'').replace(/\s+/g,' ').trim()}
function titreDans(n){var ls=[].slice.call(n.querySelectorAll('a[href*="/produit/"]'));if(n.matches('a[href*="/produit/"]')){ls.push(n)}var b='';ls.forEach(function(a){var t=net(a.textContent);if(/^(voir|en savoir|d.couvrir)|fiche|→/i.test(t)){return}if(t.length>b.length){b=t}});if(b.length>3){return b.slice(0,90)}var h=n.querySelector('#zz-ttl,#zz-pttl')||n.querySelector('h1,h2,h3,h4,h5,[data-a]');var t=h?net(h.getAttribute('data-a')||h.textContent):'';if(t.length>1){return t.slice(0,90)}var im=n.querySelector('img[alt]');return im?net(im.getAttribute('alt')).slice(0,90):''}
function urls(n){var u={};[].slice.call(n.querySelectorAll('a[href*="/produit/"]')).concat(n.matches('a[href*="/produit/"]')?[n]:[]).forEach(function(a){try{u[new URL(a.href).pathname]=1}catch(x){}});return Object.keys(u)}
function contexte(el){var r={pr:'',pl:'',zo:''};
var dlg=el.closest('#zz-qvm,#zz-qvd,.qvm,.qvd,.fx-lb,.zfc-dr,[role=dialog],[aria-modal=true]');
var n=el,i=0,box=null,bu=null;while(n){if(n===document.body){break}if(i>12){break}var u=urls(n);if(u.length>1){break}if(u.length===1){box=n;bu=u[0]}if(n===dlg){break}n=n.parentElement;i++}
if(box){r.pl=bu;r.pr=titreDans(box)}
if(el.matches('a[href*="/produit/"]')){try{r.pl=new URL(el.href).pathname}catch(x){}}
if(dlg){r.pr='';r.zo=dlg.matches('.fx-lb')?'Loupe':(dlg.matches('.zfc-dr')?'Panier flottant':'Aperçu rapide');if(!r.pr){var lt=dlg.querySelector('.fx-lbt');var hd=dlg.querySelector('h1,h2,h3,h4');r.pr=lt?net(lt.textContent).slice(0,90):(hd?net(hd.textContent).slice(0,90):titreDans(dlg))}}
var fp=el.closest('.fpanel');if(fp){var fh=fp.querySelector('h4,h3');r.zo='Aperçu de faction'+(fh?' : '+net(fh.textContent).slice(0,40):'')}
if(!r.pr){if(/^\/produit\//.test(location.pathname)){var h1=document.querySelector('h1');r.pr=h1?net(h1.textContent).slice(0,90):'';r.pl=location.pathname}}
if(!r.zo){var se=el.closest('footer,header')||el.closest('section')||el.closest('[id^="zz-"]');if(se){var h2=se.querySelector('h2');r.zo=se.tagName==='FOOTER'?'Pied de page':(se.tagName==='HEADER'?'Menu':(h2?net(h2.textContent).slice(0,60):(se.id||'')))}}
return r}
document.addEventListener('click',function(ev){
var el=ev.target.closest('a,button,summary,label,[role=button],.chip,.pill,img,.fx-card,.pcard');if(!el){return}
if(el.closest('input,textarea,select')){return}
var txt=(el.getAttribute('aria-label')||el.textContent||el.getAttribute('alt')||el.getAttribute('title')||'').replace(/\s+/g,' ').trim().slice(0,90);
if(!txt){var im=el.tagName==='IMG'?el:el.querySelector('img');if(im){txt=(im.getAttribute('alt')||'').trim()||('Image '+decodeURIComponent((im.currentSrc||im.src||'').split('/').pop().split('?')[0].replace(/(-\d+x\d+)?\.(jpe?g|png|webp|avif|gif)$/i,'')).replace(/[-_]+/g,' '));txt=txt.slice(0,90)}}
var cx=contexte(el);
var lien='',a=el.closest('a');if(a){try{var u=new URL(a.href,location.href);lien=u.hostname===location.hostname?(u.pathname+(u.hash||'')):u.hostname}catch(x){}}
var c=typeof el.className==='string'?el.className.split(' ')[0]:'';
ajout({t:'c',p:path,x:txt,l:lien,k:el.tagName.toLowerCase()+(c?'.'+c:''),pr:cx.pr,pl:cx.pl,zo:cx.zo})
},true);
setInterval(function(){if(Q.length){envoi()}},20000);
})();</script>
			<script type="text/javascript">
			(function() {
				// Always start from a fresh object: a `||` fallback would keep a same-named DOM element alive.
				window.wcAnalytics = {};
				const wcAnalytics = window.wcAnalytics;

				// Set the assets URL for webpack to find the split assets.
				wcAnalytics.assets_url = 'https://zelzarr.fr/wp-content/plugins/jetpack/jetpack_vendor/automattic/woocommerce-analytics/src/../build/';

				// Set the REST API tracking endpoint URL.
								wcAnalytics.trackEndpoint = "https://zelzarr.fr/wp-json/woocommerce-analytics/v1/track";

				// Set common properties for all events.
				wcAnalytics.commonProps = {"ui":0,"blog_id":210713925,"store_id":"385dbbe3-010c-423d-9861-815e2739acad","url":"https://zelzarr.fr","woo_version":"11.1.0","wp_version":"7.1.3","store_admin":0,"device":"desktop","store_currency":"EUR","timezone":"+00:00","is_guest":1,"package_version":"0.18.0"};

				// Set the event queue.
				wcAnalytics.eventQueue = [];

				// Features.
				wcAnalytics.features = {
					ch: false,
					sessionTracking: false,
					proxy: false,
				};

				wcAnalytics.breadcrumbs = ["Factions (Fantasy)","Cathay","Yaksha"];

				// Page context flags.
				wcAnalytics.pages = {
					isAccountPage: false,
					isCart: false,
				};
			})();
		</script>
		
		<!-- Cookie Compliance for WordPress (formerly Compliance by Hu-manity.co) plugin v3.1.17 https://cookie-compliance.co/ -->
		<div id="cookie-notice" role="dialog" class="cookie-notice-hidden cookie-revoke-hidden cn-position-bottom" aria-label="Cookie Compliance" style="background-color: rgba(255,255,255,1);"><div class="cookie-notice-container" style="color: #0a0a0a"><span id="cn-notice-text" class="cn-text-container">Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.</span><span id="cn-notice-buttons" class="cn-buttons-container"><button id="cn-accept-cookie" data-cookie-set="accept" class="cn-set-cookie cn-button" aria-label="OK" style="background-color: #af1100">OK</button><button id="cn-refuse-cookie" data-cookie-set="refuse" class="cn-set-cookie cn-button" aria-label="Refuser" style="background-color: #af1100">Refuser</button></span><button type="button" id="cn-close-notice" data-cookie-set="accept" class="cn-close-icon" aria-label="Refuser" tabindex="0"></button></div>
			
		</div>
		<!-- / Cookie Compliance for WordPress plugin --></body>
</html>
