/* Blog R4.2: regras restritas à listagem do blog. */
.blog-r42 .blog-results{margin:0 0 20px;color:var(--muted);font-size:.9rem;scroll-margin-top:24px}
.blog-r42 .blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.blog-r42 .pcard{display:flex;flex-direction:column;min-width:0;height:100%}
.blog-r42 .pcard-img{display:block;position:relative;width:100%;height:auto;min-height:0;aspect-ratio:16/9;flex:none;overflow:hidden}
.blog-r42 .pcard-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.blog-r42 .pcard-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:10px;padding:18px}
.blog-r42 .pcard-body h3{margin:0;line-height:1.35;font-size:1.12rem;overflow-wrap:anywhere}
.blog-r42 .pcard-ex,.blog-r42 .post-feat-ex{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.6;margin:0}
.blog-r42 .blog-card-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;width:100%;margin-top:auto;padding-top:12px}
.blog-r42 .blog-card-foot .pmeta{margin:0}
.blog-r42 .blog-read{font-size:.88rem;font-weight:700;color:var(--ruby)}
.blog-r42 .post-feat{align-items:center}
.blog-r42 .post-feat-img{flex:0 0 42%;height:auto;min-height:0;aspect-ratio:16/9;align-self:center}
.blog-r42 .post-feat-img img{object-fit:contain;width:100%;height:100%}
.blog-r42 .post-feat-body{min-width:0;flex:1}
.blog-r42 .blog-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:32px 0 8px;padding:12px 0 24px}
.blog-r42 .blog-pagination .btn{min-width:44px;min-height:44px;justify-content:center}
.blog-r42 .blog-pagination .is-disabled{opacity:.45;cursor:default;pointer-events:none}
.blog-r42 .blog-pagination .is-current{background:var(--ruby);color:#fff;border-color:var(--ruby)}
.blog-r42 .blog-page-status{flex-basis:100%;text-align:center;font-size:.88rem;color:var(--muted);margin-top:8px}
@media(max-width:1000px){.blog-r42 .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.blog-r42 .blog-grid{grid-template-columns:minmax(0,1fr);gap:20px}.blog-r42 .post-feat{flex-direction:column}.blog-r42 .post-feat-img{flex:none;width:100%;aspect-ratio:16/9;min-height:0}.blog-r42 .post-feat-body{width:100%}.blog-r42 .blog-pagination{gap:6px}.blog-r42 .blog-pagination .btn{padding:10px 13px}}
