/*
Theme Name: Les Accélérateurs (Child)
Theme URI: https://lesaccelerateurs.com
Description: Child theme de Blocksy. Applique la charte graphique du magazine Klaxo : palette signalétique routière, typo hybride Fraunces/Inter/JetBrains Mono, composants distinctifs (Verdict, À retenir, Coup de Klaxo, Dossier).
Author: Klaxo
Author URI: https://klaxo.io
Template: blocksy
Version: 1.0.0
Text Domain: lesaccelerateurs-child
*/

/* ============================================ */
/* ===== TOKENS (variables CSS)             ==== */
/* ============================================ */
:root {
  --encre: #0F0F0E;
  --papier: #FAFAF5;
  --bitume: #1F2937;
  --feu-vert: #00B377;           /* sémantique feu tricolore — verdict "Vous êtes conforme" */
  --feu-rouge: #E63946;
  --marquage: #FFD60A;
  --rose-klaxo: hsl(336, 96%, 56%); /* couleur de marque Klaxo (DA mai 2026) — remplace l'ancien accent vert */
  --indigo: #6366F1;
  --asphalte-100: #F4F4EE;
  --asphalte-300: #A0A299;
  --asphalte-600: #52524E;
}

/* ============================================ */
/* ===== TOP BAR ÉDITION DU JOUR            ==== */
/* ============================================ */
.top-bar-edition {
  background: var(--papier);
  border-bottom: 1px solid var(--asphalte-100);
  padding: 8px 24px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-600);
  text-align: center;
}
.top-bar-edition strong { color: var(--encre); font-weight: 600; }

/* ============================================ */
/* ===== MASTHEAD BARRES SIGNALÉTIQUES      ==== */
/* ============================================ */
.masthead-with-bars {
  position: relative;
  padding: 40px 24px 28px;
  text-align: center;
  background: var(--papier);
  border-bottom: 1px solid var(--asphalte-100);
}
.masthead-with-bars::before,
.masthead-with-bars::after {
  content: '';
  position: absolute;
  top: 50%;
  width: clamp(40px, 8vw, 100px);
  height: 4px;
  background: linear-gradient(90deg,
    var(--feu-vert) 0% 33%,
    var(--marquage) 33% 66%,
    var(--feu-rouge) 66% 100%);
  transform: translateY(-50%);
}
.masthead-with-bars::before { left: 24px; }
.masthead-with-bars::after { right: 24px; }
@media (max-width: 720px) {
  .masthead-with-bars::before, .masthead-with-bars::after { display: none; }
}

/* ============================================ */
/* ===== BADGES RUBRIQUES                   ==== */
/* ============================================ */
.badge-rubrique {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 6px 12px;
  border-radius: 999px;
}
.badge-rubrique::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.cat-actus { background: var(--bitume); color: white; }
.cat-actus::before { background: white; }
.cat-metier { background: var(--rose-klaxo); color: var(--encre); }
.cat-metier::before { background: var(--encre); }
.cat-innovation { background: var(--indigo); color: white; }
.cat-innovation::before { background: white; }
.cat-reglementaire { background: var(--feu-rouge); color: white; }
.cat-reglementaire::before { background: white; }
.cat-enquete { background: var(--marquage); color: var(--encre); }
.cat-enquete::before { background: var(--encre); }
.cat-communaute { background: var(--encre); color: white; }
.cat-communaute::before { background: white; }

/* ============================================ */
/* ===== VERDICT RÉGLEMENTAIRE              ==== */
/* ============================================ */
.verdict-bandeau {
  display: flex;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--asphalte-100);
  background: white;
  margin: 32px 0;
}
.verdict-color { width: 8px; flex-shrink: 0; }
.verdict-rouge .verdict-color { background: var(--feu-rouge); }
.verdict-jaune .verdict-color { background: var(--marquage); }
.verdict-vert .verdict-color { background: var(--feu-vert); }
.verdict-content { padding: 18px 22px; flex: 1; }
.verdict-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 6px;
}
.verdict-rouge .verdict-label { color: var(--feu-rouge); }
.verdict-jaune .verdict-label { color: var(--asphalte-600); }
.verdict-vert .verdict-label { color: var(--feu-vert); }
.verdict-text {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}

/* ============================================ */
/* ===== ENCADRÉ "À RETENIR" (jaune)         ==== */
/* ============================================ */
.pullbox-jaune {
  background: var(--marquage);
  padding: 28px 32px;
  border-radius: 8px;
  margin: 40px 0;
}
.pullbox-jaune-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 16px;
}
.pullbox-jaune ul { list-style: none; padding: 0; }
.pullbox-jaune li {
  font-size: 15px;
  padding-left: 24px;
  position: relative;
  margin-bottom: 12px;
  line-height: 1.5;
  font-weight: 500;
}
.pullbox-jaune li::before {
  content: '→';
  position: absolute;
  left: 0;
  font-weight: bold;
}

/* ============================================ */
/* ===== COUP DE KLAXO (édito)              ==== */
/* ============================================ */
.coup-klaxo-card {
  background: var(--bitume);
  color: var(--papier);
  padding: 40px;
  margin: 48px 0;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}
