/* Thème sombre CDR BFC — bascule clair/sombre.
   Même structure, mêmes contenus, mêmes photos. */

body.theme-sombre {
  --papier: #161718;
  --blanc: #f2f0e9;
  --encre: #f1f0eb;
  --encre-douce: #e7e6e0;
  --gris-lecture: #a9aaa6;
  --gris-pale: #80827e;
  --filet: #353738;
  --ardoise: #c3c9c6;
  --ardoise-fonce: #0e0f10;
  --gris-vert: #b6bcb8;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .28);
  --shadow-md: 0 18px 44px rgba(0, 0, 0, .4);
  color-scheme: dark;
  background: var(--papier);
  color: var(--encre);
}

body.theme-sombre .site-header {
  background: rgba(22, 23, 24, .94);
  border-bottom-color: var(--filet);
}

body.theme-sombre .site-header.is-scrolled {
  border-bottom-color: var(--filet);
  box-shadow: 0 8px 30px rgba(0, 0, 0, .35);
}

body.theme-sombre .brand__logo {
  filter: brightness(0) invert(1);
}

body.theme-sombre .nav__link {
  color: var(--encre-douce);
}

body.theme-sombre .nav__link:hover,
body.theme-sombre .nav__link[aria-current] {
  color: var(--ardoise);
}

body.theme-sombre .burger {
  background: #202223;
  border-color: var(--filet);
  color: var(--encre);
}

body.theme-sombre .skip-link {
  background: var(--gris-vert);
  color: var(--ardoise-fonce);
}

body.theme-sombre .btn--primary {
  background: var(--ardoise);
  border-color: var(--ardoise);
  color: var(--papier);
  box-shadow: none;
}

body.theme-sombre .btn--primary:hover {
  background: var(--encre);
  border-color: var(--encre);
  color: var(--papier);
}

body.theme-sombre .btn--ghost {
  background: transparent;
  border-color: var(--filet);
  color: var(--encre);
}

body.theme-sombre .btn--ghost:hover {
  background: var(--encre);
  border-color: var(--encre);
  color: var(--papier);
}

body.theme-sombre .btn--light {
  background: var(--encre);
  color: var(--papier);
}

body.theme-sombre .btn--outline-light {
  border-color: var(--encre);
  color: var(--encre);
}

body.theme-sombre .btn:focus-visible,
body.theme-sombre .nav__link:focus-visible {
  outline-color: var(--encre);
}

/* Surfaces */
body.theme-sombre .stats__card,
body.theme-sombre .card,
body.theme-sombre .news,
body.theme-sombre .form-card,
body.theme-sombre .sidebar__card,
body.theme-sombre .helloasso-card,
body.theme-sombre .action-card,
body.theme-sombre .quote-card {
  background: #202223;
  border-color: var(--filet);
  box-shadow: none;
}

body.theme-sombre .card:hover,
body.theme-sombre .news:hover,
body.theme-sombre .action-card:hover {
  border-color: var(--ardoise);
  box-shadow: none;
}

body.theme-sombre .stats__card {
  border-top-color: var(--ardoise);
}

body.theme-sombre .stat__value {
  color: var(--encre);
}

body.theme-sombre .stat__label,
body.theme-sombre .stats__source {
  color: var(--gris-lecture);
}

body.theme-sombre main,
body.theme-sombre .section,
body.theme-sombre .hero,
body.theme-sombre .stats {
  background: var(--papier);
}

body.theme-sombre .section__intro,
body.theme-sombre .page-hero__lead {
  color: var(--gris-lecture);
}

body.theme-sombre .page-hero {
  background: var(--papier);
  border-bottom-color: var(--filet);
}

body.theme-sombre .page-hero h1,
body.theme-sombre .article__header h1 {
  color: var(--encre);
}

body.theme-sombre .breadcrumb {
  color: var(--gris-lecture);
}

body.theme-sombre .news h3,
body.theme-sombre .card h3,
body.theme-sombre .article__body,
body.theme-sombre .prose {
  color: var(--encre);
}

body.theme-sombre .news__body > p,
body.theme-sombre .news__credit,
body.theme-sombre .news__meta,
body.theme-sombre .card p {
  color: var(--gris-lecture);
}

