/*
Theme Name: Neve Child
Template: neve
Author: Florian
Version: 1.1
Description: Child theme Neve pour cafe-classique.com - socle design (fonts + tokens + base)
*/

/* ==========================================================================
   1. POLICES AUTO-HÉBERGÉES (Fraunces = titres, DM Sans = corps)
   ========================================================================== */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/fraunces-400.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/fraunces-500.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/fraunces-600.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/fraunces-700.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:500;font-display:swap;src:url('fonts/fraunces-500-italic.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/dmsans-400.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/dmsans-500.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/dmsans-600.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/dmsans-700.woff2') format('woff2')}

/* ==========================================================================
   2. TOKENS DE MARQUE - Café Classique (mono-thème clair)
   ========================================================================== */
:root{
  --cc-cream:#FCFAF6; --cc-cream-2:#F4ECDD; --cc-card:#FFFFFF;
  --cc-ink:#241C15; --cc-ink-soft:#6A5B4B; --cc-line:#EBE1D2;
  --cc-brand:#A9773B; --cc-brand-dark:#8B6029; --cc-brand-tint:#F3E7D2;
  --cc-espresso:#5A3B25; --cc-gold:#C29A55;
  --cc-green:#1F6B57; --cc-green-tint:#E4EFEA;
  --cc-dark:#1B1510; --cc-dark-2:#241C15; --cc-on-dark:#F3ECDF; --cc-on-dark-soft:#B9A88F; --cc-dark-line:#352A20;
  --cc-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --cc-sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --cc-shadow:0 1px 2px rgba(45,30,15,.05), 0 8px 24px rgba(45,30,15,.06);
  --cc-shadow-lg:0 12px 40px rgba(45,30,15,.12);
  --cc-r:16px; --cc-r-sm:11px; --cc-r-pill:999px;
}

/* ==========================================================================
   3. BASE SITE-WIDE (typographie + accents) - s'applique à toutes les pages
   ========================================================================== */
body{font-family:var(--cc-sans);color:var(--cc-ink);background:var(--cc-cream);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.nv-page-title,.entry-title{font-family:var(--cc-serif);font-weight:600;letter-spacing:-.01em}
h1,h2{text-wrap:balance}

/* liens & accent Neve alignés sur la marque bronze */
a{color:var(--cc-brand)}
a:hover{color:var(--cc-brand-dark)}
.entry-content a{text-decoration:underline;text-underline-offset:2px}

/* focus clavier visible (accessibilité) */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cc-brand);outline-offset:2px}

/* ==========================================================================
   4. HEADER / MENU NEVE - habillage global (toutes pages sauf home sur-mesure)
   ========================================================================== */
.hfg_header .header--row{background:var(--cc-cream);border-bottom:1px solid var(--cc-line)}
.builder-item--logo img,.site-header .site-logo img{max-height:52px;width:auto;height:auto}
.builder-item--primary-menu .menu-item > a{font-family:var(--cc-sans);font-weight:550;color:var(--cc-ink-soft)}
.builder-item--primary-menu .menu-item > a:hover{color:var(--cc-ink)}
.builder-item--primary-menu .caret-wrap svg,.builder-item--primary-menu .caret{color:var(--cc-brand);fill:var(--cc-brand)}
.builder-item--primary-menu .sub-menu{border:1px solid var(--cc-line);border-radius:12px;box-shadow:var(--cc-shadow-lg);background:var(--cc-card)}
.builder-item--primary-menu .sub-menu a{color:var(--cc-ink-soft)}
.builder-item--primary-menu .sub-menu a:hover{color:var(--cc-ink);background:var(--cc-cream-2)}

/* ==========================================================================
   5. BOUTONS NATIFS (pages internes) alignés bronze
   ========================================================================== */
