.post-cards{
  display:grid; gap:18px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
@media (min-width:1024px){
  .post-cards{ grid-template-columns:repeat(3,1fr); gap:22px; }
}
.post-card{
  background:#fff;
  border:1px solid #e9eef3;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.05);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  will-change:transform;
}
.post-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  border-color:#e2e8f0;
}
.post-card .thumb{
  display:block; aspect-ratio:16/9; overflow:hidden; background:#f3f5f7;
}
.post-card .thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .25s ease;
}
.post-card:hover .thumb img{ transform:scale(1.02); }
.post-card .thumb-fallback{ background:#f3f5f7; height:0; padding-bottom:56.25%; }
.post-card .inner{ padding:12px 16px 16px; }
.post-card .cat{
  font-size:.88rem; line-height:1.2; margin-bottom:.25rem;
  color:var(--brand, #b30000);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;text-align: center;
}
.post-card .cat a{
  color:inherit; text-decoration:none; border-bottom:1px dashed currentColor;
}
.post-card .cat a:hover{ border-bottom-color:transparent; }
.post-card .title{
  font-size:1.05rem; line-height:1.35; margin:.25rem 0 .35rem; font-weight:700;
}
.post-card .title a{
  background:transparent !important;
  color:var(--text, #1a1a1a) !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  text-decoration:none;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.post-card .title a:hover{ text-decoration:underline; color:var(--brand, #b30000) !important; }
.post-card .meta{
  font-size:.9rem; color:#6b7280; margin:.1rem 0 .5rem;
}
.post-card .meta{ display:none; }
.post-card .excerpt{
  font-size:.96rem; color:#374151; line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.post-card .excerpt p{ margin:0; }
@media (max-width:560px){
  .post-card .excerpt{ -webkit-line-clamp:3; }
}
.pagination{ margin-top:16px; }
.pagination ul{
  list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0;
}
.pagination a, .pagination span{
  display:inline-block; padding:6px 10px;
  border:1px solid #e5e7eb; border-radius:8px;
  text-decoration:none; color:#111827; background:#fff;
}
.pagination a:hover{
  border-color:var(--brand, #b30000); color:var(--brand, #b30000);
}
.pagination .current{
  background:var(--brand, #b30000); color:#fff; border-color:var(--brand, #b30000);
}

/* ---- Motion accessibility ---- */
@media (prefers-reduced-motion: reduce){
  .post-card, .post-card .thumb img{ transition:none; }
}
@media (prefers-color-scheme: dark){
  .post-card{
    background:#111318; border-color:#1f2630; box-shadow:none;
  }
  .post-card .title a{ color:#4f403b !important; }
  .post-card .meta{ color:#9aa4b2; }
  .post-card .excerpt{ color:#cfd4dc; }
  .pagination a, .pagination span{
    background:#0e1116; color:#e6e7ea; border-color:#1f2630;
  }
}
