/**
 * Les 3 Blasons — mode Halloween (D-20261023-03, demande de Hugues du 23/10/2026) : « un dark mode Halloween où les
 * couleurs des 3 Blasons seraient un peu changées (on garde les orange et jaune mais à la place des verts plutôt des
 * violets), le curseur va changer (fantôme), la lune orangée qui remplace l'image du café en haut à droite de
 * l'accueil, le tout au clic de l'icône citrouille ».
 * Rien ne change tant que la classe html.l3b-halloween est absente (posée par assets/halloween.js ou, dès le début de
 * la page, par le petit script de inc/moment.php quand le visiteur a choisi ce mode).
 * Les cartes produits restent claires : les photos des produits sont sur fond blanc.
 * Deux violets remplacent le vert : un violet profond pour les fonds (réglages d'Impreza, --color-l3b-vert) et un
 * violet clair pour les textes de la marque sur la nuit (feuilles l3b.css, appli.css, recherche.css : --l3b-vert).
 * Les pavés jaunes, orange, citron et dorés réglés dans Impreza gardent leurs textes foncés et les textes verts ou
 * gris de ces réglages s'éclaircissent : assets/halloween.js lit la feuille us-design-options-css de la page et ajoute
 * ses règles dans <style id="l3b-halloween-paves">.
 * D-20261023-06 (Hugues, 23/10 au soir) : « pour le paiement, et même pour les fonds des fiches produit, mieux vaut
 * garder un fond blanc ou blanc cassé : les produits sont faits pour être vus sur des fonds très clairs ». Sur la fiche
 * produit, le panier et la commande (classe html.l3b-page-claire posée par inc/moment.php), le contenu de la page
 * (main.l-main) garde ses couleurs de jour : les couleurs de nuit sont posées sur html partout ailleurs, et seulement
 * sur l'en-tête, le pied de page et les écrans du téléphone sur ces pages ; chaque règle se termine par
 * :not(:where(.l3b-page-claire .l-main *)) (sans changer sa priorité). Ailleurs, les vignettes des produits restent sur
 * un fond clair (cartes, recherche, panier latéral).
 */

