/* Wspólna karta wpisu: układ, media i stan linku. Role tekstu są w typography.css. */
.c-post-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.c-post-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  min-inline-size: 0;
  padding: var(--space-4) var(--space-4) var(--space-6);
  border: var(--border-width-sm) solid var(--color-border-card);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}
.c-post-card__media { display: block; }
.c-post-card__media img { display: block; inline-size: 100%; aspect-ratio: 4096 / 2731; object-fit: cover; border-radius: var(--radius-sm); }
.c-post-card__copy { display: flex; flex-direction: column; gap: 0.375rem; padding: var(--space-2); }
.c-post-card__date { color: var(--color-text-secondary); }
.c-post-card__copy a { text-decoration: none; }
.c-post-card__copy a::after { content: ""; position: absolute; inset: 0; border-radius: var(--radius-md); }
.c-post-card__copy a:focus-visible::after { outline: var(--focus-width) solid var(--color-focus); outline-offset: var(--focus-offset); }
.c-post-card__copy a:hover { text-decoration: underline; }
.c-post-card__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.c-post-card__more { display: flex; align-items: center; gap: var(--space-1); align-self: flex-end; margin-block-start: auto; }
.c-post-card__more > span { text-decoration: underline; text-underline-offset: 0.2em; }
.c-post-card--related .c-post-card__excerpt { display: block; overflow: visible; }
.c-post-card--related { padding: var(--space-3) var(--space-3) var(--space-5); }
@media (min-width: 48rem) {
  .c-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  .c-post-card--related { padding: var(--space-4); }
}