.wp-block-button__link,.button.button-primary,.nv-content-wrap .wp-block-button__link{
  background:var(--cc-brand);border-color:var(--cc-brand);color:#fff;border-radius:var(--cc-r-pill)}
.wp-block-button__link:hover,.button.button-primary:hover{background:var(--cc-brand-dark);border-color:var(--cc-brand-dark);color:#fff}

/* (section 6 GridBuilder : habillage déplacé dans mu-plugins/cc-card-design.php) */

/* ==========================================================================
   7. STICKY BOUTON (habillage café - mécanique portée avec le gabarit fiche)
   ========================================================================== */
.sticky-button{background:var(--cc-brand)!important;color:#fff!important;font-family:var(--cc-sans);font-weight:650;border-radius:var(--cc-r-pill)!important;box-shadow:var(--cc-shadow-lg)}
.sticky-button:hover{background:var(--cc-brand-dark)!important}

/* ==========================================================================
   8. SHELL GLOBAL - header + footer + boutons + scroll-top (toutes pages)
   ========================================================================== */
.wrap{max-width:1160px;margin-inline:auto;padding-inline:22px}

/* home : neutralise le container Neve pour du plein-écran */
body.home .neve-main{padding:0!important;margin:0;max-width:none}

/* boutons globaux */
.cc-btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--cc-sans);font-weight:650;font-size:15px;padding:12px 19px;border-radius:var(--cc-r-pill);border:1px solid transparent;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;line-height:1.1;text-decoration:none}
/* anti-flash bleu : la couleur du bouton "Trouver ma machine" ne transitionne jamais */
.cc-btn-dark,.cc-btn-dark:link,.cc-btn-dark:visited,.cc-header-cta.ccq-cta{color:var(--cc-cream)!important}
.cc-btn-primary{background:var(--cc-brand);color:#fff}
.cc-btn-primary:hover{background:var(--cc-brand-dark);color:#fff;transform:translateY(-1px)}
.cc-btn-dark{background:var(--cc-ink);color:var(--cc-cream)}
.cc-btn-dark:hover{color:var(--cc-cream);transform:translateY(-1px)}
.cc-btn-ghost{background:transparent;border-color:var(--cc-line);color:var(--cc-ink)}
.cc-btn-ghost:hover{border-color:var(--cc-ink)}

/* HEADER global */
.cc-header{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--cc-cream) 90%,transparent);backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--cc-line)}
.cc-header .neve-skip-link{position:absolute}
.cc-header .nav{display:flex;align-items:center;gap:22px;height:74px}
.cc-header .logo{display:flex;align-items:center}
.cc-header .logo-img{height:58px;width:auto;display:block;mix-blend-mode:multiply}
.cc-header .spacer{flex:1}
.cc-header .cc-navwrap{display:flex;align-items:center;gap:22px}
.cc-nav-menu{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-size:14.5px;font-weight:550;font-family:var(--cc-sans)}
.cc-nav-menu > li{position:relative}
.cc-nav-menu > li > a{display:inline-flex;align-items:center;gap:5px;color:var(--cc-ink-soft);padding:8px 0;text-decoration:none}
.cc-nav-menu > li > a:hover{color:var(--cc-ink)}
.cc-nav-menu > li.menu-item-has-children > a::after{content:"▾";font-size:10px;color:var(--cc-brand);opacity:.75}
.cc-nav-menu .sub-menu{position:absolute;top:100%;left:0;min-width:230px;background:var(--cc-card);border:1px solid var(--cc-line);border-radius:12px;box-shadow:var(--cc-shadow-lg);padding:8px;list-style:none;margin:8px 0 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;z-index:70}
.cc-nav-menu > li:hover .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.cc-nav-menu .sub-menu a{display:block;padding:8px 12px;border-radius:8px;color:var(--cc-ink-soft);font-size:14px;text-decoration:none}
.cc-nav-menu .sub-menu a:hover{background:var(--cc-cream-2);color:var(--cc-ink)}
.cc-search{display:flex;align-items:center;border:1px solid var(--cc-line);border-radius:var(--cc-r-pill);background:var(--cc-card);overflow:hidden}
.cc-search input{border:0;background:transparent;padding:9px 4px 9px 14px;font-size:13.5px;font-family:var(--cc-sans);color:var(--cc-ink);width:140px;outline:none}
.cc-search button{border:0;background:transparent;cursor:pointer;padding:8px 12px;font-size:14px;color:var(--cc-ink-soft)}
.cc-hamburger{display:none;border:1px solid var(--cc-line);background:var(--cc-card);border-radius:10px;width:44px;height:40px;font-size:18px;cursor:pointer;color:var(--cc-ink)}
@media(max-width:980px){
  .cc-nav-menu,.cc-search,.cc-header-cta{display:none}
  .cc-hamburger{display:inline-flex;align-items:center;justify-content:center}
  .cc-nav-menu.open{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;background:var(--cc-card);border-bottom:1px solid var(--cc-line);padding:14px 22px;gap:2px;box-shadow:var(--cc-shadow-lg);z-index:80}
  .cc-nav-menu.open > li > a{padding:11px 0}
  .cc-nav-menu.open .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 8px 12px;margin:0;min-width:0}
}

