/* ============================================================
   SAV Blog — Editorial article design (single posts only)
   Brand-mapped (accent = #004466). Fonts: Fraunces + Newsreader (self-hosted).
   Scope: body.single-post  |  Wrapper: .entry-content > .sav-products-page
   ============================================================ */
.single-post .entry-content,
.single-post .sav-products-page{
  --mt-accent:#004466;
  --mt-accent-soft:#eef4f8;
  --mt-ink:#1f2530;
  --mt-ink-soft:#5b6470;
  --mt-line:#e3e8ee;
  --mt-measure:44rem;
  --mt-font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --mt-font-body:"Newsreader",Georgia,"Times New Roman",serif;
  font-family:var(--mt-font-body);
  font-size:clamp(1.0625rem,1rem + 0.35vw,1.25rem);
  line-height:1.62;
  font-optical-sizing:auto;
  color:var(--mt-ink);
}
.single-post .entry-content{max-width:var(--mt-measure);margin-inline:auto}
.single-post .sav-products-page{max-width:none;padding:0}
.single-post .entry-content > *+*,
.single-post .sav-products-page > *+*{margin-top:1.35rem}

/* Title (Astra entry-title) + headings */
.single-post .entry-title,
.single-post h1.entry-title{
  font-family:var(--mt-font-display);font-weight:600;
  font-size:clamp(2rem,1.4rem + 3vw,3.1rem);
  line-height:1.08;letter-spacing:-.02em;text-wrap:balance;
}
.single-post .sav-products-page h2,
.single-post .entry-content h2{
  font-family:var(--mt-font-display);font-weight:600;
  font-size:clamp(1.55rem,1.2rem + 1.4vw,2rem);
  line-height:1.18;letter-spacing:-.015em;margin-top:3rem;scroll-margin-top:6rem;color:var(--mt-ink);
}
.single-post .sav-products-page h3,
.single-post .entry-content h3{
  font-family:var(--mt-font-display);font-weight:600;
  font-size:1.3rem;line-height:1.25;margin-top:2rem;scroll-margin-top:6rem;color:var(--mt-ink);
}
.single-post .sav-products-page p,
.single-post .sav-products-page li{font-family:var(--mt-font-body)}
.single-post .sav-products-page a,
.single-post .entry-content a{color:var(--mt-accent);text-underline-offset:2px;text-decoration-thickness:1px}
.single-post .sav-products-page strong{font-weight:600;color:var(--mt-ink)}
.single-post .sav-products-page ul,
.single-post .sav-products-page ol{padding-left:1.4rem}
.single-post .sav-products-page li+li{margin-top:.5rem}
.single-post .sav-products-page blockquote{
  border-left:3px solid var(--mt-accent);padding:.2rem 0 .2rem 1.3rem;margin-left:0;
  font-family:var(--mt-font-display);font-style:italic;font-size:1.25rem;line-height:1.4;color:var(--mt-ink);
}

/* Dek / chapô (1st intro paragraph) */
.single-post .mt-dek{
  font-family:var(--mt-font-body) !important;font-weight:400;
  font-size:clamp(1.15rem,1.05rem + .5vw,1.4rem) !important;line-height:1.45;color:var(--mt-ink-soft) !important;
}

/* Answer-first box "En bref" */
.single-post .mt-answer{
  background:var(--mt-accent-soft);border-left:4px solid var(--mt-accent);
  border-radius:0 10px 10px 0;padding:1.1rem 1.4rem;
}
.single-post .mt-answer .label{
  font-family:var(--mt-font-display);text-transform:uppercase;letter-spacing:.08em;
  font-size:.78rem;color:var(--mt-accent);font-weight:600;display:block;margin-bottom:.4rem;
}
.single-post .mt-answer p{margin:0}

/* TOC — collapsible (details/summary), closed by default */
.single-post .mt-toc{border:1px solid var(--mt-line);border-radius:10px;padding:0}
.single-post .mt-toc > summary{cursor:pointer;list-style:none;padding:.9rem 1.3rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.single-post .mt-toc > summary::-webkit-details-marker{display:none}
.single-post .mt-toc > summary::marker{content:""}
.single-post .mt-toc > summary .label,
.single-post .mt-toc > .label{font-family:var(--mt-font-display);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--mt-ink-soft);font-weight:600}
.single-post .mt-toc > .label{display:block;padding:.9rem 1.3rem 0;margin:0}
.single-post .mt-toc > summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--mt-accent);border-bottom:2px solid var(--mt-accent);transform:rotate(45deg);transition:transform .2s ease;margin-top:-3px;flex:none}
.single-post details[open].mt-toc > summary::after{transform:rotate(-135deg);margin-top:3px}
.single-post .mt-toc ol{list-style:none;counter-reset:toc;padding:0 1.3rem 1.1rem;margin:0}
.single-post .mt-toc li{counter-increment:toc;margin:0}
.single-post .mt-toc li+li{margin-top:.4rem}
.single-post .mt-toc a{display:flex;gap:.6rem;text-decoration:none;color:var(--mt-ink);font-size:1rem}
.single-post .mt-toc a::before{content:counter(toc,decimal-leading-zero);color:var(--mt-accent);font-weight:600;font-variant-numeric:tabular-nums}
.single-post .mt-toc a:hover,.single-post .mt-toc a.active{color:var(--mt-accent)}

