/* ==========================================================================
   PdR – Thème clair / sombre
   Palette tirée des visuels « Poussière de Rêves » : bleu nuit étoilé et
   ivoire du renard. Chaque mode prend le fond de l'autre comme couleur
   d'accent : nuit sur parchemin, parchemin sur nuit.

   Principe : on redéfinit les 9 couleurs globales d'Astra (dont dépendent le
   thème ET les widgets Elementor « globals/colors?id=astglobalcolorN »), puis
   on corrige à la main les quelques couleurs écrites en dur (CSS additionnel,
   pages Elementor, pdr-blog-tweaks, plugins).

   Sélecteur « html[data-pdr-theme] » (0,1,1) : passe devant le « :root »
   (0,1,0) qu'Astra imprime en ligne, sans !important.
   ========================================================================== */

/* ---------- Jetons de marque (identiques dans les deux modes) ---------- */
html[data-pdr-theme] {
	--pdr-nuit:          #0b1428;   /* fond du mode sombre = accent du clair */
	--pdr-nuit-2:        #14223f;
	--pdr-nuit-3:        #1d2e55;
	--pdr-parchemin:     #f7f1e4;   /* fond du mode clair = accent du sombre */
	--pdr-ivoire:        #f5edde;
	--pdr-erreur:        #e2553a;   /* messages d'erreur uniquement */
}

/* ---------- Mode clair : parchemin, encre de nuit, or vieilli ---------- */
html[data-pdr-theme="light"] {
	color-scheme: light;

	--pdr-bg:         #f7f1e4;   /* fond de page */
	--pdr-surface:    #fffbf3;   /* cartes, champs, menus */
	--pdr-surface-2:  #efe5cf;   /* fonds discrets, onglets */
	--pdr-line:       #e2d4b6;   /* bordures */
	--pdr-heading:    #0d1830;
	--pdr-text:       #333b58;
	--pdr-muted:      #636a82;
	--pdr-accent:     var(--pdr-nuit);   /* liens survolés, élément actif */
	--pdr-deco:       var(--pdr-nuit);   /* filets, étoiles, onglet actif */
	--pdr-btn-bg:     var(--pdr-nuit);
	--pdr-btn-fg:     var(--pdr-parchemin);
	--pdr-btn-bg-h:   #1d2e55;
	--pdr-btn-fg-h:   var(--pdr-parchemin);
	--pdr-badge-bg:   var(--pdr-nuit);
	--pdr-badge-fg:   var(--pdr-parchemin);
	--pdr-shadow:     rgba(13, 24, 48, .10);
	--pdr-shadow-2:   rgba(13, 24, 48, .18);

	/* Astra */
	--ast-global-color-0: #0b1428;   /* boutons, couleur du thème */
	--ast-global-color-1: #1d2e55;   /* survol */
	--ast-global-color-2: #0d1830;   /* titres, liens */
	--ast-global-color-3: #333b58;   /* texte */
	--ast-global-color-4: #f7f1e4;   /* fond du site */
	--ast-global-color-5: #f7f1e4;   /* fond du contenu */
	--ast-global-color-6: #efe5cf;   /* fond discret */
	--ast-global-color-7: #0d1830;   /* fond sombre / voiles d'image */
	--ast-global-color-8: #0a1224;
}

/* ---------- Mode sombre : la nuit des affiches ---------- */
html[data-pdr-theme="dark"] {
	color-scheme: dark;

	--pdr-bg:         #0b1428;
	--pdr-surface:    #111d38;
	--pdr-surface-2:  #18284a;
	--pdr-line:       #2a3b64;
	--pdr-heading:    #f5edde;
	--pdr-text:       #d8d2c4;
	--pdr-muted:      #a2a8bc;
	--pdr-accent:     var(--pdr-parchemin);
	--pdr-deco:       var(--pdr-parchemin);
	--pdr-btn-bg:     var(--pdr-parchemin);
	--pdr-btn-fg:     var(--pdr-nuit);
	--pdr-btn-bg-h:   #e3d8c2;
	--pdr-btn-fg-h:   var(--pdr-nuit);
	--pdr-badge-bg:   var(--pdr-parchemin);
	--pdr-badge-fg:   var(--pdr-nuit);
	--pdr-shadow:     rgba(0, 0, 0, .35);
	--pdr-shadow-2:   rgba(0, 0, 0, .5);

	--ast-global-color-0: #f7f1e4;
	--ast-global-color-1: #e3d8c2;
	--ast-global-color-2: #f5edde;
	--ast-global-color-3: #d8d2c4;
	--ast-global-color-4: #0b1428;
	--ast-global-color-5: #0b1428;
	--ast-global-color-6: #18284a;
	--ast-global-color-7: #0d1830;
	--ast-global-color-8: #070d1c;
}

/* Les copies Elementor des couleurs Astra, et les globales du kit Elementor. */
html[data-pdr-theme],
html[data-pdr-theme] body {
	--e-global-color-astglobalcolor0: var(--ast-global-color-0);
	--e-global-color-astglobalcolor1: var(--ast-global-color-1);
	--e-global-color-astglobalcolor2: var(--ast-global-color-2);
	--e-global-color-astglobalcolor3: var(--ast-global-color-3);
	--e-global-color-astglobalcolor4: var(--ast-global-color-4);
	--e-global-color-astglobalcolor5: var(--ast-global-color-5);
	--e-global-color-astglobalcolor6: var(--ast-global-color-6);
	--e-global-color-astglobalcolor7: var(--ast-global-color-7);
	--e-global-color-astglobalcolor8: var(--ast-global-color-8);
	--e-global-color-primary:   var(--pdr-heading);
	--e-global-color-secondary: var(--pdr-muted);
	--e-global-color-text:      var(--pdr-text);
	--e-global-color-accent:    var(--pdr-accent);

	/* Variables du CSS additionnel [PDR-EVENTS] : le vert devient or / nuit. */
	--pdr-green:      var(--pdr-accent);
	--pdr-green-dark: var(--pdr-heading);
	--pdr-green-tint: var(--pdr-surface-2);
	--pdr-cream:      var(--pdr-surface-2);
	--pdr-ink:        var(--pdr-heading);
	--pdr-slate:      var(--pdr-text);

	/* Champs Astra / WooCommerce */
	--ast-border-color: var(--pdr-line);
	--ast-comment-inputs-background: var(--pdr-surface);
	--ast-form-input-text: var(--pdr-text);
	--ast-form-input-focus-color: var(--pdr-deco);
}

/* Le fond est porté par <html> : <body> et les conteneurs de page restent
   transparents pour laisser voir le décor (.pdr-decor, z-index -1). */
html[data-pdr-theme] {
	background-color: var(--pdr-bg);
}

html[data-pdr-theme] body {
	background-color: transparent;
	color: var(--pdr-text);
}

/* ==========================================================================
   Décor de fond : ciel étoilé + coquelicot (bas gauche) et rameau (bas droite)
   Images SVG déjà colorées, une version par mode (img/light, img/dark, cf.
   App/scripts/pdr-theme-mode-colorize.py), en simples images de fond : bien
   moins coûteux à afficher que des masques CSS, surtout pour les calques animés.
   ========================================================================== */