.coup-klaxo-card::before {
  content: '"';
  position: absolute;
  top: -40px;
  right: 24px;
  font-family: 'Fraunces', serif;
  font-size: clamp(160px, 22vw, 280px);
  color: var(--marquage);
  opacity: 0.15;
  line-height: 1;
  pointer-events: none;
}
.coup-klaxo-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--marquage);
  margin-bottom: 16px;
  position: relative;
}
.coup-klaxo-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(22px, 2.8vw, 32px);
  font-style: italic;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 24px;
  letter-spacing: -0.02em;
  position: relative;
  color: var(--papier);
}

/* ============================================ */
/* ===== DOSSIER SPÉCIAL                    ==== */
/* ============================================ */
.dossier-card {
  background: var(--encre);
  color: var(--papier);
  border-radius: 12px;
  padding: 28px;
  margin: 48px 0;
  position: relative;
  overflow: hidden;
}
.dossier-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg,
    var(--feu-rouge) 0% 33%,
    var(--marquage) 33% 66%,
    var(--feu-vert) 66% 100%);
}
.dossier-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--feu-rouge);
  margin-bottom: 6px;
  padding-left: 8px;
}
.dossier-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--papier);
  padding-left: 8px;
}

/* ============================================ */
/* ===== PULL QUOTE (citation gérant)       ==== */
/* ============================================ */
.wp-block-quote.is-style-pullquote-magazine,
.pullquote-magazine {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.3;
  margin: 56px 0;
  padding: 32px 0;
  border-top: 2px solid var(--encre);
  border-bottom: 2px solid var(--encre);
  letter-spacing: -0.01em;
  border-left: none;
}
.pullquote-magazine cite,
.pullquote-author {
  font-family: 'JetBrains Mono', monospace;
  font-style: normal;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--asphalte-600);
  margin-top: 16px;
  display: block;
}

/* ============================================ */
/* ===== DROP CAP (lettrine article)         ==== */
/* ============================================ */
.single-post .entry-content > p:first-of-type::first-letter,
.single .entry-content > p:first-of-type::first-letter {
  font-family: 'Fraunces', serif;
  font-size: 64px;
  font-weight: 700;
  float: left;
  line-height: 0.9;
  margin: 8px 12px 0 -2px;
  color: var(--encre);
}
@media (max-width: 720px) {
  .single-post .entry-content > p:first-of-type::first-letter,
  .single .entry-content > p:first-of-type::first-letter {
    font-size: 48px;
  }
}

/* ============================================ */
/* ===== READING PROGRESS BAR (single post)  ==== */
/* ============================================ */
.reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: var(--feu-rouge);
  z-index: 9999;
  transition: width 0.1s;
}

/* ============================================ */
/* ===== HEADLINES HYBRIDE (news vs édito)   ==== */
/* ============================================ */
.headline-news {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.015em;
}
.headline-edito {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

/* Auto : Actus + Réglementaire = headline-news */
.category-actus .entry-title,
.category-reglementaire .entry-title {
  font-family: 'Inter', -apple-system, sans-serif;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.015em;
}

/* ============================================ */
/* ===== TOP 5 PLUS LUS (sidebar widget)     ==== */
/* ============================================ */
.top-list { list-style: none; padding: 0; margin: 0; }
.top-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--asphalte-100);
  text-decoration: none;
  color: var(--encre);
  align-items: start;
}
.top-item:last-child { border-bottom: none; }
.top-num {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 36px;
  font-weight: 600;
  line-height: 0.9;
  color: var(--asphalte-300);
  letter-spacing: -0.02em;
  width: 38px;
}
.top-num.is-top { color: var(--feu-rouge); }
.top-title {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.3;
  margin-bottom: 6px;
}
.top-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--asphalte-600);
}
.top-views { color: var(--feu-rouge); font-weight: 600; }

/* ============================================ */
/* ===== A11Y                                ==== */
/* ============================================ */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--rose-klaxo);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  html { scroll-behavior: auto; }
}

/* ============================================ */
/* ===== UTILITIES                           ==== */
/* ============================================ */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ════════════════════════════════════════════════════
 * MAGAZINE HOME LAYOUT (page-template magazine-home)
 * ══════════════════════════════════════════════════════ */

