/*
Theme Name: CM Media
Theme URI: https://cm-investissement.fr/cm-media
Author: CM INVESTISSEMENT
Author URI: https://cm-investissement.fr
Description: Thème magazine / presse maison, réutilisable sur l'ensemble du réseau de sites. Mise en page éditoriale type actualités, marque pilotable via le Customizer (logo, couleurs, typographie), compatible WooCommerce. 100% propriétaire — aucun code tiers sous licence.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: Propriétaire — usage réservé au groupe CM INVESTISSEMENT
Text Domain: cm-media
Tags: news, magazine, blog, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, right-sidebar, threaded-comments, translation-ready, woocommerce
*/

/* =========================================================
   0. Variables de marque (pilotées par le Customizer)
   Les valeurs par défaut ci-dessous sont écrasées à
   l'exécution par inc/customizer.php -> cm_media_dynamic_css()
   ========================================================= */
:root{
  --cm-accent:#c0392b;
  --cm-accent-dark:#96271b;
  --cm-ink:#16181d;
  --cm-body:#33373f;
  --cm-muted:#7a8087;
  --cm-line:#e8eaee;
  --cm-bg:#ffffff;
  --cm-bg-soft:#f5f6f8;
  --cm-header-bg:#16181d;
  --cm-header-ink:#ffffff;
  --cm-font-head:Georgia,'Times New Roman',serif;
  --cm-font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --cm-radius:6px;
  --cm-maxw:1180px;
  --cm-gap:40px;
  /* échelle typographique harmonisée (ratio ~1.2) */
  --cm-fs-base:1.0625rem;   /* 17px corps */
  --cm-fs-sm:0.8125rem;     /* 13px méta */
  --cm-fs-lg:1.1875rem;     /* 19px */
  --cm-h1:2.15rem;
  --cm-h2:1.55rem;
  --cm-h3:1.2rem;
  --cm-lh-body:1.7;
  --cm-lh-head:1.22;
  /* rythme vertical unique */
  --cm-space:24px;
  --cm-space-lg:44px;
}

/* =========================================================
   1. Reset léger
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cm-bg);color:var(--cm-body);
  font-family:var(--cm-font-body);font-size:var(--cm-fs-base);
  line-height:var(--cm-lh-body);-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--cm-accent);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--cm-accent-dark);text-decoration:underline}
h1,h2,h3,h4,h5,h6{font-family:var(--cm-font-head);color:var(--cm-ink);
  line-height:var(--cm-lh-head);margin:0 0 .5em;font-weight:700;
  letter-spacing:-.01em}
h1{font-size:var(--cm-h1)}h2{font-size:var(--cm-h2)}h3{font-size:var(--cm-h3)}
p{margin:0 0 1.2em}
ul,ol{margin:0 0 1.2em;padding-left:1.4em}
blockquote{margin:1.5em 0;padding:.5em 1.2em;border-left:4px solid var(--cm-accent);
  color:var(--cm-ink);font-style:italic;background:var(--cm-bg-soft)}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
pre{background:var(--cm-bg-soft);padding:1em;overflow:auto;border-radius:var(--cm-radius)}
figure{margin:0 0 1.2em}
hr{border:0;border-top:1px solid var(--cm-line);margin:2em 0}

/* =========================================================
   2. Layout
   ========================================================= */
.cm-container{max-width:var(--cm-maxw);margin:0 auto;padding:0 20px}
.cm-site{overflow-x:hidden}
.cm-content-area{display:grid;grid-template-columns:1fr 330px;gap:var(--cm-gap);
  padding:44px 0}
.cm-content-area.cm-no-sidebar{grid-template-columns:1fr;max-width:820px;margin:0 auto}
@media(max-width:960px){
  .cm-content-area{grid-template-columns:1fr}
}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);
  width:1px;height:1px;overflow:hidden}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--cm-accent);
  color:#fff;padding:10px 16px;z-index:1000}
.skip-link:focus{left:10px}

/* =========================================================
   3. Header / topbar / nav
   ========================================================= */
