.mdw-blog { padding-block: 40px 72px; }
.mdw-blog__header { margin-bottom: 32px; display: grid; gap: 12px; }
.mdw-blog__title { font-size: clamp(2.2rem, 5vw, 3.4rem); margin: 0; }
.mdw-blog__subtitle { font-size: 1.6rem; margin: 48px 0 20px; }

/* Featured post */
.mdw-featured {
  display: grid; gap: 24px; align-items: center; margin-bottom: 48px;
  background: var(--mdw-surface); border-radius: var(--mdw-radius-card); padding: 16px;
}
@media (min-width: 1024px) { .mdw-featured { grid-template-columns: 3fr 2fr; gap: 40px; padding: 20px 40px 20px 20px; } }
.mdw-featured__media img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: calc(var(--mdw-radius-card) - 6px); }
.mdw-featured__body { display: grid; gap: 14px; justify-items: start; }
.mdw-featured__title { font-size: clamp(1.6rem, 3vw, 2.4rem); margin: 0; line-height: 1.1; }
.mdw-featured__title a { color: var(--mdw-ink); text-decoration: none; }
.mdw-featured__title a:hover { color: var(--mdw-indigo); }
.mdw-featured__excerpt { margin: 0; color: var(--mdw-muted); font-size: 1.0625rem; }
.mdw-featured__meta { margin: 0; color: var(--mdw-muted); font-size: .9375rem; }