/* Reset Blocksy content area pour ce template */
.page-template-template-magazine-home .ct-container,
.page-template-template-magazine-home .ct-main-content,
.page-template-template-magazine-home article.entry,
.page-template-template-communaute .ct-container,
.page-template-template-communaute .ct-main-content,
.page-template-template-communaute article.entry {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.page-template-template-magazine-home .entry-content > *,
.page-template-template-communaute .entry-content > * {
  max-width: none !important;
  margin: 0 !important;
}
.page-template-template-magazine-home .entry-header,
.page-template-template-magazine-home .entry-content > h1.entry-title,
.page-template-template-communaute .entry-header,
.page-template-template-communaute .entry-content > h1.entry-title {
  display: none !important;
}

/* Container principal du template magazine */
.lesacc-magazine,
.lesacc-communaute {
  font-family: 'Inter', sans-serif;
  --container: 1320px;
}

/* ─── Rubriques strip (sous le header) ─── */
.rubriques-strip {
  background: var(--encre);
  padding: 0;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
}
.rubriques-strip::-webkit-scrollbar { display: none; }
.rubriques-strip-inner {
  display: flex;
  justify-content: center;
  min-width: max-content;
  max-width: var(--container);
  margin: 0 auto;
}
.rubrique-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-300);
  text-decoration: none;
  padding: 14px 20px;
  min-height: 48px;
  scroll-snap-align: start;
  flex-shrink: 0;
  border-bottom: 3px solid transparent;
  transition: color 0.15s;
}
.rubrique-pill::before {
  content: '';
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.rubrique-pill:hover { color: var(--papier); }
.rp-actus::before        { background: var(--bitume); border: 1px solid var(--asphalte-300); }
.rp-metier::before       { background: var(--rose-klaxo); }
.rp-innovation::before   { background: var(--indigo); }
.rp-reglementaire::before { background: var(--feu-rouge); }
.rp-enquete::before      { background: var(--marquage); }
.rp-communaute::before   { background: var(--papier); }

/* ─── Main grid 2/3 + 1/3 ─── */
.main-grid {
  max-width: var(--container);
  margin: 0 auto;
  padding: 32px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  background: var(--papier);
}
.main-col, .sidebar { min-width: 0; }

/* ─── HERO article ─── */
.lesacc-hero { margin-bottom: 40px; }
.lesacc-hero-photo {
  aspect-ratio: 16 / 10;
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
  margin-bottom: 24px;
  background: var(--bitume);
}
.lesacc-hero-title {
  font-size: clamp(30px, 4.5vw, 52px);
  margin-bottom: 16px;
}
.lesacc-hero-title.headline-news { font-weight: 900; }
.lesacc-hero-title a { color: var(--encre); text-decoration: none; }
.lesacc-hero-title a:hover { color: var(--feu-rouge); }
.lesacc-hero-chapo {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.4;
  color: var(--asphalte-600);
  margin-bottom: 16px;
  max-width: 640px;
}
.lesacc-hero-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-600);
}
.lesacc-hero-meta strong { color: var(--encre); }
.lesacc-hero-meta .sep { margin: 0 8px; color: var(--asphalte-300); }

/* ─── Section header ─── */
.lesacc-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--encre);
  flex-wrap: wrap;
  gap: 12px;
}
.lesacc-section-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0;
}
.lesacc-section-link {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-600);
  text-decoration: none;
}
.lesacc-section-link:hover { color: var(--encre); }

/* ─── Articles grid ─── */
.articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 48px;
}
.card {
  background: white;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--asphalte-100);
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration: none;
  color: var(--encre);
  display: block;
}
.card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(15,15,14,0.08); }
.card-photo {
  aspect-ratio: 16 / 10;
  width: 100%;
  object-fit: cover;
  background: var(--asphalte-100);
}
.card-content { padding: 16px 18px; }
.card-title {
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.25;
  margin: 10px 0;
  font-weight: 700;
}
.card-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--asphalte-600);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ─── Dossier full ─── */
.dossier-full {
  background: var(--encre);
  color: var(--papier);
  border-radius: 12px;
  padding: 28px;
  margin-bottom: 48px;
  position: relative;
  overflow: hidden;
}
.dossier-full::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 6px; height: 100%;
  background: linear-gradient(180deg,
    var(--feu-rouge) 0% 33%,
    var(--marquage) 33% 66%,
    var(--feu-vert) 66% 100%);
}
.dossier-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding-left: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--bitume);
  margin-bottom: 24px;
}
.dossier-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--feu-rouge);
  margin-bottom: 6px;
}
.dossier-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--papier);
  margin: 0;
}
.dossier-link {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-300);
  text-decoration: none;
}
.dossier-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.dossier-item {
  text-decoration: none;
  color: var(--papier);
  display: block;
}
.dossier-item-img {
  aspect-ratio: 16 / 10;
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
  margin-bottom: 12px;
  background: var(--bitume);
}
.dossier-item-num {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 600;
  font-size: 14px;
  color: var(--marquage);
  margin-bottom: 4px;
}
.dossier-item-title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 8px;
}
.dossier-item-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--asphalte-300);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ─── Coup de Klaxo full ─── */
.coup-klaxo-full {
  background: var(--bitume);
  color: var(--papier);
  padding: 40px;
  margin-bottom: 48px;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}
.coup-klaxo-full::before {
  content: '"';
  position: absolute;
  top: -40px; right: 24px;
  font-family: 'Fraunces', serif;
  font-size: clamp(160px, 22vw, 280px);
  color: var(--marquage);
  opacity: 0.15;
  line-height: 1;
}
.coup-klaxo-full .coup-klaxo-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--marquage);
  margin-bottom: 16px;
}
.coup-klaxo-full .coup-klaxo-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(22px, 2.8vw, 32px);
  font-style: italic;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 24px;
  letter-spacing: -0.02em;
  color: var(--papier);
}
.coup-klaxo-full .coup-klaxo-title a { color: var(--papier); text-decoration: none; }
.coup-klaxo-full .coup-klaxo-author {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-300);
}
.coup-klaxo-full .coup-klaxo-avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose-klaxo), var(--marquage));
}
.coup-klaxo-full .coup-klaxo-author strong { color: var(--papier); }

/* ─── Enquête feature ─── */
.enquete-feature {
  background: var(--asphalte-100);
  border-radius: 12px;
  padding: 32px;
  margin-bottom: 48px;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 28px;
  align-items: center;
}
.enquete-feature-photo {
  aspect-ratio: 4 / 5;
  border-radius: 10px;
  width: 100%;
  object-fit: cover;
  max-height: 480px;
}
.enquete-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--feu-rouge);
  margin-bottom: 14px;
}
.enquete-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(24px, 3.5vw, 36px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
}
.enquete-title a { color: var(--encre); text-decoration: none; }
.enquete-title a:hover { color: var(--feu-rouge); }
.enquete-chapo {
  font-size: 15px;
  line-height: 1.6;
  color: var(--asphalte-600);
  margin-bottom: 20px;
}
.enquete-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-600);
  margin-bottom: 20px;
}
.enquete-meta strong { color: var(--encre); }
.btn {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  padding: 12px 22px;
  border-radius: 999px;
  border: none;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  transition: transform 0.15s;
}
.btn-primary { background: var(--encre); color: var(--papier); }
.btn-primary:hover { transform: translateY(-1px); }