.cm-topbar{background:var(--cm-header-bg);color:var(--cm-header-ink);
  font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.08)}
.cm-topbar .cm-container{display:flex;justify-content:space-between;
  align-items:center;min-height:38px}
.cm-topbar,.cm-topbar a{color:var(--cm-header-ink)}
.cm-topbar .cm-date{opacity:.75}
.cm-topbar .cm-social a{margin-left:14px;opacity:.85}
.cm-topbar .cm-social a:hover{opacity:1;text-decoration:none}

.cm-header{background:var(--cm-bg);border-bottom:1px solid var(--cm-line)}
.cm-header .cm-container{display:flex;align-items:center;
  justify-content:space-between;padding-top:26px;padding-bottom:26px;gap:28px}
.cm-branding .cm-site-title{font-size:2.1rem;margin:0;line-height:1;
  letter-spacing:-.5px}
.cm-branding .cm-site-title a{color:var(--cm-ink)}
.cm-branding .cm-site-desc{margin:4px 0 0;color:var(--cm-muted);
  font-size:.9rem;font-family:var(--cm-font-body)}
.cm-branding img.custom-logo{max-height:64px;width:auto}

.cm-nav-wrap{background:var(--cm-header-bg);position:relative;z-index:20}
.cm-nav{display:flex;align-items:center}
.cm-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.cm-nav li{position:relative}
.cm-nav a{display:block;color:var(--cm-header-ink);padding:15px 17px;
  font-size:.85rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.4px;font-family:var(--cm-font-body)}
.cm-nav a:hover{background:var(--cm-accent);text-decoration:none}
.cm-nav .current-menu-item>a,.cm-nav .current-menu-parent>a{background:var(--cm-accent)}
.cm-nav ul ul{position:absolute;left:0;top:100%;background:var(--cm-header-bg);
  min-width:210px;display:none;flex-direction:column;
  box-shadow:0 12px 28px rgba(0,0,0,.25);z-index:30}
.cm-nav li:hover>ul,.cm-nav li:focus-within>ul{display:flex}
.cm-nav ul ul a{text-transform:none;font-weight:500;
  border-bottom:1px solid rgba(255,255,255,.06)}
.cm-menu-toggle{display:none;background:transparent;border:0;color:#fff;
  padding:12px 16px;font-size:1rem;cursor:pointer;align-items:center;gap:8px}
@media(max-width:820px){
  .cm-header .cm-container{flex-direction:column;text-align:center}
  .cm-menu-toggle{display:inline-flex}
  .cm-nav{width:100%;display:none}
  .cm-nav.is-open{display:block}
  .cm-nav ul{flex-direction:column}
  .cm-nav ul ul{position:static;display:none;box-shadow:none;
    background:rgba(255,255,255,.04)}
  .cm-nav li.cm-sub-open>ul{display:flex}
}

/* =========================================================
   4. Cartes d'article / grille
   ========================================================= */
.cm-page-head{border-bottom:2px solid var(--cm-ink);margin-bottom:30px;
  padding-bottom:0}
.cm-page-head h1{font-size:1.25rem;margin:0;display:inline-block;
  text-transform:uppercase;letter-spacing:.6px;
  border-bottom:3px solid var(--cm-accent);padding-bottom:10px;margin-bottom:-2px}
.cm-archive-desc{margin:14px 0 0;color:var(--cm-muted)}

.cm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 32px}
@media(max-width:560px){.cm-grid{grid-template-columns:1fr;gap:30px}}

.cm-card{background:var(--cm-bg);display:flex;flex-direction:column}
.cm-card .cm-thumb{position:relative;overflow:hidden;border-radius:var(--cm-radius);
  aspect-ratio:16/9;background:var(--cm-bg-soft);margin-bottom:14px}
.cm-card .cm-thumb img{width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease}
.cm-card:hover .cm-thumb img{transform:scale(1.05)}
.cm-cat-badge{position:absolute;left:10px;top:10px;background:var(--cm-accent);
  color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;padding:5px 10px;border-radius:3px;z-index:2}