/* Cards */
.mdw-card {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  background: var(--mdw-surface); border-radius: var(--mdw-radius-card);
  transition: transform .15s ease, box-shadow .15s ease;
}
.mdw-card:hover, .mdw-card:focus-within { transform: translateY(-3px); box-shadow: 0 18px 40px -22px rgba(34, 26, 79, .45); }
.mdw-card__media img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.mdw-card__body { display: grid; gap: 10px; justify-items: start; padding: 20px 22px 24px; }
.mdw-card__title { font-size: 1.25rem; font-weight: 800; line-height: 1.2; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mdw-card__title a { color: var(--mdw-ink); text-decoration: none; }
/* The whole card is clickable through the title link. */
.mdw-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.mdw-card__title a:focus-visible { outline: none; }
.mdw-card:focus-within { outline: 3px solid var(--mdw-yellow); outline-offset: 2px; }
.mdw-card__excerpt { margin: 0; color: var(--mdw-muted); font-size: .98rem; }
.mdw-card__date { color: var(--mdw-muted); font-size: .875rem; }

/* Pagination */
.pagination { margin-top: 48px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.pagination .page-numbers {
  min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding-inline: 14px;
  border-radius: var(--mdw-radius-pill); background: var(--mdw-surface); color: var(--mdw-ink); text-decoration: none; font-weight: 600;
}
.pagination .page-numbers.current { background: var(--mdw-indigo); color: #fff; }
.pagination a.page-numbers:hover { background: #ebe8ff; }

/* Search form */
.search-form { display: flex; gap: 8px; max-width: 520px; }
.search-form label { flex: 1; }
.search-form .search-field { width: 100%; }

/* Article */
.mdw-article { padding-block: 40px 24px; }
.mdw-article__header { display: grid; gap: 14px; justify-items: start; margin-bottom: 28px; }
.mdw-article__title { font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; margin: 0; }
.mdw-article__meta { margin: 0; color: var(--mdw-muted); }
.mdw-article__layout { display: grid; gap: 40px; }
@media (min-width: 1024px) { .mdw-article__layout { grid-template-columns: minmax(0, 1fr) 280px; } }
.mdw-article__main { min-width: 0; }
.mdw-article__cover { margin: 0 0 28px; }
.mdw-article__cover img { display: block; width: 100%; border-radius: var(--mdw-radius-card); }

.mdw-prose { font-size: 1.125rem; line-height: 1.7; }
.mdw-prose > * + * { margin-top: 1.1em; }
.mdw-prose h2 { font-size: clamp(1.6rem, 3vw, 2rem); margin-top: 2em; scroll-margin-top: 24px; }
.mdw-prose h3 { font-size: 1.35rem; margin-top: 1.6em; }
.mdw-prose ul, .mdw-prose ol { padding-left: 1.3em; }
.mdw-prose li + li { margin-top: .4em; }
.mdw-prose blockquote { margin-inline: 0; padding: 16px 22px; background: var(--mdw-surface); border-left: 4px solid var(--mdw-yellow); border-radius: 0 14px 14px 0; font-style: italic; }
.mdw-prose pre { background: var(--mdw-ink); color: #f3f1ff; padding: 18px; border-radius: 14px; overflow-x: auto; font-size: .9rem; }
.mdw-prose :not(pre) > code { background: #ebe8ff; padding: .1em .35em; border-radius: 6px; font-size: .92em; }
.mdw-prose table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.mdw-prose th, .mdw-prose td { border-bottom: 1px solid var(--mdw-line); padding: 10px; text-align: left; }
.mdw-prose img { border-radius: 14px; }
.mdw-prose figcaption { color: var(--mdw-muted); font-size: .9rem; margin-top: 6px; }

/* TOC */
.mdw-toc__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; counter-reset: toc; }
.mdw-toc__list li { counter-increment: toc; }
.mdw-toc__list a { display: flex; gap: 10px; padding: 6px 10px; border-radius: 10px; color: var(--mdw-ink); text-decoration: none; font-size: .95rem; line-height: 1.35; }
.mdw-toc__list a::before { content: counter(toc); color: var(--mdw-indigo); font-weight: 700; }
.mdw-toc__list a:hover, .mdw-toc__list a[aria-current] { background: #ebe8ff; color: var(--mdw-indigo); }
.mdw-toc--inline { background: var(--mdw-surface); border-radius: 16px; padding: 12px 16px; margin-bottom: 28px; }
.mdw-toc--inline summary { font-weight: 700; cursor: pointer; }
.mdw-toc--inline[open] summary { margin-bottom: 10px; }
.mdw-toc__title { font-family: var(--mdw-font-display); font-weight: 700; font-size: 1.1rem; margin: 0 0 10px; }

/* CTA */
.mdw-cta-card { background: var(--mdw-ink); color: #f3f1ff; border-radius: var(--mdw-radius-card); padding: 22px; display: grid; gap: 10px; justify-items: start; }
.mdw-cta-card p { margin: 0; }
.mdw-cta-card__title { font-family: var(--mdw-font-display); font-weight: 800; font-size: 1.3rem; color: #fff; }
.mdw-cta-card .mdw-btn { background: var(--mdw-yellow); color: var(--mdw-ink); }
.mdw-cta-card .mdw-btn:hover { background: #fff; color: var(--mdw-ink); }

/* Desktop: sticky side column; tablet and phone: inline TOC and CTA */
.mdw-article__aside { display: none; }
@media (min-width: 1024px) {
  .mdw-article__aside { display: block; }
  .mdw-article__sticky { position: sticky; top: 24px; display: grid; gap: 20px; }
  .mdw-toc--side { background: var(--mdw-surface); border-radius: 16px; padding: 18px 12px; max-height: calc(100vh - 260px); overflow-y: auto; }
  .mdw-toc--inline { display: none; }
}

.mdw-cta-band {
  margin-block: 48px; padding: 32px; border-radius: var(--mdw-radius-card); background: var(--mdw-indigo); color: #fff;
  display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between;
}
.mdw-cta-band__title { margin: 0; font-family: var(--mdw-font-display); font-weight: 800; font-size: clamp(1.4rem, 3vw, 2rem); color: #fff; }
.mdw-cta-band .mdw-btn { background: var(--mdw-yellow); color: var(--mdw-ink); }
.mdw-related { padding-bottom: 72px; }

/* « À retenir » at the top of articles */
.mdw-takeaways { margin: 0 0 28px; padding: 22px 26px; border-radius: 20px; background: #fff; border: 2px solid var(--mdw-indigo); }
.mdw-takeaways__title { margin: 0 0 10px; font-family: var(--mdw-font-hand); font-weight: 700; font-size: 1.8rem; line-height: 1; color: var(--mdw-indigo); transform: rotate(-2deg); transform-origin: left; }
.mdw-takeaways__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.mdw-takeaways__item { position: relative; padding-left: 28px; font-weight: 600; color: var(--mdw-ink); line-height: 1.45; }
.mdw-takeaways__item::before { content: ""; position: absolute; left: 0; top: .3em; width: 16px; height: 16px; border-radius: 50%; background: var(--mdw-yellow); }

/* Share row, after the article */
.mdw-share { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--mdw-line); display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.mdw-share__title { margin: 0; font-family: var(--mdw-font-display); font-weight: 700; font-size: 1.1rem; }
.mdw-share__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.mdw-share__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--mdw-line); border-radius: var(--mdw-radius-pill); background: var(--mdw-surface); color: var(--mdw-ink); font: inherit; font-weight: 600; font-size: .95rem; text-decoration: none; cursor: pointer; }
.mdw-share__link:hover, .mdw-share__link:focus-visible { border-color: var(--mdw-indigo); color: var(--mdw-indigo); }
.mdw-share__link svg { width: 18px; height: 18px; fill: currentColor; flex-shrink: 0; }