html[data-pdr-theme="light"] {
	--pdr-i-sky-stars:        url(img/light/sky-stars.svg?v=3);
	--pdr-i-flora-left:       url(img/light/flora-left.svg?v=3);
	--pdr-i-flora-right:      url(img/light/flora-right.svg?v=3);
	--pdr-i-winter-left:      url(img/light/winter-left.svg?v=3);
	--pdr-i-winter-right:     url(img/light/winter-right.svg?v=3);
	--pdr-i-snow-a:           url(img/light/snow-a.svg?v=3);
	--pdr-i-snow-b:           url(img/light/snow-b.svg?v=3);
	--pdr-i-spooky-left:      url(img/light/spooky-left.svg?v=3);
	--pdr-i-spooky-right:     url(img/light/spooky-right.svg?v=3);
	--pdr-i-spooky-moon:      url(img/light/spooky-moon.svg?v=3);
	--pdr-i-spooky-glow:      url(img/light/spooky-glow.svg?v=3);
	--pdr-i-spooky-glow-left: url(img/light/spooky-glow-left.svg?v=3);
	--pdr-i-mist:             url(img/light/mist.svg?v=3);
	--pdr-i-embers:           url(img/light/embers.svg?v=3);
}

html[data-pdr-theme="dark"] {
	--pdr-i-sky-stars:        url(img/dark/sky-stars.svg?v=3);
	--pdr-i-flora-left:       url(img/dark/flora-left.svg?v=3);
	--pdr-i-flora-right:      url(img/dark/flora-right.svg?v=3);
	--pdr-i-winter-left:      url(img/dark/winter-left.svg?v=3);
	--pdr-i-winter-right:     url(img/dark/winter-right.svg?v=3);
	--pdr-i-snow-a:           url(img/dark/snow-a.svg?v=3);
	--pdr-i-snow-b:           url(img/dark/snow-b.svg?v=3);
	--pdr-i-spooky-left:      url(img/dark/spooky-left.svg?v=3);
	--pdr-i-spooky-right:     url(img/dark/spooky-right.svg?v=3);
	--pdr-i-spooky-moon:      url(img/dark/spooky-moon.svg?v=3);
	--pdr-i-spooky-glow:      url(img/dark/spooky-glow.svg?v=3);
	--pdr-i-spooky-glow-left: url(img/dark/spooky-glow-left.svg?v=3);
	--pdr-i-mist:             url(img/dark/mist.svg?v=3);
	--pdr-i-embers:           url(img/dark/embers.svg?v=3);
}

/* Tant que la page charge, le décor n'existe pas : ni téléchargement d'images, ni
   calques, ni animations. theme-mode.js pose .pdr-decor-ready sur <html> après
   l'événement « load », quand le navigateur est libre ; le décor arrive en fondu. */
html:not(.pdr-decor-ready) .pdr-decor {
	display: none;
}

html.pdr-decor-ready .pdr-decor {
	animation: pdr-decor-in .9s ease-out both;
}

@keyframes pdr-decor-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.pdr-decor {
	/* hauteur des scènes d'Halloween, partagée par le trait et la lueur */
	--pdr-spooky-h: min(48vh, 500px, max(210px, calc((100vw - 1200px) * .9)));
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	overflow: hidden;
	contain: strict;   /* isole le décor : rien de ce qui s'y passe ne relance la mise en page */
}

.pdr-decor__stars,
.pdr-decor__flora {
	position: absolute;
	inset: 0;
}

.pdr-decor__stars {
	background: var(--pdr-i-sky-stars) 0 0 / 900px 900px repeat;
	opacity: var(--pdr-decor-stars, .14);
}

.pdr-decor__flora {
	background:
		var(--pdr-i-flora-left) left 0 bottom 0 / auto min(48vh, 520px) no-repeat,
		var(--pdr-i-flora-right) right 0 bottom 0 / auto min(42vh, 460px) no-repeat;
	opacity: var(--pdr-decor-flora, .16);
}

html[data-pdr-theme="light"] {
	--pdr-decor-stars: .13;
	--pdr-decor-flora: .14;
}

html[data-pdr-theme="dark"] {
	--pdr-decor-stars: .42;
	--pdr-decor-flora: .16;
}

/* Petits écrans : le contenu occupe toute la largeur, la flore se fait discrète. */
@media (max-width: 768px) {
	.pdr-decor__flora {
		background-size: auto 30vh, auto 26vh;
	}

	html[data-pdr-theme] {
		--pdr-decor-flora: .1;
	}
}

/* ---------- Mode Noël (data-pdr-season="noel", cf. Apparence → Mode Noël) ----------
   Le coquelicot et le rameau laissent place au renne + lapin en pull (bas gauche)
   et à la moufette + bonhomme de neige + ourson (bas droite), et la neige tombe. */
.pdr-decor__winter,
.pdr-decor__snow {
	display: none;
}

html[data-pdr-season="noel"] .pdr-decor__flora {
	display: none;
}

html[data-pdr-season="noel"] .pdr-decor__winter {
	display: block;
	position: absolute;
	inset: 0;
	/* Hauteur calée sur la marge à côté du contenu (1200 px) : les scènes
	   restent dans les côtés sur un écran moyen, s'épanouissent sur un grand. */
	--pdr-winter-h: min(44vh, 460px, max(200px, calc((100vw - 1200px) * .85)));
	background:
		var(--pdr-i-winter-left) left 0 bottom 0 / auto var(--pdr-winter-h) no-repeat,
		var(--pdr-i-winter-right) right 0 bottom 0 / auto var(--pdr-winter-h) no-repeat;
	opacity: var(--pdr-decor-winter, .2);
}

/* Neige : calque plus haut que l'écran d'une tuile, qui glisse d'une tuile puis
   recommence (raccord invisible). Seul transform est animé : le navigateur déplace
   une image déjà dessinée, sans rien redessiner. */
html[data-pdr-season="noel"] .pdr-decor__snow {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	will-change: transform;
	animation: pdr-snow-fall var(--pdr-snow-speed) linear infinite;
}

.pdr-decor__snow--near {
	--pdr-snow-tile: 600px;
	top: -600px;
	bottom: 0;
	background: var(--pdr-i-snow-a) 0 0 / 600px 600px repeat;
	opacity: var(--pdr-decor-snow-near, .45);
	--pdr-snow-speed: 38s;
}

.pdr-decor__snow--far {
	--pdr-snow-tile: 400px;
	top: -400px;
	bottom: 0;
	background: var(--pdr-i-snow-b) 120px 0 / 400px 400px repeat;
	opacity: var(--pdr-decor-snow-far, .4);
	--pdr-snow-speed: 55s;
}

@keyframes pdr-snow-fall {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(0, var(--pdr-snow-tile), 0); }
}

html[data-pdr-theme="light"] {
	--pdr-decor-winter: .2;
	--pdr-decor-snow-near: .16;
	--pdr-decor-snow-far: .14;
}

html[data-pdr-theme="dark"] {
	--pdr-decor-winter: .22;
	--pdr-decor-snow-near: .55;
	--pdr-decor-snow-far: .45;
}

@media (max-width: 768px) {
	html[data-pdr-season="noel"] .pdr-decor__winter {
		--pdr-winter-h: 24vh;
	}

	html[data-pdr-theme] {
		--pdr-decor-winter: .14;
	}
}

/* ---------- Halloween (data-pdr-season="halloween") ----------
   Conte gothique, tout en trait fin : arbre et corbeau + réverbère tordu
   (bas gauche), maison de guingois, grille et citrouilles (bas droite), lune
   en croissant dans la marge haute, brume qui dérive, poussières qui montent. */
.pdr-decor__spooky,
.pdr-decor__glow,
.pdr-decor__moon,
.pdr-decor__mist,
.pdr-decor__embers {
	display: none;
}

html[data-pdr-season="halloween"] .pdr-decor__flora {
	display: none;
}