/* Callout "À retenir" */
.single-post .mt-callout{border:1px solid var(--mt-line);border-radius:10px;padding:1.2rem 1.4rem;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.04)}
.single-post .mt-callout .label{font-family:var(--mt-font-display);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mt-accent);margin-bottom:.5rem;font-weight:600;display:block}
.single-post .mt-callout p{margin:0}

/* CTA inline */
.single-post .mt-cta{
  margin:2.5rem 0;padding:1.4rem 1.5rem;border-radius:12px;border:1px solid var(--mt-line);
  background:linear-gradient(135deg,var(--mt-accent-soft),#fff);
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;
}
.single-post .mt-cta .ct{flex:1 1 260px}
.single-post .mt-cta .ct b{font-family:var(--mt-font-display);font-weight:600;font-size:1.1rem;display:block;margin-bottom:.2rem;color:var(--mt-ink)}
.single-post .mt-cta .ct span{font-size:.95rem;color:var(--mt-ink-soft)}
.single-post .mt-cta a.mt-btn{background:var(--mt-accent);color:#fff;font-family:var(--mt-font-body);font-weight:600;border-radius:999px;padding:.6rem 1.2rem;text-decoration:none;white-space:nowrap}
.single-post .mt-cta a.mt-btn:hover{filter:brightness(1.08)}

/* Tables — editorial headers; sav-table-wrap keeps horizontal scroll */
.single-post .entry-content table{font-family:var(--mt-font-body)}
.single-post .entry-content thead th{font-family:var(--mt-font-display);font-weight:600;border-bottom:2px solid var(--mt-accent)}

/* Figures */
.single-post .entry-content figure img{border-radius:10px}
.single-post .entry-content figcaption{font-size:.875rem;color:var(--mt-ink-soft);text-align:center}

/* Author box (E-E-A-T) */
.single-post .mt-author{display:flex;gap:1.2rem;align-items:flex-start;flex-wrap:wrap;margin-top:2.5rem;padding:1.5rem;border:1px solid var(--mt-line);border-radius:12px}
.single-post .mt-author .ava{width:64px;height:64px;border-radius:50%;background:var(--mt-accent-soft);display:grid;place-items:center;font-family:var(--mt-font-display);color:var(--mt-accent);font-weight:600;font-size:1.4rem;flex:none;overflow:hidden}
.single-post .mt-author .ava img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.single-post .mt-author .mt-author-body{flex:1 1 240px}
.single-post .mt-author .nm{font-family:var(--mt-font-display);font-weight:600;font-size:1.15rem;color:var(--mt-ink)}
.single-post .mt-author .rl{font-size:.875rem;color:var(--mt-accent);margin-bottom:.5rem}
.single-post .mt-author .bio{font-size:.95rem;color:var(--mt-ink-soft);line-height:1.5;margin:0}

@media (max-width:640px){
  .single-post .entry-content{padding-inline:1rem}
}

/* Preserve the branded team-quote (Kelly) blockquote: white text on navy, Lora, no border.
   (Override the generic editorial blockquote restyle above.) */
.single-post .sav-products-page .sav-team-quote blockquote{
  color:rgba(255,255,255,.95);
  border-left:none;
  padding:0;
  margin:0 0 16px;
  font-family:'Lora',Georgia,serif;
  font-size:16px;
  line-height:1.55;
  font-style:italic;
}

/* Buttons keep their own light text on dark/colored backgrounds.
   The generic .entry-content a rule above would otherwise force navy text
   onto navy/green buttons (sav-mfr-link, sav-short-cta-btn, sav-btn, vnm-btn). */
.single-post .entry-content a.sav-btn,
.single-post .entry-content a.sav-mfr-link,
.single-post .entry-content a.sav-short-cta-btn,
.single-post .entry-content a.vnm-btn,
.single-post .sav-products-page a.sav-btn,
.single-post .sav-products-page a.sav-mfr-link,
.single-post .sav-products-page a.sav-short-cta-btn,
.single-post .sav-products-page a.vnm-btn{
  color:#fff;
}