/* ─── Sidebar widgets ─── */
.widget { margin-bottom: 32px; }
.widget-title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  padding-bottom: 12px;
  margin-bottom: 16px;
  border-bottom: 2px solid var(--encre);
  display: flex;
  align-items: center;
  gap: 8px;
}
.widget-title-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--feu-rouge);
}

/* Top 5 plus lus */
.top-list { list-style: none; padding: 0; margin: 0; }
.top-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--asphalte-100);
  text-decoration: none;
  color: var(--encre);
  align-items: start;
}
.top-item:last-child { border-bottom: none; }
.top-item:hover .top-title { color: var(--feu-rouge); }
.top-num {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 36px;
  font-weight: 600;
  line-height: 0.9;
  color: var(--asphalte-300);
  letter-spacing: -0.02em;
  width: 38px;
}
.top-num.is-top { color: var(--feu-rouge); }
.top-title {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.3;
  margin-bottom: 6px;
  transition: color 0.15s;
}
.top-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--asphalte-600);
  display: flex;
  gap: 8px;
  align-items: center;
}
.top-views { color: var(--feu-rouge); font-weight: 600; }

/* Newsletter widget */
.nl-widget {
  background: var(--encre);
  color: var(--papier);
  padding: 24px 22px;
  border-radius: 12px;
  margin-bottom: 32px;
}
.nl-widget-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--marquage);
  margin-bottom: 8px;
}
.nl-widget-title {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 14px;
  letter-spacing: -0.01em;
  color: var(--papier);
}
.nl-widget-text {
  font-size: 12px;
  color: var(--asphalte-300);
  line-height: 1.5;
  margin-bottom: 16px;
}
.nl-widget-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.nl-widget input[type="email"] {
  padding: 12px 16px;
  border: 1px solid var(--bitume);
  background: var(--bitume);
  color: var(--papier);
  border-radius: 999px;
  font-size: 13px;
  min-height: 44px;
}
.nl-widget input::placeholder { color: var(--asphalte-300); }
.nl-widget button {
  padding: 12px;
  background: var(--rose-klaxo);
  color: var(--encre);
  border: none;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  min-height: 44px;
}
.nl-widget-fineprint {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-600);
  margin-top: 10px;
  text-align: center;
}

/* À ne pas manquer */
.pick-list { list-style: none; padding: 0; }
.pick-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--asphalte-100);
  text-decoration: none;
  color: var(--encre);
  align-items: start;
}
.pick-item:last-child { border-bottom: none; }
.pick-item:hover .pick-title { color: var(--feu-rouge); }
.pick-img {
  aspect-ratio: 1 / 1;
  width: 80px;
  border-radius: 6px;
  object-fit: cover;
  background: var(--bitume);
}
.pick-rubric {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-bottom: 4px;
}
.pick-title {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.3;
  margin-bottom: 4px;
  transition: color 0.15s;
}
.pick-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--asphalte-600);
}

/* Communauté widget */
.com-widget {
  background: var(--marquage);
  padding: 22px;
  border-radius: 12px;
  text-decoration: none;
  color: var(--encre);
  display: block;
}
.com-widget:hover { transform: translateY(-2px); }
.com-widget-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 8px;
}
.com-widget-title {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}
.com-widget-text {
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 14px;
}
.com-widget-cta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

/* Communauté full-width strip */
.communaute-strip {
  background: var(--encre);
  color: var(--papier);
  padding: clamp(48px, 6vw, 64px) 24px;
  text-align: center;
}
.communaute-strip-inner { max-width: 1080px; margin: 0 auto; }
.communaute-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--rose-klaxo);
  margin-bottom: 16px;
}
.communaute-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
  color: var(--papier);
}
.communaute-subtitle {
  font-size: clamp(15px, 1.6vw, 17px);
  color: var(--asphalte-300);
  max-width: 600px;
  margin: 0 auto 36px;
}
.communaute-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  text-align: left;
}
.com-card {
  background: var(--bitume);
  padding: 24px 22px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: all 0.2s;
  text-decoration: none;
  color: var(--papier);
  display: block;
}
.com-card:hover { border-color: var(--rose-klaxo); transform: translateY(-2px); }
.com-card-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: var(--rose-klaxo);
  color: var(--encre);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Fraunces', serif;
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 14px;
}
.com-card-title {
  font-family: 'Fraunces', serif;
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 6px;
}
.com-card-desc {
  font-size: 13px;
  color: var(--asphalte-300);
  line-height: 1.5;
  margin-bottom: 14px;
}
.com-card-cta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--rose-klaxo);
  font-weight: 600;
}