html[data-pdr-season="halloween"] .pdr-decor__spooky {
	display: block;
	position: absolute;
	inset: 0;
	background:
		var(--pdr-i-spooky-left) left 0 bottom 0 / auto var(--pdr-spooky-h) no-repeat,
		var(--pdr-i-spooky-right) right 0 bottom 0 / auto var(--pdr-spooky-h) no-repeat;
	opacity: var(--pdr-decor-spooky, .2);
}

/* Lueur orange (lanterne du réverbère à gauche ; fenêtres allumées et citrouilles à
   droite) : mêmes cadres que les deux scènes. */
html[data-pdr-season="halloween"] .pdr-decor__glow {
	display: block;
	position: absolute;
	inset: 0;
	background:
		var(--pdr-i-spooky-glow-left) left 0 bottom 0 / auto var(--pdr-spooky-h) no-repeat,
		var(--pdr-i-spooky-glow) right 0 bottom 0 / auto var(--pdr-spooky-h) no-repeat;
	opacity: var(--pdr-decor-glow, .6);
}

/* Lune : seulement là où la marge droite est assez large pour l'accueillir,
   sous les bandeaux photo d'en-tête (≈ 370 px) et au-dessus de la maison. */
@media (min-width: 1500px) and (min-height: 950px) {
	html[data-pdr-season="halloween"] .pdr-decor__moon {
		display: block;
		position: absolute;
		top: 38vh;
		right: calc((100vw - 1200px) / 4 - 80px);
		width: 170px;
		height: 142px;
		background: var(--pdr-i-spooky-moon) center / contain no-repeat;
		opacity: var(--pdr-decor-moon, .4);
	}
}

/* Brume : bande au ras du sol, plus large d'une tuile, qui glisse vers la gauche. */
html[data-pdr-season="halloween"] .pdr-decor__mist {
	display: block;
	position: absolute;
	left: 0;
	bottom: -20px;
	width: calc(100% + 1200px);
	height: 240px;
	background: var(--pdr-i-mist) 0 0 / 1200px 240px repeat-x;
	opacity: var(--pdr-decor-mist, .14);
	will-change: transform;
	animation: pdr-mist-drift 120s linear infinite;
}

@keyframes pdr-mist-drift {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-1200px, 0, 0); }
}

/* Braises qui s'élèvent lentement (la tuile lointaine de la neige, à l'envers). */
html[data-pdr-season="halloween"] .pdr-decor__embers {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: -400px;
	background: var(--pdr-i-embers) 60px 0 / 400px 400px repeat;
	opacity: var(--pdr-decor-embers, .2);
	will-change: transform;
	animation: pdr-embers-rise 90s linear infinite;
}

@keyframes pdr-embers-rise {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(0, -400px, 0); }
}

html[data-pdr-theme="light"] {
	--pdr-decor-glow: .55;
	--pdr-decor-spooky: .22;
	--pdr-decor-moon: .3;
	--pdr-decor-mist: .1;
	--pdr-decor-embers: .1;
}

html[data-pdr-theme="dark"] {
	--pdr-decor-glow: .7;
	--pdr-decor-spooky: .24;
	--pdr-decor-moon: .5;
	--pdr-decor-mist: .16;
	--pdr-decor-embers: .3;
}

@media (max-width: 768px) {
	.pdr-decor {
		--pdr-spooky-h: 24vh;
	}

	html[data-pdr-theme] {
		--pdr-decor-spooky: .15;
		--pdr-decor-mist: .08;
	}
}

/* Accents d'interface : l'orange citrouille prend la place de l'accent (menu actif,
   survols, pastilles, onglet actif, cœurs, icônes). Les boutons gardent nuit /
   parchemin : seul leur survol s'allume. Orange « texte » choisi pour le contraste
   (4,7:1 sur parchemin, 6,8:1 sur nuit) ; l'orange « lueur » ne sert qu'au décor. */
html[data-pdr-theme="light"][data-pdr-season="halloween"] {
	--pdr-orange:      #b24c14;
	--pdr-orange-glow: #e07a2e;
	--pdr-on-orange:   var(--pdr-parchemin);
}

html[data-pdr-theme="dark"][data-pdr-season="halloween"] {
	--pdr-orange:      #e8833a;
	--pdr-orange-glow: #ef8f3f;
	--pdr-on-orange:   var(--pdr-nuit);
}

html[data-pdr-theme][data-pdr-season="halloween"] {
	--pdr-accent:   var(--pdr-orange);
	--pdr-deco:     var(--pdr-orange);
	--pdr-btn-bg-h: var(--pdr-orange);
	--pdr-btn-fg-h: var(--pdr-on-orange);
	--pdr-badge-bg: var(--pdr-orange);
	--pdr-badge-fg: var(--pdr-on-orange);
	--ast-global-color-1: var(--pdr-orange);   /* survols Astra + icônes Elementor de l'accueil */
}

/* Mouvements réduits : neige, brume et poussières restent immobiles. */
@media (prefers-reduced-motion: reduce) {
	html[data-pdr-season="noel"] .pdr-decor__snow,
	html[data-pdr-season="halloween"] .pdr-decor__mist,
	html[data-pdr-season="halloween"] .pdr-decor__embers {
		animation: none;
	}
}

/* ?pdr_decor=off : page sans décor, pour comparer les performances. */
html[data-pdr-decor="off"] .pdr-decor {
	display: none;
}

@media print {
	.pdr-decor {
		display: none;
	}
}

/* Conteneurs de page opaques (fond = couleur globale 4/5) -> transparents. */
html[data-pdr-theme] #page,
html[data-pdr-theme] .site-content,
html[data-pdr-theme] .ast-separate-container,
html[data-pdr-theme] .ast-plain-container,
html[data-pdr-theme] .ast-page-builder-template .site-content > .ast-container,
html[data-pdr-theme] .ast-plain-container .site-content,
html[data-pdr-theme] .ast-separate-container .site-content,
html[data-pdr-theme] .ast-plain-container.ast-no-sidebar #primary,
html[data-pdr-theme] .elementor-page .elementor,
html[data-pdr-theme] .woocommerce .site-main,
html[data-pdr-theme] .ehf-footer #colophon,
html[data-pdr-theme] footer.site-footer {
	background-color: transparent;
}

html[data-pdr-theme] ::selection {
	background: var(--pdr-accent);
	color: var(--pdr-bg);
}

/* Transition douce, seulement pendant un changement de mode (classe posée par le JS). */
html.pdr-theme-switching,
html.pdr-theme-switching *,
html.pdr-theme-switching *::before,
html.pdr-theme-switching *::after {
	transition: background-color .35s ease, color .35s ease, border-color .35s ease, fill .35s ease !important;
}

/* ==========================================================================
   Bouton de bascule
   ========================================================================== */
.pdr-theme-toggle-wrap {
	display: flex;
	align-items: center;
	margin: 0 .35em;
}

.pdr-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	margin: 0;
	border-radius: 999px;
	border: 1px solid var(--pdr-line);
	background: transparent;
	color: var(--pdr-heading);
	cursor: pointer;
	line-height: 1;
	box-shadow: none;
}

.pdr-theme-toggle:hover,
.pdr-theme-toggle:focus-visible {
	background: var(--pdr-surface-2);
	color: var(--pdr-accent);
	border-color: var(--pdr-deco);
}

.pdr-theme-toggle:focus-visible {
	outline: 2px solid var(--pdr-deco);
	outline-offset: 2px;
}

.pdr-theme-toggle svg {
	width: 19px;
	height: 19px;
	fill: currentColor;
	stroke: currentColor;
}

