/* Blog (gerado por tools/build-blog.py). Herda hero, prosa, "Veja também" e .plans do ajuda.css. */

.catnav { display: flex; flex-wrap: wrap; gap: var(--space-xs); padding-block: 0 var(--space-lg); }
.catnav a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: var(--space-md); border: var(--rule-hair) solid var(--color-rule); border-radius: 999px; font-size: var(--text-sm); color: var(--color-ink-2); text-decoration: none; }
.catnav a:hover { border-color: var(--color-accent); color: var(--color-accent-deep); }
.catnav a[aria-current="page"] { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-paper); }

.posts { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl) var(--space-lg); padding-block: var(--space-lg) var(--space-2xl); border-top: var(--rule-hair) solid var(--color-rule); }
@media (min-width: 40rem) { .posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .posts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.posts--compact { border-top: 0; padding-block: 0; }
@media (min-width: 64rem) { .posts--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.pcard a { display: grid; gap: var(--space-xs); text-decoration: none; color: inherit; }
.pcard__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-md); background: var(--color-paper-2); border: var(--rule-hair) solid var(--color-rule); }
.pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.pcard__ph { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--color-accent-soft), var(--color-paper-2)); }
.pcard__meta { font-size: var(--text-xs); color: var(--color-muted); margin-top: var(--space-2xs); }
.pcard__title { font-family: var(--font-display); font-weight: 500; font-size: var(--text-md); line-height: 1.25; color: var(--color-ink); }
.pcard__excerpt { font-size: var(--text-sm); color: var(--color-ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pcard a:hover .pcard__title { color: var(--color-accent-deep); }
.pcard a:hover .pcard__img img { transform: scale(1.03); }
.posts--compact .pcard__title { font-size: var(--text-base); }
.posts--compact .pcard__excerpt { display: none; }
@media (prefers-reduced-motion: reduce) { .pcard__img img { transition: none; } }

.pager { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); padding-block: 0 var(--space-3xl); }
.pager a, .pager span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding-inline: var(--space-sm); border-radius: var(--radius-md); font-size: var(--text-sm); text-decoration: none; color: var(--color-ink-2); }
.pager a:hover { background: var(--color-paper-2); color: var(--color-accent-deep); }
.pager span[aria-current="page"] { background: var(--color-ink); color: var(--color-paper); }

.post__cover { margin-block: 0 var(--space-lg); }
.post__cover img { width: 100%; aspect-ratio: 21 / 9; max-height: 22rem; object-fit: cover; object-position: center 30%; border-radius: var(--radius-lg, 12px); border: var(--rule-hair) solid var(--color-rule); }
.article figure { margin: var(--space-lg) 0; }
.article figure img { width: 100%; height: auto; border-radius: var(--radius-md); border: var(--rule-hair) solid var(--color-rule); }
.article figcaption { font-size: var(--text-sm); color: var(--color-muted); margin-top: var(--space-xs); }
