/* ===========================
   AlgerieFocus News v4
   main.css — Full stylesheet
   =========================== */

/* ── Reset + Variables ── */
*,::before,::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#c0392b;--red-dark:#a93226;--black:#0a0a0a;--white:#fff;
  --g50:#f9f9f9;--g100:#f0f0f0;--g200:#e0e0e0;--g300:#ccc;
  --g400:#888;--g500:#555;--g600:#333;
  --r:6px;--r-lg:10px;
  --xs:.72rem;--sm:.85rem;--md:1rem;--lg:1.15rem;--xl:1.35rem;--2xl:1.75rem;--3xl:2.4rem;
  --shadow:0 2px 8px rgba(0,0,0,.08);
  --trans:.18s ease;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:var(--md);color:var(--black);background:var(--g50);line-height:1.65}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer}

/* ── Dark mode ── */
[data-theme="dark"]{
  --black:#f0f0f0;--white:#111;--g50:#1a1a1a;--g100:#242424;--g200:#333;
  --g300:#444;--g400:#777;--g500:#aaa;--g600:#ccc;
}

/* ── Utilities ── */
.wrap{max-width:1240px;margin-inline:auto;padding-inline:1.25rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.skip-link{position:absolute;left:-9999px;top:1rem;background:var(--red);color:#fff;padding:.5rem 1rem;border-radius:var(--r);font-weight:700;z-index:9999}
.skip-link:focus{left:1rem}
.hr{border:0;border-top:1px solid var(--g200);margin:2rem 0}
.hr-bold{border:0;border-top:3px solid var(--red);margin:2rem 0}
.dot{margin-inline:.3rem;color:var(--g400)}
.red{color:var(--red)}

/* ── Reading progress bar ── */
.rp-bar{position:fixed;top:0;left:0;width:0;height:3px;background:var(--red);z-index:9999;transition:width .1s linear}

/* ── Breaking bar ── */
.breaking-bar{background:var(--black);color:#fff;font-size:var(--xs);padding:.45rem 0;overflow:hidden}
.breaking-bar .wrap{display:flex;align-items:center;gap:.75rem;overflow:hidden}
.breaking-label{background:var(--red);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:3px;white-space:nowrap;flex-shrink:0}
.ticker-outer{flex:1;overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;gap:3rem;animation:ticker 28s linear infinite}
.ticker-track a{color:rgba(255,255,255,.85);white-space:nowrap;transition:color var(--trans)}
.ticker-track a:hover{color:#fff}
.breaking-close{background:none;border:0;color:rgba(255,255,255,.5);font-size:.9rem;padding:.1rem .4rem;margin-left:auto;flex-shrink:0}
.breaking-close:hover{color:#fff}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── Site Header ── */
.site-header{background:var(--white);border-bottom:1px solid var(--g200);position:sticky;top:0;z-index:100;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.65rem}
.site-brand a,.site-name{font-size:1.5rem;font-weight:900;letter-spacing:-.02em;color:var(--black)}
.site-brand span{color:var(--red)}
.custom-logo{height:52px;width:auto}
.header-date{font-size:var(--xs);text-align:center;color:var(--g400);line-height:1.3;display:none}
@media(min-width:1024px){.header-date{display:block}}
.header-actions{display:flex;align-items:center;gap:.5rem}
.search-form{display:flex;align-items:center;border:1.5px solid var(--g200);border-radius:20px;overflow:hidden;background:var(--g50);transition:border-color var(--trans)}
.search-form:focus-within{border-color:var(--red)}
.search-form input{border:0;background:none;padding:.35rem .75rem;font-size:var(--sm);width:0;transition:width var(--trans);color:var(--black)}
@media(min-width:768px){.search-form input{width:160px}}
.search-form input:focus{outline:none;width:200px}
.search-form button{background:none;border:0;padding:.35rem .6rem;color:var(--g400);display:flex;align-items:center}
.search-form button:hover{color:var(--red)}
.dark-btn{background:none;border:1.5px solid var(--g200);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--g500);transition:border-color var(--trans)}
.dark-btn:hover{border-color:var(--red);color:var(--red)}
.nav-toggle{background:none;border:1.5px solid var(--g200);border-radius:var(--r);padding:.35rem .5rem;display:flex;align-items:center;color:var(--black)}
@media(min-width:1024px){.nav-toggle{display:none}}

/* ── Primary Nav ── */
.primary-nav{background:var(--white);border-bottom:3px solid var(--red)}
.primary-nav .wrap{display:flex;align-items:center;gap:0}
.nav-menu{display:none;align-items:center;gap:0;flex:1}
@media(min-width:1024px){.nav-menu{display:flex}}
.nav-item a{display:block;padding:.7rem .9rem;font-size:var(--sm);font-weight:600;color:var(--g500);border-bottom:3px solid transparent;margin-bottom:-3px;transition:color var(--trans),border-color var(--trans);white-space:nowrap}
.nav-item a:hover,.nav-item.current a{color:var(--red);border-color:var(--red)}
.nav-live{margin-left:auto;background:var(--red);color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border-radius:3px;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}

/* ── Category quick bar ── */
.cat-bar{background:var(--g100);border-bottom:1px solid var(--g200);overflow-x:auto;scrollbar-width:none}
.cat-bar::-webkit-scrollbar{display:none}
.cat-bar .wrap{display:flex;align-items:center;gap:0;padding-block:0}
.cat-bar a{display:block;padding:.55rem .85rem;font-size:var(--xs);font-weight:600;color:var(--g500);white-space:nowrap;border-bottom:2px solid transparent;transition:color var(--trans),border-color var(--trans)}
.cat-bar a:hover,.cat-bar a.active{color:var(--red);border-color:var(--red)}

/* ── Mobile Nav ── */
.mobile-nav{position:fixed;inset:0;background:#111;z-index:200;display:flex;flex-direction:column;padding:1.5rem;transform:translateX(-100%);transition:transform .28s ease;overflow-y:auto}
.mobile-nav.open{transform:translateX(0)}
body.nav-open{overflow:hidden}
.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.mobile-nav-head span{color:#fff;font-size:1.2rem;font-weight:900}
.mobile-nav-close{background:none;border:0;color:rgba(255,255,255,.5);font-size:1.4rem;padding:.2rem}
.m-search{display:flex;gap:.5rem;margin-bottom:1.5rem}
.m-search input{flex:1;border:1.5px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);border-radius:var(--r);padding:.6rem 1rem;font-size:var(--sm);color:#fff}
.m-search button{background:var(--red);color:#fff;border:0;border-radius:var(--r);padding:.6rem 1.25rem;font-weight:700;font-size:var(--sm)}
.m-links{display:flex;flex-direction:column;gap:.15rem}
.m-links a{color:rgba(255,255,255,.8);padding:.75rem .5rem;font-size:var(--md);font-weight:600;border-bottom:1px solid rgba(255,255,255,.06);transition:color var(--trans)}
.m-links a:hover,.m-links a[aria-current]{color:#fff}

/* ── Layout ── */
.l-cs{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:1.5rem}
@media(min-width:1024px){.l-cs{grid-template-columns:1fr 300px}}
.l-main{}
.l-sidebar{}

/* ── Hero grid ── */
.home-hero{display:grid;grid-template-columns:1fr;gap:1rem;padding:1.25rem 1.25rem 0;max-width:1240px;margin-inline:auto}
@media(min-width:768px){.home-hero{grid-template-columns:2fr 1fr;grid-template-rows:auto auto;grid-template-areas:'main suba' 'main subb'}}
.hero-main{grid-area:main}
.hero-sub-a{grid-area:suba}
.hero-sub-b{grid-area:subb}
.card--hero .card-img{aspect-ratio:16/9}
.card--hero .card-body{padding:1rem}
.card--hero .card-title{font-size:var(--xl);font-weight:800;line-height:1.3}
@media(min-width:768px){.card--hero .card-title{font-size:var(--2xl)}}

/* ── Cards ── */
.card{background:var(--white);border:1px solid var(--g200);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--trans),transform var(--trans)}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card-img{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--g100)}
.card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.card:hover .card-img img{transform:scale(1.04)}
.no-thumb{width:100%;aspect-ratio:16/9;background:var(--g100)}
.card-body{padding:.85rem;flex:1;display:flex;flex-direction:column;gap:.35rem}
.card-kicker{font-size:var(--xs);font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.06em}
.card-title{font-size:var(--md);font-weight:700;line-height:1.35;color:var(--black)}
.card-title a:hover{color:var(--red)}
.card-excerpt{font-size:var(--sm);color:var(--g500);line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:auto}
.card-meta{font-size:var(--xs);color:var(--g400);display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;margin-top:auto}
.card-tag{position:absolute;bottom:.5rem;left:.5rem;background:var(--red);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .5rem;border-radius:3px;line-height:1.4}
.card--list{flex-direction:row;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:var(--r);border:1px solid var(--g200)}
.card--list .card-img{width:90px;min-width:90px;border-radius:var(--r);flex-shrink:0;aspect-ratio:4/3}
.card--list .card-body{padding:0}

/* ── Grids ── */
.grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
@media(min-width:768px){.grid-4{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.grid-3{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:600px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.grid-2{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}}
.grid-2-1{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:768px){.grid-2-1{grid-template-columns:2fr 1fr}}

/* ── Sections ── */
.section{margin-bottom:2.5rem}
.sec-head{display:flex;align-items:center;justify-content:space-between;border-left:4px solid var(--red);padding-left:.75rem;margin-bottom:1.25rem;gap:1rem}
.sec-title{font-size:var(--lg);font-weight:900;color:var(--black);letter-spacing:-.01em}
.sec-more{font-size:var(--xs);font-weight:700;color:var(--red);white-space:nowrap}
.sec-more:hover{text-decoration:underline}

/* ── Load More ── */
.load-more-wrap{text-align:center;margin-top:2rem}
.load-more-btn{background:var(--white);border:2px solid var(--red);color:var(--red);font-size:var(--sm);font-weight:700;padding:.7rem 2.5rem;border-radius:var(--r);transition:background var(--trans),color var(--trans)}
.load-more-btn:hover{background:var(--red);color:#fff}
.load-more-btn:disabled{opacity:.5;cursor:not-allowed}

/* ── Widgets / Sidebar ── */
.widget{background:var(--white);border:1px solid var(--g200);border-radius:var(--r);padding:1.25rem;margin-bottom:1.5rem}
.widget-title{font-size:var(--md);font-weight:900;color:var(--black);margin-bottom:1rem;padding-left:.6rem;border-left:3px solid var(--red)}
.widget ul li{padding:.4rem 0;border-bottom:1px solid var(--g100);font-size:var(--sm)}
.widget ul li:last-child{border:0}
.widget ul li a:hover{color:var(--red)}
.widget ul .count{color:var(--g400);font-size:var(--xs)}

/* ── Breadcrumb ── */
.breadcrumb{font-size:var(--xs);color:var(--g400);display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:1rem}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb .sep{color:var(--g300)}
.breadcrumb .curr{color:var(--g500)}

/* ── Single Post ── */
.post-badge{display:inline-block;background:var(--red);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:.25rem .7rem;border-radius:3px;margin-bottom:.85rem}
.post-h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;line-height:1.2;letter-spacing:-.02em;margin-bottom:.75rem}
.post-standfirst{font-size:var(--lg);color:var(--g500);line-height:1.6;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--g200)}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;font-size:var(--xs);color:var(--g400);margin-bottom:1.5rem}
.post-meta .author{display:flex;align-items:center;gap:.4rem;color:var(--g500)}
.post-meta .author img{border-radius:50%;width:28px;height:28px;object-fit:cover}
.post-meta .rtime{background:var(--g100);padding:.2rem .55rem;border-radius:20px}
.post-featured{margin-bottom:2rem;border-radius:var(--r);overflow:hidden}
.post-featured figcaption{font-size:var(--xs);color:var(--g400);padding:.5rem .75rem;background:var(--g50)}
.entry-content{font-size:var(--lg);line-height:1.8;color:var(--g600);max-width:720px}
.entry-content h2{font-size:var(--2xl);font-weight:800;margin:2rem 0 .75rem;color:var(--black)}
.entry-content h3{font-size:var(--xl);font-weight:700;margin:1.5rem 0 .5rem;color:var(--black)}
.entry-content p{margin-bottom:1.25rem}
.entry-content ul,.entry-content ol{padding-left:1.5rem;margin-bottom:1.25rem}
.entry-content li{margin-bottom:.4rem}
.entry-content blockquote{border-left:4px solid var(--red);padding:.75rem 1.25rem;background:var(--g50);border-radius:0 var(--r) var(--r) 0;margin:1.5rem 0;font-style:italic;color:var(--g500)}
.entry-content a{color:var(--red);text-decoration:underline;text-underline-offset:2px}
.entry-content img{border-radius:var(--r);margin:1rem 0}
.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}
.tag{background:var(--g100);border:1px solid var(--g200);color:var(--g500);font-size:var(--xs);font-weight:600;padding:.3rem .7rem;border-radius:20px;transition:background var(--trans),color var(--trans)}
.tag:hover{background:var(--red);color:#fff;border-color:var(--red)}
.post-pages{margin:1.5rem 0;font-size:var(--sm)}

/* ── Share bar ── */
.share-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0;padding:1rem;background:var(--g50);border:1px solid var(--g200);border-radius:var(--r)}
.share-label{font-size:var(--xs);font-weight:700;color:var(--g400);margin-right:.25rem}
.share-btn{display:flex;align-items:center;gap:.4rem;font-size:var(--xs);font-weight:700;padding:.4rem .9rem;border-radius:20px;border:1.5px solid var(--g200);background:var(--white);color:var(--g500);transition:all var(--trans)}
.share-btn:hover{border-color:transparent;color:#fff}
.s-fb:hover{background:#1877f2}.s-tw:hover{background:#1da1f2}.s-wa:hover{background:#25d366}.s-tg:hover{background:#0088cc}.s-cp:hover{background:var(--g600)}

/* ── Author box ── */
.author-box{display:flex;gap:1rem;align-items:flex-start;background:var(--g50);border:1px solid var(--g200);border-radius:var(--r);padding:1.25rem;margin:2rem 0}
.author-box img{width:68px;height:68px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-box h3{font-size:var(--md);font-weight:800;margin-bottom:.35rem}
.author-box p{font-size:var(--sm);color:var(--g500);line-height:1.55}

/* ── Pagination ── */
.pagination{margin:2.5rem 0;text-align:center}
.pagination .nav-links{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:.2rem .6rem;border:1.5px solid var(--g200);border-radius:var(--r);font-size:var(--sm);font-weight:600;color:var(--g500);transition:all var(--trans)}
.pagination .page-numbers:hover,.pagination .page-numbers.current{background:var(--red);border-color:var(--red);color:#fff}

/* ── Footer ── */
.site-footer{background:var(--black);color:rgba(255,255,255,.7);margin-top:3rem}
[data-theme="dark"] .site-footer{background:#0d0d0d}
.footer-top{display:grid;grid-template-columns:1fr;gap:2rem;padding-block:3rem}
@media(min-width:768px){.footer-top{grid-template-columns:2fr 1fr 1fr 1.5fr}}
.f-brand .site-name,.f-brand a{color:#fff;font-size:1.35rem;font-weight:900}
.f-brand p{font-size:var(--sm);margin-top:.75rem;color:rgba(255,255,255,.45);line-height:1.6;max-width:280px}
.f-col h4{color:#fff;font-size:var(--sm);font-weight:800;margin-bottom:.85rem;letter-spacing:.05em;text-transform:uppercase}
.f-col ul li{margin-bottom:.5rem}
.f-col ul li a{font-size:var(--sm);color:rgba(255,255,255,.55);transition:color var(--trans)}
.f-col ul li a:hover{color:#fff}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-block:1.25rem;border-top:1px solid rgba(255,255,255,.08);font-size:var(--xs);color:rgba(255,255,255,.4)}
.footer-bottom a{color:rgba(255,255,255,.4);transition:color var(--trans)}
.footer-bottom a:hover{color:#fff}
.footer-bottom ul,.footer-bottom li{display:inline}
.footer-bottom li::after{content:' · ';opacity:.4}
.footer-bottom li:last-child::after{content:''}

/* ── Lazy images ── */
img.lazy{opacity:0;transition:opacity .4s}
img.lazy.loaded{opacity:1}

/* ── Responsive ── */
@media(max-width:1023px){
  .l-cs{grid-template-columns:1fr}
  .l-sidebar{display:none}
}
@media(max-width:767px){
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
  .home-hero{grid-template-columns:1fr;grid-template-areas:unset}
  .hero-main,.hero-sub-a,.hero-sub-b{grid-area:unset}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:519px){
  .footer-top{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){
  *,::before,::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}


/* ══════════════════════════════════════════════════
   TYPOGRAPHIE STYLE NEW YORK TIMES
   ══════════════════════════════════════════════════

   NYT utilise (depuis 2007) :
   • Corps des articles  → Georgia (serif)
   • Titres principaux   → Cheltenham (empattements) ≈ 'Libre Baskerville' via Google Fonts
   • Interface/nav/meta  → system-ui sans-serif (=Arial/Helvetica sur NYT.com)

   Chargement Google Fonts dans functions.php via wp_enqueue_style
   Fallback : Georgia → Times New Roman → serif (déjà sur l'OS)
*/

/* ── Police globale NYT style ── */
:root {
  --font-serif  : Georgia, 'Times New Roman', Times, serif;
  --font-heading: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
  --font-sans   : system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
}

body {
  font-family : var(--font-sans);   /* Interface = sans-serif comme NYT */
  font-size   : var(--md);
  line-height : 1.65;
}

/* ── Titres = serif à la Cheltenham (NYT style) ── */
h1, h2, h3, h4,
.card-title,
.post-h1,
.sec-title,
.widget-title {
  font-family : var(--font-heading);
  font-style  : normal;
}

/* ── Corps article = Georgia (identique NYT) ── */
.entry-content,
.post-standfirst {
  font-family : var(--font-serif);
  font-size   : 1.15rem;
  line-height : 1.85;
  color       : #121212;
}

[data-theme="dark"] .entry-content,
[data-theme="dark"] .post-standfirst {
  color : #e0e0e0;
}

/* ── Méta, dates, kickers = sans-serif (NYT style) ── */
.card-meta, .card-kicker, .post-meta,
.breadcrumb, .tag, .share-label,
.breaking-bar, .cat-bar, .footer-bottom {
  font-family : var(--font-sans);
}

/* ══════════════════════════════════════════════════
   FIXES LAYOUT — CADRAGE DES ARTICLES
   ══════════════════════════════════════════════════ */

/* ── Fix 1 : card-excerpt absent sur les petites cartes ── */
.grid-4 .card-excerpt {
  display : none;
}
@media (min-width: 768px) {
  .grid-4 .card-excerpt {
    display           : -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow          : hidden;
  }
}

/* ── Fix 2 : card-img ratio uniforme par contexte ── */
.grid-3 .card-img  { aspect-ratio: 16/9 }
.grid-2 .card-img  { aspect-ratio: 16/9 }
.grid-4 .card-img  { aspect-ratio: 16/9 }
.card--list .card-img { aspect-ratio: 4/3;  flex-shrink: 0 }

/* ── Fix 3 : heights égales dans grilles ── */
.grid-4, .grid-3, .grid-2 {
  align-items: start;
}
.grid-4 .card,
.grid-3 .card,
.grid-2 .card {
  height: 100%;
}

/* ── Fix 4 : card-body flex correct ── */
.card-body {
  display        : flex;
  flex-direction : column;
  gap            : .3rem;
  flex           : 1;
}
.card-body .card-excerpt {
  flex : 1;
}
.card-body .card-meta {
  margin-top : auto;
  padding-top: .35rem;
}

/* ── Fix 5 : hero-sub cards — padding et alignment ── */
.hero-sub-a,
.hero-sub-b {
  display        : flex;
  flex-direction : row;
  align-items    : flex-start;
  gap            : .75rem;
  padding        : .85rem;
  background     : var(--white);
  border         : 1px solid var(--g200);
  border-radius  : var(--r);
  overflow       : hidden;
}
.hero-sub-a .card-img,
.hero-sub-b .card-img {
  width    : 110px;
  min-width: 110px;
  flex-shrink: 0;
  aspect-ratio: 4/3;
  border-radius: var(--r);
}
.hero-sub-a .card-body,
.hero-sub-b .card-body {
  padding: 0;
}

/* ── Fix 6 : l-cs sidebar ne disparaît plus sur tablette 768-1023 ── */
@media (min-width: 768px) and (max-width: 1023px) {
  .l-cs {
    grid-template-columns: 1fr;
  }
  .l-sidebar {
    display: none;
  }
}

/* ── Fix 7 : single article — content max-width et centrage ── */
.single-post .l-cs,
.page .l-cs {
  max-width: 1240px;
  margin-inline: auto;
}
.single-post .l-main {
  max-width: 720px;
}
.entry-content p + p {
  margin-top: 1.25rem;
}
.entry-content h2 {
  font-size   : var(--2xl);
  font-family : var(--font-heading);
  font-weight : 800;
  margin-top  : 2.25rem;
  margin-bottom: .6rem;
  line-height : 1.2;
  border-bottom: 1px solid var(--g200);
  padding-bottom: .5rem;
}
.entry-content h3 {
  font-size   : var(--xl);
  font-family : var(--font-heading);
  font-weight : 700;
  margin-top  : 1.75rem;
  margin-bottom: .4rem;
}
.entry-content blockquote {
  font-family : var(--font-serif);
  font-size   : 1.2rem;
  font-style  : italic;
  border-left : 4px solid var(--red);
  padding     : 1rem 1.5rem;
  margin      : 2rem 0;
  color       : var(--g500);
  background  : var(--g50);
}
.entry-content blockquote::before {
  content     : '\201C';
  font-size   : 3rem;
  color       : var(--red);
  line-height : 0;
  vertical-align: -.5rem;
  margin-right: .2rem;
}

/* ── Fix 8 : post-h1 style NYT ── */
.post-h1 {
  font-family : var(--font-heading);
  font-size   : clamp(1.75rem, 5vw, 2.75rem);
  font-weight : 700;
  line-height : 1.15;
  letter-spacing: -.02em;
  margin-bottom: .85rem;
  color       : var(--black);
}

/* ── Fix 9 : card-title tailles cohérentes ── */
.grid-4 .card-title { font-size: .92rem; line-height: 1.35 }
.grid-3 .card-title { font-size: var(--md); line-height: 1.35 }
.grid-2 .card-title { font-size: var(--lg); line-height: 1.3  }
.hero-main .card-title { font-size: clamp(1.2rem, 3vw, 1.85rem); line-height: 1.25 }

/* ── Fix 10 : no-thumb placeholder ── */
.no-thumb {
  width           : 100%;
  aspect-ratio    : 16/9;
  background      : var(--g100);
  display         : flex;
  align-items     : center;
  justify-content : center;
}
.no-thumb::after {
  content     : '';
  display     : block;
  width       : 2rem;
  height      : 2rem;
  border      : 2px solid var(--g300);
  border-radius: 50%;
  opacity     : .4;
}