/* Icônes : lune (Sombre), soleil (Clair), demi-disque (Selon l'appareil). */
.pdr-theme-icon--dark,
.pdr-theme-menu__icon--dark { stroke: none; }
.pdr-theme-icon--light,
.pdr-theme-menu__icon--light { fill: none; stroke-width: 1.8; stroke-linecap: round; }
.pdr-theme-icon--light circle,
.pdr-theme-menu__icon--light circle { fill: currentColor; stroke: none; }
.pdr-theme-icon--auto circle,
.pdr-theme-menu__icon--auto circle { fill: none; stroke-width: 1.8; }
.pdr-theme-icon--auto path,
.pdr-theme-menu__icon--auto path { stroke: none; }

/* Le bouton montre le choix en cours. */
.pdr-theme-icon { display: none; }
html:not([data-pdr-pref]) .pdr-theme-icon--dark,
html[data-pdr-pref="dark"] .pdr-theme-icon--dark,
html[data-pdr-pref="light"] .pdr-theme-icon--light,
html[data-pdr-pref="auto"] .pdr-theme-icon--auto {
	display: block;
}

/* Menu : Sombre · Clair · Selon l'appareil */
.pdr-theme-picker {
	position: relative;
	display: inline-flex;
}

.pdr-theme-menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 10000;
	min-width: 190px;
	padding: 6px;
	border: 1px solid var(--pdr-line);
	border-radius: 12px;
	background: var(--pdr-surface);
	box-shadow: 0 12px 32px var(--pdr-shadow-2);
}

.pdr-theme-menu[hidden] {
	display: none;
}

html[data-pdr-theme] .pdr-theme-menu [data-pref] {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 9px 12px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--pdr-heading);
	font: inherit;
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: none;
}

html[data-pdr-theme] .pdr-theme-menu [data-pref]:hover,
html[data-pdr-theme] .pdr-theme-menu [data-pref]:focus-visible {
	background: var(--pdr-surface-2);
	color: var(--pdr-heading);
	outline: none;
}

html[data-pdr-theme] .pdr-theme-menu [aria-checked="true"] {
	color: var(--pdr-accent);
	font-weight: 600;
}

/* coche du choix actif */
.pdr-theme-menu [data-pref]::after {
	content: "";
	margin-left: auto;
	width: 6px;
	height: 11px;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) translate(-2px, -2px);
	opacity: 0;
}

.pdr-theme-menu [aria-checked="true"]::after {
	opacity: 1;
}

.pdr-theme-menu__icon {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	fill: currentColor;
	stroke: currentColor;
}

.pdr-theme-picker--floating {
	position: fixed;
	left: 18px;
	bottom: 18px;
	z-index: 9990;
}

.pdr-theme-picker--floating .pdr-theme-toggle {
	background: var(--pdr-surface);
	box-shadow: 0 6px 18px var(--pdr-shadow-2);
}

.pdr-theme-picker--floating .pdr-theme-menu {
	top: auto;
	bottom: calc(100% + 8px);
	right: auto;
	left: 0;
}

/* ==========================================================================
   Entête Astra
   ========================================================================== */
html[data-pdr-theme] .ast-primary-header-bar,
html[data-pdr-theme] .main-header-bar,
html[data-pdr-theme] #ast-desktop-header .ast-primary-header-bar,
html[data-pdr-theme] .ast-mobile-header-wrap .ast-primary-header-bar,
html[data-pdr-theme] .ast-theme-transparent-header #masthead .ast-primary-header-bar,
html[data-pdr-theme] .ast-theme-transparent-header .main-header-bar {
	background-color: var(--pdr-bg);
	border-bottom-color: var(--pdr-line);
}

html[data-pdr-theme] .ast-builder-menu-1 .menu-item > .menu-link,
html[data-pdr-theme] .ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item > .menu-link,
html[data-pdr-theme] .ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item > .ast-menu-toggle,
html[data-pdr-theme] .ast-theme-transparent-header .main-header-menu .menu-item .sub-menu .menu-link {
	color: var(--pdr-heading);
}

html[data-pdr-theme] .ast-builder-menu-1 .menu-item:hover > .menu-link,
html[data-pdr-theme] .ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
html[data-pdr-theme] .ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item:hover > .menu-link,
html[data-pdr-theme] .ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item.current-menu-item > .menu-link,
html[data-pdr-theme] .ast-theme-transparent-header .main-header-menu .menu-item .sub-menu .menu-item:hover > .menu-link {
	color: var(--pdr-accent);
}

/* Accent = teinte du texte : l'élément de menu actif / survolé se souligne. */
html[data-pdr-theme] .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 7px;
}

html[data-pdr-theme] .ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link,
html[data-pdr-theme] .ast-builder-menu-1 .main-header-menu > .menu-item.current-menu-item > .menu-link,
html[data-pdr-theme] .ast-builder-menu-1 .main-header-menu > .menu-item.current-menu-ancestor > .menu-link {
	text-decoration-color: currentColor;
}

/* Sous-menus, tiroir mobile, compte, mini-panier */
html[data-pdr-theme] .main-header-menu .sub-menu,
html[data-pdr-theme] .ast-builder-menu-1 .sub-menu,
html[data-pdr-theme] .ast-theme-transparent-header .main-header-menu .menu-item .sub-menu,
html[data-pdr-theme] .ast-theme-transparent-header .main-header-menu .menu-item .sub-menu .menu-link,
html[data-pdr-theme] .ast-mobile-header-wrap .ast-mobile-header-content,
html[data-pdr-theme] .ast-mobile-header-content .main-header-menu,
html[data-pdr-theme] .ast-mobile-header-content .main-header-menu .sub-menu,
html[data-pdr-theme] .ast-header-break-point .main-header-menu,
html[data-pdr-theme] .ast-mobile-popup-drawer .ast-mobile-popup-inner,
html[data-pdr-theme] .ast-desktop-popup-content,
html[data-pdr-theme] .ast-header-account-wrap .ast-header-account-link-wrap .account-dropdown-menu,
html[data-pdr-theme] .ast-site-header-cart .widget_shopping_cart,
html[data-pdr-theme] #ast-site-header-cart .widget_shopping_cart,
html[data-pdr-theme] .astra-cart-drawer,
html[data-pdr-theme] .astra-cart-drawer .astra-cart-drawer-content {
	background-color: var(--pdr-surface);
	border-color: var(--pdr-line);
	color: var(--pdr-text);
}

html[data-pdr-theme] .main-header-menu .sub-menu .menu-item .menu-link,
html[data-pdr-theme] .ast-builder-menu-1 .sub-menu .menu-link,
html[data-pdr-theme] .ast-mobile-header-content .main-header-menu .menu-link,
html[data-pdr-theme] .ast-mobile-popup-drawer .main-header-menu .menu-link {
	color: var(--pdr-heading);
	border-color: var(--pdr-line);
}

html[data-pdr-theme] .ast-mobile-header-content .main-header-menu .menu-item:hover > .menu-link,
html[data-pdr-theme] .ast-mobile-header-content .main-header-menu .current-menu-item > .menu-link {
	color: var(--pdr-accent);
}

/* Entête transparent (accueil) : Astra y colore les sous-menus en #2b2f38 avec
   un sélecteur plus long que les nôtres ; on le reprend tel quel, préfixé. */
html[data-pdr-theme] .ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item .sub-menu .menu-item .menu-link,
html[data-pdr-theme] .ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item .sub-menu .menu-item > .ast-menu-toggle {
	color: var(--pdr-heading);
}

html[data-pdr-theme] .ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item .sub-menu .menu-link:hover,
html[data-pdr-theme] .ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item .sub-menu .menu-item:hover > .menu-link,
html[data-pdr-theme] .ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item .sub-menu .menu-item.current-menu-item > .menu-link {
	color: var(--pdr-accent);
}