/* Responsive */
@media (max-width: 1100px) {
  .main-grid { grid-template-columns: 1fr; gap: 0; }
  .sidebar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 24px;
    padding-top: 32px;
    border-top: 1px solid var(--asphalte-100);
  }
  .nl-widget, .com-widget { grid-column: 1 / -1; }
  .articles-grid, .dossier-grid { grid-template-columns: repeat(2, 1fr); }
  .enquete-feature { grid-template-columns: 1fr; }
  .enquete-feature-photo { aspect-ratio: 16 / 9; max-height: 360px; }
}
@media (max-width: 720px) {
  .main-grid { padding: 24px 20px; }
  .sidebar { grid-template-columns: 1fr; }
  .articles-grid, .dossier-grid { grid-template-columns: 1fr; }
  .communaute-cards { grid-template-columns: 1fr; }
  .dossier-full, .coup-klaxo-full, .enquete-feature { padding: 24px; }
}

/* ════════════════════════════════════════════════════
 * COMMUNAUTÉ TEMPLATE
 * ══════════════════════════════════════════════════════ */
.com-hero {
  background: var(--encre);
  color: var(--papier);
  padding: 88px 24px 64px;
  position: relative;
  overflow: hidden;
}
.com-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg,
    var(--feu-vert) 0% 33%,
    var(--marquage) 33% 66%,
    var(--feu-rouge) 66% 100%);
}
.com-hero-inner {
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.com-hero-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--rose-klaxo);
  margin-bottom: 24px;
}
.com-hero-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(40px, 6vw, 72px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 24px;
  color: var(--papier);
}
.com-hero-title em {
  font-style: italic;
  color: var(--marquage);
  font-weight: 500;
}
.com-hero-subtitle {
  font-size: clamp(17px, 2vw, 20px);
  color: var(--asphalte-300);
  max-width: 640px;
  margin: 0 auto 48px;
  line-height: 1.5;
}
.com-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 720px;
  margin: 0 auto;
}
.com-stat {
  text-align: center;
  padding: 24px 16px;
  background: var(--bitume);
  border-radius: 12px;
}
.com-stat-value {
  font-family: 'Fraunces', serif;
  font-size: clamp(36px, 5vw, 48px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--marquage);
  margin-bottom: 8px;
}
.com-stat-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-300);
}

.com-section {
  padding: 80px 24px;
  max-width: 1200px;
  margin: 0 auto;
}
.com-section-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--rose-klaxo);
  margin-bottom: 12px;
  text-align: center;
}
.com-section-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-align: center;
  margin: 0 0 16px;
}
.com-section-intro {
  font-size: 17px;
  color: var(--asphalte-600);
  text-align: center;
  max-width: 600px;
  margin: 0 auto 56px;
}

.channels-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.channel-card {
  background: white;
  border: 1px solid var(--asphalte-100);
  border-radius: 16px;
  padding: 32px 28px;
  text-decoration: none;
  color: var(--encre);
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.channel-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(15,15,14,0.08);
  border-color: var(--rose-klaxo);
}
.channel-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--rose-klaxo);
  color: var(--encre);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Fraunces', serif;
  font-weight: 700;
  font-size: 28px;
}
.channel-name {
  font-family: 'Fraunces', serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 0;
}
.channel-desc {
  font-size: 14px;
  color: var(--asphalte-600);
  line-height: 1.5;
  flex-grow: 1;
}
.channel-meta {
  display: flex;
  gap: 20px;
  padding: 16px 0;
  border-top: 1px solid var(--asphalte-100);
  border-bottom: 1px solid var(--asphalte-100);
}
.channel-stat-num {
  font-family: 'Fraunces', serif;
  font-weight: 600;
  font-size: 22px;
  color: var(--encre);
  line-height: 1;
}
.channel-stat-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--asphalte-600);
  margin-top: 4px;
}
.channel-cta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 14px 20px;
  background: var(--encre);
  color: var(--marquage);
  border-radius: 999px;
  text-align: center;
  margin-top: auto;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.channel-card:hover .channel-cta { background: var(--rose-klaxo); color: var(--encre); }

.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.why-card {
  background: var(--papier);
  border-radius: 16px;
  padding: 32px 28px;
  border: 1px solid var(--asphalte-100);
}
.why-num {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 56px;
  font-weight: 600;
  line-height: 1;
  color: var(--rose-klaxo);
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}
.why-title {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}
.why-text { font-size: 15px; color: var(--asphalte-600); line-height: 1.6; }

.faq-list { margin-top: 48px; }
.faq-item {
  border-top: 1px solid var(--asphalte-100);
  padding: 4px 0;
}
.faq-item:last-child { border-bottom: 1px solid var(--asphalte-100); }
.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font-family: 'Fraunces', serif;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 600;
  line-height: 1.3;
  min-height: 44px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  flex-shrink: 0;
  font-size: 28px;
  color: var(--rose-klaxo);
  font-weight: 400;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--asphalte-100);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s;
}
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-answer {
  padding: 0 0 24px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--asphalte-600);
  max-width: 700px;
}

.final-cta {
  background: var(--marquage);
  padding: 80px 24px;
}
.final-cta-inner {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
.final-cta-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--encre);
  margin-bottom: 16px;
}
.final-cta-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  color: var(--encre);
}
.final-cta-text {
  font-size: 17px;
  color: var(--encre);
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.5;
  opacity: 0.85;
}
.final-cta-form {
  display: flex;
  gap: 8px;
  max-width: 520px;
  margin: 0 auto;
  flex-wrap: wrap;
}
.final-cta-form input {
  flex: 1;
  min-width: 220px;
  padding: 16px 22px;
  border: 2px solid var(--encre);
  background: var(--papier);
  color: var(--encre);
  border-radius: 999px;
  font-size: 15px;
  min-height: 52px;
}
.final-cta-form button {
  padding: 16px 32px;
  background: var(--encre);
  color: var(--marquage);
  border: 2px solid var(--encre);
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  min-height: 52px;
}