.cm-cat-badge:hover{color:#fff;background:var(--cm-accent-dark);text-decoration:none}
.cm-card .cm-card-title{font-size:1.2rem;margin:0 0 9px;line-height:1.3}
.cm-card .cm-card-title a{color:var(--cm-ink)}
.cm-card .cm-card-title a:hover{color:var(--cm-accent);text-decoration:none}
.cm-meta{color:var(--cm-muted);font-size:var(--cm-fs-sm);margin-bottom:9px;
  display:flex;gap:6px 14px;flex-wrap:wrap;font-family:var(--cm-font-body);
  text-transform:uppercase;letter-spacing:.3px;font-weight:500}
.cm-meta a{color:var(--cm-muted)}
.cm-meta a:hover{color:var(--cm-accent)}
.cm-excerpt{color:var(--cm-body);font-size:.95rem;line-height:1.6}

/* Article en une (premier de la liste) */
.cm-lead{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;
  gap:32px;align-items:center;padding-bottom:34px;margin-bottom:8px;
  border-bottom:1px solid var(--cm-line)}
.cm-lead .cm-thumb{aspect-ratio:16/10;margin-bottom:0}
.cm-lead .cm-card-title{font-size:1.95rem;line-height:1.18}
.cm-lead .cm-excerpt{font-size:1.02rem}
@media(max-width:700px){.cm-lead{grid-template-columns:1fr}}

/* =========================================================
   4bis. Accueil magazine (front-page) : hero + modules
   ========================================================= */
.cm-home{padding:40px 0}
.cm-home > section{margin-bottom:var(--cm-space-lg)}

/* En-tête de section */
.cm-section-head{display:flex;align-items:baseline;justify-content:space-between;
  gap:16px;border-bottom:2px solid var(--cm-ink);margin-bottom:24px}
.cm-section-title{font-size:1.15rem;margin:0;text-transform:uppercase;
  letter-spacing:.6px;border-bottom:3px solid var(--cm-accent);
  padding-bottom:10px;margin-bottom:-2px}
.cm-section-more{font-size:.78rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.4px;color:var(--cm-muted);white-space:nowrap}
.cm-section-more:hover{color:var(--cm-accent);text-decoration:none}

/* Cartes de module (partagées) */
.cm-mod-card .cm-mod-thumb{position:relative;display:block;overflow:hidden;
  border-radius:var(--cm-radius);aspect-ratio:16/9;background:var(--cm-bg-soft);
  margin-bottom:12px}
.cm-mod-card .cm-mod-thumb img,.cm-mod-card .cm-mod-thumb svg{width:100%;height:100%;
  object-fit:cover;transition:transform .5s ease}
.cm-mod-card:hover .cm-mod-thumb img{transform:scale(1.05)}
.cm-mod-title{font-size:1.1rem;line-height:1.3;margin:0 0 7px}
.cm-mod-title a{color:var(--cm-ink)}
.cm-mod-title a:hover{color:var(--cm-accent);text-decoration:none}

/* HERO */
.cm-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--cm-gap);align-items:start}
.cm-hero-side{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cm-hero-lead .cm-mod-title{font-size:1.9rem;line-height:1.18}
.cm-hero-lead .cm-mod-thumb{aspect-ratio:16/10}
@media(max-width:900px){.cm-hero{grid-template-columns:1fr}}
@media(max-width:520px){.cm-hero-side{grid-template-columns:1fr}}

/* MODULE rubrique : gros + liste */
.cm-module-body{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--cm-gap)}
.cm-module-big .cm-mod-title{font-size:1.4rem}
.cm-module-list{list-style:none;margin:0;padding:0}
.cm-mod-li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--cm-line);
  align-items:center}
.cm-mod-li:first-child{padding-top:0}
.cm-mod-li-thumb{flex:0 0 96px;height:66px;border-radius:var(--cm-radius);
  overflow:hidden;background:var(--cm-bg-soft)}
.cm-mod-li-thumb img,.cm-mod-li-thumb svg{width:100%;height:100%;object-fit:cover}
.cm-mod-li-title{display:block;font-family:var(--cm-font-head);font-weight:700;
  color:var(--cm-ink);line-height:1.3;font-size:.98rem}