/* Icônes de l'entête (cœur, sac, compte, burger, loupe) */
html[data-pdr-theme] .ast-header-woo-cart .ast-cart-menu-wrap,
html[data-pdr-theme] .ast-header-woo-cart .ast-woo-header-cart-info-wrap,
html[data-pdr-theme] .ast-header-woo-cart .ast-icon-shopping-bag svg,
html[data-pdr-theme] .ast-header-woo-cart .astra-icon,
html[data-pdr-theme] .ast-header-account .ast-header-account-type-icon,
html[data-pdr-theme] .ast-header-account svg,
html[data-pdr-theme] .ast-header-wishlist-counter,
html[data-pdr-theme] .ast-header-wishlist-counter a,
html[data-pdr-theme] .ast-header-wishlist-counter svg,
html[data-pdr-theme] .ast-mobile-menu-trigger-minimal,
html[data-pdr-theme] .ast-button-wrap .menu-toggle .ast-mobile-svg,
html[data-pdr-theme] .ast-header-search .astra-search-icon,
html[data-pdr-theme] .ast-header-search .ast-icon svg {
	color: var(--pdr-heading);
	fill: var(--pdr-heading);
}

html[data-pdr-theme] .ast-button-wrap .menu-toggle,
html[data-pdr-theme] .ast-button-wrap .menu-toggle.main-header-menu-toggle {
	background: transparent;
	color: var(--pdr-heading);
}

/* Pastille du nombre d'articles (panier, souhaits). Astra force le chiffre en #fff. */
html[data-pdr-theme] .ast-site-header-cart i.astra-icon::after,
html[data-pdr-theme] .ast-site-header-cart .ast-addon-cart-wrap i.astra-icon::after,
html[data-pdr-theme] body.ast-theme-transparent-header .ast-site-header-cart .ast-addon-cart-wrap i.astra-icon::after,
html[data-pdr-theme] .ast-site-header-cart .ast-addon-cart-wrap .ast-icon-shopping-cart::after,
html[data-pdr-theme] .ast-site-header-cart .ast-cart-menu-wrap .count,
html[data-pdr-theme] .ast-site-header-cart .ast-cart-menu-wrap .count::after,
html[data-pdr-theme] .ast-woocommerce-cart-menu .ast-cart-menu-wrap .count,
html[data-pdr-theme] .ast-header-woo-cart .ast-count-text,
html[data-pdr-theme] .wlfmc-counter-number,
html[data-pdr-theme] .wlfmc-counter-items .wlfmc-counter-number {
	background-color: var(--pdr-badge-bg);
	color: var(--pdr-badge-fg);
	border-color: var(--pdr-badge-bg);
}

/* Champ de recherche de l'entête (CSS additionnel : fond #fff en dur) */
html[data-pdr-theme] #ast-mobile-header .ast-search-menu-icon.slide-search .search-form input.search-field,
html[data-pdr-theme] .ast-search-menu-icon .search-form,
html[data-pdr-theme] .ast-search-menu-icon .search-field {
	background-color: var(--pdr-surface);
	border-color: var(--pdr-line);
	color: var(--pdr-text);
}

/* Logo (entête + pied de page, fichiers transparents) : l'encre gris-bleu
   d'origine convient au clair ; en sombre on la passe en parchemin
   (brightness(0) ramène au noir, invert remonte au clair, sepia réchauffe). */
html[data-pdr-theme="dark"] .custom-logo,
html[data-pdr-theme="dark"] img[src*="pdr-theme-mode/assets/img/logo-footer"] {
	filter: brightness(0) invert(.96) sepia(.25);
}

/* ==========================================================================
   Texte, liens, titres
   ========================================================================== */
html[data-pdr-theme] h1, html[data-pdr-theme] h2, html[data-pdr-theme] h3,
html[data-pdr-theme] h4, html[data-pdr-theme] h5, html[data-pdr-theme] h6,
html[data-pdr-theme] .entry-title,
html[data-pdr-theme] .entry-title a,
html[data-pdr-theme] .woocommerce-loop-product__title,
html[data-pdr-theme] .product_title {
	color: var(--pdr-heading);
}

html[data-pdr-theme] .entry-content a:not(.button):not(.wp-block-button__link):not(.elementor-button):hover,
html[data-pdr-theme] .entry-title a:hover,
html[data-pdr-theme] .woocommerce-breadcrumb a:hover,
html[data-pdr-theme] a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title {
	color: var(--pdr-accent);
}

html[data-pdr-theme] .woocommerce-breadcrumb,
html[data-pdr-theme] .woocommerce-breadcrumb a,
html[data-pdr-theme] .ast-woo-product-category,
html[data-pdr-theme] .woocommerce-result-count,
html[data-pdr-theme] .posted_in,
html[data-pdr-theme] .tagged_as,
html[data-pdr-theme] .entry-meta,
html[data-pdr-theme] .entry-meta a,
html[data-pdr-theme] .single-product .product_title .pdr-product-subtitle,
html[data-pdr-theme] .pdr-blog-intro__subtitle,
html[data-pdr-theme] .pdr-events-empty__text,
html[data-pdr-theme] .pdr-events-promo__loc {
	color: var(--pdr-muted);
}

html[data-pdr-theme] hr,
html[data-pdr-theme] .ast-separate-container .ast-article-single,
html[data-pdr-theme] .woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-color: var(--pdr-line);
}

html[data-pdr-theme] blockquote {
	border-left-color: var(--pdr-deco);
	color: var(--pdr-text);
}

/* ==========================================================================
   Boutons (Astra impose color:#fff en dur dans ses réglages)
   Astra vise aussi l'état :visited (« .elementor-widget-button .elementor-button:visited »),
   plus spécifique : sans les variantes :visited ci-dessous, un bouton vers une
   page déjà vue repasse en texte blanc.
   ========================================================================== */
html[data-pdr-theme] .elementor-widget-button .elementor-button,
html[data-pdr-theme] .elementor-widget-button .elementor-button:visited,
html[data-pdr-theme] .wp-block-button .wp-block-button__link:visited,
html[data-pdr-theme] a.button:visited,
html[data-pdr-theme] .woocommerce a.button:visited {
	color: var(--pdr-btn-fg);
}

html[data-pdr-theme] .elementor-widget-button .elementor-button:hover,
html[data-pdr-theme] .elementor-widget-button .elementor-button:focus,
html[data-pdr-theme] .elementor-widget-button .elementor-button:visited:hover {
	background-color: var(--pdr-btn-bg-h);
	border-color: var(--pdr-btn-bg-h);
	color: var(--pdr-btn-fg-h);
}

html[data-pdr-theme] .button,
html[data-pdr-theme] button.button,
html[data-pdr-theme] input[type="submit"],
html[data-pdr-theme] input[type="button"],
html[data-pdr-theme] .ast-button,
html[data-pdr-theme] .wp-block-button__link,
html[data-pdr-theme] .wp-element-button,
html[data-pdr-theme] .elementor-button,
html[data-pdr-theme] .woocommerce a.button,
html[data-pdr-theme] .woocommerce button.button,
html[data-pdr-theme] .woocommerce input.button,
html[data-pdr-theme] .woocommerce #respond input#submit,
html[data-pdr-theme] .woocommerce a.button.alt,
html[data-pdr-theme] .woocommerce button.button.alt,
html[data-pdr-theme] .woocommerce .single_add_to_cart_button,
html[data-pdr-theme] .woocommerce-js a.button,
html[data-pdr-theme] .woocommerce-js button.button,
html[data-pdr-theme] .woocommerce-js .single_add_to_cart_button {
	background-color: var(--pdr-btn-bg);
	border-color: var(--pdr-btn-bg);
	color: var(--pdr-btn-fg);
}

