/* Dark mode: loaded on every page, active when <html data-theme="dark"> (set in base.njk,
   switched by js/theme.js). The ink becomes light and the paper dark; the coloured heroes,
   the black blocks and the section labels keep their colours, as in light mode. */
[data-theme="dark"] {
  color-scheme: dark;
  --ink: #F2F1EC;
  --paper: #141414;
  --surface: #1E1E1E;
  --surface-2: #2A2A2A;
  --muted: #B9B7AF;
  --line: #3C3B38;
  --mag-ink: var(--ink);
  --mag-muted: var(--muted);
  --mag-line: var(--line);
  --mag-paper: var(--surface);
  --mag-soft: var(--surface-2);
}
[data-theme="dark"] body { background: var(--paper); color: var(--ink); }

/* Sketch system */
[data-theme="dark"] .sketch-block,
[data-theme="dark"] .btn-sketch { border-color: var(--ink); }
[data-theme="dark"] :focus-visible { outline-color: var(--ink); box-shadow: 0 0 0 2px var(--paper); }

/* Nav, language switch, mobile menu */
[data-theme="dark"] .nav-links a,
[data-theme="dark"] .lang-switch a { color: var(--ink); }
[data-theme="dark"] .lang-switch a.active { border-bottom-color: var(--ink); }
[data-theme="dark"] .nav a[aria-label*="Instagram"] { color: var(--ink) !important; }
[data-theme="dark"] .nav-toggle { background: var(--surface); color: var(--ink); border-color: var(--ink); }
[data-theme="dark"] .theme-toggle { color: var(--ink); }
[data-theme="dark"] .theme-toggle:hover { background: var(--surface-2); }
[data-theme="dark"] .nav-links .mobile-support-btn,
[data-theme="dark"] .nav-actions .nav-cta { background: var(--ink); color: #000000; }
[data-theme="dark"] .nav-links .mobile-support-btn:hover,
[data-theme="dark"] .nav-actions .nav-cta:hover { background: #FFFFFF; }
/* Masthead rules: the thick ones and the closing line in light ink, the top row's hairline in the line colour */
[data-theme="dark"] .nav { border-bottom-color: var(--ink); }
[data-theme="dark"] .nav::after { background: var(--ink); }
[data-theme="dark"] .nav::before { background: var(--line); }
[data-theme="dark"] .nav-tagline { color: var(--muted); }
[data-theme="dark"] .nav-tagline::before,
[data-theme="dark"] .nav-tagline::after { background: var(--ink); }
[data-theme="dark"] .nav-date { color: var(--muted); }
@media (max-width: 640px) {
  [data-theme="dark"] .nav-links { background: var(--paper); border-color: var(--ink); }
  [data-theme="dark"] .mobile-bottom-row { border-top-color: var(--line); }
}

/* Masthead section names: lighter shades on the dark page */
[data-theme="dark"] .nav-brand-line--magazine .nav-brand-section { color: #FF5B52; }
[data-theme="dark"] .nav-brand-line--podcast .nav-brand-section { color: #C28BFF; }
[data-theme="dark"] .nav-brand-line--radio .nav-brand-section { color: #E3FF00; }
[data-theme="dark"] .nav-brand-line--assoc .nav-brand-section { color: #4DB2FF; }

/* Heroes keep their light-mode colours: dark text on red, yellow, violet and blue */
[data-theme="dark"] .hero { color: #000000; }
[data-theme="dark"] .hero .btn-sketch,
[data-theme="dark"] .hero .badge-circle,
[data-theme="dark"] .hero .sketch-block { border-color: #000000; }
[data-theme="dark"] .hero-badge { color: #000000; }
[data-theme="dark"] .hero--cover { box-shadow: 0 0 0 2px var(--line); }

/* Footer, sponsors, legal pages */
[data-theme="dark"] .footer-links a,
[data-theme="dark"] .footer-legal a,
[data-theme="dark"] .sponsors-label { color: var(--ink); }
[data-theme="dark"] .cta-section { border-top: 2px solid var(--line); border-bottom: 2px solid var(--line); }
[data-theme="dark"] .legal-page a { color: #7CBEFF; }
[data-theme="dark"] .legal-page th,
[data-theme="dark"] .legal-page td { border-bottom-color: var(--line); }

/* Newsletter and contact boxes */
[data-theme="dark"] .contact-block { background: var(--surface); }
[data-theme="dark"] .contact-block .kicker,
[data-theme="dark"] .contact-block h2,
[data-theme="dark"] .contact-path h3,
[data-theme="dark"] .contact-block p a,
[data-theme="dark"] .contact-detail { color: var(--ink); }
[data-theme="dark"] .newsletter-note,
[data-theme="dark"] .contact-block p,
[data-theme="dark"] .contact-block .contact-note { color: var(--muted); }
[data-theme="dark"] .newsletter-note a { color: var(--ink) !important; }
[data-theme="dark"] .newsletter-form input[type="email"] { background: var(--paper); color: var(--ink); border-color: var(--ink); }
[data-theme="dark"] .newsletter-form input[type="email"]::placeholder { color: #8E8C86; }
[data-theme="dark"] .newsletter-form button,
[data-theme="dark"] .contact-btn--mail { background: var(--ink); color: #000000; }
[data-theme="dark"] .contact-btn--mail:hover,
[data-theme="dark"] .contact-btn--mail:focus-visible { background: #FFFFFF; }
[data-theme="dark"] .contact-path--join { border-color: var(--ink); }
[data-theme="dark"] .contact-block .contact-note { border-top-color: var(--ink); }

/* Cookie banner */
[data-theme="dark"] .cookie-banner { background: var(--surface); color: var(--ink); box-shadow: 0 6px 24px rgba(0,0,0,0.6); }

/* Inline white cards and black text in the page templates */
[data-theme="dark"] .sketch-block[style*="background:#FFFFFF"] { background: var(--surface) !important; }
[data-theme="dark"] .btn-sketch[style*="background:#FFFFFF"] { color: #000000; }
[data-theme="dark"] .promise[style*="solid #000000"] { border-left-color: var(--ink) !important; }

/* ---------- Association page ---------- */
[data-theme="dark"] .projects-head .kicker { color: #4DB2FF; }
[data-theme="dark"] .why-copy .kicker,
[data-theme="dark"] .aside-note { color: var(--ink); }
[data-theme="dark"] .why-visual .blob { border-color: var(--ink); }
[data-theme="dark"] .feature-block.magazine-feature,
[data-theme="dark"] .teaser-block { background: var(--surface); }
[data-theme="dark"] .feature-visual .circle,
[data-theme="dark"] .teaser-block .circle { border-color: var(--ink); }

/* ---------- Manifesto (css/about.css) ---------- */
[data-theme="dark"] .about-index a { background: var(--surface); color: var(--ink); border-color: var(--ink); }
[data-theme="dark"] .about-index a:hover { background: #0091FF; color: #FFFFFF; }
[data-theme="dark"] .about-section p,
[data-theme="dark"] .about-section li { color: #E4E3DE; }
[data-theme="dark"] .about-section a { color: var(--ink); }
[data-theme="dark"] .about-section .kicker { color: #4DB2FF; }
[data-theme="dark"] .promise { background: var(--surface); }
[data-theme="dark"] .voice-table,
[data-theme="dark"] .voice-table div { border-color: var(--ink); }
[data-theme="dark"] .voice-table .head { background: var(--ink); color: #000000; }
[data-theme="dark"] .voice-row > [role=cell]:last-child { background: var(--surface); }
[data-theme="dark"] .guidelines-intro,
[data-theme="dark"] .assoc-block { background: var(--surface); }
[data-theme="dark"] .rule { border-top-color: var(--ink); }
[data-theme="dark"] .rule h3 .num { border-color: var(--ink); }
[data-theme="dark"] .assoc-block a { color: #4DB2FF; }

/* ---------- Radio ---------- */
[data-theme="dark"] #radio-panel { box-shadow: 0 0 0 2px var(--line); }

/* ---------- Magazine (css/magazine.css) ---------- */
[data-theme="dark"] .article-body p,
[data-theme="dark"] .article-body li { color: #E4E3DE; }
[data-theme="dark"] .mag-embed-load { background: var(--surface); }
[data-theme="dark"] .mag-embed-load:hover,
[data-theme="dark"] .mag-embed-load:focus-visible { color: #000000; }
[data-theme="dark"] .review-card,
[data-theme="dark"] .interview-card,
[data-theme="dark"] .article-links { background: var(--surface); }
[data-theme="dark"] .review-card-score { border-color: #000000; }
[data-theme="dark"] .interview-card-initial { color: #000000; }
[data-theme="dark"] .article-links a { background: var(--surface-2); }
[data-theme="dark"] .article-links-icon { background: var(--paper); color: var(--muted); }
[data-theme="dark"] .article-links a:hover,
[data-theme="dark"] .article-links a:focus-visible { background: var(--surface-2); }
[data-theme="dark"] .article-links a:hover .article-links-icon,
[data-theme="dark"] .article-links a:focus-visible .article-links-icon { color: #000000; }
[data-theme="dark"] .mag-card-link:focus-visible::after,
[data-theme="dark"] .mag-search-title a:focus-visible::after { outline-color: var(--ink); box-shadow: 0 0 0 5px var(--paper); }
[data-theme="dark"] a.mag-label:focus-visible { outline-color: var(--ink); box-shadow: 0 0 0 6px var(--paper); }
[data-theme="dark"] .mag-label--notizia { box-shadow: 0 0 0 2px var(--ink); }
[data-theme="dark"] .mag-intro p { color: var(--muted); }
[data-theme="dark"] .mag-featured-kicker,
[data-theme="dark"] .mag-section-kicker,
[data-theme="dark"] .mag-feat-kicker { color: #FF6B61; }
[data-theme="dark"] .mag-feat-image { background: var(--surface-2); }
[data-theme="dark"] .mag-feat-excerpt,
[data-theme="dark"] .mag-feat-date { color: var(--muted); }
[data-theme="dark"] .mag-feat:not(.mag-feat--lead) + .mag-feat:not(.mag-feat--lead) { border-top-color: var(--line); }
[data-theme="dark"] .mag-latest-all a:hover,
[data-theme="dark"] .mag-latest-all a:focus-visible,
[data-theme="dark"] .mag-pagination-pages [aria-current="page"] { color: #000000; }
[data-theme="dark"] .mag-search-field input,
[data-theme="dark"] .mag-search-filter select { background: var(--surface); }
[data-theme="dark"] .mag-search-field input::placeholder { color: #8E8C86; }
[data-theme="dark"] .mag-search-clear:hover { background: var(--surface-2); }
[data-theme="dark"] .mag-search-thumb { background: var(--surface-2); }
[data-theme="dark"] .mag-search-excerpt { color: #E4E3DE; }
[data-theme="dark"] .mag-search-excerpt mark { box-shadow: inset 0 -0.35em 0 rgba(255,59,48,0.45); }
[data-theme="dark"] .mag-search-more .btn-sketch { background: var(--surface); }
[data-theme="dark"] .article-share-btn.is-copied svg { background: var(--ink); }
/* Photos and players: a light frame would glare on a dark page */
[data-theme="dark"] .mag-figure img,
[data-theme="dark"] .mag-gallery-grid img,
[data-theme="dark"] .mag-embed-frame { border-color: var(--line); }
