/**
 * O que faz: Estilo mínimo e independente de JavaScript para o blog público.
 * Onde usa: /blog/ e /blog/<slug>/ gerados no build da Vercel.
 * Conexões: HTML renderizado em lib/blog/render-blog.mjs.
 * Tabelas: Não aplicável.
 * Data: 06/08/2026.
 */

:root {
  color: #173b33;
  background: #f4f7f2;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}

body { margin: 0; }
a { color: #147a5f; }
.blog-shell { width: min(100% - 2rem, 960px); margin: 0 auto; padding: 3rem 0 5rem; }
.blog-breadcrumb, .blog-meta, .blog-eyebrow { color: #5b756b; font-size: .9rem; }
.blog-eyebrow { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.blog-index__header, .blog-article__header { max-width: 760px; margin-bottom: 2.5rem; }
h1 { color: #12372f; font-size: clamp(2.2rem, 5vw, 4.2rem); line-height: 1.08; margin: .3rem 0 1rem; }
h2 { color: #16483a; line-height: 1.2; }
.blog-lead { font-size: 1.2rem; color: #45635a; }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.blog-card { background: #fff; border: 1px solid #dce8df; border-radius: 1rem; padding: 1.35rem; }
.blog-card h2 { margin-top: .3rem; }
.blog-article { background: #fff; border: 1px solid #dce8df; border-radius: 1.25rem; padding: clamp(1.2rem, 4vw, 3rem); }
.blog-article__body { font-size: 1.08rem; }
.blog-article__body img { max-width: 100%; height: auto; }
.blog-article__body pre { overflow-x: auto; padding: 1rem; background: #15241f; color: #e9fff3; border-radius: .65rem; }
.blog-article__body blockquote { margin-left: 0; padding-left: 1rem; border-left: 4px solid #73b99c; color: #45635a; }
.blog-article__footer { border-top: 1px solid #dce8df; margin-top: 2rem; padding-top: 1rem; }
.blog-empty { background: #fff; border: 1px dashed #b8d0c2; border-radius: 1rem; padding: 2rem; }