html[data-pdr-theme] .button:hover,
html[data-pdr-theme] button.button:hover,
html[data-pdr-theme] input[type="submit"]:hover,
html[data-pdr-theme] input[type="button"]:hover,
html[data-pdr-theme] .ast-button:hover,
html[data-pdr-theme] .wp-block-button__link:hover,
html[data-pdr-theme] .wp-element-button:hover,
html[data-pdr-theme] .elementor-button:hover,
html[data-pdr-theme] .woocommerce a.button:hover,
html[data-pdr-theme] .woocommerce button.button:hover,
html[data-pdr-theme] .woocommerce input.button:hover,
html[data-pdr-theme] .woocommerce #respond input#submit:hover,
html[data-pdr-theme] .woocommerce a.button.alt:hover,
html[data-pdr-theme] .woocommerce button.button.alt:hover,
html[data-pdr-theme] .woocommerce .single_add_to_cart_button:hover,
html[data-pdr-theme] .woocommerce-js a.button:hover,
html[data-pdr-theme] .woocommerce-js button.button:hover,
html[data-pdr-theme] .woocommerce-js .single_add_to_cart_button:hover {
	background-color: var(--pdr-btn-bg-h);
	border-color: var(--pdr-btn-bg-h);
	color: var(--pdr-btn-fg-h);
}

/* Bouton grisé (variation non choisie) : garder la teinte, juste estompée */
html[data-pdr-theme] .woocommerce .single_add_to_cart_button.disabled,
html[data-pdr-theme] .woocommerce button.button:disabled,
html[data-pdr-theme] .woocommerce button.button.disabled,
html[data-pdr-theme] .woocommerce-js .single_add_to_cart_button.disabled {
	background-color: var(--pdr-btn-bg);
	border-color: var(--pdr-btn-bg);
	color: var(--pdr-btn-fg);
	opacity: .55;
}

/* ==========================================================================
   Formulaires
   ========================================================================== */
html[data-pdr-theme] input[type="text"],
html[data-pdr-theme] input[type="email"],
html[data-pdr-theme] input[type="tel"],
html[data-pdr-theme] input[type="url"],
html[data-pdr-theme] input[type="password"],
html[data-pdr-theme] input[type="search"],
html[data-pdr-theme] input[type="number"],
html[data-pdr-theme] input[type="date"],
html[data-pdr-theme] textarea,
html[data-pdr-theme] select,
html[data-pdr-theme] .select2-container--default .select2-selection--single,
html[data-pdr-theme] .select2-dropdown,
html[data-pdr-theme] .woocommerce .quantity .qty {
	background-color: var(--pdr-surface);
	border-color: var(--pdr-line);
	color: var(--pdr-text);
}

html[data-pdr-theme] input::placeholder,
html[data-pdr-theme] textarea::placeholder {
	color: var(--pdr-muted);
	opacity: 1;
}

html[data-pdr-theme] input:focus,
html[data-pdr-theme] textarea:focus,
html[data-pdr-theme] select:focus {
	border-color: var(--pdr-deco);
	outline-color: var(--pdr-deco);
}

html[data-pdr-theme] .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--pdr-text);
}

html[data-pdr-theme] .select2-container--default .select2-results__option--highlighted[aria-selected],
html[data-pdr-theme] .select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: var(--pdr-nuit-3);
	color: var(--pdr-ivoire);
}

/* ==========================================================================
   WooCommerce
   ========================================================================== */
html[data-pdr-theme] .woocommerce ul.products li.product .price,
html[data-pdr-theme] .woocommerce div.product p.price,
html[data-pdr-theme] .woocommerce div.product span.price,
html[data-pdr-theme] .woocommerce-Price-amount {
	color: var(--pdr-heading);
}

/* « Rupture de stock » / « Promo » : pastille coquelicot */
html[data-pdr-theme] .ast-shop-product-out-of-stock,
html[data-pdr-theme] .woocommerce ul.products li.product .ast-shop-product-out-of-stock,
html[data-pdr-theme] .woocommerce span.onsale,
html[data-pdr-theme] .woocommerce-js span.onsale,
html[data-pdr-theme] .pdr-event-badge {
	background-color: var(--pdr-badge-bg);
	color: var(--pdr-badge-fg);
	border-color: var(--pdr-badge-bg);
}

html[data-pdr-theme] .woocommerce div.product .woocommerce-tabs ul.tabs li,
html[data-pdr-theme] .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	background: transparent;
	color: var(--pdr-muted);
	border-color: var(--pdr-line);
}

html[data-pdr-theme] .woocommerce div.product .woocommerce-tabs ul.tabs li.active,
html[data-pdr-theme] .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--pdr-heading);
	border-color: var(--pdr-deco);
}

html[data-pdr-theme] .woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
	background: var(--pdr-deco);
}

/* Pastilles de variations (variation-swatches-woo) */
html[data-pdr-theme] .cfvsw-swatches-option,
html[data-pdr-theme] .cfvsw-label-option {
	background-color: var(--pdr-surface);
	border-color: var(--pdr-line);
	color: var(--pdr-text);
}

html[data-pdr-theme] .cfvsw-swatches-option.cfvsw-selected-swatch,
html[data-pdr-theme] .cfvsw-swatches-option:hover {
	border-color: var(--pdr-deco);
	box-shadow: 0 0 0 1px var(--pdr-deco);
}

/* Tableaux : panier, commande, infos complémentaires, compte */
html[data-pdr-theme] table,
html[data-pdr-theme] table th,
html[data-pdr-theme] table td,
html[data-pdr-theme] .woocommerce table.shop_table,
html[data-pdr-theme] .woocommerce table.shop_table td,
html[data-pdr-theme] .woocommerce table.shop_table th,
html[data-pdr-theme] .woocommerce table.shop_attributes th,
html[data-pdr-theme] .woocommerce table.shop_attributes td {
	border-color: var(--pdr-line);
	color: var(--pdr-text);
}

html[data-pdr-theme] .woocommerce table.shop_attributes th,
html[data-pdr-theme] .woocommerce table.shop_table thead th {
	color: var(--pdr-heading);
}

html[data-pdr-theme] .woocommerce table.shop_attributes tr:nth-child(even) td,
html[data-pdr-theme] .woocommerce table.shop_attributes tr:nth-child(even) th {
	background: var(--pdr-surface-2);
}

html[data-pdr-theme] .woocommerce .cart-collaterals .cart_totals,
html[data-pdr-theme] .woocommerce-page .cart-collaterals .cart_totals,
html[data-pdr-theme] .woocommerce-checkout-review-order,
html[data-pdr-theme] #order_review,
html[data-pdr-theme] .woocommerce-checkout #payment,
html[data-pdr-theme] .woocommerce-checkout #payment div.payment_box,
html[data-pdr-theme] .woocommerce form.checkout_coupon,
html[data-pdr-theme] .woocommerce form.login,
html[data-pdr-theme] .woocommerce form.register,
html[data-pdr-theme] .woocommerce-MyAccount-navigation,
html[data-pdr-theme] .woocommerce-MyAccount-navigation ul li,
html[data-pdr-theme] .woocommerce-info,
html[data-pdr-theme] .woocommerce-message,
html[data-pdr-theme] .woocommerce-error,
html[data-pdr-theme] .woocommerce-noreviews,
html[data-pdr-theme] p.no-comments {
	background-color: var(--pdr-surface);
	border-color: var(--pdr-line);
	color: var(--pdr-text);
}