/* FOOTER global */
.cc-footer{background:var(--cc-dark);color:var(--cc-on-dark-soft);padding:54px 0 30px}
.cc-footer .foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px}
.cc-footer .cc-wordmark{font-family:var(--cc-serif);font-weight:700;font-size:22px;color:var(--cc-on-dark);margin-bottom:12px}
.cc-footer .cc-wordmark span{color:var(--cc-gold)}
.cc-footer .foot-brand p{font-size:13px;max-width:34ch;color:var(--cc-on-dark-soft);margin:0}
.cc-footer .foot-col h4{font-family:var(--cc-sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cc-on-dark);margin:0 0 14px}
.cc-footer .foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:13.5px}
.cc-footer .foot-col a{color:var(--cc-on-dark-soft);text-decoration:none}
.cc-footer .foot-col a:hover{color:var(--cc-on-dark)}
.cc-footer .foot-bottom{border-top:1px solid var(--cc-dark-line);margin-top:38px;padding-top:20px;font-size:12px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:820px){.cc-footer .foot-grid{grid-template-columns:1fr 1fr}.cc-footer .foot-brand{grid-column:1/-1}}

/* SCROLL-TO-TOP */
.cc-totop{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;background:var(--cc-brand);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--cc-shadow-lg);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s;z-index:90}
.cc-totop.show{opacity:1;visibility:visible;transform:translateY(0)}
.cc-totop:hover{background:var(--cc-brand-dark)}
@media(prefers-reduced-motion:reduce){.cc-totop{transition:none}}

/* ==========================================================================
   9. FIX recherche (rendu propre) + masquage du scroll-top natif Neve
   ========================================================================== */
.cc-search{padding-right:2px}
.cc-search input{-webkit-appearance:none;appearance:none}
.cc-search input::-webkit-search-decoration,.cc-search input::-webkit-search-cancel-button,.cc-search input::-webkit-search-results-button{-webkit-appearance:none;display:none}
.cc-search input::placeholder{color:var(--cc-ink-soft);opacity:.85}
.cc-search button{display:flex;align-items:center;justify-content:center}
.cc-search button svg{display:block}
.cc-search button:hover{color:var(--cc-brand)}
/* Neve a son propre bouton retour-en-haut (carré bleu) : on garde uniquement .cc-totop */
#scroll-to-top{display:none!important}

/* ==========================================================================
   10. Header en PLEINE LARGEUR (logo bord gauche, nav bord droit)
   ========================================================================== */
.cc-header .wrap{max-width:none;padding-inline:clamp(20px,4vw,44px)}

/* ==========================================================================
   11. RECHERCHE - refonte épurée (override robuste du style natif input)
   ========================================================================== */
.cc-header .cc-search{display:flex;align-items:center;gap:0;border:1px solid var(--cc-line);border-radius:var(--cc-r-pill);background:var(--cc-card);padding:3px 4px 3px 6px;box-shadow:none;overflow:visible}
.cc-header .cc-search input[type="search"]{box-sizing:border-box;font-family:var(--cc-sans);font-size:13.5px;color:var(--cc-ink);padding:7px 4px 7px 10px;width:150px;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;-webkit-appearance:none!important;appearance:none!important;height:auto;margin:0}
.cc-header .cc-search input[type="search"]::placeholder{color:var(--cc-ink-soft);opacity:.9}
.cc-header .cc-search input[type="search"]::-webkit-search-decoration,.cc-header .cc-search input[type="search"]::-webkit-search-cancel-button,.cc-header .cc-search input[type="search"]::-webkit-search-results-button{-webkit-appearance:none!important;display:none!important}
.cc-header .cc-search button{background:transparent!important;border:0!important;box-shadow:none!important;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px 8px;margin:0;color:var(--cc-ink-soft)}
.cc-header .cc-search button:hover{color:var(--cc-brand)}
.cc-header .cc-search button svg{display:block;width:17px;height:17px}

/* ==========================================================================
   12. HEADER MOBILE - panneau (recherche + menu repliable)
   ========================================================================== */
