/* Blog / CMS content pages */
.blog-grid{display:grid;gap:1.5rem}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(10,77,15,.08);border-radius:10px;overflow:hidden}
.blog-card-img{display:block;aspect-ratio:16/9;background:#f3f5f3;overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover}
.blog-card-body{padding:1.1rem 1.25rem 1.35rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.blog-card-body h2{font-size:1.2rem;margin:0;line-height:1.3}
.blog-card-body h2 a{color:inherit;text-decoration:none}
.blog-card-body h2 a:hover{color:#0a4d0f}
.blog-meta{font-size:.85rem;color:#6c757d}
.blog-excerpt{margin:0;color:#444;font-size:.95rem}
.blog-card .btn-read{align-self:flex-start;margin-top:auto}
.blog-sidebar .blog-side-block{background:#fff;border:1px solid rgba(10,77,15,.08);border-radius:10px;padding:1rem 1.1rem;margin-bottom:1rem}
.blog-side-list li{margin-bottom:.4rem}
.blog-side-list a{text-decoration:none;color:#1a1a1a}
.blog-side-list a:hover{color:#0a4d0f}
.blog-pagination{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}
.blog-pagination a,.blog-pagination span{
  display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;
  padding:0 .6rem;border-radius:6px;border:1px solid rgba(10,77,15,.15);text-decoration:none;color:#1a1a1a;font-size:.9rem
}
.blog-pagination a:hover{background:#eef6ee}
.blog-pagination .is-current{background:#0a4d0f;border-color:#0a4d0f;color:#fff}
.blog-post-hero-img{width:100%;max-height:420px;object-fit:cover;border-radius:10px;margin-bottom:1.25rem}
.blog-content{line-height:1.7;font-size:1.05rem}
.blog-content img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0}
.blog-content h2,.blog-content h3{margin-top:1.5rem}
.blog-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.25rem}
.blog-tags a{
  display:inline-block;padding:.2rem .55rem;border-radius:4px;background:#eef6ee;color:#0a4d0f;
  text-decoration:none;font-size:.8rem
}
.blog-empty{padding:2rem;background:#fff;border-radius:10px;border:1px solid rgba(10,77,15,.08)}
.cms-page-content{background:#fff;border-radius:10px;border:1px solid rgba(10,77,15,.08);padding:1.5rem 1.75rem}
.cms-page-content img{max-width:100%;height:auto;border-radius:8px}
@media (min-width:992px){
  .blog-grid{grid-template-columns:1fr}
}