html[data-pdr-theme] .woocommerce-info,
html[data-pdr-theme] .woocommerce-message {
	border-top-color: var(--pdr-deco);
}

html[data-pdr-theme] .woocommerce-error {
	border-top-color: var(--pdr-erreur);
}

html[data-pdr-theme] .woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--pdr-surface);
}

/* Étoiles d'avis */
html[data-pdr-theme] .star-rating,
html[data-pdr-theme] .star-rating span::before,
html[data-pdr-theme] .woocommerce p.stars a,
html[data-pdr-theme] .cr-rating-icon-frg,
html[data-pdr-theme] .crstar-rating span::before {
	color: var(--pdr-deco);
}

/* Avis CusRev */
html[data-pdr-theme] .cr-all-reviews-shortcode .cr-review-form-wrap,
html[data-pdr-theme] .cr-reviews-grid .cr-review-card,
html[data-pdr-theme] #reviews .cr-summaryBox-wrap,
html[data-pdr-theme] .cr-summaryBox-wrap {
	background-color: var(--pdr-surface);
	border-color: var(--pdr-line);
	color: var(--pdr-text);
}

/* Boutons de partage (product-share) : contour sur fond sombre */
html[data-pdr-theme] .product-share a,
html[data-pdr-theme] .wc-product-share a,
html[data-pdr-theme] [class*="product-share"] a {
	color: var(--pdr-text);
	border-color: var(--pdr-line);
}

/* Liste de souhaits : icône de l'entête et sa liste déroulante */
html[data-pdr-theme] .ast-header-wishlist-counter .wlfmc-counter-icon,
html[data-pdr-theme] .ast-header-wishlist-counter .wlfmc-counter-icon i {
	color: var(--pdr-heading) !important;
}

html[data-pdr-theme] .wlfmc-counter-dropdown,
html[data-pdr-theme] .wlfmc-counter-content {
	background-color: var(--pdr-surface) !important;
	border-color: var(--pdr-line) !important;
	color: var(--pdr-text) !important;
}

/* Cœur de la liste de souhaits (orange rgb(230,126,34) imposé par le plugin).
   Posé sur les photos : un halo de la couleur du fond le garde lisible. */
html[data-pdr-theme] .wlfmc-single-btn .wlfmc-add-button > a i,
html[data-pdr-theme] .wlfmc-loop-btn .wlfmc-add-button > a i {
	color: var(--pdr-accent) !important;
	text-shadow: 0 0 4px var(--pdr-bg), 0 0 8px var(--pdr-bg);
}

html[data-pdr-theme] .wlfmc-single-btn .wlfmc-add-button > a:hover i,
html[data-pdr-theme] .wlfmc-loop-btn .wlfmc-add-button > a:hover i {
	color: var(--pdr-muted) !important;
}

/* Galerie produit : fond de la vignette (photos détourées sur transparent) */
html[data-pdr-theme="dark"] .woocommerce div.product div.images .woocommerce-product-gallery__image {
	background-color: var(--pdr-surface);
}

/* ==========================================================================
   Pages Elementor (couleurs écrites en dur dans les widgets)
   ========================================================================== */

/* Accueil : titre du hero et surtitre (vert bordé de vert clair) -> ivoire, sans contour */
html[data-pdr-theme] .elementor-3053 .elementor-element-378b89c .elementor-heading-title,
html[data-pdr-theme] .elementor-3053 .elementor-element-acaf404 .elementor-heading-title {
	color: var(--pdr-ivoire);
	-webkit-text-stroke-width: 0;
	stroke-width: 0;
	text-shadow: 0 2px 18px rgba(13, 24, 48, .55);
}

/* Accueil : « Tisser des mondes… » (icônes Elementor encadrées) */
html[data-pdr-theme] .elementor-3053 .elementor-icon-box-title,
html[data-pdr-theme] .elementor-3053 .elementor-icon-box-title a {
	color: var(--pdr-heading);
}

html[data-pdr-theme] .elementor-3053 .elementor-icon-box-description {
	color: var(--pdr-muted);
}

html[data-pdr-theme] .elementor-3053 .elementor-view-default .elementor-icon,
html[data-pdr-theme] .elementor-3053 .elementor-view-default .elementor-icon svg {
	color: var(--pdr-deco);
	fill: var(--pdr-deco);
}

/* Accueil : cartes « Veilleuses enchantées… » – voile de nuit au lieu du noir */
html[data-pdr-theme] .elementor-3053 .elementor-element-ab8827a,
html[data-pdr-theme] .elementor-3053 .elementor-element-69da69e,
html[data-pdr-theme] .elementor-3053 .elementor-element-1cc6501 {
	background-color: rgba(13, 24, 48, .72);
}

html[data-pdr-theme] .elementor-3053 .elementor-element-ab8827a .elementor-image-box-title,
html[data-pdr-theme] .elementor-3053 .elementor-element-69da69e .elementor-image-box-title,
html[data-pdr-theme] .elementor-3053 .elementor-element-1cc6501 .elementor-image-box-title {
	color: var(--pdr-ivoire);
	-webkit-text-stroke-width: 0;
}

html[data-pdr-theme] .elementor-3053 .elementor-element-ab8827a .elementor-image-box-description,
html[data-pdr-theme] .elementor-3053 .elementor-element-69da69e .elementor-image-box-description,
html[data-pdr-theme] .elementor-3053 .elementor-element-1cc6501 .elementor-image-box-description {
	color: var(--pdr-ivoire);
}

/* Cartes d'articles HFE (fond #F6F6F6 en dur) */
html[data-pdr-theme] .hfe-post-card,
html[data-pdr-theme] .elementor-3053 .elementor-element-3e3da10 .hfe-post-card {
	background-color: var(--pdr-surface);
}

html[data-pdr-theme] .hfe-post-card .hfe-post-title a,
html[data-pdr-theme] .hfe-post-card .hfe-post-title {
	color: var(--pdr-heading);
}

html[data-pdr-theme] .hfe-post-card .hfe-post-excerpt,
html[data-pdr-theme] .hfe-post-card .hfe-post-meta {
	color: var(--pdr-muted);
}

/* ==========================================================================
   Pied de page (Elementor 285)
   Elementor cible chaque widget par son id (0,4,0) : !important obligatoire.
   ========================================================================== */
html[data-pdr-theme] .elementor-285 {
	color: var(--pdr-text);
}

html[data-pdr-theme] .elementor-285 .elementor-element-f9c15b5 {
	border-color: var(--pdr-line) !important;
}

/* Barre du copyright (#F9F9F9 en dur) */
html[data-pdr-theme] .elementor-285 .elementor-element-89928d7:not(.elementor-motion-effects-element-type-background) {
	background-color: var(--pdr-surface-2) !important;
}

html[data-pdr-theme] .elementor-285 .hfe-copyright-wrapper,
html[data-pdr-theme] .elementor-285 .hfe-copyright-wrapper a,
html[data-pdr-theme] .elementor-285 .elementor-element-89928d7 .elementor-widget-container {
	color: var(--pdr-muted) !important;
}

html[data-pdr-theme] .elementor-285 .elementor-icon-list-text,
html[data-pdr-theme] .elementor-285 .elementor-widget-text-editor {
	color: var(--pdr-text) !important;
}

html[data-pdr-theme] .elementor-285 .elementor-icon-list-item:hover .elementor-icon-list-text {
	color: var(--pdr-accent) !important;
}

html[data-pdr-theme] .elementor-285 .elementor-heading-title {
	color: var(--pdr-heading) !important;
}