@media(max-width:980px){
  .cc-header .cc-navwrap{display:none}
  .cc-header .nav{gap:14px}
  .cc-header .cc-hamburger{display:inline-flex;align-items:center;justify-content:center;-webkit-appearance:none;appearance:none;background:var(--cc-card);color:var(--cc-ink);border:1px solid var(--cc-line);border-radius:10px;width:46px;height:40px;font-size:19px}
  .cc-header .cc-hamburger.is-open{background:var(--cc-brand);color:#fff;border-color:var(--cc-brand)}
  .cc-header .cc-navwrap.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;background:var(--cc-card);border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line);padding:14px 22px 18px;gap:12px;box-shadow:var(--cc-shadow-lg);z-index:80;max-height:82vh;overflow:auto}
  .cc-header .cc-navwrap.open .cc-search{display:flex;order:-2;width:100%}
  .cc-header .cc-navwrap.open .cc-search input{width:100%}
  .cc-header .cc-navwrap.open .cc-header-cta{display:inline-flex;justify-content:center;order:10}
  .cc-header .cc-navwrap.open .cc-nav-menu{display:flex;flex-direction:column;width:100%;gap:0}
  .cc-header .cc-navwrap.open .cc-nav-menu > li{width:100%;border-bottom:1px solid var(--cc-line);position:static}
  .cc-header .cc-navwrap.open .cc-nav-menu > li:last-child{border-bottom:0}
  .cc-header .cc-navwrap.open .cc-nav-menu > li > a{padding:13px 2px;justify-content:space-between;font-size:15.5px;color:var(--cc-ink)}
  .cc-header .cc-navwrap.open .cc-nav-menu .sub-menu{display:none;position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 10px 14px;margin:0;min-width:0}
  .cc-header .cc-navwrap.open .cc-nav-menu li.sub-open > .sub-menu{display:block}
  .cc-header .cc-navwrap.open .cc-nav-menu li.menu-item-has-children > a::after{transition:transform .2s}
  .cc-header .cc-navwrap.open .cc-nav-menu li.sub-open > a::after{transform:rotate(180deg)}
}

/* GridBuilder : sidebar de facettes auto-masquée tant que les facettes sont vides
   (les champs seront remplis à la refonte des tests & avis ; dès qu une facette
   rend un contrôle, la sidebar réapparaît toute seule) */
.wpgb-sidebar:not(:has(.wpgb-facet)){display:none}

/* Anti-debordement grille (fix 19/08) : verrouiller sidebar 300px + main flexible
   pour que masonry mesure la bonne largeur (evite les colonnes rognees a droite) */
@media(min-width:981px){
  .wp-grid-builder .wpgb-wrapper{flex-wrap:nowrap!important;align-items:flex-start!important}
  .wp-grid-builder .wpgb-sidebar{flex:0 0 300px!important;width:300px!important;max-width:300px!important;min-width:0!important}
  .wp-grid-builder .wpgb-main{flex:1 1 0!important;min-width:0!important;max-width:100%!important}
}




/* (habillage facettes : déplacé dans mu-plugins/cc-card-design.php — ici ne reste
   que la MÉCANIQUE : garde-fou sidebar vide ci-dessus + tiroir mobile ci-dessous) */

/* ============ Bouton + tiroir mobile (bottom-sheet) ============ */
.cc-fbtn,.cc-fbackdrop,.cc-dhead,.cc-dfoot{display:none}
.cc-fbtn{align-items:center;gap:9px;background:var(--cc-brand);color:#fff;border:0;font-family:var(--cc-sans);font-size:14px;font-weight:600;padding:11px 18px;border-radius:var(--cc-r-pill);cursor:pointer;box-shadow:var(--cc-shadow);margin:0 0 16px}
.cc-fbtn:hover{background:var(--cc-brand-dark)}
.cc-fbtn svg{width:16px;height:16px}
.cc-fbtn .cc-fbadge{background:rgba(255,255,255,.25);border-radius:99px;font-size:11px;font-weight:600;padding:1px 7px;line-height:1.6}

@media(max-width:980px){
  .cc-fbtn{display:inline-flex}
  .wpgb-sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;max-height:86vh;z-index:1002;border:0;border-radius:20px 20px 0 0;box-shadow:0 -14px 44px rgba(45,30,15,.20);transform:translateY(102%);transition:transform .32s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;padding:0;overflow:hidden}
  body.cc-drawer .wpgb-sidebar{transform:translateY(0)}
  .cc-fbackdrop{display:block;position:fixed;inset:0;background:rgba(30,20,12,.42);opacity:0;visibility:hidden;transition:opacity .3s;z-index:1001}
  body.cc-drawer .cc-fbackdrop{opacity:1;visibility:visible}
  body.cc-drawer{overflow:hidden}
  .cc-dhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;position:relative;padding:22px 16px 14px;flex:0 0 auto;border-bottom:1px solid var(--cc-line)}
  .cc-dhead:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:40px;height:4px;border-radius:99px;background:var(--cc-line)}
  .cc-dhead .cc-dttl{justify-self:start;font-family:var(--cc-serif);font-size:20px;font-weight:600;line-height:1;color:var(--cc-ink)}
  .cc-dclear{justify-self:center;background:none;border:0;padding:0;color:var(--cc-brand-dark);font-family:var(--cc-sans);font-size:13.5px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap}
  .cc-dclear:hover{color:var(--cc-brand)}
  .cc-dx{justify-self:end;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:0;background:var(--cc-cream-2);color:var(--cc-ink);cursor:pointer;padding:0}
  .cc-dx svg{width:15px;height:15px;display:block}
  .cc-dbody{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 20px}
  .cc-dfoot{display:block;flex:0 0 auto;padding:13px 16px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--cc-line);background:var(--cc-card)}
  .cc-dsee{width:100%;background:var(--cc-brand);color:#fff;border:0;font-family:var(--cc-sans);font-size:15px;font-weight:600;padding:15px;border-radius:14px;cursor:pointer}
  .cc-dsee:hover{background:var(--cc-brand-dark)}
  /* le tiroir ouvert doit passer devant la pill quiz */
  body.cc-drawer .ccq-pill{display:none!important}
}