/* 1. Couleurs : les réglages de couleurs d'Impreza et de la marque, redéfinis pour la nuit. */
html.l3b-halloween:not(.l3b-page-claire),
html.l3b-halloween.l3b-page-claire body > :not(.l-canvas), html.l3b-halloween.l3b-page-claire .l-canvas > :not(.l-main) {
	color-scheme: dark;
	--l3b-h-nuit: #120720;
	--l3b-h-nuit-2: #1C0B33;
	--l3b-h-nuit-3: #27104E;
	--l3b-h-violet: #7C3AED;
	--l3b-h-violet-fonce: #4C1D95;
	--l3b-h-violet-clair: #C4A1FF;
	--l3b-h-mauve: #B388FF;
	--l3b-h-texte: #EDE4F7;
	--l3b-h-ligne: rgba(179, 136, 255, .28);
	--color-l3b-vert: #6D28D9;
	--color-l3b-vert-fonce: #4C1D95;
	--color-l3b-citron: #D8B4FE;
	--color-l3b-creme: #241040;
	--color-l3b-creme-clair: #1C0B33;
	--color-l3b-noir: #EDE4F7;
	--color-l3b-gris: #1C0B33;
	--color-l3b-gris-fonce: #E2D6F3;
	--color-l3b-gris-texte: #B9A6D6;
	--color-l3b-gris-moyen: #B9A6D6;
	--color-l3b-gris-ligne: rgba(179, 136, 255, .28);
	--l3b-vert: #A78BFA;
	--l3b-orange-texte: #FF8A3D;
	/* Variables calculées sur :root (l3b.css, Impreza) à partir des précédentes : redites ici pour qu'elles suivent aussi
	 * sur l'en-tête, le pied de page et les écrans du téléphone des pages claires. */
	--l3b-creme: var(--color-l3b-creme);
	--l3b-creme-clair: var(--color-l3b-creme-clair);
	--l3b-noir: var(--color-l3b-noir);
	--l3b-gris: var(--color-l3b-gris);
	--l3b-gris-fonce: var(--color-l3b-gris-fonce);
	--l3b-gris-texte: var(--color-l3b-gris-texte);
	--l3b-gris-moyen: var(--color-l3b-gris-moyen);
	--l3b-gris-ligne: var(--color-l3b-gris-ligne);
	--l3b-vert-fonce: var(--color-l3b-vert-fonce);
	--l3b-citron: var(--color-l3b-citron);
	--inputs-text-color: var(--color-l3b-noir);
	--inputs-focus-text-color: var(--color-l3b-noir);
	--color-header-middle-bg: #120720;
	--color-header-middle-bg-grad: #120720;
	--color-header-middle-text: #EDE4F7;
	--color-header-middle-text-hover: #FFB719;
	--color-chrome-toolbar: #120720;
	--color-content-bg: #120720;
	--color-content-bg-grad: #120720;
	--color-content-bg-alt: #1C0B33;
	--color-content-bg-alt-grad: #1C0B33;
	--color-content-border: rgba(179, 136, 255, .25);
	--color-content-heading: #E9D5FF;
	--color-content-heading-grad: #E9D5FF;
	--color-content-text: #EDE4F7;
	--color-content-link: #C4A1FF;
	--color-content-link-hover: #FFB719;
	--color-content-primary: #6D28D9;
	--color-content-primary-grad: #6D28D9;
	--color-content-faded: #B9A6D6;
	--color-content-primary-faded: rgba(109, 40, 217, .25);
	--color-alt-content-bg: #1C0B33;
	--color-alt-content-bg-grad: #1C0B33;
	--color-alt-content-bg-alt: #27104E;
	--color-alt-content-bg-alt-grad: #27104E;
	--color-alt-content-border: rgba(179, 136, 255, .25);
	--color-alt-content-heading: #E9D5FF;
	--color-alt-content-heading-grad: #E9D5FF;
	--color-alt-content-text: #EDE4F7;
	--color-alt-content-link: #C4A1FF;
	--color-alt-content-link-hover: #FFB719;
	--color-alt-content-primary: #6D28D9;
	--color-alt-content-primary-grad: #6D28D9;
	--color-alt-content-faded: #B9A6D6;
	--color-footer-bg: #2E1065;
	--color-footer-bg-grad: #2E1065;
	--color-footer-bg-alt: #1E0A45;
	--color-footer-bg-alt-grad: #1E0A45;
	--color-subfooter-bg: #1E0A45;
	--color-subfooter-bg-grad: #1E0A45;
	--color-subfooter-bg-alt: #2E1065;
	--color-subfooter-bg-alt-grad: #2E1065;
	--inputs-background: #1C0B33;
	--inputs-focus-background: #24113F;
	--inputs-border-color: rgba(179, 136, 255, .45);
	--inputs-focus-border-color: #FFB719;
}
html.l3b-halloween:not(.l3b-page-claire) body,
html.l3b-halloween:not(.l3b-page-claire) .l-canvas { background-color: var(--l3b-h-nuit); }