@media (max-width: 1024px) {
  .channels-grid, .why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .com-hero { padding: 56px 20px 48px; }
  .com-hero-stats { grid-template-columns: 1fr; max-width: 320px; }
  .channels-grid, .why-grid { grid-template-columns: 1fr; }
  .com-section { padding: 56px 20px; }
  .final-cta { padding: 56px 20px; }
  .final-cta-form { flex-direction: column; }
  .final-cta-form button { width: 100%; }
}

/* ════════════════════════════════════════════════════
 * SINGLE ARTICLE TEMPLATE
 * ══════════════════════════════════════════════════════ */
.lesacc-single { background: var(--papier); padding: 0; }
.lesacc-single-hero {
  padding: 56px 24px 0;
  background: var(--papier);
}
.lesacc-single-hero-inner {
  max-width: 880px;
  margin: 0 auto;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--asphalte-100);
}
.lesacc-breadcrumb {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-600);
  margin-bottom: 24px;
}
.lesacc-breadcrumb a { color: var(--asphalte-600); text-decoration: none; }
.lesacc-breadcrumb a:hover { color: var(--encre); }
.lesacc-breadcrumb .sep { margin: 0 8px; color: var(--asphalte-300); }
.lesacc-breadcrumb .current { font-weight: 600; }

.lesacc-single-title {
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 16px 0 24px;
}
.lesacc-single-chapo {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.5;
  color: var(--asphalte-600);
  margin-bottom: 32px;
  max-width: 720px;
}

.lesacc-single-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px solid var(--asphalte-100);
  flex-wrap: wrap;
}
.lesacc-author-line {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.lesacc-author-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose-klaxo), var(--marquage));
  flex-shrink: 0;
}
.lesacc-author-name {
  font-weight: 600;
  font-size: 14px;
}
.lesacc-author-title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--asphalte-600);
}
.lesacc-meta-info {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-600);
}
.lesacc-meta-info .dot { margin: 0 8px; }

.lesacc-single-photo-wrap {
  margin: 24px auto 0;
  max-width: 1080px;
  padding: 0 24px;
}
.lesacc-single-photo {
  aspect-ratio: 16/9;
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
}

.lesacc-single-body {
  max-width: 680px;
  margin: 56px auto;
  padding: 0 24px;
}
.lesacc-entry-content {
  font-size: 18px;
  line-height: 1.75;
  color: var(--encre);
}
.lesacc-entry-content p { margin-bottom: 24px; }
.lesacc-entry-content h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 56px 0 16px;
}
.lesacc-entry-content h3 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 600;
  margin: 40px 0 12px;
}
.lesacc-entry-content a {
  color: var(--feu-rouge);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}
.lesacc-entry-content ul,
.lesacc-entry-content ol {
  margin: 0 0 24px 24px;
}
.lesacc-entry-content li { margin-bottom: 8px; }

/* Drop cap sur 1er paragraphe direct du body */
.lesacc-entry-content > p:first-of-type::first-letter {
  font-family: 'Fraunces', serif;
  font-size: 64px;
  font-weight: 700;
  float: left;
  line-height: 0.9;
  margin: 8px 12px 0 -2px;
  color: var(--encre);
}
@media (max-width: 720px) {
  .lesacc-entry-content > p:first-of-type::first-letter { font-size: 48px; }
  .lesacc-entry-content { font-size: 17px; }
}

/* Author bio */
.lesacc-author-bio {
  margin: 56px 0 0;
  padding: 32px;
  background: white;
  border: 1px solid var(--asphalte-100);
  border-radius: 12px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: flex-start;
}
.lesacc-author-bio-avatar {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose-klaxo), var(--marquage));
}
.lesacc-author-bio-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--asphalte-600);
  font-weight: 600;
  margin-bottom: 6px;
}
.lesacc-author-bio-name {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 8px;
}
.lesacc-author-bio-text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--asphalte-600);
  margin-bottom: 12px;
}
.lesacc-author-bio-link {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--encre);
  text-decoration: none;
  border-bottom: 2px solid var(--rose-klaxo);
  padding-bottom: 2px;
}

/* Related posts */
.lesacc-related {
  background: var(--asphalte-100);
  padding: 64px 24px;
  margin-top: 64px;
}
.lesacc-related-inner {
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 720px) {
  .lesacc-author-bio { grid-template-columns: 1fr; padding: 24px; }
}

/* ════════════════════════════════════════════════════
 * FIXES POST-RENDERING
 * ══════════════════════════════════════════════════════ */

/* Hide Blocksy's default header/footer on magazine + communaute + single */
.page-template-template-magazine-home > header.site-header,
.page-template-template-magazine-home .ct-header,
.page-template-template-magazine-home > footer.site-footer,
.page-template-template-magazine-home .ct-footer,
.page-template-template-communaute > header.site-header,
.page-template-template-communaute .ct-header,
.page-template-template-communaute > footer.site-footer,
.page-template-template-communaute .ct-footer,
.single-post > header.site-header,
.single-post .ct-header,
.single-post > footer.site-footer,
.single-post .ct-footer {
  display: none !important;
}

