/* ═══════════════════════════════════════════════════════════════
   Le Cœur de l'Être — CHARTE COMMUNE (2026-10-11)
   Polices : EB Garamond (titres) + Montserrat (texte, ≥ 400)
   Thèmes : sombre (défaut) · clair « solaire » — html[data-theme="light"]
   Choix mémorisé pour tout le site : localStorage "lcde-a11y" {theme, size}
   ═══════════════════════════════════════════════════════════════ */

html {
  --lc-serif: "EB Garamond", Garamond, Georgia, serif;
  --lc-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --lc-bg: #07060b; --lc-bg-2: #0d0a15; --lc-surface: rgba(255,255,255,.04); --lc-surface-2: rgba(255,255,255,.07);
  --lc-text: #f4effb; --lc-text-2: #d2c9e3; --lc-text-3: #a99fbe;
  --lc-gold: #e8b84b; --lc-gold-2: #f6d684; --lc-gold-3: #c9a227;
  --lc-violet: #9d4edd; --lc-violet-2: #c08af2;
  --lc-line: rgba(232,184,75,.22); --lc-line-soft: rgba(244,239,251,.1);
  --lc-on-gold: #140d02; --lc-focus: #f6d684;
  --lc-btn: linear-gradient(135deg, #f6d684, #e8b84b 55%, #c9a227);
  --lc-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='6' cy='6' r='5' fill='%23e8b84b' stroke='%2307060b' stroke-width='1.6'/%3E%3C/svg%3E") 6 6, auto;
  --lc-cursor-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='8' cy='8' r='7' fill='%23f6d684' stroke='%239d4edd' stroke-width='2'/%3E%3Ccircle cx='8' cy='8' r='2' fill='%2307060b'/%3E%3C/svg%3E") 8 8, pointer;
  color-scheme: dark;
}
html[data-theme="light"] {
  --lc-bg: #fffaf2; --lc-bg-2: #f5ecff; --lc-surface: #ffffff; --lc-surface-2: #fbf4ff;
  --lc-text: #1e0b30; --lc-text-2: #3d2456; --lc-text-3: #5b4473;
  --lc-gold: #8f5b00; --lc-gold-2: #7a4c00; --lc-gold-3: #b37a00;
  --lc-violet: #7a2fc4; --lc-violet-2: #8d2fd6;
  --lc-line: rgba(143,91,0,.32); --lc-line-soft: rgba(122,47,196,.16);
  --lc-on-gold: #1e0b30; --lc-focus: #6b2d8b;
  --lc-btn: linear-gradient(135deg, #ffe08a, #f2b632 50%, #d68a00);
  --lc-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='6' cy='6' r='5' fill='%236b2d8b' stroke='%23fffaf0' stroke-width='1.6'/%3E%3C/svg%3E") 6 6, auto;
  --lc-cursor-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='8' cy='8' r='7' fill='%238a5d0c' stroke='%23fffaf0' stroke-width='2'/%3E%3Ccircle cx='8' cy='8' r='2' fill='%23fffaf0'/%3E%3C/svg%3E") 8 8, pointer;
  color-scheme: light;

  /* Anciennes variables des pages (palette « cosmique ») retournées pour le clair */
  --black: #fffaf2; --black-soft: #f5ecff;
  --white-pearl: #1e0b30; --white-dim: #3d2456; --white-ghost: rgba(122,47,196,.06);
  --gold-deep: #8f5b00; --gold-mid: #8f5b00; --gold-light: #7a4c00; --gold-pale: #6f4a06;
  --violet-light: #7a2fc4; --violet-glow: #8d2fd6;
}

/* Zoom malvoyants (bouton loupe) : 125 % */
html.lc-zoom { font-size: 125% !important; }

/* Barre de défilement au thème */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--lc-bg); }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--lc-violet), var(--lc-gold)); border: 3px solid var(--lc-bg); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, var(--lc-violet-2), var(--lc-gold-2)); border-width: 2px; }
::-webkit-scrollbar-corner { background: var(--lc-bg); }
@supports (-moz-appearance: none) { html { scrollbar-color: var(--lc-gold) var(--lc-bg); scrollbar-width: thin; } }

/* Curseur au thème (le vrai pointeur reste visible et précis) */
body { cursor: var(--lc-cursor); }
a, button, [role="button"], [role="switch"], summary, label[for], select { cursor: var(--lc-cursor-hand); }
input, textarea, [contenteditable] { cursor: text; }

::selection { background: var(--lc-gold); color: var(--lc-on-gold); }
html[data-theme="light"] ::selection { background: #7a2fc4; color: #fff; }
:focus-visible { outline: 3px solid var(--lc-focus); outline-offset: 3px; }

/* Transition douce au changement de thème */
html.lc-theming, html.lc-theming * { transition: background-color .5s ease, color .5s ease, border-color .5s ease !important; }

/* ───────── Marque (logo dragon + nom) ───────── */
.lc-brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; color: var(--lc-text); min-height: 44px; }
.lc-brand img { width: 46px; height: auto; flex: none; filter: drop-shadow(0 4px 14px rgba(157,78,221,.45)); transition: transform .8s cubic-bezier(.22,1,.36,1); }
.lc-brand:hover img { transform: rotate(-8deg) scale(1.06); }
.lc-brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.lc-brand-name { font-family: var(--lc-serif); font-size: 1.3rem; font-weight: 500; letter-spacing: .01em; }
.lc-brand-sub { font-family: var(--lc-sans); font-size: .75rem; letter-spacing: .24em; text-transform: uppercase; color: var(--lc-text-3); }
@media (max-width: 480px) { .lc-brand-sub { display: none; } .lc-brand img { width: 40px; } }

/* ───────── Boutons thème + zoom ───────── */
.lc-tools { display: inline-flex; align-items: center; gap: .45rem; }
.lc-tool {
  display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0;
  border-radius: 50%; border: 1px solid var(--lc-line-soft); background: var(--lc-surface); font-family: inherit;
  color: var(--lc-text); transition: border-color .3s, color .3s, background-color .3s;
}
.lc-tool:hover { border-color: var(--lc-gold); color: var(--lc-gold); }
.lc-tool svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.lc-tool .lc-i-moon, .lc-tool .lc-z-minus { display: none; }
html[data-theme="light"] .lc-tool .lc-i-sun { display: none; }
html[data-theme="light"] .lc-tool .lc-i-moon { display: block; }
.lc-tool[aria-pressed="true"] { background: var(--lc-gold); border-color: var(--lc-gold); color: var(--lc-on-gold); }
.lc-tool[aria-pressed="true"] .lc-z-plus { display: none; }
.lc-tool[aria-pressed="true"] .lc-z-minus { display: block; }

/* ───────── Pied de page commun ───────── */
.lc-footer { border-top: 1px solid var(--lc-line-soft); padding: 2.5rem 1.25rem 2rem; text-align: center; font-family: var(--lc-sans); font-size: .95rem; color: var(--lc-text-3); background: var(--lc-bg-2); }
.lc-footer .lc-brand { justify-content: center; margin-bottom: .8rem; }
.lc-footer p { margin: .35rem 0; }
.lc-footer a { color: var(--lc-text-2); text-decoration: underline; text-underline-offset: .2em; display: inline-block; padding: .3rem 0; }
.lc-footer a:hover { color: var(--lc-gold); }
.lc-footer a.lc-brand { display: inline-flex; text-decoration: none; padding: 0; }
.lc-footer-sign { font-family: var(--lc-serif); font-style: italic; color: var(--lc-gold) !important; font-size: 1.05rem; }

@media (prefers-reduced-motion: reduce) { .lc-brand img { transition: none; } }
