/* Palette commune Dzidziguri : graphite profond, contraste net, bleu réservé aux actions. */
:root {
  color-scheme: dark;
  --porcelain: #121315;
  --porcelain-2: #1a1c20;
  --paper: #20242a;
  --canvas: #121315;
  --ink: #f7f8fa;
  --ink-2: #1a1c20;
  --ink-3: #242831;
  --text: #f7f8fa;
  --muted: #c5c9cf;
  --soft: #9ca5b0;
  --muted-dark: #c5c9cf;
  --soft-dark: #9ca5b0;
  --cobalt: #75b9ff;
  --cobalt-2: #9acbff;
  --cobalt-glow: #9acbff;
  --blue: #9acbff;
  --line: rgba(255, 255, 255, 0.14);
  --line-2: rgba(255, 255, 255, 0.24);
  --line-dark: rgba(255, 255, 255, 0.14);
  --line-dark-2: rgba(255, 255, 255, 0.24);
}

html,
body {
  background: var(--porcelain);
  color: var(--text);
}

a:hover { color: #fff; }

/* La barre de navigation reste une surface sombre continue. */
.nav,
.nav.scrolled {
  background: rgba(18, 19, 21, 0.9);
  border-bottom-color: var(--line);
}

.nav .wordmark,
.nav.scrolled .wordmark,
.brand,
.back { color: #fff; }

.back:hover { background: rgba(255, 255, 255, 0.1); }

/* Le Journal reste dans le même univers graphite que l'accueil. */
.subhero {
  background: #15171b;
  color: #fff;
  border-bottom: 1px solid var(--line);
}

.subhero h1 { color: #fff; }
.subhero p.lead { color: var(--muted); }

.nav .btn-primary,
.nav:not(.scrolled) .btn-primary,
.nav.scrolled .btn-primary {
  background: #fff;
  color: #121315;
}

.nav .btn-primary:hover,
.nav:not(.scrolled) .btn-primary:hover,
.nav.scrolled .btn-primary:hover {
  background: var(--cobalt-glow);
  color: #121315;
}

.post-card {
  background: var(--paper);
  border-color: var(--line);
}

.post-card h3 { color: #fff; }
.post-card p { color: var(--muted); }

/* Les sections, la FAQ et le pied de page parlent la même langue visuelle. */
.impact,
.foot { background: var(--porcelain-2); }

.foot { color: var(--muted); }
.foot-brand .wordmark { color: #fff; }
.foot-desc,
.foot-legal,
.foot-col a,
.foot-bottom { color: var(--muted); }
.foot-legal strong { color: #fff; }
.foot-legal a { color: var(--cobalt-glow); }
.foot-col h2 { color: var(--soft); }
.foot-legal a:hover,
.foot-col a:hover { color: #fff; }

#faq .faq-item,
body .card { background: var(--paper); border-color: var(--line); box-shadow: none; }

#faq .faq-item summary::after {
  color: var(--cobalt-glow);
  background: rgba(117, 185, 255, 0.12);
}

/* Pages de contenu et documents légaux. */
body p,
body li,
body .intro,
body .data,
body .fine,
body .footer { color: var(--muted); }

body .data { background: #17191d; }
body .data strong { color: #fff; }
body .footer a { color: var(--cobalt-glow); }
body table[style] { color: var(--muted) !important; }

@media (prefers-reduced-transparency: reduce) {
  .nav,
  .nav.scrolled,
  body .card { background: #1a1c20; backdrop-filter: none; -webkit-backdrop-filter: none; }
}

@media (prefers-contrast: more) {
  :root { --line: rgba(255, 255, 255, 0.48); }
}
