/**
 * DCOD Format CSS – Version 2.87
 * Auteur : DCOD (Marc)
 * Mises à jour :
 * - NOUVEAU : style Intro
 */

/* ==== Encadré générique (utilisé partout, neutre) ==== */
.dcod-encadre,
.wp-block-group.dcod-encadre {
  background-color: #f7fdf0;
  color: #1a1a1a;
  border: 2px solid #88cc00;
  border-radius: 0;
  padding: 20px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  margin-bottom: 20px;
  font-size: 0.95rem;
  line-height: 1.6;
}
.wp-block-group.dcod-encadre {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}
/* ✅ Variante compacte sidebar */
.dcod-encadre.sidebar {
  font-size: 0.9rem;
  line-height: 1.4;
  padding: 16px;
  margin: 0 0 20px 0;
}

/* ==== Encadré résumé veille (style harmonisé) ==== */
.wp-block-group.dcod-encadre-veille,
.dcod-encadre-veille {
  background-color: #f7fdf0;
  border: 2px solid #88cc00;
  border-radius: 0;
  padding: 20px;
  margin-bottom: 20px;
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.dcod-encadre-veille p strong {
  color: #2d4d1e;
  font-weight: bold;
  font-size: 1.1rem;
  display: block;
  margin-bottom: 0.8rem;
}
.dcod-encadre-veille ul {
  margin: 0;
  padding-left: 1.5em;
  list-style-type: disc;
}
.dcod-encadre-veille li {
  font-size: 15px;
  line-height: 1.6;
  color: #1a2d12;
  margin-bottom: 0.6em;
}

/* ==== Encadré de résumé DCOD (veille hebdo, synthèse) ==== */
.dcod-resume-encadre {
  background-color: #f7fdf0;
  border: 2px solid #88cc00;
  border-radius: 0;
  padding: 24px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 1024px;
  margin: 2rem auto;
}
.dcod-resume-encadre ul {
  margin: 0;
  padding-left: 1.5em;
  list-style-type: disc;
}

/* ==== Boutons d'action dans les encadrés ==== */
.dcod-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 15px;
}
.dcod-links a {
  background-color: #88cc00;
  color: #1a1a1a;
  text-align: center;
  padding: 10px;
  border-radius: 5px;
  font-weight: bold;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.dcod-links a:hover { background-color: #76b800; color: #fff; }
.dcod-links .telegram-link { background-color: #0088cc; color: #fff; }
.dcod-links .telegram-link:hover { background-color: #006fa4; }
.dcod-icon { display: inline-block; margin-right: 6px; vertical-align: middle; }

/* ==== Responsive générique encadrés ==== */
@media screen and (max-width: 600px) {
  .dcod-encadre,
  .wp-block-group.dcod-encadre {
    padding: 16px;
    margin: 1.5rem 1rem;
  }
  .dcod-encadre-veille,
  .wp-block-group.dcod-encadre-veille,
  .dcod-resume-encadre {
    padding: 20px;
    margin: 1.5rem auto;
  }
  .dcod-encadre-veille li,
  .dcod-resume-encadre li { font-size: 15px; line-height: 1.6; }
  .dcod-encadre-veille p strong,
  .dcod-resume-encadre p strong { font-size: 1.1rem; }
}

/* ==== Tableaux admin ==== */
.veille-options table { width: 100%; border-collapse: collapse; }
.veille-options th,
.veille-options td { border: 1px solid #ccd0d4; padding: 10px; text-align: left; }
.veille-options th { background-color: #f1f1f1; }

/* Harmonisation encadrés */
.dcod-resume-encadre,
.dcod-encadre-veille,
.wp-block-group.dcod-resume-encadre,
.wp-block-group.dcod-encadre-veille {
  border: 2px solid #88cc00;
  color: #2d2d2d;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size: 16px;
  line-height: 1.6;
  padding: 24px;
  border-radius: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
/* Paragraphes et titres */
.dcod-resume-encadre p, .dcod-encadre-veille p { margin-bottom: 1em; }
.dcod-resume-encadre p strong, .dcod-encadre-veille p strong {
  font-size: 1.15rem; font-weight: 600; color: #000; margin-bottom: 1rem; display: block;
}
/* Listes */
.dcod-resume-encadre ul, .dcod-encadre-veille ul { list-style-type: disc; padding-left: 1.5em; margin: 0; }
.dcod-resume-encadre li, .dcod-encadre-veille li { margin-bottom: 0.75em; font-size: 16px; }
/* Compact */
.dcod-resume-encadre {
  background-color: #f7fdf0; color: #1a1a1a; border: 2px solid #88cc00; border-radius: 0;
  padding: 20px; margin-bottom: 20px; font-size: 0.95rem; box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
.dcod-resume-encadre h3 { margin: 0 0 0.3em; font-size: 1.1rem; }
.dcod-resume-encadre ul { margin-top: 0.3em; padding-left: 20px; }
.dcod-resume-encadre ul li { margin-bottom: 8px; }

/* ===== Amazon DCOD – Styles (grand bloc & mini) ===== */

/* — Grand bloc Amazon (LAYOUT GRID propre, image entière ≤25%) — */
.dcod-amazon-block {
  max-width: 1024px;
  margin: 1.5rem auto;
  background-color: #f8f9fa;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);

  /* Grid 1/3 – 2/3 */
  display: grid;
  grid-template-columns: minmax(160px, 25%) minmax(0, 75%);
  gap: 24px;
  align-items: start;
}

/* Colonnes */
.dcod-amazon-block > .wp-block-image,
.dcod-amazon-block .dcod-amazon-media {
  grid-column: 1;
  margin: 0;
  width: 100%;
}
.dcod-amazon-block .dcod-amazon-content {
  grid-column: 2;
  min-width: 0; /* anti-overflow texte */
}

/* Image : toujours entière, ratio natif, jamais rognée */
.dcod-amazon-block > .wp-block-image img,
.dcod-amazon-block .dcod-amazon-img {
  display: block;
  width: 100%;          /* occupe la colonne image */
  height: auto;         /* conserve le ratio */
  object-fit: contain;  /* zéro recadrage */
  aspect-ratio: auto;   /* annule tout ratio imposé ailleurs */
  border-radius: 4px;
}

/* Variante optionnelle : image un peu plus large (38%) */
.dcod-amazon-block.dcod-amazon-block--wide {
  grid-template-columns: minmax(220px, 38%) 1fr;
}

/* Mobile : pile verticale, image centrée */
@media (max-width: 700px) {
  .dcod-amazon-block {
    display: block;
  }
  .dcod-amazon-block > .wp-block-image,
  .dcod-amazon-block .dcod-amazon-media {
    width: 100%;
    text-align: center;
  }
  .dcod-amazon-block > .wp-block-image img,
  .dcod-amazon-block .dcod-amazon-img {
    margin: 0 auto;
    max-width: min(200px, 52vw); /* visuel confortable sur mobile */
  }
}

/* — Amazon Books (galerie mini) – STYLE PRO v5.3 (Charte Ultra-Compact) — */
.dcod-amazon-books {
  max-width: 1024px;
  margin: 2rem auto;
  
  /* STYLE PRO : Fond blanc, bordure gauche noire */
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-left: 5px solid #121212; /* Signature Pro */
  border-radius: 8px;
  
  padding: 30px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06); /* Ombre "Card" */
  font-family: 'Inter', sans-serif; /* Typo Pro */
  
  /* LAYOUT FIXED (DESKTOP) */
  display: flex !important;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch; /* Hauteur égale pour les blocs */
  gap: 30px; /* Espace propre entre les colonnes */
}

/* Gestion des colonnes individuelles */
.dcod-amazon-books .wp-block-column {
  flex: 1; /* Force largeur égale */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0 !important; /* On laisse le 'gap' gérer les marges */
  min-width: 0; /* Empêche le débordement */
}

/* Images des livres */
.dcod-amazon-books .wp-block-image img {
  width: 160px; 
  max-width: 100%;
  height: auto;
  border-radius: 4px; 
  display: block; 
  margin: 0 auto 15px auto; /* Marge de sécurité sous l'image */
  transition: transform 0.3s ease;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Petite ombre sur le livre aussi */
}
.dcod-amazon-books .wp-block-image img:hover { transform: scale(1.03); }

/* 1. Amazon Grand Format & Liste */
.dcod-amazon-title, 
.dcod-amazon-title a, 
.dcod-amazon-books p strong a { 
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 1.1rem;
  font-weight: 700; 
  color: #121212 !important; /* NOIR DCOD */
  text-decoration: none !important; /* Pas de souligné par défaut */
  line-height: 1.25; 
  transition: color 0.2s ease;
}

/* Survol : VERT DCOD + Souligné */
.dcod-amazon-title a:hover, 
.dcod-amazon-books p strong a:hover { 
  color: #88cc00 !important; /* VERT DCOD (Plus de bleu !) */
  text-decoration: underline !important;
}
.dcod-amazon-summary, .dcod-amazon-books p em { 
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem; 
  color: #555; 
  line-height: 1.5; 
  display: block; 
  margin-bottom: 15px; 
}

/* Boutons PRO */
.amazon-button {
  display: inline-block; 
  padding: 10px 18px; 
  background: #121212; /* Noir Pro */
  color: #fff; 
  text-decoration: none;
  border-radius: 4px; 
  font-weight: 700; 
  font-size: 0.85rem; 
  text-transform: uppercase; /* Style Pro */
  letter-spacing: 0.5px;
  margin-top: auto; 
  transition: all 0.2s ease;
}
.amazon-button:hover, .dcod-amazon-books a.amazon-button:hover { 
  background-color: #88cc00 !important; 
  color: #000 !important; 
  transform: translateY(-1px);
}

.dcod-amazon-note, .dcod-amazon-books-note { font-size: 12px; color: #888; text-align: center; margin-top: 25px; width: 100%; }

/* — RESPONSIVE MOBILE (Correction Chevauchement + Style) — */
@media (max-width: 768px) {
  .dcod-amazon-books {
    display: flex !important;
    flex-direction: column !important; /* Empilement vertical forcé */
    padding: 25px 20px !important;
    gap: 50px !important; /* Grand espace pour éviter chevauchement */
  }
  
  .dcod-amazon-books .wp-block-column {
    width: 100% !important;
    margin: 0 !important;
    border-bottom: 1px solid #f0f0f0; /* Séparateur très léger */
    padding-bottom: 30px;
  }
  .dcod-amazon-books .wp-block-column:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .dcod-amazon-books .wp-block-image img { 
    width: 150px; /* Image visible */
  }
}

/* ==== Bloc Amazon MINI ==== */
.dcod-amazon-mini {
  margin: 0.75rem 0;
  padding: 8px 12px;
  background-color: #f8f9fa;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  display: flex;
  align-items: baseline;
  gap: .25em .5em;
  line-height: 1.35;
  font-size: 0.9em;
}
.dcod-amazon-mini-prefix { font-weight: 600; font-size: 0.9em; }

/* 2. Amazon Mini (Ligne) */
.dcod-amazon-mini-link { 
  font-weight: 700 !important; 
  color: #121212 !important; /* Noir Pro (au lieu de bleu) */
  text-decoration: none !important;
  font-family: 'Space Grotesk', sans-serif !important;
}

/* Survol Mini : Vert */
.dcod-amazon-mini-link:hover { 
  color: #88cc00 !important; /* Vert DCOD */
  text-decoration: underline !important;
}

/* Lien CTA (Call to action) à côté */
.dcod-amazon-mini .amazon-inline-cta { 
  margin-left: .25em; 
  font-size: 0.85em; 
  color: #121212; /* Noir */
  text-decoration: none; 
  font-weight: 600; 
  border-bottom: 2px solid #88cc00; /* Style "Lien texte" */
}
.dcod-amazon-mini .amazon-inline-cta:hover { 
  background-color: #88cc00; 
  color: #000; 
}

.dcod-amazon-mini .dcod-affiliate-note {
  font-size: 0.7em; margin-left: 0.35em; white-space: nowrap; flex-shrink: 0;
}
.dcod-amazon-mini { max-width: 100%; word-break: break-word; }
.dcod-amazon-mini-prefix { flex-shrink: 0; }
.dcod-amazon-mini.dcod-amazon-mini--inline {
  background: none; border: none; border-radius: 0; box-shadow: none;
  padding: 0; margin: 0.5rem 0; display: inline; font-size: 0.9em; line-height: 1.4;
}

/* === Admin Inoreader compact === */
#dcod-inoreader-page table.widefat.fixed.striped { table-layout: fixed; font-size: 13px; }
#dcod-inoreader-page table.widefat.fixed.striped td,
#dcod-inoreader-page table.widefat.fixed.striped th { padding: 6px 8px; vertical-align: middle; }
#dcod-inoreader-page table.widefat.fixed.striped th:nth-child(1),
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(1) { width: 2.5ch; }
#dcod-inoreader-page table.widefat.fixed.striped th:nth-child(2),
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(2) { width: 58%; }
#dcod-inoreader-page table.widefat.fixed.striped th:nth-child(3),
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(3) { width: 38%; }
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(2) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(3) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 0; }
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(3):empty::before { content: "—"; color: #999; font-style: italic; }
#dcod-inoreader-page table.widefat.fixed.striped thead th { position: sticky; top: 32px; z-index: 10; background: #fff; }
#dcod-inoreader-page table.widefat.fixed.striped tr:hover > td { background: #f9fafb; }
#dcod-inoreader-page table.widefat.fixed.striped tr.dcod-used > td { background-color: #ffe0b2 !important; }
#dcod-inoreader-page table.widefat.fixed.striped tr.dcod-analysis-used > td { background-color: #bbdefb !important; }
#dcod-inoreader-page table.widefat.fixed.striped tr.dcod-used.dcod-analysis-used > td { background-color: #c8e6c9 !important; }
#dcod-inoreader-page table.widefat.fixed.striped tr.dcod-used:hover > td,
#dcod-inoreader-page table.widefat.fixed.striped tr.dcod-analysis-used:hover > td,
#dcod-inoreader-page table.widefat.fixed.striped tr.dcod-used.dcod-analysis-used:hover > td { background-color: inherit !important; }
#dcod-inoreader-page table.widefat.fixed.striped tr.dcod-highlight { outline: 2px solid #2ecc71; outline-offset: -2px; }
#dcod-inoreader-page table.widefat.fixed.striped tr.dcod-highlight > td { box-shadow: inset 0 0 0 2px #2ecc71; }

/* === Notices admin === */
.dcod-inline-notice {
  display:flex; align-items:flex-start; gap:8px;
  margin: 1em 0; padding:12px 15px;
  background:#fff; box-shadow:0 1px 1px rgba(0,0,0,.04);
  border-left:4px solid #72aee6;
  font-size:14px; line-height:1.5;
}
.dcod-inline-notice p{ margin:0; }
.dcod-inline-notice a{ text-decoration: underline; }
.dcod-inline-notice::before{ content:"\f147"; font: normal 20px/1 dashicons; color:#00a32a; margin-top:1px; }
.dcod-inline-notice.dcod-success{ border-left-color:#00a32a; }
.dcod-inline-notice.dcod-warning{ border-left-color:#dba617; }
.dcod-inline-notice.dcod-error{   border-left-color:#d63638; }
.dcod-inline-notice.dcod-warning::before{ content:"\f534"; color:#dba617; }
.dcod-inline-notice.dcod-error::before{   content:"\f534"; color:#d63638; }

/* === Catégories admin === */
.dcod-categories-box {
  margin: 1.5em 0; padding: 1em;
  border: 1px solid #ddd; background: #fafafa; border-radius: 6px;
}
.dcod-categories-list {
  display: flex; flex-wrap: wrap;
  gap: 0.8em 1.5em; margin-top: 0.5em;
}
.dcod-category-item {
  display: flex; align-items: center; gap: 0.3em;
  font-size: 14px; cursor: pointer;
}
.dcod-category-item input[type="checkbox"] { transform: scale(1.1); }

/* === PATCH Inoreader (4 colonnes : ☑ | Source | Titre | Annotation) === */
#dcod-inoreader-page table.widefat.fixed.striped { table-layout: fixed; }

/* Largeurs */
#dcod-inoreader-page table.widefat.fixed.striped th:nth-child(1),
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(1) { width: 2.5ch; }   /* ☑ */
#dcod-inoreader-page table.widefat.fixed.striped th:nth-child(2),
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(2) { width: 20%; }     /* Source */
#dcod-inoreader-page table.widefat.fixed.striped th:nth-child(3),
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(3) { width: 50%; }     /* Titre */
#dcod-inoreader-page table.widefat.fixed.striped th:nth-child(4),
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(4) { width: 30%; }     /* Annotation */

/* Ellipsis (évite le wrap et coupe proprement) */
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(2),
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(3),
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(4) {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Placeholder si annotation vide → colonne 4 désormais */
#dcod-inoreader-page table.widefat.fixed.striped td:nth-child(4):empty::before {
  content: "—"; color: #999; font-style: italic;
}

/* ===== DCOD TYPO PATCH (Space Grotesk + Inter) ===== */
:root{
  --dcod-title:'Space Grotesk',sans-serif;
  --dcod-text:'Inter',sans-serif;
}
/* Base */
body { font-family: var(--dcod-text); font-weight: 400; }
h1,h2,h3 { font-family: var(--dcod-title); font-weight: 700; letter-spacing:.02em; line-height:1.2; }
h4,h5,h6 { font-family: var(--dcod-title); font-weight: 500; letter-spacing:.03em; line-height:1.25; }
/* Small / Large text utilitaires */
.small-text, small, .meta, figcaption {
  font-family: var(--dcod-text); font-weight: 400; font-size: .85rem; letter-spacing:.03em; line-height:1.4;
}
.large-text, .intro, .lead {
  font-family: var(--dcod-text); font-weight: 500; font-size: 1.15rem; letter-spacing:.01em; line-height:1.5;
}
/* Boutons, menus, CTA */
button, .btn, .menu a, .wp-block-button__link,
.dcod-links a, .amazon-button, .dcod-coffee-btn {
  font-family: var(--dcod-text);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
/* Encadrés (unifie sur Inter) */
.dcod-encadre,
.wp-block-group.dcod-encadre,
.dcod-encadre-veille,
.wp-block-group.dcod-encadre-veille,
.dcod-resume-encadre,
.wp-block-group.dcod-resume-encadre { font-family: var(--dcod-text); }
/* Titres internes d'encadrés si présents */
.dcod-encadre h1,.dcod-encadre h2,.dcod-encadre h3,
.dcod-encadre-veille h1,.dcod-encadre-veille h2,.dcod-encadre-veille h3,
.dcod-resume-encadre h1,.dcod-resume-encadre h2,.dcod-resume-encadre h3 { font-family: var(--dcod-title); font-weight:700; }

/* === HERO ACCUEIL DCOD entête pour le Header === */
.dcod-home-hero {
  background: transparent;
  text-align: center;
  color: #fff;
  padding: 35px 15px 25px;
  font-family: 'Inter', sans-serif;
  position: relative;
  z-index: 2;
}
.dcod-home-hero__title {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700; font-size: 1.5rem; line-height: 1.2; letter-spacing: .01em;
  margin-bottom: 4px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.dcod-home-hero__lead {
  font-family: 'Inter', sans-serif;
  font-weight: 400; font-size: .9rem; max-width: 680px; margin: 0 auto; line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0,0,0,0.35); opacity: .95;
}
@media (max-width: 600px) {
  .dcod-home-hero { padding: 28px 12px 20px; }
  .dcod-home-hero__title { font-size: 1.25rem; }
  .dcod-home-hero__lead { font-size: 0.85rem; }
}

/* =========================================================
   DCOD – Coffee callout (version propre)
   ========================================================= */
.dcod-coffee {
  max-width: 700px;
  margin: 1.5rem auto;
  background: #f8f9fa;
  border: 1px solid #eee;
  border-left: 5px solid #ff4081;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  line-height: 1.35;
  font-size: 0.95em;
  color: #111;
}
.dcod-coffee-icon svg { width: 40px; height: 40px; display: block; }
.dcod-coffee-content { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.dcod-coffee-text { margin: 0; font-weight: 500; font-size: 0.95rem; }
.dcod-coffee-btn {
  display: inline-block; background: #ff4081; color: #fff !important;
  text-decoration: none; font-weight: 700; border-radius: 6px;
  padding: 8px 14px; font-size: 14px; line-height: 1.2;
  transition: background-color .2s ease, box-shadow .2s ease;
  box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}
.dcod-coffee-btn:hover { background:#c2185b !important; color:#fff !important; }
.dcod-coffee-btn:active { box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.dcod-coffee.dcod-coffee--compact { padding: 10px 12px; }
.dcod-coffee.dcod-coffee--compact .dcod-coffee-icon svg { width: 36px; height: 36px; }
.dcod-coffee.dcod-coffee--compact .dcod-coffee-btn { padding: 7px 12px; font-size: 13.5px; }

/* FIX Mobile (Restauré) : s'applique jusqu'à 768px (Tablettes) */
@media (max-width: 768px) {
  .dcod-coffee { padding: 12px; gap: 8px; }
  .dcod-coffee-content { gap: 6px 8px; }
  .dcod-coffee-btn { font-size: 14px; padding: 8px 12px; }
}

/* =========================================================
   DCOD – ajout couleur pour bouton Discord
   ========================================================= */
.dcod-links .discord-link {
  background-color: #5865F2 !important;
  color: #ffffff !important;
}
.dcod-links .discord-link:hover {
  background-color: #4752c4 !important;
}

/* =========================================================
   DCOD – STYLE PRO UNIFIÉ (Newsletter, Café, Note, Amazon)
   Version : 3.0 (Corrigée Mobile & Desktop)
   ========================================================= */

/* --- 1. Bloc Newsletter & Social (In-Article & Homepage) --- */
/* Note: On utilise deux noms de classe pour couvrir les anciens et nouveaux codes */
.dcod-cta-box, 
.dcod-post-cta {
    background-color: #121212 !important; /* Force le noir */
    color: #ffffff !important;
    padding: 25px !important;
    border-radius: 8px;
    border-left: 5px solid #88cc00 !important; /* Bordure verte DCOD */
    margin: 30px 0 !important;
    font-family: 'Inter', sans-serif !important;
    text-align: left;
    box-sizing: border-box;
    width: 100%;
    clear: both;
}

.dcod-cta-header h3, 
.dcod-post-cta h3 {
    color: #88cc00 !important;
    margin: 0 0 10px 0 !important;
    font-size: 1.3rem !important;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
}

.dcod-cta-text, 
.dcod-post-cta p {
    color: #e0e0e0 !important;
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 20px !important;
}

/* Zone formulaire newsletter */
.dcod-newsletter-wrapper {
    margin-bottom: 20px;
}
.dcod-newsletter-wrapper input[type="email"] {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #ccc !important;
}

/* Séparateur */
.dcod-separator, 
.dcod-mini-separator {
    display: flex;
    align-items: center;
    text-align: center;
    color: #888;
    font-size: 0.85rem;
    margin: 15px 0;
}
.dcod-separator::before, .dcod-separator::after,
.dcod-mini-separator::before, .dcod-mini-separator::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #333;
}
.dcod-separator:not(:empty)::before { margin-right: .5em; }
.dcod-separator:not(:empty)::after { margin-left: .5em; }

/* Boutons Sociaux */
.dcod-social-row, 
.dcod-mini-social {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.dcod-btn-social, 
.dcod-mini-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    border-radius: 4px;
    color: white !important;
    text-decoration: none !important;
    font-size: 0.9rem;
    font-weight: 600;
    transition: opacity 0.2s;
    min-width: 140px;
    flex: 1; /* Prend la place dispo */
}
.dcod-btn-social:hover, .dcod-mini-btn:hover { opacity: 0.9; }

.dcod-btn-social svg, .dcod-mini-btn svg {
    width: 20px !important;
    height: 20px !important;
    margin-right: 8px;
    fill: currentColor;
    display: inline-block;
    vertical-align: middle;
}

/* Couleurs Boutons */
.btn-telegram { background-color: #0088cc !important; }
.btn-discord { background-color: #5865F2 !important; }

/* --- 2. Bloc Café Pro (VERSION CORRIGÉE BORDURE VERTE & ALIGNEMENT) --- */
.dcod-coffee-pro {
    display: flex;
    align-items: center;
    background-color: #f9f9f9 !important;
    border: 1px solid #e0e0e0;
    /* BORDURE VERTE DCOD */
    border-left: 5px solid #88cc00 !important; 
    border-radius: 6px;
    padding: 15px 20px;
    margin: 30px 0;
    /* OMBRE VERTE */
    box-shadow: 0 6px 15px rgba(136, 204, 0, 0.15) !important;
    flex-wrap: wrap;
    gap: 15px;
    box-sizing: border-box;
    width: 100%;
}

.dcod-coffee-icon-pro {
    flex-shrink: 0;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important; /* Force la taille */
    background-color: #121212 !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dcod-coffee-icon-pro svg {
    width: 24px !important;
    height: 24px !important;
    fill: #ffffff !important;
}

.dcod-coffee-text-pro {
    flex-grow: 1;
    font-size: 0.95rem;
    font-weight: 500;
    color: #333 !important;
    margin: 0;
    line-height: 1.4;
}

.dcod-coffee-btn-pro {
    display: inline-flex;
    align-items: center;
    background-color: #FFDD00 !important; /* Jaune */
    color: #000 !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 10px 18px;
    border-radius: 4px;
    white-space: nowrap;
    box-shadow: 0 2px 0 rgba(0,0,0,0.1);
    /* ALIGNEMENT DROITE */
    margin-left: auto;
    transition: transform 0.2s ease, background-color 0.2s ease;
}
.dcod-coffee-btn-pro:hover { 
    background-color: #ffea00 !important; 
    transform: translateY(-2px); 
}

/* FIX MOBILE POUR LE BOUTON CAFÉ */
@media screen and (max-width: 768px) {
    .dcod-coffee-pro {
        flex-direction: column !important;
        text-align: center;
    }
    .dcod-coffee-btn-pro {
        width: 100%;
        justify-content: center;
        margin-top: 10px;
        margin-left: 0 !important; /* On annule l'alignement droite sur mobile */
    }
    .dcod-coffee-text-pro {
        width: 100%;
    }
}


/* --- 3. Bloc Note (Ad Inserter / Disclaimer) – STYLE PRO v5.4 --- */
div.dcod-note-box {
    /* Override des styles inline Ad Inserter */
    border-left: 5px solid #121212 !important; /* Signature Pro Noir */
    background-color: #ffffff !important;      /* Fond Blanc Pro */
    color: #333 !important;
    
    border-radius: 8px !important;
    padding: 25px 30px !important;             /* Aéré */
    margin: 40px auto !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important; /* Ombre Card */
    
    display: flex !important;
    gap: 20px !important;
    align-items: flex-start !important;        /* Alignement haut pour le texte */
    font-family: 'Inter', sans-serif !important;
    max-width: 1024px;
    box-sizing: border-box;
}

/* Icône (premier div) */
div.dcod-note-box > div:first-child {
    font-size: 24px !important;
    flex-shrink: 0;
    margin-top: 2px; /* Ajustement optique */
}

/* Contenu (second div) */
div.dcod-note-box > div:last-child {
    flex: 1;
}

/* Texte P */
div.dcod-note-box p {
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #555 !important;
}

/* Gras (Note :) */
div.dcod-note-box strong {
    font-family: 'Space Grotesk', sans-serif !important;
    color: #121212 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
}

/* Lien */
div.dcod-note-box a {
    color: #88cc00 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    border-bottom: 1px solid transparent !important;
    transition: all 0.2s ease;
}
div.dcod-note-box a:hover {
    color: #121212 !important;
    border-bottom-color: #121212 !important;
}

/* Mobile */
@media screen and (max-width: 768px) {
    div.dcod-note-box {
        padding: 20px !important;
        flex-direction: row !important; /* On garde l'icone à côté si possible */
    }
}


/* --- 4. MOBILE FIX (CRITIQUE) --- */
@media screen and (max-width: 768px) {
    div.dcod-social-row, 
    div.dcod-mini-social {
        flex-direction: column !important;
        gap: 6px !important;
    }
    a.dcod-btn-social, 
    a.dcod-mini-btn {
        width: 100% !important;
        margin-bottom: 0 !important;
        flex: none; 
    }
    
    div.dcod-coffee-pro {
        flex-direction: column !important;
        text-align: center;
        padding: 12px !important;
    }
    a.dcod-coffee-btn-pro { width: 100%; justify-content: center; margin-top: 8px; }
    div.dcod-coffee-icon-pro { margin: 0 auto 5px auto; }
}

/* --- 5. Amazon --- */
a.amazon-button:hover,
.amazon-button:hover { background-color: #88cc00 !important; color: #000 !important; }


/* =========================================================
   DCOD – CORRECTIF FINAL (Chapeau, En Bref, Liens)
   ========================================================= */

/* --- 1. CHAPEAU (Lead) --- */
.entry-content h5.cnvs-block-section-heading,
.entry-content h5.cnvs-block-section-heading .cnvs-section-title,
.entry-content h5.cnvs-block-section-heading .cnvs-section-title span {
    text-transform: none !important;
    letter-spacing: normal !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    font-size: 1.15rem !important;
    line-height: 1.4 !important;
    color: #121212 !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important; /* Moins de marge sous le chapeau */
}

/* --- 2. BLOC "EN BREF" (Compact) --- */
.dcod-resume-encadre,
.wp-block-dcod-resume-block,
.wp-block-group.dcod-resume-encadre {
    background-color: #f8f9fa !important;
    border: none !important;
    border-left: 4px solid #121212 !important;
    border-radius: 0 6px 6px 0 !important;
    padding: 15px 20px !important; /* Très compact */
    box-shadow: none !important;
    margin-bottom: 25px !important;
    color: #333 !important;
}

/* Adaptation pour H2 dans les blocs de résumé (Style identique à l'ancien H3) */
/* CORRECTION PRIORITÉ : Ajout de .entry-content pour surcharger le style global */
.entry-content .dcod-resume-encadre h2,
.entry-content .dcod-resume-encadre h3,
.entry-content .wp-block-dcod-resume-block h2,
.entry-content .wp-block-dcod-resume-block h3,
.dcod-resume-encadre h2,
.wp-block-dcod-resume-block h2 {
    text-transform: uppercase !important;
    font-size: 0.75rem !important; /* Petit tag */
    letter-spacing: 1px !important;
    font-weight: 800 !important;
    color: #88cc00 !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-family: 'Space Grotesk', sans-serif !important;
    line-height: 1.2 !important;
}

/* Puces de la liste */
.dcod-resume-encadre li,
.wp-block-dcod-resume-block li {
    font-size: 0.95rem !important;
    line-height: 1.4 !important; /* Lignes serrées */
    color: #333 !important;
    margin-bottom: 5px;
}

/* --- 3. LIENS DANS LE TEXTE --- */
.entry-content p a:not(.button):not(.wp-block-button__link):not(.dcod-btn-social):not(.dcod-mini-btn):not(.amazon-button):not(.dcod-coffee-btn-pro) {
    color: #121212 !important;
    text-decoration: none !important;
    border-bottom: 2px solid #88cc00 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.entry-content p a:not(.button):not(.dcod-btn-social):not(.dcod-mini-btn):not(.amazon-button):not(.dcod-coffee-btn-pro):hover {
    background-color: #88cc00 !important;
    color: #000000 !important;
}

/* --- 4. TITRES H2 --- */
.entry-content h2 {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important; /* Encore un peu plus petit */
    margin-top: 30px !important; /* Marge avant réduite */
    margin-bottom: 15px !important;
    color: #121212 !important;
    letter-spacing: -0.5px;
}

/* --- 5. FIX TITRE VERT HOMEPAGE --- */
h2[style*="#88cc00"],
.home h2.has-text-color[style*="88cc00"] {
    color: #88cc00 !important;
}
h2[style*="#ffffff"],
.home h2.has-text-color[style*="ffffff"] {
    color: #ffffff !important;
}

/* =========================================================
   DCOD – GLOBAL OVERRIDE : Media & Text (Transformation Card)
   Correction : Force la grille pour éviter que l'image passe dessous
   ========================================================= */

.wp-block-media-text {
    /* 1. Structure Grid (CORRECTIF REGRESSION) */
    display: grid !important;
    grid-template-columns: 1fr 30% !important; /* Force : Texte large | Image 30% */
    align-items: center !important;
    
    /* 2. Style Card Pro */
    border-style: solid !important;
    border-width: 1px !important;
    border-color: #e0e0e0 !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06) !important;
    margin-bottom: 40px !important;
    overflow: hidden !important;
    
    /* 3. Interaction */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Effet "Lift" au survol */
.wp-block-media-text:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.1) !important;
    border-color: #d0d0d0 !important;
}

/* Espace interne du texte */
.wp-block-media-text__content {
    padding: 30px !important;
    grid-column: 1 !important; /* Force le texte à gauche */
}

/* Titres dans le bloc standard */
.wp-block-media-text__content h3,
.wp-block-media-text__content h4,
.wp-block-media-text__content p strong {
    font-family: 'Space Grotesk', sans-serif !important;
    color: #121212 !important;
    margin-top: 0;
}

/* Gestion de l'image (Droite) */
.wp-block-media-text__media {
    grid-column: 2 !important; /* Force l'image à droite */
    margin: 0 !important;
    
    /* CORRECTION ZOOM : On retire la hauteur forcée de 100% */
    height: auto !important; 
    min-height: auto !important;
    
    /* On centre l'image verticalement par rapport au texte */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px !important; /* Petite marge interne pour que l'image ne touche pas les bords */
}

.wp-block-media-text__media img {
    /* CORRECTION ZOOM : Hauteur auto pour respecter le ratio naturel */
    height: auto !important;
    width: 100% !important;
    
    /* On utilise contain pour être sûr de voir toute l'image sans rognage */
    object-fit: contain !important; 
    
    display: block;
    border-radius: 4px !important; /* Petit arrondi esthétique */
}

/* --- Ajustement Mobile (Empilement) --- */
@media (max-width: 768px) {
    .wp-block-media-text {
        display: flex !important;      /* On repasse en Flex pour empiler */
        flex-direction: column-reverse !important; /* Image en haut ou bas selon besoin (ici bas) */
        height: auto !important;
    }
    
    /* Si vous voulez l'image au-dessus du texte sur mobile, utilisez column au lieu de column-reverse */
    
    .wp-block-media-text__media {
        width: 100% !important;
        height: 200px !important; /* Hauteur fixe pour l'image mobile */
        min-height: 200px !important;
    }
    
    .wp-block-media-text__content {
        padding: 20px !important;
        width: 100% !important;
    }
}
/* =========================================================
   DCOD – OPTIMISATION MOBILE : TITRE H1
   Réduit la taille du titre principal sur smartphone
   ========================================================= */

@media screen and (max-width: 600px) {
    /* Cible le titre principal de l'article (Entry Title) */
    h1.entry-title,
    .entry-header h1,
    article h1 {
        font-size: 28px !important;     /* Taille idéale mobile (au lieu de ~45px actuel) */
        line-height: 1.2 !important;    /* Interligne plus serré pour éviter l'effet "échelle" */
        margin-bottom: 15px !important; /* Réduit l'espace vide sous le titre */
        word-wrap: break-word;          /* Sécurité pour les mots très longs */
    }
}

/* Ajustement pour les images PNG dans les boutons */
.dcod-comm-btn img {
    width: 20px;
    height: 20px;
    margin-right: 8px; /* Espace entre l'icône et le texte */
    vertical-align: middle;
    display: inline-block;
}

/* =========================================================
   DCOD – PAGE NEWSLETTER : BLOC COMMUNAUTÉ (SVG)
   Style spécifique gris clair (différent des articles noirs)
   ========================================================= */

/* Le conteneur gris clair */
.dcod-community-card {
    background-color: #f4f6f8; /* Gris tech doux */
    border: 1px solid #e1e4e8;
    border-radius: 8px;
    padding: 25px;
    margin-top: 25px;
}

.dcod-community-title {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    color: #121212;
    margin-top: 0;
    margin-bottom: 5px;
}

.dcod-community-desc {
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 20px;
    line-height: 1.4;
}

/* La grille des boutons */
.dcod-community-grid {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Le style des boutons SVG (Vectoriels) */
.dcod-comm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border-radius: 6px;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    transition: transform 0.2s ease, opacity 0.2s ease;
    border: none;
    line-height: 1.2;
    flex: 1;
    min-width: 160px;
}

/* Interaction */
.dcod-comm-btn:hover {
    opacity: 0.9;
    transform: translateY(-2px);
    color: #ffffff !important;
}

/* Gestion des icônes SVG */
.dcod-comm-btn svg {
    margin-right: 10px;
    width: 24px;
    height: 24px;
    fill: currentColor;
    vertical-align: middle;
}

/* Couleurs (réutilise les tiennes si besoin, mais on assure ici) */
.btn-telegram { background-color: #0088cc !important; }
.btn-discord { background-color: #5865F2 !important; }

/* Mobile : boutons empilés */
@media screen and (max-width: 600px) {
    .dcod-comm-btn { width: 100%; }
}

/* =========================================================
   DCOD – PAGE PROFIL ABONNÉ (Console épurée)
   Style Premium (Blanc/Noir/Vert)
   ========================================================= */

/* Conteneur Principal (Carte) */
.dcod-profile-dashboard {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-left: 5px solid #88cc00; /* Signature DCOD */
    border-radius: 8px;
    padding: 30px;
    margin: 20px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    font-family: 'Inter', sans-serif;
}

/* En-tête */
.dcod-profile-header h2 {
    font-family: 'Space Grotesk', sans-serif;
    color: #121212;
    margin-top: 0;
    font-size: 1.6rem;
    margin-bottom: 10px;
    line-height: 1.2;
}
.dcod-profile-header p {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 25px;
}

/* Formulaire (Shortcode Plugin) */
.dcod-profile-form-container form {
    margin-bottom: 20px;
}

/* Style des champs du plugin (Inputs) */
.tnp-profile input[type="text"],
.tnp-profile input[type="email"],
.tnp-profile select {
    background-color: #f8f9fa;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 12px 15px;
    width: 100%;
    font-size: 1rem;
    color: #121212;
    margin-bottom: 15px;
    box-sizing: border-box; 
    font-family: 'Inter', sans-serif;
}
.tnp-profile input[type="text"]:focus,
.tnp-profile input[type="email"]:focus {
    border-color: #88cc00;
    background-color: #fff;
    outline: none;
}

/* Bouton "Enregistrer" du plugin */
.tnp-profile input[type="submit"] {
    background-color: #121212;
    color: #88cc00;
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    border-radius: 4px;
    padding: 12px 25px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 0.95rem;
    width: auto; /* Laisse le bouton s'adapter au texte */
}
.tnp-profile input[type="submit"]:hover {
    background-color: #88cc00;
    color: #000;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Footer & Note de sécurité */
.dcod-profile-footer { margin-top: 25px; border-top: 1px solid #eee; padding-top: 20px; }

.dcod-profile-note {
    font-size: 0.85rem;
    color: #666;
    background: #f9f9f9;
    padding: 12px;
    border-radius: 4px;
    border-left: 3px solid #ccc;
    margin: 0;
    line-height: 1.4;
}

/* Responsive Mobile */
@media screen and (max-width: 600px) {
    .dcod-profile-dashboard { padding: 20px; }
    .tnp-profile input[type="submit"] { width: 100%; } /* Bouton large sur mobile */
}

/* =========================================================
   DCOD – PAGE DÉSINCRIPTION (Offboarding)
   Style Clean & Neutre
   ========================================================= */

/* Conteneur Principal */
.dcod-unsub-card {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-left: 5px solid #121212; /* Bordure Noire (Neutre/Fin) */
    border-radius: 8px;
    padding: 30px;
    margin: 20px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    font-family: 'Inter', sans-serif;
    max-width: 600px; /* On limite la largeur pour la lisibilité */
}

/* En-tête */
.dcod-unsub-header h2 {
    font-family: 'Space Grotesk', sans-serif;
    color: #121212;
    margin-top: 0;
    font-size: 1.6rem;
    margin-bottom: 15px;
    line-height: 1.2;
}
.dcod-unsub-header p {
    color: #333;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 10px;
}
.dcod-unsub-header .dcod-unsub-details {
    color: #666;
    font-size: 0.95rem;
    margin-bottom: 25px;
}

/* Zone Bouton */
.dcod-unsub-action {
    margin-bottom: 30px;
}

/* Le bouton généré par le shortcode */
.dcod-unsub-action input[type="submit"],
.dcod-unsub-action .tnp-submit {
    background-color: #121212; /* Noir */
    color: #ffffff;
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    border: 1px solid #121212;
    border-radius: 4px;
    padding: 12px 25px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 0.9rem;
}

/* Au survol : devient rouge (code couleur standard pour une action destructive/quitter) */
.dcod-unsub-action input[type="submit"]:hover,
.dcod-unsub-action .tnp-submit:hover {
    background-color: #d63638; /* Rouge WP ou une couleur "Alimenter" */
    border-color: #d63638;
    color: #fff;
    transform: translateY(-1px);
}

/* Footer & Alternative */
.dcod-unsub-footer {
    border-top: 1px solid #eee;
    padding-top: 20px;
}

.dcod-unsub-note {
    font-size: 0.9rem;
    color: #555;
    background: #f9f9f9;
    padding: 15px;
    border-radius: 4px;
    margin: 0;
    line-height: 1.5;
}

.dcod-unsub-note a {
    color: #0088cc; /* Bleu Telegram */
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid transparent;
}
.dcod-unsub-note a:hover {
    border-bottom-color: #0088cc;
}

/* =========================================================
   DCOD – PAGE AU REVOIR (Désinscription réussie)
   Style Neutre avec incitation au retour
   ========================================================= */

/* Conteneur Principal (Similaire à la désinscription) */
.dcod-goodbye-card {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-left: 5px solid #121212; /* Bordure Noire (Neutre/Fin) */
    border-radius: 8px;
    padding: 30px;
    margin: 20px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    font-family: 'Inter', sans-serif;
    max-width: 600px;
}

/* En-tête */
.dcod-goodbye-header h2 {
    font-family: 'Space Grotesk', sans-serif;
    color: #121212;
    margin-top: 0;
    font-size: 1.6rem;
    margin-bottom: 10px;
    line-height: 1.2;
}
.dcod-goodbye-header p {
    color: #333;
    font-size: 1rem;
    margin-bottom: 5px;
}
.dcod-goodbye-header .dcod-goodbye-sub {
    color: #777;
    font-size: 0.95rem;
    font-style: italic;
    margin-bottom: 25px;
}

/* Zone Action (Réabonnement) */
.dcod-goodbye-action {
    background-color: #f8fdf0; /* Fond très léger vert pour l'espoir */
    padding: 20px;
    border-radius: 6px;
    margin-bottom: 25px;
    text-align: center;
}
.dcod-goodbye-action p {
    margin-top: 0;
    margin-bottom: 15px;
    font-weight: 600;
    font-size: 0.9rem;
    color: #121212;
}

/* Le bouton de réabonnement (Positif = Vert) */
.dcod-goodbye-action input[type="submit"],
.dcod-goodbye-action .tnp-submit {
    background-color: #88cc00; /* Vert DCOD */
    color: #121212; /* Texte Noir */
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    border-radius: 4px;
    padding: 12px 25px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 0.9rem;
    width: 100%; /* Bouton large pour faciliter le clic */
}

/* Au survol */
.dcod-goodbye-action input[type="submit"]:hover,
.dcod-goodbye-action .tnp-submit:hover {
    background-color: #76b800;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(136, 204, 0, 0.3);
}

/* Footer & Telegram */
.dcod-goodbye-footer {
    border-top: 1px solid #eee;
    padding-top: 20px;
}

.dcod-goodbye-note {
    font-size: 0.9rem;
    color: #555;
    margin: 0;
    line-height: 1.5;
}

.dcod-goodbye-note a {
    color: #0088cc;
    text-decoration: none;
    font-weight: 700;
}
.dcod-goodbye-note a:hover { text-decoration: underline; }

/* =========================================================
   DCOD – CONFIRMATION D'INSCRIPTION (Épurée)
   Style Onboarding Pro
   ========================================================= */

/* Conteneur Principal */
.dcod-confirm-card {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-left: 5px solid #88cc00; /* Vert DCOD */
    border-radius: 8px;
    padding: 30px;
    margin: 20px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    font-family: 'Inter', sans-serif;
    max-width: 600px;
}

/* En-tête */
.dcod-confirm-header h2 {
    font-family: 'Space Grotesk', sans-serif;
    color: #121212;
    margin-top: 0;
    font-size: 1.6rem;
    margin-bottom: 15px;
    line-height: 1.2;
}
.dcod-confirm-header p {
    color: #333;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 10px;
}

/* Liste des étapes (Bloc Gris) */
.dcod-confirm-steps {
    background-color: #f8f9fa; /* Gris clair pour détacher les instructions */
    padding: 20px;
    border-radius: 6px;
    margin-top: 25px;
    border: 1px solid #eee;
}

.dcod-steps-title {
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 15px;
    color: #121212;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.dcod-confirm-steps ol {
    margin: 0;
    padding-left: 20px;
    color: #333;
}

.dcod-confirm-steps li {
    margin-bottom: 10px;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Mise en valeur du mot Spams */
.dcod-confirm-steps li strong {
    color: #d63638; /* Rouge subtil pour attirer l'attention */
    font-weight: 700;
}

/* Responsive Mobile */
@media screen and (max-width: 600px) {
    .dcod-confirm-card { padding: 20px; }
    .dcod-confirm-steps { padding: 15px; }
}

/* =========================================================
   DCOD – MESSAGE DE BIENVENUE (Success)
   Style Premium & Accueillant
   ========================================================= */

/* Conteneur Principal */
.dcod-welcome-card {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-left: 5px solid #88cc00; /* Vert DCOD (Succès) */
    border-radius: 8px;
    padding: 30px;
    margin: 20px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    font-family: 'Inter', sans-serif;
    max-width: 600px;
}

/* En-tête */
.dcod-welcome-header h2 {
    font-family: 'Space Grotesk', sans-serif;
    color: #121212;
    margin-top: 0;
    font-size: 1.6rem;
    margin-bottom: 10px;
    line-height: 1.2;
}
.dcod-welcome-header p {
    color: #555; /* Gris moyen pour le sous-titre */
    font-size: 1.1rem; /* Un peu plus grand pour l'accueil */
    font-weight: 500;
    margin-bottom: 25px;
}

/* Corps du texte */
.dcod-welcome-body p {
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
    margin-bottom: 15px;
}
.dcod-welcome-body strong {
    color: #121212;
    font-weight: 700;
}

/* Footer (Note finale) */
.dcod-welcome-footer {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}
.dcod-welcome-footer p {
    font-size: 0.95rem;
    color: #666;
    font-style: italic;
    margin: 0;
}

/* Responsive */
@media screen and (max-width: 600px) {
    .dcod-welcome-card { padding: 20px; }
}

/* =========================================================
   DCOD – BOUTON FLOTTANT (Floating Action Button)
   ========================================================= */
.dcod-float-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    background-color: #FFDD00; /* Jaune BMC */
    color: #000000 !important;
    border-radius: 50px;
    padding: 12px 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    text-decoration: none !important;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(0,0,0,0.05);
}

.dcod-float-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.25);
    background-color: #ffea5c;
}

.dcod-float-icon {
    width: 20px;
    height: 20px;
    display: block;
}

/* Mobile : Cercle simple */
@media screen and (max-width: 768px) {
    .dcod-float-btn {
        padding: 14px; /* Rend le bouton carré/rond */
        bottom: 20px;
        right: 20px;
        border-radius: 50%;
    }
    .dcod-float-text {
        display: none; /* Cache le texte sur mobile */
    }
}

/* =========================================================
   DCOD – FAQ RANK MATH (Correctif V3 : Spécial <br> & Mobile)
   ========================================================= */

/* 1. Le Conteneur Global */
#rank-math-faq, 
.rank-math-block,
.rank-math-list {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 30px 0 !important;
    list-style: none !important;
}

/* 2. L'élément QUESTION/RÉPONSE (La Carte) */
.rank-math-list-item {
    background-color: #f4f6f8 !important; /* Gris "Tech" */
    border: 1px solid #e1e4e8 !important; 
    border-left: none !important; 
    border-radius: 0 !important; /* Coins carrés */
    
    padding: 30px 35px !important;
    margin-bottom: 25px !important;
    margin-left: 0 !important;
    
    box-shadow: none !important;
    display: block !important;
    list-style-type: none !important; 
    list-style: none !important;
}

/* 3. LA PUCE (Carré Vert DCOD) */
.rank-math-question::before {
    content: '' !important;
    display: inline-block !important;
    width: 10px !important;       
    height: 10px !important;
    background-color: #88cc00 !important; /* Vert DCOD */
    margin-right: 12px !important; 
    transform: translateY(-2px);   
    flex-shrink: 0 !important;     
}

/* 4. Le Titre (Question) */
.rank-math-question {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    color: #121212 !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important; /* Espace augmenté sous le titre */
    padding-left: 0 !important;
    line-height: 1.3 !important;
    display: flex !important; 
    align-items: baseline !important;
}

/* 5. Le Texte (Réponse) - ASTUCE <BR> */
.rank-math-answer {
    font-family: 'Inter', sans-serif !important;
    color: #333 !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    padding-left: 22px !important; /* Alignement PC */
}

/* ASTUCE 1 : On transforme le saut de ligne <br> en bloc d'espacement */
.rank-math-answer br {
    content: " " !important;
    display: block !important;
    margin-bottom: 20px !important; /* C'est ici que se crée l'espace ! */
}

/* ASTUCE 2 : On force les textes en GRAS (<strong>) à aller à la ligne avec de l'espace */
.rank-math-answer strong {
    display: inline-block !important;
    color: #121212 !important; /* Noir profond pour le contraste */
    margin-top: 10px !important; /* Petit espace au-dessus du titre gras */
}

/* 6. Mobile (Sécurisé) */
@media screen and (max-width: 768px) {
    .rank-math-list-item {
        padding: 20px !important; /* Padding réduit sur mobile */
        width: auto !important;
    }
    .rank-math-answer {
        padding-left: 0 !important; /* Texte pleine largeur */
    }
    .rank-math-question {
        font-size: 1.1rem !important;
    }
    /* Sécurité : On s'assure que le bloc ne soit jamais caché */
    .wp-block-rank-math-faq-block, 
    .rank-math-list-item {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* =========================================================
   DCOD – BANNIÈRES A/B TESTING (3 Styles Distincts)
   Mise à jour : Cadres Jaunes pour cohérence "Action"
   ========================================================= */

/* --- STRUCTURE DE BASE (Commune) --- */
.dcod-coffee-pro {
    display: flex;
    align-items: center;
    border-radius: 8px;
    padding: 25px 30px;
    margin: 40px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    gap: 20px;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-align: left;
}
.dcod-coffee-pro:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
.dcod-coffee-text-pro { flex-grow: 1; }
.dcod-coffee-text-pro p { margin: 0 !important; line-height: 1.5 !important; }
.dcod-coffee-text-pro strong { 
    display: block; font-family: 'Space Grotesk', sans-serif; 
    font-size: 1.15rem; margin-bottom: 4px; 
}
.dcod-coffee-text-pro span { font-size: 0.95rem; }

/* Bouton Base */
.dcod-coffee-btn-pro {
    display: inline-flex; align-items: center; justify-content: center;
    font-family: 'Space Grotesk', sans-serif; font-weight: 700;
    text-transform: uppercase; text-decoration: none !important;
    padding: 12px 24px; border-radius: 6px; font-size: 0.95rem;
    white-space: nowrap; transition: all 0.2s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* --- VARIANTE 1 : CLASSIQUE (Fond Blanc / Cadre Jaune) --- */
/* C'est celle de votre capture d'écran, maintenant en Jaune */
.dcod-style-white {
    background-color: #ffffff !important;
    border: 2px solid #FFDD00 !important; /* Cadre Jaune complet */
    border-left: 5px solid #FFDD00 !important; /* Signature Jaune épaisse */
}
.dcod-style-white .dcod-coffee-text-pro p,
.dcod-style-white .dcod-coffee-text-pro strong,
.dcod-style-white .dcod-coffee-text-pro span {
    color: #121212 !important;
}
/* Icône : Fond Noir pour contraste */
.dcod-style-white .dcod-coffee-icon-pro {
    width: 54px; height: 54px; background-color: #121212;
    border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.dcod-style-white .dcod-coffee-icon-pro svg { width: 28px; height: 28px; fill: #ffffff; }
/* Bouton */
.dcod-style-white .dcod-coffee-btn-pro {
    background-color: #FFDD00 !important; color: #000000 !important;
}
.dcod-style-white .dcod-coffee-btn-pro:hover { background-color: #ffe600 !important; }


/* --- VARIANTE 2 : DARK MODE (Fond Noir / Cadre Jaune) --- */
.dcod-style-dark {
    background-color: #121212 !important;
    border: 1px solid #333 !important;
    border-left: 5px solid #FFDD00 !important; /* Signature Jaune */
}
.dcod-style-dark .dcod-coffee-text-pro p,
.dcod-style-dark .dcod-coffee-text-pro strong {
    color: #ffffff !important;
}
.dcod-style-dark .dcod-coffee-text-pro span {
    color: #cccccc !important;
}
/* Icône */
.dcod-style-dark .dcod-coffee-icon-pro {
    width: 54px; height: 54px; background-color: #333333;
    border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.dcod-style-dark .dcod-coffee-icon-pro svg { width: 28px; height: 28px; fill: #FFDD00; }
/* Bouton */
.dcod-style-dark .dcod-coffee-btn-pro {
    background-color: #FFDD00 !important; color: #000000 !important;
}
.dcod-style-dark .dcod-coffee-btn-pro:hover {
    background-color: #ffffff !important; color: #000000 !important;
}


/* --- VARIANTE 3 : SATURÉ (Fond Jaune / Cadre Noir) --- */
/* Ici le cadre reste Noir ou foncé, car du jaune sur jaune serait invisible */
.dcod-style-yellow {
    background-color: #FFDD00 !important;
    border: 1px solid #e6c700 !important;
    border-left: 5px solid #000000 !important; /* Signature NOIRE pour l'impact */
}
.dcod-style-yellow .dcod-coffee-text-pro p,
.dcod-style-yellow .dcod-coffee-text-pro strong,
.dcod-style-yellow .dcod-coffee-text-pro span {
    color: #000000 !important;
}
/* Icône */
.dcod-style-yellow .dcod-coffee-icon-pro {
    width: 54px; height: 54px; background-color: #000000;
    border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.dcod-style-yellow .dcod-coffee-icon-pro svg { width: 28px; height: 28px; fill: #FFDD00; }
/* Bouton (Inversé) */
.dcod-style-yellow .dcod-coffee-btn-pro {
    background-color: #000000 !important; color: #FFDD00 !important;
}
.dcod-style-yellow .dcod-coffee-btn-pro:hover {
    background-color: #333333 !important; color: #ffffff !important;
}


/* --- MOBILE --- */
@media screen and (max-width: 768px) {
    .dcod-coffee-pro { flex-direction: column; text-align: center; padding: 20px; }
    .dcod-coffee-btn-pro { width: 100%; margin-top: 10px; }
}

/* === DCOD Format Compact (Flux) === */
.dcod-card-compact {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 15px;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 5px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none !important;
}

.dcod-card-compact:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border-color: #ccc;
}

/* Image plus grande (140px) */
.dcod-compact-thumb {
    flex-shrink: 0;
    width: 140px;  /* Augmenté pour l'équilibre */
    height: 140px; /* Carré */
}

.dcod-compact-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    display: block;
    border: 1px solid #f0f0f0;
}

/* Contenu */
.dcod-compact-content {
    flex-grow: 1;
    min-width: 0; 
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centre verticalement si le texte est court */
    min-height: 140px; /* Force la hauteur min égale à l'image */
}
/* Titre Compact */
.dcod-compact-title a {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    color: #121212 !important; /* Noir */
    text-decoration: none !important;
    border: none !important;
    transition: color 0.2s ease;
}

/* Titre Standard (Media & Text) */
.wp-block-media-text__content h3 a,
.wp-block-media-text__content h4 a {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    color: #121212 !important; /* Noir */
    text-decoration: none !important;
    border: none !important;
    transition: color 0.2s ease;
}

/* --- SURVOL COMMUN (Compact & Standard) --- */
/* Au survol : Vert + Souligné */
.dcod-compact-title a:hover,
.wp-block-media-text__content h3 a:hover,
.wp-block-media-text__content h4 a:hover {
    color: #88cc00 !important; /* Vert DCOD */
    text-decoration: underline !important;
    background: none !important;
}

/* Source */
.dcod-compact-meta {
    font-size: 0.75rem;
    color: #666;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 8px;
    display: block;
    letter-spacing: 0.5px;
}

/* Description + Lire la suite */
.dcod-compact-desc {
    font-size: 0.95rem;
    color: #444;
    line-height: 1.5;
    margin: 0 !important;
    /* On garde le clamp pour limiter la hauteur */
    display: -webkit-box;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* === DCOD Style pour "Lire la suite" (Compact Mode) === */
.dcod-read-more {
    color: #121212 !important;       /* Noir profond */
    font-weight: 700;                /* Gras */
    font-family: 'Space Grotesk', sans-serif;
    text-decoration: none !important;
    border-bottom: 2px solid #88cc00; /* Soulignement Vert */
    margin-left: 8px;
    font-size: 0.8rem;
    text-transform: none !important; /* CORRECTION : Pas de majuscules */
    letter-spacing: normal;
    transition: all 0.2s ease;
}

.dcod-read-more:hover {
    background-color: #88cc00;
    color: #fff !important;
    border-bottom-color: #88cc00;
    padding: 2px 4px;
    margin-left: 4px;
    border-radius: 2px;
}

/* Mobile */
@media (max-width: 600px) {
    .dcod-compact-thumb { width: 80px; height: 80px; min-height: auto; }
    .dcod-compact-content { min-height: auto; }
    .dcod-compact-title { font-size: 1rem; }
    .dcod-compact-desc { display: none; } /* On cache le texte sur mobile */
}

/* =========================================================
   DCOD – PROTON AFFILIATION (FINAL V4 - Container Queries)
   Compatible Sidebar/Widget Desktop & Mobile
   ========================================================= */

/* --- Conteneur global (Le Cerveau du Layout) --- */
.dcod-proton-box {
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
    margin: 2.5em 0;
    clear: both;
    
    /* ACTIVATION DES CONTAINER QUERIES */
    /* Le bloc surveille sa propre largeur, pas celle de l'écran */
    container-type: inline-size;
    container-name: dcod-proton;
}

/* Reset des liens */
.dcod-proton-box a { 
    text-decoration: none !important; 
    border: none !important; 
    box-shadow: none !important; 
}

/* ---------------------------------------------------------
   STYLE 1 : WIDE (Bannière Premium)
   --------------------------------------------------------- */
.dcod-proton-wide {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border: 2px solid #FFDD00;
    border-left: 6px solid #FFDD00;
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    gap: 30px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dcod-proton-wide:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.dcod-proton-wide .dcod-proton-img-wrapper {
    flex-shrink: 0;
    width: 140px;
    height: 140px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.dcod-proton-wide .dcod-proton-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #121212;
    margin: 0 0 10px 0 !important;
    line-height: 1.2;
}

.dcod-proton-wide .dcod-proton-desc {
    font-size: 1rem;
    color: #444;
    margin: 0 0 20px 0 !important;
    line-height: 1.6;
}

.dcod-proton-wide .dcod-proton-cta {
    display: inline-block;
    background-color: #FFDD00;
    color: #000 !important;
    font-weight: 800;
    text-transform: uppercase;
    padding: 14px 28px;
    border-radius: 4px;
    font-size: 0.95rem;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.dcod-proton-wide .dcod-proton-cta:hover { 
    background-color: #ffe600; 
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}


/* ---------------------------------------------------------
   STYLE 2 : COMPACT (Carte Affiliée)
   --------------------------------------------------------- */
.dcod-proton-compact {
    display: flex;
    align-items: center;
    background-color: #fffbf0;
    border: 1px solid #f0e6c5;
    border-left: 4px solid #FFDD00;
    border-radius: 6px;
    padding: 15px 20px;
    gap: 20px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dcod-proton-compact:hover {
    background-color: #fffbf0; 
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 221, 0, 0.15);
}

.dcod-proton-compact .dcod-proton-img-wrapper {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.dcod-proton-compact .dcod-proton-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #121212;
    margin: 0 0 4px 0 !important;
    line-height: 1.2;
}

.dcod-proton-compact .dcod-proton-desc { 
    font-size: 0.9rem; 
    margin-bottom: 0 !important; 
    color: #555;
    line-height: 1.4;
    display: -webkit-box; 
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical; 
    overflow: hidden; 
}

.dcod-proton-compact .dcod-proton-cta {
    display: inline-block;
    background-color: #FFDD00;
    color: #000 !important;
    font-weight: 700;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 0.85rem;
    white-space: nowrap;
    margin-left: auto;
    flex-shrink: 0;
    transition: all 0.2s ease;
    border: 1px solid rgba(0,0,0,0.05);
}
.dcod-proton-compact .dcod-proton-cta:hover {
    background-color: #ffe600;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* ---------------------------------------------------------
   STYLE 3 : TEXT (Lien simple)
   --------------------------------------------------------- */
.dcod-proton-text {
    background-color: #fffbf0;
    border: 1px dashed #FFDD00;
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 1rem;
    display: block;
    margin: 1.5em 0;
}
.dcod-proton-text a {
    color: #000 !important;
    font-weight: 700;
    border-bottom: 2px solid #FFDD00 !important;
    transition: background 0.2s;
}
.dcod-proton-text a:hover { 
    background-color: #FFDD00; 
    border-bottom-color: transparent !important; 
}

/* ---------------------------------------------------------
   IMAGE & ICONE
   --------------------------------------------------------- */
.dcod-proton-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 12px;
    display: block;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.08)); 
}

/* ---------------------------------------------------------
   MENTION AFFILIÉ
   --------------------------------------------------------- */
.dcod-proton-note {
    font-size: 11px;
    color: #999;
    margin-top: 10px !important;
    font-style: italic;
    display: block;
    line-height: 1.4;
    opacity: 0.8;
}
.dcod-proton-wide .dcod-proton-note { text-align: left; }
.dcod-proton-compact + .dcod-proton-note { text-align: center; margin-top: 6px !important; }


/* =========================================================
   RESPONSIVE MAGIQUE (CONTAINER QUERIES)
   Détecte si la boite est petite (Mobile OU Sidebar)
   ========================================================= */

@container dcod-proton (max-width: 600px) {
    
    /* === WIDE : Mode Empilé === */
    .dcod-proton-wide { 
        flex-direction: column; 
        text-align: center; 
        padding: 25px 20px;
        gap: 15px;
    }
    .dcod-proton-wide .dcod-proton-img-wrapper { 
        width: 100px;
        height: 100px;
        margin: 0 auto;
    }
    .dcod-proton-wide .dcod-proton-cta { 
        width: 100%; /* Bouton pleine largeur */
        display: block;
        margin-top: 5px;
        box-sizing: border-box; /* Empêche le padding d'exploser la largeur */
    }
    .dcod-proton-wide .dcod-proton-note { 
        text-align: center; 
        padding: 0;
    }

    /* === COMPACT : Mode Empilé === */
    .dcod-proton-compact { 
        flex-direction: column;
        text-align: center;
        padding: 20px;
        gap: 15px;
    }
    .dcod-proton-compact .dcod-proton-img-wrapper {
        margin: 0 auto;
    }
    .dcod-proton-compact .dcod-proton-cta {
        margin-left: 0;
        width: 100%;
        margin-top: 5px;
        box-sizing: border-box;
    }
}

/* ==== DCOD THÉSAURUS (Mode Tableau Compact) ==== */

.dcod-thesaurus-container {
    max-width: 1000px; /* Plus large pour profiter du mode tableau */
    margin-top: 20px;
}

/* Le Tableau */
.dcod-thesaurus-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #c3c4c7;
    box-shadow: 0 1px 1px rgba(0,0,0,.04);
}

/* En-têtes */
.dcod-thesaurus-table thead th {
    background-color: #f0f0f1;
    color: #1d2327;
    font-weight: 600;
    text-align: left;
    padding: 12px 15px;
    border-bottom: 1px solid #c3c4c7;
    font-size: 14px;
}

/* Cellules */
.dcod-thesaurus-table tbody td {
    padding: 12px 15px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: top;
}

/* Ligne au survol */
.dcod-thesaurus-table tbody tr:hover {
    background-color: #fbfbfb;
}

/* Colonne 1 : Mot-clé Principal */
.dcod-col-target {
    width: 30%;
}
.dcod-input-target-table {
    width: 100%;
    font-weight: 700;
    color: #2271b1;
    border: 1px solid #8c8f94;
    padding: 6px 10px;
    border-radius: 4px;
}

/* Colonne 2 : Synonymes */
.dcod-col-synonyms {
    width: 60%;
}
.dcod-textarea-synonyms-table {
    width: 100%;
    min-height: 60px; /* Compact par défaut */
    padding: 8px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    font-family: monospace; /* Alignement propre */
    line-height: 1.4;
    resize: vertical;
    font-size: 13px;
}

/* Colonne 3 : Actions (Poubelle) */
.dcod-col-actions {
    width: 10%;
    text-align: center;
    vertical-align: middle !important;
}

.dcod-btn-delete-row {
    color: #d63638;
    background: none;
    border: 1px solid transparent;
    cursor: pointer;
    padding: 6px;
    border-radius: 4px;
    transition: all 0.2s;
}
.dcod-btn-delete-row:hover {
    background-color: #d63638;
    color: #fff;
    border-color: #d63638;
}

/* Zone Ajouter en bas */
.dcod-add-row-wrapper {
    margin-top: 15px;
    border: 2px dashed #c3c4c7;
    background: #f6f7f7;
    text-align: center;
    padding: 15px;
    cursor: pointer;
    color: #2271b1;
    font-weight: 600;
    transition: all 0.2s;
}
.dcod-add-row-wrapper:hover {
    background: #fff;
    border-color: #2271b1;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* =========================================================
   STYLE INTRO "LEAD" (Typographie Pure)
   Mise en avant par le contraste de police (Space Grotesk)
   ========================================================= */

/* 1. Version PC / Tablette */
.dcod-intro-lead, 
.dcod-intro-lead p, 
.dcod-intro-lead-editor {
    /* LE SECRET : On utilise la police des TITRES pour l'intro */
    font-family: 'Space Grotesk', sans-serif !important;
    
    /* Taille : Assez grande pour être lue comme une accroche */
    font-size: 1.35rem !important; /* env. 22px */
    
    /* Graisse : Medium (ni gras, ni fin) pour l'élégance */
    font-weight: 500 !important; 
    
    /* Couleur : Noir profond pour le contraste max */
    color: #121212 !important; 
    
    /* Interligne : Aéré pour la lisibilité de cette police large */
    line-height: 1.4 !important;
    
    /* Marges : On donne de l'air autour pour l'isoler par le vide */
    margin-top: 15px !important;
    margin-bottom: 40px !important; 
    padding: 0 !important;
    
    /* Nettoyage */
    text-align: left !important;
    border: none !important;
    background: none !important;
}

/* 2. Version MOBILE */
@media screen and (max-width: 768px) {
    .dcod-intro-lead, 
    .dcod-intro-lead p, 
    .dcod-intro-lead-editor {
        font-size: 1.2rem !important; /* ~19px */
        line-height: 1.35 !important;
        margin-bottom: 30px !important;
    }
}

/* =========================================================
   CORRECTIF TITRES MÉDIAS (H3 -> Apparence H4)
   ========================================================= */

/* Force le H3 dans les blocs médias (Standard) à ressembler à l'ancien H4 */
.wp-block-media-text__content h3,
.wp-block-media-text__content h3 a {
    font-size: 1.1rem !important; /* Taille standard d'un titre de carte (~18px) */
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    font-family: 'Space Grotesk', sans-serif !important;
    text-decoration: none !important;
    color: #121212 !important;
}

/* Force le H3 dans les blocs compacts à respecter la même taille */
.dcod-compact-title, 
.dcod-compact-title a {
    font-size: 1.1rem !important; /* Identique au standard */
    font-weight: 700 !important;
}

/* Survol (Vert) reste identique */
.wp-block-media-text__content h3 a:hover,
.dcod-compact-title a:hover {
    color: #88cc00 !important;
    text-decoration: underline !important;
}