/* Blog — artigo e card com imagem (adições; não altera estilos compartilhados) */
.post-thumb-img { display: block; overflow: hidden; }
.post-thumb-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.post:hover .post-thumb-img img { transform: scale(1.03); }
.post-title-link { color: inherit; text-decoration: none; }
.post-title-link:hover { color: var(--azul); }
.post .btn-link { align-self: flex-start; }
.blog-search { display:flex; gap:16px; align-items:flex-end; flex-wrap:wrap; margin-bottom:2.4rem; }
.blog-search label { display:grid; gap:6px; font-size:14px; color:var(--ink-soft); }
.blog-search input, .blog-search select { font:inherit; border:1px solid var(--line); background:var(--white); color:var(--ink); border-radius:8px; padding:12px; max-width:100%; }
.article-body img { max-width:100%; height:auto; border-radius:var(--r-md); }
.article-body ul, .article-body ol:not(.article-practices) { margin:1.2em 0; padding-left:1.6em; }
.article-body blockquote { border-left:3px solid var(--roxo); padding:1rem 1.4rem; margin:1.8rem 0; background:var(--malva-50); }

.article-narrow { max-width: 760px; }
.article-wide { max-width: 960px; }
.article-hero .title.article-title { max-width: none; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.15; }
.article-byline { margin-top: 1.4rem; font-size: 14px; color: var(--ink-muted); }
.article-byline strong { color: var(--ink); font-weight: 600; }
.article-figure { margin: 0 auto; }
.article-figure img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-lg); display: block; box-shadow: var(--shadow-soft); }
.article-figure figcaption { margin-top: .7rem; font-size: 12px; color: var(--ink-muted); text-align: right; }
.article-figure figcaption a { color: var(--ink-soft); }
.article-body { padding-top: 3.5rem; padding-bottom: 5rem; font-size: 17.5px; line-height: 1.8; color: var(--ink-soft); }
.article-body > p + p { margin-top: 1.2em; }
.article-body h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(1.5rem, 2.6vw, 1.95rem); line-height: 1.25; color: var(--ink); margin: 2.6rem 0 1rem; }
.article-practices { list-style: none; counter-reset: pr; margin: 1.6rem 0 0; padding: 0; display: grid; gap: 1.1rem; }
.article-practices li { counter-increment: pr; position: relative; padding: 1.2rem 1.4rem 1.2rem 4rem; background: var(--azul-claro-50); border-radius: var(--r-md); }
.article-practices li::before { content: counter(pr); position: absolute; left: 1.2rem; top: 1.15rem; width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; font-family: var(--serif); font-size: 1rem; color: var(--white); background: var(--azul); }
.article-practices strong { color: var(--ink); font-weight: 600; }
.article-foot { margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.article-author { font-size: 14px; color: var(--ink-muted); }
.article-actions { margin-top: 1.4rem; display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 620px) {
  .article-body { font-size: 16.5px; padding-top: 2.4rem; }
  .article-figure img { border-radius: var(--r-md); }
  .article-practices li { padding: 1.1rem 1.1rem 1.1rem 3.5rem; }
  .article-practices li::before { left: .9rem; }
  .article-actions .btn { width: 100%; justify-content: center; }
}
