/* Blog statique : couleurs, police et arrondis issus des variables du site. */
.blog-page main { padding-bottom: 80px; }
.blog-intro { padding-top: 144px; padding-bottom: 48px; }
.blog-intro h1 { color: var(--navy); font-size: clamp(2.2rem, 4vw, 3.5rem); line-height: 1.12; letter-spacing: -.035em; }
.blog-intro > p { max-width: 70ch; margin-top: 24px; color: var(--muted); font-size: 18px; }
.blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.blog-card { display: flex; flex-direction: column; align-items: stretch; padding: 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-card); }
.blog-card h2 { font-size: clamp(1.4rem, 2.3vw, 1.8rem); line-height: 1.3; color: var(--navy); }
.blog-card h2 a:hover { color: var(--blue); }
.blog-card p { margin-block: 20px; color: var(--muted); }
.blog-card time { margin-top: auto; color: var(--muted); font-size: 14px; }
.blog-card-content > a { margin-top: 20px; }
.blog-checklist { margin-top: 56px; }
.blog-page .pack-box { background: var(--soft); }
.blog-page .pack-box h2 { color: var(--navy); font-size: clamp(1.4rem, 2.5vw, 1.8rem); line-height: 1.3; }
.blog-breadcrumb { padding-top: 100px; color: var(--muted); font-size: 13px; }
.blog-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.blog-breadcrumb li + li::before { content: '›'; margin-right: 8px; }
.blog-breadcrumb a { color: var(--blue); }
.blog-after { max-width: 70ch; }
.blog-article { max-width: 960px; }
.blog-article-header, .blog-prose { max-width: 70ch; margin-inline: auto; }
.blog-article-header { padding-block: 48px 36px; border-bottom: 1px solid var(--border); margin-bottom: 36px; }
.blog-article-header h1 { color: var(--navy); font-size: clamp(2rem, 3.7vw, 3rem); line-height: 1.18; letter-spacing: -.03em; }
.blog-meta { margin-top: 24px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.blog-prose { font-size: 17px; line-height: 1.85; color: var(--text); overflow-wrap: break-word; }
.blog-prose p, .blog-prose ul, .blog-prose ol { margin-block: 0 24px; }
.blog-prose h2 { margin-block: 48px 20px; color: var(--navy); font-size: clamp(1.5rem, 2.5vw, 1.9rem); line-height: 1.3; }
.blog-prose ul { list-style: disc; padding-left: 1.4em; }
.blog-prose ol { list-style: decimal; padding-left: 1.4em; }
.blog-prose li + li { margin-top: 10px; }
.blog-prose a { color: var(--blue-dark); text-decoration: underline; text-underline-offset: 3px; }
.blog-page main a:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.blog-back { display: inline-block; margin-top: 32px; }
.blog-figure { margin-block: 32px; }
.blog-figure img, .blog-card-image { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; }
.blog-figure img { border-radius: var(--radius-md); }
.blog-card-image { border-radius: var(--radius-md) var(--radius-md) 0 0; }
.blog-card-content { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 32px; }
@media (max-width: 767px) {
  .blog-intro { padding-top: 112px; padding-bottom: 32px; }
  .blog-grid { grid-template-columns: minmax(0, 1fr); }
  .blog-card-content { padding: 24px; }
  .blog-checklist { margin-top: 36px; }
  .blog-article-header { padding-top: 32px; }
  .blog-prose { font-size: 16px; }
}
/* Comparatifs et modèles de messages des articles. */
.blog-table-scroll { max-width: 100%; overflow-x: auto; margin-block: 24px 32px; border: 1px solid var(--border); border-radius: var(--radius-md); }
.blog-table-scroll:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.blog-table-scroll table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .92em; line-height: 1.6; }
.blog-table-scroll th, .blog-table-scroll td { padding: 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); }
.blog-table-scroll th { background: var(--soft); color: var(--navy); font-weight: 700; }
.blog-table-scroll tbody tr:last-child td { border-bottom: 0; }
.blog-prose blockquote { margin: 24px 0 32px; padding: 24px; border-left: 4px solid var(--blue); border-radius: 0 var(--radius-md) var(--radius-md) 0; background: var(--soft); }
.blog-prose blockquote p:last-child { margin-bottom: 0; }
.blog-prose .blog-checklist-visual { list-style: none; padding-left: 0; }
.blog-checklist-visual li { position: relative; padding-left: 30px; }
.blog-checklist-visual li::before { content: ''; position: absolute; left: 0; top: .4em; width: 16px; height: 16px; border: 2px solid var(--blue); border-radius: 3px; }
.blog-sources { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--border); color: var(--muted); font-size: .85em; }
.blog-sources h2 { margin-top: 0; font-size: 1.2em; }