body.theme-sombre .tag {
  background: #1a1c1d;
  color: var(--ardoise);
}

body.theme-sombre .link-arrow {
  color: var(--ardoise);
}

body.theme-sombre .prose a:not(.btn),
body.theme-sombre .article__body a:not(.btn) {
  color: var(--ardoise);
}

body.theme-sombre .prose blockquote {
  background: #202223;
  border-left-color: var(--ardoise);
}

body.theme-sombre .article__figure figcaption {
  color: var(--gris-lecture);
}

body.theme-sombre .article__figure video {
  background: var(--ardoise-fonce);
}

body.theme-sombre .form__field label,
body.theme-sombre .form__field legend {
  color: var(--encre);
}

body.theme-sombre .form__field input,
body.theme-sombre .form__field textarea {
  background: #1a1c1d;
  border-color: var(--filet);
  color: var(--encre);
}

body.theme-sombre .form__field input::placeholder,
body.theme-sombre .form__field textarea::placeholder {
  color: var(--gris-pale);
}

body.theme-sombre .form__field input:focus,
body.theme-sombre .form__field textarea:focus {
  border-color: var(--ardoise);
  box-shadow: 0 0 0 3px rgba(195, 201, 198, .18);
}

/* Footer et bandeaux sombres */
body.theme-sombre .join,
body.theme-sombre .footer {
  background: #0e0f10;
  color: var(--gris-vert);
}

body.theme-sombre .footer__col a,
body.theme-sombre .footer__brand p,
body.theme-sombre .footer address,
body.theme-sombre .footer__bottom,
body.theme-sombre .footer__top {
  color: var(--gris-lecture);
}

body.theme-sombre .footer__col a:hover,
body.theme-sombre .footer__top:hover {
  color: var(--encre);
}

body.theme-sombre .footer__title {
  color: var(--encre);
}

body.theme-sombre .footer__bottom {
  border-top-color: var(--filet);
}

body.theme-sombre .hero__source,
body.theme-sombre .hero__quote {
  color: var(--gris-lecture);
}


/* Bascule clair / sombre */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--filet);
  border-radius: 50%;
  background: transparent;
  color: var(--encre);
  cursor: pointer;
  transition: border-color .2s var(--ease), color .2s var(--ease);
}

.theme-toggle:hover {
  border-color: var(--ardoise);
  color: var(--ardoise);
}

.theme-toggle svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.theme-sombre .theme-toggle__moon { display: none; }
body:not(.theme-sombre) .theme-toggle__sun { display: none; }

body.theme-sombre .theme-toggle {
  border-color: #3b3d3e;
  color: var(--encre);
}

body.theme-sombre .theme-toggle:hover {
  border-color: var(--encre);
  color: var(--encre);
}

@media (max-width: 980px) {
  .theme-toggle {
    width: 38px;
    height: 38px;
    margin-left: auto;
  }
}

@media (max-width: 980px) {
  body .burger {
    margin-left: auto;
  }
  body .theme-toggle {
    margin-left: 0;
  }
}

/* Menu mobile en thème sombre : le panneau ne doit pas rester blanc. */
@media (max-width: 1024px) {
  body.theme-sombre .nav {
    background: #202223;
    border-bottom-color: var(--filet);
    box-shadow: 0 26px 40px rgba(0, 0, 0, .45);
  }

  body.theme-sombre .nav__link {
    color: var(--encre);
    border-bottom-color: var(--filet);
  }

  body.theme-sombre .nav__link:hover,
  body.theme-sombre .nav__link[aria-current] {
    color: var(--ardoise);
    background: #161718;
  }
}

/* Formulaire newsletter */
body.theme-sombre .newsletter-box {
  background: #202223;
  border-color: var(--filet);
}

body.theme-sombre .newsletter-box h2 {
  color: var(--encre);
}

body.theme-sombre .newsletter-box > p,
body.theme-sombre .newsletter-consent,
body.theme-sombre .newsletter-note,
body.theme-sombre .newsletter-privacy {
  color: var(--gris-lecture);
}