.cm-mod-li-title:hover{color:var(--cm-accent);text-decoration:none}
.cm-mod-li-date{font-size:var(--cm-fs-sm);color:var(--cm-muted);
  text-transform:uppercase;letter-spacing:.3px}
@media(max-width:700px){.cm-module-body{grid-template-columns:1fr}}

/* MODULE boutique */
.cm-shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.cm-shop-card{text-align:center}
.cm-shop-thumb{display:block;border-radius:var(--cm-radius);overflow:hidden;
  background:var(--cm-bg-soft);margin-bottom:12px;aspect-ratio:1/1}
.cm-shop-thumb img{width:100%;height:100%;object-fit:cover}
.cm-shop-title{font-size:1rem;margin:0 0 6px}
.cm-shop-title a{color:var(--cm-ink)}
.cm-shop-price{color:var(--cm-accent);font-weight:700;margin-bottom:10px}
.cm-shop-btn{padding:8px 18px;font-size:.85rem}
@media(max-width:700px){.cm-shop-grid{grid-template-columns:repeat(2,1fr)}}

.cm-home-latest{padding-top:0}
.cm-muted-note{color:var(--cm-muted)}

/* =========================================================
   5. Article seul
   ========================================================= */
.cm-single .cm-article-head{margin-bottom:26px}
.cm-single .cm-article-head h1{font-size:2.35rem;margin-bottom:14px;line-height:1.18}
.cm-single .cm-featured{margin:0 0 26px;border-radius:var(--cm-radius);
  overflow:hidden}
.cm-entry{font-size:1.08rem}
.cm-entry img{border-radius:var(--cm-radius)}
.cm-entry h2,.cm-entry h3{margin-top:1.6em}
.cm-tags{margin:28px 0;padding-top:18px;border-top:1px solid var(--cm-line)}
.cm-tags a{display:inline-block;background:var(--cm-bg-soft);color:var(--cm-body);
  padding:5px 12px;border-radius:20px;font-size:.8rem;margin:0 6px 6px 0}