/* ============================================================
   « Sur le même sujet » — reco 4 articles (bas d'article)
   Cartes premium façon site : radius, ombre, hover lift bronze,
   pill catégorie crème/espresso, titres Fraunces.
   ============================================================ */
.cc-rel{margin:44px 0 16px}
.cc-rel__hd{display:flex; align-items:center; gap:14px; margin:0 2px 16px}
.cc-rel__key{
  font-family:var(--cc-sans);
  font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:var(--cc-brand-dark); display:inline-flex; align-items:center; gap:10px; white-space:nowrap;
}
.cc-rel__key::before{
  content:""; width:8px; height:8px; border-radius:50%; background:var(--cc-brand);
  box-shadow:0 0 0 3px var(--cc-brand-tint);
}
.cc-rel__hd::after{
  content:""; flex:1 1 auto; height:1px;
  background:linear-gradient(90deg, var(--cc-line), transparent);
}
.cc-rel__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.cc-rel__c{
  display:flex !important; flex-direction:column; text-decoration:none !important;
  background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-r);
  overflow:hidden; box-shadow:var(--cc-shadow); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cc-rel__c:hover{
  transform:translateY(-3px); box-shadow:var(--cc-shadow-lg);
  border-color:color-mix(in srgb, var(--cc-brand) 40%, var(--cc-line));
}
.cc-rel__ph{
  aspect-ratio:4/3; display:grid; place-items:center;
  background-color:var(--cc-card);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  background-origin:content-box;
  padding:18px;
  border-bottom:1px solid var(--cc-line);
}
.cc-rel__ph--fill{ background-size:cover; background-origin:padding-box; padding:0; }
.cc-rel__ph--none{color:var(--cc-brand)}
.cc-rel__ph--none svg{width:34px;height:34px}
.cc-rel__no{color:var(--cc-brand)}
.cc-rel__no svg{width:34px;height:34px}
.cc-rel__b{display:flex; flex-direction:column; gap:9px; padding:14px 15px 16px; flex:1}
.cc-rel__k{
  align-self:flex-start; font-family:var(--cc-sans);
  font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--cc-espresso); background:var(--cc-cream-2); border:1px solid var(--cc-line);
  padding:3px 9px; border-radius:var(--cc-r-pill);
}
.cc-rel__t{
  font-family:var(--cc-serif);
  font-size:1rem; font-weight:600; line-height:1.24; color:var(--cc-ink); letter-spacing:-.01em;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  transition:color .18s ease;
}
.cc-rel__c:hover .cc-rel__t{color:var(--cc-brand-dark)}
@media(max-width:860px){
  .cc-rel__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .cc-rel__grid{grid-template-columns:1fr 1fr; gap:12px}
  .cc-rel__t{font-size:.92rem}
  .cc-rel__b{padding:12px 12px 14px}
}

/* ============================================================
   Navigation article précédent / suivant (native Neve, restylée café)
   Markup Neve : .nv-post-navigation > .previous/.next > a > .nav-direction + <span titre>
   ============================================================ */