/* Champs de saisie (formulaires, recherche, quantités) : fond de nuit, texte clair. */
html.l3b-halloween input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="range"]):not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween textarea:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween select:not(:where(.l3b-page-claire .l-main *)) { background-color: #1C0B33 !important; color: #EDE4F7 !important; border-color: rgba(179, 136, 255, .45) !important; }
html.l3b-halloween :not(:where(.l3b-page-claire .l-main *))::placeholder { color: #B9A6D6; opacity: 1; }

/* Panneaux blancs de la marque (panier, commande, compte, recherche, écrans du téléphone) : fond de nuit. */
html.l3b-halloween :is(.l3b-explorer, .l3b-article-navigation .post_navigation-item, .l3b-panier-articles > .vc_column-inner,
	.l3b-commande form.checkout > #customer_details, .l3b-compte .woocommerce-MyAccount-navigation,
	.l3b-compte .woocommerce-MyAccount-content, .l3b-compte #customer_login > .u-column1, .woocommerce-info,
	.woocommerce-message, .woocommerce-error, .return-to-shop, .l3b-commande #payment, .l3b-compte form.login,
	.l3b-compte form.register, .l3b-compte form.lost_reset_password, .l3b-commande form.login,
	.l3b-commande form.checkout_coupon, .l3b-entete-panier li.woocommerce-mini-cart-item, .l3b-qte-mini__bouton,
	.l3b-commande .woocommerce-order, .l3b-feuille, .l3b-rch__boite):not(:where(.l3b-page-claire .l-main *)) { background-color: #1C0B33 !important; }

/* Fonds violets des feuilles de la marque (le violet clair de --l3b-vert y serait trop pâle sous un texte blanc). */
html.l3b-halloween :is(.l3b-filtre .w-filter-item-values input[type="checkbox"]:checked, .l3b-filtre .l3b-region-case[aria-checked="true"],
	.l3b-filtre .l3b-region-case[aria-checked="mixed"], .l3b-tag, .l3b-compte .woocommerce-MyAccount-navigation li.is-active a,
	.l3b-retrait-etiquette, .l3b-feuille__appel, .l3b-feuille__tuiles .l3b-tuile--cafes):not(:where(.l3b-page-claire .l-main *)) { background-color: #6D28D9 !important; }
html.l3b-halloween .l3b-filtre .w-filter-item.l3b-case-unique:is(.l3b-actif, .has_value) .w-filter-item-title:not(:where(.l3b-page-claire .l-main *))::after,
html.l3b-halloween .w-post-elm.l3b-fiche-achat .l3b-choix__option[aria-checked="true"] .l3b-choix__texte:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween .l3b-etapes li.l3b-etape-active:not(:where(.l3b-page-claire .l-main *))::before { background-color: #6D28D9 !important; }
@media (hover: hover) {
	html.l3b-halloween .l3b-article-navigation a.post_navigation-item:hover .post_navigation-item-arrow:not(:where(.l3b-page-claire .l-main *)) { background-color: #6D28D9 !important; }
}
html.l3b-halloween .l3b-coffret-carte:not(:where(.l3b-page-claire .l-main *)) { --l3b-vert: #4C1D95; --l3b-creme: #FFF5DF; }
html.l3b-halloween .w-tabs.l3b-onglets-boutons > .w-tabs-list .w-tabs-item:is(.active, :hover, :focus-visible):not(:where(.l3b-page-claire .l-main *)) { background-color: #6D28D9 !important; color: #fff !important; }

/* Boutons d'Impreza : bord vert écrit en dur, textes sur jaune ou sur blanc. */
html.l3b-halloween :is(.us-btn-style_2, .navstyle_2 > .owl-nav button, .us-nav-style_2 > *):not(.w-grid-item *):not(:where(.l3b-page-claire .l-main *)) { --btn-background: transparent; --btn-border-color: #A78BFA; --btn-hover-background: #27104E; --btn-hover-border-color: #C4A1FF; color: #E9D5FF !important; }
html.l3b-halloween.no-touch :is(.us-btn-style_2, .navstyle_2 > .owl-nav button, .us-nav-style_2 > *):not(.w-grid-item *):hover:not(:where(.l3b-page-claire .l-main *)) { color: #fff !important; }
html.l3b-halloween .us-btn-style_3:not(:where(.l3b-page-claire .l-main *)) { color: #4C1D95 !important; }
html.l3b-halloween .us-btn-style_5:not(:where(.l3b-page-claire .l-main *)) { --btn-hover-background: #F3E8FF; }
/* Style 6 (boutons blancs bordés de gris, flèches des carrousels) : pavés de nuit. */
html.l3b-halloween :is(.us-btn-style_6, .navstyle_6 > .owl-nav button, .us-nav-style_6 > *):not(.w-grid-item *):not(:where(.l3b-page-claire .l-main *)) { --btn-background: #1C0B33; --btn-border-color: rgba(179, 136, 255, .45); --btn-hover-background: #27104E; --btn-hover-border-color: #C4A1FF; color: #E9D5FF !important; }
html.l3b-halloween.no-touch :is(.us-btn-style_6, .navstyle_6 > .owl-nav button, .us-nav-style_6 > *):not(.w-grid-item *):hover:not(:where(.l3b-page-claire .l-main *)) { color: #fff !important; }
html.l3b-halloween .w-grid-item .us-btn-style_6:not(:where(.l3b-page-claire .l-main *)) { --color-l3b-noir: #090909; }
html.l3b-halloween .w-menu[style*="--main-color:var(--color-l3b-vert)"]:not(:where(.l3b-page-claire .l-main *)) { --main-color: #A78BFA !important; }
html.l3b-halloween .woocommerce-mini-cart__buttons .button:not(.checkout):not(:where(.l3b-page-claire .l-main *)) { --btn-background: transparent; color: #C4A1FF !important; border-color: rgba(196, 161, 255, .6) !important; }

/* Logo de l'en-tête : version de nuit (fond transparent, lettres lavande, 3 orange, ornement doré). */
html.l3b-halloween .l-header img[src*="/2022/11/logo"]:not(:where(.l3b-page-claire .l-main *)) { content: url("halloween/logo-halloween.png"); }

/* 2. Cartes produits : restent claires (photos sur fond blanc), textes sombres. */
html.l3b-halloween .w-grid-item.l3b-carte:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween .layout_17742 .w-grid-item:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween .w-post-elm.post_image:not(:where(.l3b-page-claire .l-main *)) {
	--color-l3b-noir: #090909; --l3b-noir: #090909;
	--color-l3b-gris: #F7F7F7; --l3b-gris: #F7F7F7;
	--color-l3b-gris-fonce: #333333; --l3b-gris-fonce: #333333;
	--color-l3b-gris-texte: #6B6B6B; --l3b-gris-texte: #6B6B6B;
	--color-l3b-gris-moyen: #767676; --l3b-gris-moyen: #767676;
	--color-l3b-citron: #B1BC00;
	--color-l3b-vert: #4C1D95; --l3b-vert: #4C1D95;
	--color-l3b-creme: #FFF5DF; --l3b-creme: #FFF5DF;
	--l3b-orange-texte: #BF4800;
	--color-content-primary: #4C1D95;
}
html.l3b-halloween .w-grid-item.l3b-carte:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween .layout_17742 .w-grid-item-h:not(:where(.l3b-page-claire .l-main *)) { color: #241433; }
html.l3b-halloween .layout_17742 .w-grid-item-h:not(:where(.l3b-page-claire .l-main *)) { box-shadow: 0 0 0 1px rgba(179, 136, 255, .18), 0 10px 30px rgba(0, 0, 0, .35); }

/* 2 bis. Pavés et boutons jaunes ou orange de la marque : textes foncés, comme de jour. */
html.l3b-halloween .l3b-recette-etapes li:not(:where(.l3b-page-claire .l-main *))::before { color: #090909; }
html.l3b-halloween .l3b-tag.l3b-tag--jaune:not(:where(.l3b-page-claire .l-main *)) { background-color: var(--l3b-jaune) !important; color: #4C1D95 !important; }
html.l3b-halloween .l3b-coffret-encart__bouton:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween .l3b-coffret-carte .w-btn.l3b-coffret-bouton:not(:where(.l3b-page-claire .l-main *)) { color: #4C1D95 !important; }
html.l3b-halloween .l3b-feuille__tuiles .l3b-tuile--box-paniers:not(:where(.l3b-page-claire .l-main *)) { color: #090909 !important; }
html.l3b-halloween .l3b-feuille__tuiles .l3b-tuile--epices:not(:where(.l3b-page-claire .l-main *)) { background: #C2410C; }
html.l3b-halloween .l3b-feuille__tuiles .l3b-tuile--thes-tisanes:not(:where(.l3b-page-claire .l-main *)) { background: #7E22CE; }

/* 3. Accueil : le haut de page devient la scène du CodePen (dégradé violet, lune orange, titre lumineux). */
.l3b-lune { display: none; }
html.l3b-halloween .l3b-heros-accueil:not(:where(.l3b-page-claire .l-main *)) { background: radial-gradient(circle at 50% 60%, #27104E 0%, #080114 100%) !important; }
html.l3b-halloween .l3b-heros-accueil > .l-section-h:not(:where(.l3b-page-claire .l-main *)) { position: relative; z-index: 1; }
html.l3b-halloween .l3b-heros-accueil .w-image:not(:where(.l3b-page-claire .l-main *)) { visibility: hidden; }
html.l3b-halloween .l3b-heros-accueil .l-section-shape:not(:where(.l3b-page-claire .l-main *)) { color: var(--l3b-h-nuit) !important; }
html.l3b-halloween .l3b-heros-accueil h1:not(:where(.l3b-page-claire .l-main *)) { color: #FF7700 !important; text-shadow: 0 0 20px #FF3300, 0 0 40px #8000FF; }
html.l3b-halloween .l3b-heros-accueil p:not(:where(.l3b-page-claire .l-main *)) { color: #B388FF !important; }
html.l3b-halloween .l3b-lune:not(:where(.l3b-page-claire .l-main *)) {
	display: block;
	position: absolute;
	z-index: 0;
	top: clamp(28px, 10%, 80px);
	right: clamp(24px, 13%, 220px);
	width: clamp(84px, 13vw, 190px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: #FFAA00;
	box-shadow: 0 0 60px #FF7700, 0 0 100px rgba(255, 119, 0, .4);
	pointer-events: none;
	animation: l3b-lune 5s ease-in-out infinite alternate;
}
@keyframes l3b-lune {
	from { box-shadow: 0 0 50px #FF7700, 0 0 90px rgba(255, 119, 0, .35); }
	to { box-shadow: 0 0 70px #FF7700, 0 0 130px rgba(255, 119, 0, .5); }
}
@media (max-width: 767px) {
	html.l3b-halloween .l3b-lune:not(:where(.l3b-page-claire .l-main *)) { top: 18px; right: 18px; width: 76px; }
}

/* 4. Citrouille de l'en-tête : visage allumé en mode Halloween. */
.l3b-citrouille .l3b-citrouille-visage { fill: #3B1A00; transition: fill .3s ease; }
html.l3b-halloween .l3b-citrouille .l3b-citrouille-visage:not(:where(.l3b-page-claire .l-main *)) { fill: #FFE066; filter: drop-shadow(0 0 3px #FFB719); }
.l3b-moment-bouton .l3b-citrouille { animation: l3b-citrouille 3.2s ease-in-out infinite; transform-origin: 50% 90%; }
@keyframes l3b-citrouille { 0%, 70%, 100% { transform: rotate(0); } 76% { transform: rotate(-8deg); } 82% { transform: rotate(7deg); } 88% { transform: rotate(-4deg); } 94% { transform: rotate(2deg); } }
/* Citrouille sans fond, partout (Hugues, 23/10, D-20261023-07) ; sur ordinateur, tout à droite de l'en-tête (inc/moment.php). */

/* 5. Téléphone : barre d'icônes, écrans pleins et recherche dans la nuit. */
html.l3b-halloween .l3b-barre:not(:where(.l3b-page-claire .l-main *)) { background: rgba(18, 7, 32, .96); border-top-color: var(--l3b-h-ligne); box-shadow: 0 -6px 24px rgba(0, 0, 0, .45); }
html.l3b-halloween .l3b-barre__bouton:not(:where(.l3b-page-claire .l-main *)) { color: var(--l3b-h-texte); }
html.l3b-halloween .l3b-barre__bouton--menu:not(:where(.l3b-page-claire .l-main *)) { --l3b-b-fond: #6D28D9; }
html.l3b-halloween .l3b-barre__bouton--recherche:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween .l3b-barre__bouton--panier:not(:where(.l3b-page-claire .l-main *)) { --l3b-b-encre: #090909; }
html.l3b-halloween .l3b-feuille__ligne:not(:where(.l3b-page-claire .l-main *)) { border-bottom-color: var(--l3b-h-ligne); }
html.l3b-halloween .l3b-feuille__ligne > svg:not(:where(.l3b-page-claire .l-main *)) { color: #B9A6D6; }
html.l3b-halloween .l3b-feuille__coordonnees:not(:where(.l3b-page-claire .l-main *)) { background: #27104E; }
html.l3b-halloween .l3b-rch__fond:not(:where(.l3b-page-claire .l-main *)) { background: rgba(8, 1, 20, .6); }
html.l3b-halloween .l3b-rch__boite:not(:where(.l3b-page-claire .l-main *)) { box-shadow: 0 0 0 1px var(--l3b-h-ligne), 0 24px 60px rgba(0, 0, 0, .6); }
html.l3b-halloween .l3b-barre__bouton.is-actif .l3b-barre__texte:not(:where(.l3b-page-claire .l-main *)) { color: #fff; }
html.l3b-halloween .l3b-barre__bouton.is-actif .l3b-barre__icone:not(:where(.l3b-page-claire .l-main *)) { box-shadow: 0 0 0 3px var(--l3b-h-nuit), 0 0 0 5px var(--l3b-b-fond); }

/* 6. Fantôme qui suit la souris (ordinateur) : placé en bas à droite de la flèche, qui reste visible (demande de Hugues,
 * 23/10 au soir : « sinon on ne sait pas où cliquer »), et étincelles. */
.l3b-fantome-curseur { position: fixed; left: 0; top: 0; z-index: 2147483646; width: 40px; height: 40px; margin: 0; pointer-events: none; will-change: transform; }
.l3b-fantome-curseur svg { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 0 12px #A855F7) drop-shadow(0 0 25px #FF7700); animation: l3b-fantome 2s ease-in-out infinite alternate; }
@keyframes l3b-fantome { 0% { transform: translateY(0) rotate(-5deg); } 100% { transform: translateY(-12px) rotate(5deg); } }
.l3b-etincelle { position: fixed; z-index: 2147483645; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; pointer-events: none; animation: l3b-etincelle .8s linear forwards; }
@keyframes l3b-etincelle { 0% { opacity: 1; transform: scale(1) translate(0, 0); } 100% { opacity: 0; transform: scale(.2) translate(var(--dx), var(--dy)); } }

/* 7. Passage d'un mode à l'autre : fondu court des couleurs. */
html.l3b-halloween-bascule,
html.l3b-halloween-bascule *,
html.l3b-halloween-bascule *::before,
html.l3b-halloween-bascule *::after { transition: background-color .6s ease, color .6s ease, border-color .6s ease, fill .6s ease, box-shadow .6s ease !important; }

/* 8. Revue complète du 23/10 au soir. */
/* Vagues blanches sous les hauts de page (forme d'Impreza, couleur écrite en dur) : couleur de la nuit. */
html.l3b-halloween .l-section-shape[style*="color:#ffffff"]:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween .l-section-shape[style*="color:#fff;"]:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween .l-section-shape[style*="color: #fff"]:not(:where(.l3b-page-claire .l-main *)) { color: var(--l3b-h-nuit) !important; }
/* Liste « Trier » : flèches en lavande (vert et noir écrits dans l3b.css). */
@media (max-width: 1024px) {
	html.l3b-halloween .l3b-tri .w-order-select select:not(:where(.l3b-page-claire .l-main *)) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4A1FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v16M3 8l4-4 4 4M17 20V4M13 16l4 4 4-4'/%3E%3C/svg%3E") !important; }
}
@media (min-width: 1025px) {
	html.l3b-halloween .l3b-tri .w-order-select select:not(:where(.l3b-page-claire .l-main *)) {
		background-color: transparent !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C4A1FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v16M3 8l4-4 4 4M17 20V4M13 16l4 4 4-4'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23C4A1FF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	}
}
/* « 1 en stock » (dernier article) : rouge éclairci sur la nuit. */
html.l3b-halloween .single-product .stock.l3b-stock-dernier:not(:where(.l3b-page-claire .l-main *)) { color: #FF8A7A; }
/* Bandeau des cookies (Complianz) et bouton « Gérer le consentement ». */
html.l3b-halloween:not(.l3b-page-claire),
html.l3b-halloween .cmplz-cookiebanner:not(:where(.l3b-page-claire .l-main *)),
html.l3b-halloween #cmplz-manage-consent:not(:where(.l3b-page-claire .l-main *)) {
	--cmplz_banner_background_color: #1C0B33;
	--cmplz_banner_border_color: rgba(179, 136, 255, .35);
	--cmplz_text_color: #EDE4F7;
	--cmplz_hyperlink_color: #C4A1FF;
	--cmplz_button_accept_background_color: #6D28D9;
	--cmplz_button_accept_border_color: #6D28D9;
	--cmplz_button_accept_text_color: #fff;
	--cmplz_button_deny_background_color: #6D28D9;
	--cmplz_button_deny_border_color: #6D28D9;
	--cmplz_button_deny_text_color: #fff;
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: #A78BFA;
	--cmplz_button_settings_text_color: #E9D5FF;
	--cmplz_slider_active_color: #6D28D9;
	--cmplz_category_header_always_active_color: #C4A1FF;
}
html.l3b-halloween #cmplz-manage-consent .cmplz-manage-consent:not(:where(.l3b-page-claire .l-main *)) { background-color: #27104E !important; color: #EDE4F7 !important; border-color: rgba(179, 136, 255, .4) !important; }
html.l3b-halloween .cmplz-always-active:not(:where(.l3b-page-claire .l-main *)) { color: #C4A1FF !important; }

/* 8 bis. Produits toujours sur fond clair (D-20261023-06) : vignettes du panier latéral et de l'écran Panier du
 * téléphone sur un carré clair, comme dans la recherche ; pas d'araignée sur la fiche produit, le panier et la commande. */
html.l3b-halloween li.woocommerce-mini-cart-item img:not(:where(.l3b-page-claire .l-main *)) { background-color: #F6F6F6; }
html.l3b-page-claire .l3b-araignee { display: none !important; }

/* 9. Araignée (d'après « Halloween Animation in Pure CSS », rachel_web, CodePen) : une seule, entre la gauche et le
 * milieu de l'écran. Elle vit dans une boîte qui commence sous l'en-tête (son fil ne passe jamais dessus), descend au
 * bout de son fil, se balance, remonte quand on fait défiler la page ; au clic, les jeux d'Halloween en plein écran. */
.l3b-araignee { display: none; }
html.l3b-halloween .l3b-araignee:not(:where(.l3b-page-claire .l-main *)) {
	display: block;
	position: fixed;
	z-index: 100;
	top: var(--l3b-entete, 0px);
	left: 30%;
	width: 120px;
	height: 340px;
	margin-left: -60px;
	overflow: hidden;
	pointer-events: none;
}
.l3b-araignee__bouton {
	position: absolute;
	left: 28px;
	top: 0;
	width: 64px;
	height: 56px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	pointer-events: auto;
	-webkit-tap-highlight-color: transparent;
	transform: translateY(-140px);
	animation: l3b-araignee-chute 2.4s cubic-bezier(.25, .8, .35, 1.15) .8s forwards;
}
.l3b-araignee__monte { position: absolute; inset: 0; transition: transform .6s ease; }
.l3b-araignee--remonte .l3b-araignee__monte { transform: translateY(-220px); transition-duration: .35s; }
.l3b-araignee__corps {
	position: absolute;
	left: 7px;
	top: 8px;
	width: 50px;
	height: 40px;
	border-radius: 50%;
	background: #110D04;
	box-shadow: 0 0 0 1px rgba(196, 161, 255, .4), 0 0 8px rgba(255, 119, 0, .3);
	animation: l3b-araignee-balance 5s ease-in-out 3.2s infinite;
}
.l3b-araignee__corps::before { content: ""; position: absolute; left: 50%; bottom: 100%; width: 1px; height: 600px; background: #AAAAAA; }
.l3b-araignee__oeil { position: absolute; top: 16px; width: 12px; height: 14px; border-radius: 50%; background: #fff; }
.l3b-araignee__oeil::after { content: ""; position: absolute; top: 6px; width: 5px; height: 5px; border-radius: 50%; background: #000; }
.l3b-araignee__oeil--g { left: 14px; }
.l3b-araignee__oeil--g::after { right: 3px; }
.l3b-araignee__oeil--d { right: 14px; }
.l3b-araignee__oeil--d::after { left: 3px; }
.l3b-araignee__patte { position: absolute; z-index: -1; top: 6px; width: 14px; height: 12px; border: 1px solid transparent; border-top: 2px solid #110D04; }
.l3b-araignee__patte--g { left: -8px; transform-origin: top right; transform: rotate(36deg) skewX(-20deg); border-left: 2px solid #110D04; border-radius: 60% 0 0 0; animation: l3b-patte-g 1s infinite; }
.l3b-araignee__patte--d { right: -8px; transform-origin: top left; transform: rotate(-36deg) skewX(20deg); border-right: 2px solid #110D04; border-radius: 0 60% 0 0; animation: l3b-patte-d 1s .2s infinite; }
.l3b-araignee__patte:nth-of-type(2) { top: 14px; left: -11px; animation-delay: .8s; }
.l3b-araignee__patte:nth-of-type(3) { top: 22px; left: -12px; animation-delay: .2s; }
.l3b-araignee__patte:nth-of-type(4) { top: 31px; left: -10px; animation-delay: .4s; }
.l3b-araignee__patte:nth-of-type(6) { top: 14px; right: -11px; animation-delay: .4s; }
.l3b-araignee__patte:nth-of-type(7) { top: 22px; right: -12px; animation-delay: .7s; }
.l3b-araignee__patte:nth-of-type(8) { top: 31px; right: -10px; animation-delay: .3s; }
.l3b-araignee__bouton:focus-visible { outline: none; }
.l3b-araignee__bouton:focus-visible .l3b-araignee__corps { box-shadow: 0 0 0 3px #FFB719, 0 0 12px rgba(255, 119, 0, .5); }
@keyframes l3b-araignee-chute { from { transform: translateY(-140px); } to { transform: translateY(18px); } }
@keyframes l3b-araignee-balance { 0%, 100% { transform: translateY(0); } 36% { transform: translateY(86px); } }
@keyframes l3b-patte-g { 0%, 100% { transform: rotate(36deg) skewX(-20deg); } 25%, 75% { transform: rotate(15deg) skewX(-20deg); } 50% { transform: rotate(45deg) skewX(-20deg); } }
@keyframes l3b-patte-d { 0%, 100% { transform: rotate(-36deg) skewX(20deg); } 25%, 75% { transform: rotate(-15deg) skewX(20deg); } 50% { transform: rotate(-45deg) skewX(20deg); } }
@media (max-width: 1024px) {
	.l3b-araignee__corps { animation-name: l3b-araignee-balance-tel; }
}
@keyframes l3b-araignee-balance-tel { 0%, 100% { transform: translateY(0) scale(.85); } 36% { transform: translateY(56px) scale(.85); } }
html.l3b-jeu-ouvert .l3b-araignee,
html.l3b-jeu-ouvert .l3b-fantome-curseur { visibility: hidden; }

/* Jeux d'Halloween en plein écran (menu assets/halloween/jeux/index.html, chargé au clic sur l'araignée). */
html.l3b-jeu-ouvert,
html.l3b-jeu-ouvert body { overflow: hidden !important; }
.l3b-jeu { position: fixed; inset: 0; z-index: 2147483640; background: #080114; }
.l3b-jeu[hidden] { display: none; }
.l3b-jeu__cadre { display: block; width: 100%; height: 100%; border: 0; background: #080114; }
.l3b-jeu__fermer {
	position: absolute;
	z-index: 1;
	top: max(12px, env(safe-area-inset-top));
	right: max(12px, env(safe-area-inset-right));
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 2px solid rgba(196, 161, 255, .6);
	border-radius: 50%;
	background: rgba(28, 11, 51, .9);
	color: #EDE4F7;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}
.l3b-jeu__fermer:hover,
.l3b-jeu__fermer:focus-visible { border-color: #FFB719; color: #FFB719; outline: none; }

@media (prefers-reduced-motion: reduce) {
	html.l3b-halloween .l3b-lune:not(:where(.l3b-page-claire .l-main *)),
	.l3b-fantome-curseur svg,
	.l3b-moment-bouton .l3b-citrouille,
	.l3b-araignee__corps,
	.l3b-araignee__patte { animation: none; }
	.l3b-araignee__bouton { animation: none; transform: translateY(18px); }
}

/* 10. Retours de Hugues du 24/10 (D-20261023-09). */
/* Bouton « Composer » de l'encart du coffret (grille des Cafés) : au survol, texte jaune sur le violet, comme de jour
   (jaune sur vert) ; avant, texte violet sur violet, illisible. */
html.l3b-halloween.no-touch a.l3b-encart--coffret:hover .l3b-coffret-encart__bouton:not(:where(.l3b-page-claire .l-main *)) { color: var(--l3b-jaune) !important; }
/* Fenêtre du coffret découverte (assets/coffret.css, variables --cf-*) : fond clair, cafés et moutures sur fond blanc
   comme de jour (« fond blanc classique pour les produits, aussi pour les moutures ») ; le vert de la marque devient le
   violet profond des cartes claires (bandeau, titres, filtres, cafés choisis). */
html.l3b-halloween .l3b-cf {
	color-scheme: light;
	--cf-vert: #4C1D95; --cf-vert-fonce: #2E1065;
	--cf-orange-texte: #BF4800;
	--cf-creme: #FFF5DF; --cf-creme-clair: #FEF8F0;
	--cf-gris: #F7F7F7; --cf-ligne: #DEDEDE;
	--cf-texte: #090909; --cf-gris-texte: #6B6B6B;
}
/* « Des partenaires de goût » (accueil) : fond crème de jour (« garde le fond équivalent clair »), titre violet
   profond ; les logos des partenaires sont faits pour un fond clair. */
html.l3b-halloween .l3b-accueil-partenaires:not(:where(.l3b-page-claire .l-main *)) { --color-l3b-creme: #FFF5DF; --l3b-creme: #FFF5DF; color: #241433; }
html.l3b-halloween .l3b-accueil-partenaires :is(h1, h2, h3, h4, h5, h6, .w-text):not(:where(.l3b-page-claire .l-main *)) { color: #4C1D95 !important; }