.cm-tags a:hover{background:var(--cm-accent);color:#fff;text-decoration:none}
.cm-author-box{display:flex;gap:16px;background:var(--cm-bg-soft);
  padding:20px;border-radius:var(--cm-radius);margin:24px 0}
.cm-author-box img{border-radius:50%;width:64px;height:64px}
.cm-author-box h4{margin:0 0 4px}
.cm-post-nav{display:flex;justify-content:space-between;gap:16px;margin:24px 0}
.cm-post-nav a{flex:1;padding:14px 16px;background:var(--cm-bg-soft);
  border-radius:var(--cm-radius);color:var(--cm-ink)}
.cm-post-nav a:hover{background:var(--cm-accent);color:#fff;text-decoration:none}
.cm-post-nav .cm-next{text-align:right}
.cm-post-nav small{display:block;color:var(--cm-muted);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.5px}
.cm-post-nav a:hover small{color:rgba(255,255,255,.8)}

/* =========================================================
   6. Sidebar / widgets
   ========================================================= */
.cm-sidebar .widget{margin-bottom:34px}
.cm-widget-title{font-size:1rem;text-transform:uppercase;letter-spacing:.5px;
  border-bottom:2px solid var(--cm-ink);padding-bottom:8px;margin-bottom:16px;
  position:relative}
.cm-widget-title::after{content:"";position:absolute;left:0;bottom:-2px;
  width:60px;height:2px;background:var(--cm-accent)}
.cm-sidebar ul{list-style:none;padding:0;margin:0}
.cm-sidebar li{padding:8px 0;border-bottom:1px solid var(--cm-line);font-size:.92rem}
.cm-sidebar a{color:var(--cm-body)}
.cm-sidebar a:hover{color:var(--cm-accent)}

/* =========================================================
   7. Pagination / commentaires / recherche
   ========================================================= */
.cm-pagination{margin:36px 0 8px;display:flex;justify-content:center;gap:8px;
  flex-wrap:wrap}
.cm-pagination .page-numbers{display:inline-block;padding:9px 15px;
  background:var(--cm-bg-soft);border-radius:var(--cm-radius);color:var(--cm-ink);
  font-weight:600;font-size:.9rem}
.cm-pagination .page-numbers.current,.cm-pagination a.page-numbers:hover{
  background:var(--cm-accent);color:#fff;text-decoration:none}

.cm-comments{margin-top:44px}
.cm-comments ol{list-style:none;padding:0}
.cm-comments .children{list-style:none;padding-left:28px}
.cm-comments .comment-body{padding:16px 0;border-bottom:1px solid var(--cm-line)}
.cm-comments .comment-author img{border-radius:50%;margin-right:10px;
  vertical-align:middle}
form input[type=text],form input[type=email],form input[type=url],
form input[type=search],form input[type=password],form textarea,form select{
  width:100%;padding:11px 13px;border:1px solid var(--cm-line);
  border-radius:var(--cm-radius);font:inherit;background:var(--cm-bg);
  color:var(--cm-body)}
form input:focus,form textarea:focus{outline:2px solid var(--cm-accent);
  border-color:transparent}
.cm-btn,button,input[type=submit],.wp-block-button__link{
  display:inline-block;background:var(--cm-accent);color:#fff;border:0;
  padding:12px 22px;border-radius:var(--cm-radius);font-weight:600;
  cursor:pointer;font:inherit;line-height:1.2}
.cm-btn:hover,button:hover,input[type=submit]:hover{background:var(--cm-accent-dark);
  color:#fff;text-decoration:none}
.cm-search-form{display:flex;gap:8px}
.cm-search-form input[type=search]{flex:1}

/* =========================================================
   8. Footer
   ========================================================= */
.cm-footer{background:var(--cm-header-bg);color:rgba(255,255,255,.72);
  margin-top:50px;padding:46px 0 0}
.cm-footer a{color:rgba(255,255,255,.85)}
.cm-footer a:hover{color:#fff}
.cm-footer-widgets{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;
  padding-bottom:36px}
@media(max-width:820px){.cm-footer-widgets{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.cm-footer-widgets{grid-template-columns:1fr}}
.cm-footer .cm-widget-title{color:#fff;border-color:rgba(255,255,255,.2)}
.cm-footer .cm-sidebar li,.cm-footer li{border-color:rgba(255,255,255,.08)}
.cm-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;
  font-size:.85rem;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:10px}

/* Footer auto-rempli */
.cm-footer-about{font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.7)}
.cm-footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.cm-footer-social a{display:inline-block;padding:6px 12px;font-size:.8rem;
  border:1px solid rgba(255,255,255,.2);border-radius:20px}
.cm-footer-social a:hover{background:var(--cm-accent);border-color:var(--cm-accent);
  color:#fff;text-decoration:none}
.cm-footer-menu,.cm-footer-recent,.cm-footer-cats{list-style:none;margin:0;padding:0}
.cm-footer-menu li,.cm-footer-cats li{padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.08);font-size:.9rem}
.cm-footer-recent li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.cm-footer-recent li a{display:block;font-size:.9rem;line-height:1.35;
  color:rgba(255,255,255,.9)}
.cm-footer-recent li span{display:block;font-size:.72rem;
  color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.3px;
  margin-top:3px}

/* =========================================================
   9. Utilitaires WP
   ========================================================= */
.alignleft{float:left;margin:0 24px 16px 0}
.alignright{float:right;margin:0 0 16px 24px}
.aligncenter{margin:0 auto 16px;display:block}
.wp-caption-text,.wp-element-caption{color:var(--cm-muted);font-size:.82rem;
  text-align:center;margin-top:6px}
.sticky,.bypostauthor{}
.cm-sticky-flag{background:var(--cm-accent);color:#fff;font-size:.68rem;
  padding:2px 8px;border-radius:3px;text-transform:uppercase;font-weight:700}

/* Greffe : bouton CTA (Devis rapide / Comparer) dans la nav CM Media (page article) */
.cm-nav li.cta > a { background: var(--cm-accent, #c0392b); color: #fff; border-radius: 6px; margin: 4px 6px; }
.cm-nav li.cta > a:hover { background: var(--cm-accent-dark, #96271b); }

/* ═══ Squelette Éditorial — blocs d'article (page article, chrome CM Media) ═══
   Écrit avec les variables de charte du site : le rendu suit automatiquement
   l'identité de chaque domaine (champagne sur fond noir / bleu sur fond clair). */

.cm-entry .se-chapo{
  font-size:1.16em; line-height:1.6; font-weight:500;
  color:var(--cm-muted); margin-bottom:1.6em;
}

.cm-entry .se-essentiel{
  background:var(--cm-bg-soft);
  border:1px solid var(--cm-line);
  border-left:3px solid var(--cm-accent);
  border-radius:var(--cm-radius);
  padding:1.25em 1.5em; margin:1.8em 0 2em;
}
.cm-entry .se-essentiel .se-essentiel-titre{
  margin:0 0 .7em; font-size:1.15em; color:var(--cm-ink);
  font-family:var(--cm-font-head);
}
.cm-entry .se-essentiel .se-essentiel-liste{ margin:0; padding-left:1.2em; }
.cm-entry .se-essentiel .se-essentiel-liste li{ margin-bottom:.5em; line-height:1.55; }
.cm-entry .se-essentiel .se-essentiel-liste li:last-child{ margin-bottom:0; }

/* FAQ : le H2 porte .se-faq, les questions sont les H3 qui suivent */
.cm-entry h2.se-faq{
  margin-top:2.2em; padding-top:1.1em;
  border-top:1px solid var(--cm-line);
}
.cm-entry h2.se-faq + h3, .cm-entry h2.se-faq ~ h3{ font-size:1.05em; }

/* Bloc de maillage interne « À lire également » */
.cm-entry .se-maillage{
  background:var(--cm-bg-soft);
  border:1px solid var(--cm-line);
  border-left:3px solid var(--cm-accent);
  border-radius:var(--cm-radius);
  padding:1.1em 1.4em; margin:2.2em 0 1em;
}
.cm-entry .se-maillage .se-maillage-titre{
  margin:0 0 .6em; font-size:1.05em; color:var(--cm-ink);
  font-family:var(--cm-font-head);
}
.cm-entry .se-maillage ul{ margin:0; padding-left:1.2em; }
.cm-entry .se-maillage li{ margin-bottom:.4em; }
.cm-entry .se-maillage li:last-child{ margin-bottom:0; }

/* ═══ CHARTE « PANNEAU MÉDICAL PRO » — page article (chrome CM Media) ═══ */
:root{
  --cm-accent:#1B6FA8;
  --cm-accent-dark:#14588A;
  --cm-ink:#0F1B24;
  --cm-body:#2C3B46;
  --cm-muted:#5A6B78;
  --cm-line:#D3DDE4;
  --cm-bg:#ffffff;
  --cm-bg-soft:#EDF1F4;
  --cm-header-bg:#102331;
  --cm-header-ink:#ffffff;
  --cm-font-head:"IBM Plex Sans Condensed","Segoe UI",Helvetica,Arial,sans-serif;
  --cm-font-body:"IBM Plex Sans","Segoe UI",Helvetica,Arial,sans-serif;
  --cm-radius:3px;
}

.cm-single h1, .cm-single h2 { text-transform:none; letter-spacing:0.01em; }
.cm-nav a:hover { color:var(--cm-accent); }

/* CONVERSION UNIQUEMENT : vert sécurité sur le CTA de la nav article */
.cm-nav li.cta > a {
  background:#009639; color:#fff !important; border-radius:3px;
  padding:.45em .9em; text-transform:uppercase; letter-spacing:.05em; font-weight:600;
}
.cm-nav li.cta > a:hover { background:#007A2E; }

/* Badge de rubrique : filet bleu technique */
.cm-cat, .cm-category {
  color:var(--cm-accent); border:1px solid var(--cm-accent);
  border-radius:3px; background:transparent;
}