html[data-pdr-theme] .elementor-285 .elementor-social-icon {
	background-color: var(--pdr-btn-bg) !important;
}

html[data-pdr-theme] .elementor-285 .elementor-social-icon i {
	color: var(--pdr-btn-fg) !important;
}

html[data-pdr-theme] .elementor-285 .elementor-social-icon svg {
	fill: var(--pdr-btn-fg) !important;
}

html[data-pdr-theme] .elementor-285 .elementor-social-icon:hover {
	background-color: var(--pdr-btn-bg-h) !important;
}

html[data-pdr-theme] .elementor-285 .elementor-social-icon:hover i {
	color: var(--pdr-btn-fg-h) !important;
}

html[data-pdr-theme] .elementor-285 .elementor-social-icon:hover svg {
	fill: var(--pdr-btn-fg-h) !important;
}

/* Pied de page Astra (si jamais affiché) */
html[data-pdr-theme] .site-footer,
html[data-pdr-theme] .site-primary-footer-wrap,
html[data-pdr-theme] .site-below-footer-wrap {
	background-color: var(--pdr-bg);
	color: var(--pdr-text);
	border-color: var(--pdr-line);
}

/* ==========================================================================
   Évènements (CSS additionnel [PDR-EVENTS] : fonds #fff en dur)
   ========================================================================== */
html[data-pdr-theme] .post-type-archive-event article.event,
html[data-pdr-theme] .single-event #primary .site-main,
html[data-pdr-theme] .single-event #primary .ast-single-post-featured-section {
	background-color: var(--pdr-surface);
}

html[data-pdr-theme] .post-type-archive-event .vsel-meta-link a {
	background: transparent !important;
	color: var(--pdr-accent) !important;
	border-color: var(--pdr-deco) !important;
}

html[data-pdr-theme] .post-type-archive-event .vsel-meta-link a:hover {
	background: var(--pdr-btn-bg) !important;
	color: var(--pdr-btn-fg) !important;
	border-color: var(--pdr-btn-bg) !important;
}

html[data-pdr-theme] .vsel-meta-link a,
html[data-pdr-theme] .post-type-archive-event .read-more a {
	background: var(--pdr-btn-bg);
	color: var(--pdr-btn-fg) !important;
}

html[data-pdr-theme] .vsel-meta-link a:hover,
html[data-pdr-theme] .post-type-archive-event .read-more a:hover {
	background: var(--pdr-btn-bg-h);
	color: var(--pdr-btn-fg-h) !important;
}

html[data-pdr-theme] .single-event .vsel-meta {
	border-left-color: var(--pdr-deco);
}

/* ==========================================================================
   pdr-blog-tweaks (bandeaux, cartes catégories, blog, encarts)
   ========================================================================== */
html[data-pdr-theme] .pdr-banner {
	background-color: var(--pdr-nuit);
}

html[data-pdr-theme] .pdr-banner::before {
	background: linear-gradient(to bottom, rgba(13, 24, 48, .55), rgba(13, 24, 48, .40));
}

html[data-pdr-theme] .pdr-banner__title {
	color: var(--pdr-ivoire);
}

html[data-pdr-theme] .pdr-cats__card {
	background: var(--pdr-nuit-2);
	box-shadow: 0 4px 14px var(--pdr-shadow);
}

html[data-pdr-theme] .pdr-cats__card::after {
	background: linear-gradient(to top, rgba(13, 24, 48, .85), rgba(13, 24, 48, .25) 60%, rgba(13, 24, 48, .05));
}

html[data-pdr-theme] .pdr-cats__cta {
	background: var(--pdr-ivoire);
	color: var(--pdr-nuit);
}

html[data-pdr-theme] .pdr-cats__card:hover .pdr-cats__cta {
	background: var(--pdr-nuit);
	color: var(--pdr-ivoire);
}

html[data-pdr-theme] .pdr-blog-cats a {
	border-color: var(--pdr-line);
	color: var(--pdr-text);
}

html[data-pdr-theme] .pdr-blog-cats a:hover,
html[data-pdr-theme] .pdr-blog-cats a.is-active {
	background: var(--pdr-btn-bg);
	border-color: var(--pdr-btn-bg);
	color: var(--pdr-btn-fg);
}

html[data-pdr-theme] .pdr-events-empty__title,
html[data-pdr-theme] .pdr-events-promo__name {
	color: var(--pdr-heading);
}

html[data-pdr-theme] .pdr-events-empty__cta {
	background: var(--pdr-btn-bg);
	color: var(--pdr-btn-fg);
}

html[data-pdr-theme] .pdr-events-empty__cta:hover {
	background: var(--pdr-btn-bg-h);
	color: var(--pdr-btn-fg-h);
}

html[data-pdr-theme] .pdr-events-promo__date {
	color: var(--pdr-accent);
}

html[data-pdr-theme] .pdr-hero::before {
	background: linear-gradient(to top, rgba(13, 24, 48, .82), rgba(13, 24, 48, .25) 55%, rgba(13, 24, 48, .05));
}

/* Articles du blog : cartes Astra */
html[data-pdr-theme] .ast-separate-container .ast-article-post,
html[data-pdr-theme] .ast-separate-container .ast-article-single,
html[data-pdr-theme] .ast-separate-container .comments-area,
html[data-pdr-theme] .ast-separate-container .ast-author-box,
html[data-pdr-theme] .ast-separate-container .ast-related-posts-wrap,
html[data-pdr-theme] .ast-single-related-posts-container {
	background-color: var(--pdr-surface);
}

/* ==========================================================================
   Bandeau cookies (Complianz)
   ========================================================================== */
html[data-pdr-theme] .cmplz-cookiebanner {
	--cmplz_banner_background_color: var(--pdr-surface);
	--cmplz_banner_border_color: var(--pdr-line);
	--cmplz_text_color: var(--pdr-text);
	--cmplz_hyperlink_color: var(--pdr-accent);
	--cmplz_category_header_always_active_color: var(--pdr-accent);
	--cmplz_slider_active_color: var(--pdr-deco);
	--cmplz_button_accept_background_color: var(--pdr-btn-bg);
	--cmplz_button_accept_border_color: var(--pdr-btn-bg);
	--cmplz_button_accept_text_color: var(--pdr-btn-fg);
	--cmplz_button_deny_background_color: var(--pdr-surface-2);
	--cmplz_button_deny_border_color: var(--pdr-line);
	--cmplz_button_deny_text_color: var(--pdr-heading);
	--cmplz_button_settings_background_color: var(--pdr-surface-2);
	--cmplz_button_settings_border_color: var(--pdr-line);
	--cmplz_button_settings_text_color: var(--pdr-heading);
	background-color: var(--pdr-surface);
	color: var(--pdr-text);
	box-shadow: 0 12px 40px var(--pdr-shadow-2);
}

html[data-pdr-theme] .cmplz-cookiebanner .cmplz-title,
html[data-pdr-theme] .cmplz-cookiebanner .cmplz-message,
html[data-pdr-theme] .cmplz-cookiebanner .cmplz-category-title {
	color: var(--pdr-heading);
}

html[data-pdr-theme] .cmplz-cookiebanner .cmplz-close svg path {
	fill: var(--pdr-heading);
}

html[data-pdr-theme] .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background-color: var(--pdr-surface-2);
}

/* Bouton « haut de page » Astra */
html[data-pdr-theme] #ast-scroll-top {
	background-color: var(--pdr-btn-bg);
	color: var(--pdr-btn-fg);
}

html[data-pdr-theme] #ast-scroll-top:hover {
	background-color: var(--pdr-btn-bg-h);
	color: var(--pdr-btn-fg-h);
}