.nv-post-navigation{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:32px 0 8px;
}
.nv-post-navigation .previous,
.nv-post-navigation .next{min-width:0}
.nv-post-navigation .previous a,
.nv-post-navigation .next a{
  min-width:0;
  display:flex; flex-direction:column; gap:7px; height:100%;
  background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-r);
  box-shadow:var(--cc-shadow); padding:16px 18px; text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.nv-post-navigation .previous a:hover,
.nv-post-navigation .next a:hover{
  transform:translateY(-2px); box-shadow:var(--cc-shadow-lg);
  border-color:color-mix(in srgb, var(--cc-brand) 40%, var(--cc-line));
}
.nv-post-navigation .next a{align-items:flex-end; text-align:right}
.nv-post-navigation .nav-direction{
  font-family:var(--cc-sans); font-size:.68rem; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--cc-brand-dark);
}
.nv-post-navigation .previous .nav-direction::before{content:"\2190\00a0"}
.nv-post-navigation .next .nav-direction::after{content:"\00a0\2192"}
.nv-post-navigation .previous a > span:last-child,
.nv-post-navigation .next a > span:last-child{
  min-width:0; max-width:100%; overflow-wrap:anywhere;
  font-family:var(--cc-serif); font-size:1rem; font-weight:600; line-height:1.28;
  color:var(--cc-ink); letter-spacing:-.01em; transition:color .18s ease;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.nv-post-navigation .nav-direction{white-space:nowrap}
.nv-post-navigation .previous a:hover > span:last-child,
.nv-post-navigation .next a:hover > span:last-child{color:var(--cc-brand-dark)}
@media(max-width:600px){
  /* on garde 2 colonnes côte à côte (pas empilé), juste resserré */
  .nv-post-navigation{gap:10px}
  .nv-post-navigation .previous a,
  .nv-post-navigation .next a{padding:13px 14px; gap:6px}
  .nv-post-navigation .previous a > span:last-child,
  .nv-post-navigation .next a > span:last-child{font-size:.9rem}
  .nv-post-navigation .nav-direction{font-size:.62rem; letter-spacing:.1em}
}

/* ============================================================
   Bloc commentaires : radius aligné sur les cartes du site (--cc-r)
   ============================================================ */
.single .nv-comments-wrap,
.single .comment-respond,
.single .comments-area .comment,
.single .comments-area .comment-body{
  border-radius:var(--cc-r) !important;
}
.single .nv-comments-wrap,
.single .comment-respond{
  border:1px solid var(--cc-line);
  background:var(--cc-card);
}

/* ============================================================
   Box auteur (Julien) en bas d'article — charte café
   ============================================================ */
.cc-author{display:flex;gap:18px;align-items:flex-start;background:linear-gradient(180deg,#fff,var(--cc-cream));border:1px solid var(--cc-line);border-radius:var(--cc-r);box-shadow:var(--cc-shadow);padding:22px 24px;margin:34px 0 12px}
.cc-author__av{flex:0 0 auto;width:64px;height:64px;border-radius:50%;background:var(--cc-brand);color:#fff;font-family:var(--cc-serif);font-weight:700;font-size:30px;display:grid;place-items:center;box-shadow:0 0 0 4px var(--cc-brand-tint);line-height:1}
.cc-author__b{min-width:0}
.cc-author__k{font-family:var(--cc-sans);font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cc-brand-dark)}
.cc-author__n{font-family:var(--cc-serif);font-size:1.35rem;font-weight:600;color:var(--cc-ink);margin:2px 0 0;line-height:1.1}
.cc-author__role{font-family:var(--cc-sans);font-size:.82rem;color:var(--cc-ink-soft);margin:3px 0 9px}
.cc-author__bio{font-size:.95rem;line-height:1.6;color:var(--cc-ink-soft);margin:0 0 10px}
.cc-author__link{font-family:var(--cc-sans);font-weight:700;font-size:.9rem;color:var(--cc-brand-dark);text-decoration:none}
.cc-author__link:hover{color:var(--cc-brand)}
@media(max-width:560px){.cc-author{gap:14px;padding:18px}.cc-author__av{width:52px;height:52px;font-size:24px}}
.cc-author__eeat{font-size:.82rem;line-height:1.55;color:var(--cc-ink-soft);margin:0 0 12px;padding-top:10px;border-top:1px solid var(--cc-line)}
.cc-author__eeat a{color:var(--cc-brand-dark);font-weight:700;text-decoration:none;white-space:nowrap}
.cc-author__eeat a:hover{text-decoration:underline;text-underline-offset:2px}
.cc-author__links{display:flex;gap:20px;flex-wrap:wrap}