/* Aussi, retire la top-bar Édition du hook Blocksy (rendue maintenant dans le header custom) */
.page-template-template-magazine-home .top-bar-edition,
.page-template-template-communaute .top-bar-edition,
.single-post .top-bar-edition {
  /* Permet l'override : top-bar custom dans nos templates */
}

/* Custom header structure */
.lesacc-custom-header {
  background: var(--papier);
}
.lesacc-custom-header .top-bar-edition {
  border-bottom: 1px solid var(--asphalte-100);
}

/* BADGE — alias de .badge-rubrique pour le naming utilisé dans templates */
.badge {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  line-height: 1 !important;
  text-decoration: none;
  margin-bottom: 12px;
}
.badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.badge.cat-actus { background: var(--bitume); color: white; }
.badge.cat-actus::before { background: white; }
.badge.cat-metier { background: var(--rose-klaxo); color: var(--encre); }
.badge.cat-metier::before { background: var(--encre); }
.badge.cat-innovation { background: var(--indigo); color: white; }
.badge.cat-innovation::before { background: white; }
.badge.cat-reglementaire { background: var(--feu-rouge); color: white; }
.badge.cat-reglementaire::before { background: white; }
.badge.cat-enquete { background: var(--marquage); color: var(--encre); }
.badge.cat-enquete::before { background: var(--encre); }
.badge.cat-communaute { background: var(--encre); color: white; }
.badge.cat-communaute::before { background: white; }

/* TOP-NUM — force la taille uniforme */
.top-num,
.lesacc-magazine .top-num,
.top-list .top-num {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 36px !important;
  font-weight: 600 !important;
  line-height: 0.9 !important;
  letter-spacing: -0.02em !important;
  width: 38px !important;
  flex-shrink: 0 !important;
  color: var(--asphalte-300) !important;
}
.top-num.is-top {
  color: var(--feu-rouge) !important;
}

/* CUSTOM FOOTER */
.lesacc-custom-footer {
  background: var(--papier);
  padding: 48px 24px 24px;
  border-top: 4px solid var(--encre);
}
.lesacc-footer-inner {
  max-width: 1320px;
  margin: 0 auto;
}
.lesacc-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}
.lesacc-footer-logo {
  font-family: 'Fraunces', serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}
.lesacc-footer-tagline {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--asphalte-600);
  margin-bottom: 16px;
}
.lesacc-footer-by {
  font-size: 13px;
  color: var(--asphalte-600);
}
.lesacc-footer-by strong { color: var(--encre); }
.lesacc-footer-grid h4 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--asphalte-600);
  margin: 0 0 12px;
  font-weight: 600;
}
.lesacc-footer-grid ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lesacc-footer-grid li { margin-bottom: 8px; }
.lesacc-footer-grid a {
  font-size: 14px;
  color: var(--encre);
  text-decoration: none;
  display: inline-block;
  padding: 4px 0;
}
.lesacc-footer-grid a:hover { color: var(--rose-klaxo); }
.lesacc-footer-bottom {
  padding-top: 24px;
  border-top: 1px solid var(--asphalte-100);
  display: flex;
  justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--asphalte-600);
}
@media (max-width: 720px) {
  .lesacc-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
  .lesacc-footer-grid > div:first-child { grid-column: 1 / -1; }
  .lesacc-footer-bottom {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}

/* ════════════════════════════════════════════════════
 * STICKY SITE HEADER (bande noire entre top bar et masthead)
 * ══════════════════════════════════════════════════════ */
.top-bar-edition {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.top-bar-edition .sep { color: var(--asphalte-300); }
.top-bar-edition a {
  color: var(--asphalte-600);
  text-decoration: none;
}
.top-bar-edition a:hover { color: var(--encre); }

.lesacc-site-header {
  background: var(--encre);
  color: var(--papier);
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--bitume);
}
.lesacc-site-header-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 12px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 60px;
}
.lesacc-site-logo {
  font-family: 'Fraunces', serif;
  font-size: clamp(20px, 2.5vw, 24px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--papier) !important;
  text-decoration: none;
}
.lesacc-site-logo span { color: var(--marquage); }

.lesacc-site-nav {
  display: flex;
  gap: 24px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.lesacc-site-nav a {
  color: var(--asphalte-300) !important;
  text-decoration: none !important;
  padding: 8px 0;
  min-height: 44px;
  display: flex;
  align-items: center;
  transition: color 0.15s;
}
.lesacc-site-nav a:hover,
.lesacc-site-nav a.active {
  color: var(--marquage) !important;
}

.lesacc-header-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.lesacc-icon-btn {
  background: transparent;
  border: 1px solid var(--bitume);
  color: var(--papier);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.15s;
  padding: 0;
}
.lesacc-icon-btn:hover { border-color: var(--marquage); }
.lesacc-icon-btn svg { width: 16px; height: 16px; }
.lesacc-site-cta {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  background: var(--rose-klaxo) !important;
  color: var(--encre) !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border: none;
}
.lesacc-site-cta:hover { transform: translateY(-1px); }

/* Masthead — tagline en uppercase */
.masthead-tagline {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(10px, 1.2vw, 12px);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--asphalte-600);
  margin-top: 12px;
}
.masthead-tagline strong { color: var(--rose-klaxo); margin: 0 4px; }

