/* ==========================================================================
   REVIVRE — mode sombre. Actif quand <html data-theme="dark"> (posé avant l'affichage).
   Les couleurs du mode clair restent celles des Réglages du site d'Elementor ; le mode sombre
   remplace les jetons du thème et les couleurs globales d'Elementor par une palette sombre
   lisible (contraste ≥ 4,5:1).
   ========================================================================== */
html.rv-theme-anim, html.rv-theme-anim *, html.rv-theme-anim *::before, html.rv-theme-anim *::after {
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, fill .25s ease, box-shadow .25s ease !important;
}
@media (prefers-reduced-motion: reduce) { html.rv-theme-anim, html.rv-theme-anim * { transition: none !important; } }

html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="dark"] body {
	--rv-nuit: #EEF2FA;
	--rv-action: #7C9CFF;
	--rv-btn: #3563F5;
	--rv-btn-h: #4A74FF;
	--rv-txt: #D8DFEC;
	--rv-sec: #9BA7BE;
	--rv-fond: #0F1523;
	--rv-surf: #172033;
	--rv-bord: #2B3752;
	--rv-pale: #1E2C4D;
	--rv-action-h: #9DB4FF;
	--rv-ok: #3DC08A;
	--rv-okp: #143028;
	--rv-warn: #E0A040;
	--rv-warnp: #3B301B;
	--rv-err: #E58C8C;
	--rv-errp: #3B1B1B;
	--rv-hero1: #101B33;
	--rv-hero2: #1E3A8A;
	--rv-sh: 0 1px 2px rgba(0, 0, 0, .35), 0 6px 20px rgba(0, 0, 0, .28);
	--rv-lock-bg: #1F2534;
	--rv-lock-fg: #8F98AA;
	/* Couleurs globales d'Elementor utilisées dans les widgets. */
	--e-global-color-primary: #EEF2FA;
	--e-global-color-secondary: #9BA7BE;
	--e-global-color-text: #D8DFEC;
	--e-global-color-accent: #7C9CFF;
	--e-global-color-rvfond: #0F1523;
	--e-global-color-rvsurf: #172033;
	--e-global-color-rvbord: #2B3752;
	--e-global-color-rvpale: #1E2C4D;
	--e-global-color-rvactionh: #9DB4FF;
	--e-global-color-rvok: #3DC08A;
	--e-global-color-rvokp: #143028;
	--e-global-color-rvwarn: #E0A040;
	--e-global-color-rvwarnp: #3B301B;
	--e-global-color-rverr: #E58C8C;
	--e-global-color-rverrp: #3B1B1B;
	--e-global-color-rvhero1: #101B33;
	--e-global-color-rvhero2: #1E3A8A;
	background: var(--rv-fond);
	color: var(--rv-txt);
}
html[data-theme="dark"] .rv-skip { background: var(--rv-surf); }
html[data-theme="dark"] .rv-btn--light { background: var(--rv-surf); color: var(--rv-nuit); }
html[data-theme="dark"] .rv-note { border-color: #71603D; }
html[data-theme="dark"] .rv-note--ok { border-color: #3F6551; }
html[data-theme="dark"] .rv-note--err { border-color: #6B3A3A; }
html[data-theme="dark"] img:not([src$=".svg"]) { filter: none; }

/* Bouton de bascule clair / sombre (widget « Bouton clair / sombre ») */
.rv-thm { box-sizing: border-box; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--rv-bord); background: var(--rv-surf); color: var(--rv-nuit); display: inline-grid; place-items: center; cursor: pointer; flex: none; padding: 0; margin: 0; font-size: 20px; line-height: 0; transition: border-color var(--rv-t), color var(--rv-t); }
.rv-thm:hover { border-color: var(--rv-action); color: var(--rv-action); background: var(--rv-surf); }
.rv-thm:focus-visible { outline: 3px solid var(--rv-action); outline-offset: 2px; }
.rv-thm .rv-thm__s { display: none; }
html[data-theme="dark"] .rv-thm .rv-thm__s { display: block; }
html[data-theme="dark"] .rv-thm .rv-thm__m { display: none; }
.rv-thm svg { width: 1em; height: 1em; }
