/* ============================================================
   Human Comédie - thème sombre activable
   S'applique quand <html> porte la classe .dark (bouton bascule,
   choix mémorisé en localStorage). À charger APRÈS styles.css.
   ============================================================ */
.dark{
  --paper:#171512;
  --cream:#1e1b17;
  --white:#211e19;
  --ink:#f5efe4;
  --charcoal:#e6dfd2;
  --muted:#a89e8d;
  --line:#3a352c;
  --gold-soft:#3a2e17;
  --gold-100:#242019;
  --shadow:0 10px 30px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.35);
  --shadow-lg:0 24px 60px rgba(0,0,0,.6);
}
.dark body{background:var(--paper);color:var(--ink);}

/* Textes posés en dur sur fonds clairs dans styles.css */
.dark .a-body p,.dark .a-body ul,.dark .std-b p,.dark .std-b ul,.dark .a-trainer p{color:#d9d1c1;}
.dark .a-card ul{color:var(--charcoal);}
.dark .member .bio,.dark .member details{color:#d9d1c1;}
.dark .nav ul a:not(.on){color:#b3a996;}
.dark .nav ul a:not(.on):hover{color:var(--ink);}

/* Nav : le logo blanc se suffit sur fond sombre, on retire la pastille */
.dark .brand-img{background:transparent;padding:0;}
.dark .btn--ghost{border-color:#57503f;color:var(--ink);}
.dark .btn--ghost:hover{border-color:var(--gold);}

/* Chips et tags : teinter vers le sombre plutôt que le blanc */
.dark .chip{background:color-mix(in srgb,var(--accent,var(--gold)) 24%,#171512);color:color-mix(in srgb,var(--accent,var(--gold)) 75%,#fff);}
.dark .member .tags span{background:color-mix(in srgb,var(--accent) 24%,#171512);color:color-mix(in srgb,var(--accent) 75%,#fff);}
.dark .cyc .dot{background:color-mix(in srgb,var(--accent) 26%,#171512);}
/* En mode sombre, on force le cœur de la pastille en couleur accent pleine
   (au lieu de la couleur accent assombrie) pour garder un bon contraste. */
.dark .cyc .dot .heart{color:color-mix(in srgb,var(--accent) 88%,#fff);}
.dark .cyc .tagline{color:color-mix(in srgb,var(--accent) 82%,#fff);}
.dark .cyc-facts li b{color:var(--muted);}
.dark .cyc-facts li span{color:var(--charcoal);}
.dark .hub .info{background:var(--white);border-color:color-mix(in srgb,var(--accent) 35%,#171512);border-left-color:var(--accent);}
.dark .hub .info b{color:color-mix(in srgb,var(--accent) 75%,#fff);}
.dark .hub .info ul,.dark .hub .info p{color:#d9d1c1;}
.dark .hub .group{background:color-mix(in srgb,var(--accent) 12%,#171512);border-color:color-mix(in srgb,var(--accent) 30%,#171512);border-top-color:var(--accent);}
.dark .hub .group .lab{color:color-mix(in srgb,var(--accent) 80%,#fff);}
.dark table.mod td:first-child{background:color-mix(in srgb,var(--accent) 20%,#1e1b17);}
.dark .a-body h3,.dark .std-b h3{color:color-mix(in srgb,var(--accent) 75%,#fff);}

/* Tableau planning */
.dark table.planning th{background:#0d0c0a;}
.dark table.planning td{color:var(--charcoal);}

/* Calendrier */
.dark .cal .badge{background:#3a2e17;color:#f2c66e;}
.dark .cal .badge.spec{background:color-mix(in srgb,var(--rouge) 30%,#171512);color:color-mix(in srgb,var(--rouge) 75%,#fff);}
.dark .cal .badge.stage{background:color-mix(in srgb,var(--bleu) 30%,#171512);color:color-mix(in srgb,var(--bleu) 75%,#fff);}
.dark .cal .badge.off{background:#2a2721;color:#8f877a;}
.dark .cal .m h4{background:#0d0c0a;}

/* Footer : encore plus sombre que le fond pour garder la hiérarchie */
.dark .foot{background:#0d0c0a;}

/* Bouton bascule en mode sombre */
.dark .theme-switch{background:var(--gold);color:#1a1a1a;}

/* Cœurs signature : garantir qu'ils restent lumineux et visibles en mode sombre,
   même quand la couleur d'accent du contexte est assombrie (ex. pastilles .cyc).
   fill="currentColor" est posé sur le <path> du symbole ; ici on ne gère que la teinte. */
.dark .heart{color:color-mix(in srgb,var(--accent,#f2af33) 80%,#fff);}
.dark .hero-photo .heart{color:var(--gold);}