/* Responsive */
@media (max-width: 720px) {
  .top-bar-edition { font-size: 10px; gap: 8px; padding: 6px 16px; }
  .top-bar-edition .sep,
  .top-bar-edition a { display: none; }
  .lesacc-site-nav { display: none; }
  .lesacc-icon-btn { display: none; }
  .lesacc-site-cta { font-size: 12px; padding: 8px 14px; }
  .masthead-with-bars { padding: 28px 20px 20px; }
  .masthead-with-bars::before, .masthead-with-bars::after { display: none; }
}

/* ════════════════════════════════════════════════════
 * MASTHEAD LOGO — règle manquante
 * ══════════════════════════════════════════════════════ */
.masthead-logo {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: clamp(36px, 6vw, 72px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  color: var(--encre) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block;
}
.masthead-with-bars a:hover .masthead-logo { color: var(--encre) !important; }

/* ════════════════════════════════════════════════════
 * FORCE FRAUNCES — override Blocksy h1/h2/h3 typography
 * ══════════════════════════════════════════════════════ */
html body h1,
html body h2,
html body h3,
html body h4,
html body .lesacc-single-title,
html body .lesacc-hero-title,
html body .lesacc-section-title,
html body .masthead-logo,
html body .channel-name,
html body .com-card-title,
html body .why-title,
html body .com-hero-title,
html body .com-section-title,
html body .com-stat-value,
html body .nl-widget-title,
html body .com-widget-title,
html body .dossier-title,
html body .enquete-title,
html body .coup-klaxo-title,
html body .pullquote,
html body .pullquote-magazine,
html body .lesacc-entry-content h2,
html body .lesacc-entry-content h3,
html body .lesacc-author-bio-name,
html body .why-num,
html body .lesacc-footer-logo,
html body .top-num,
html body .dossier-item-num,
html body .card-title.headline-edito,
html body .card-title:not(.headline-news) {
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif !important;
  font-optical-sizing: auto !important;
}

/* Headlines news (Inter weight 800) */
html body .lesacc-single-title.headline-news,
html body .lesacc-hero-title.headline-news,
html body .card-title.headline-news,
html body .category-actus h1.entry-title,
html body .category-reglementaire h1.entry-title {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 800 !important;
}

/* Body et paragraph en Inter */
html body,
html body p,
html body .entry-content p,
html body .lesacc-entry-content p {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Mono pour metadata */
html body .lesacc-meta-info,
html body .lesacc-hero-meta,
html body .card-meta,
html body .top-meta,
html body .pick-meta,
html body .dossier-item-meta,
html body .channel-stat-lbl,
html body .com-stat-label,
html body .top-bar-edition,
html body .badge,
html body .rubrique-pill,
html body .widget-title,
html body .pick-rubric,
html body .nl-widget-eyebrow,
html body .com-widget-eyebrow,
html body .dossier-eyebrow,
html body .enquete-eyebrow,
html body .coup-klaxo-eyebrow,
html body .com-hero-eyebrow,
html body .com-section-eyebrow,
html body .final-cta-eyebrow,
html body .lesacc-author-title,
html body .lesacc-author-bio-label,
html body .lesacc-author-bio-link,
html body .pullquote-author,
html body .pullbox-jaune-label,
html body .verdict-label,
html body .lesacc-footer-tagline,
html body .lesacc-footer-grid h4,
html body .lesacc-footer-bottom,
html body .lesacc-breadcrumb {
  font-family: 'JetBrains Mono', 'Courier New', monospace !important;
}

/* ════════════════════════════════════════════════════
 * TOP-NUM — fix wrap (chiffres sur 1 ligne)
 * ══════════════════════════════════════════════════════ */
html body .top-num,
html body .top-list .top-num,
html body .lesacc-magazine .top-num {
  width: auto !important;
  min-width: 56px !important;
  white-space: nowrap !important;
  display: block !important;
}

/* ════════════════════════════════════════════════════
 * CATEGORY ARCHIVE
 * ══════════════════════════════════════════════════════ */
.category > .ct-header,
.category > header.site-header,
.category .ct-footer,
.category > footer.site-footer { display: none !important; }

.lesacc-archive-header {
  background: var(--papier);
  padding: clamp(48px, 6vw, 80px) 24px 32px;
  border-bottom: 2px solid var(--encre);
  margin-bottom: 0;
}
.lesacc-archive-inner {
  max-width: 1320px;
  margin: 0 auto;
}
.lesacc-archive-title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: clamp(40px, 6vw, 72px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
  margin: 16px 0 !important;
  color: var(--encre) !important;
}
.lesacc-archive-desc {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.4;
  color: var(--asphalte-600);
  max-width: 720px;
  margin: 0;
}
.lesacc-archive-grid-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}
.lesacc-archive-grid {
  margin-bottom: 48px !important;
}
@media (min-width: 1024px) {
  .lesacc-archive-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

.lesacc-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.lesacc-pagination .page-numbers,
.lesacc-pagination a.page-numbers,
.lesacc-pagination span.page-numbers {
  padding: 12px 18px;
  border-radius: 999px;
  background: white;
  color: var(--encre);
  text-decoration: none;
  border: 1px solid var(--asphalte-100);
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.lesacc-pagination .page-numbers.current {
  background: var(--encre);
  color: var(--marquage);
  border-color: var(--encre);
}
.lesacc-pagination a.page-numbers:hover {
  border-color: var(--encre);
}

.lesacc-noresults {
  text-align: center;
  padding: 80px 20px;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 22px;
  color: var(--asphalte-600);
}
