.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{
  background:#fff;
  border:1px solid #000;
  padding:12px 16px 16px;
  border-radius:0;
}

.post-card .cat{
  font-size:.0rem; line-height:1.2; margin-bottom:.0rem;
  color:var(--brand, #b30000); text-align:center;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.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,
.post-card .inner,
.post-card .title{ min-width:0; }

.post-card .title,
.post-card .title a{
  display:block;
  width:100%; max-width:100%;
  color:#ff7a00 !important;           
  font-weight:700;
  font-size:1.05rem;
  line-height:1.28;
  margin:.25rem 0 .35rem;
  text-align:center;                       
  text-decoration:none;

  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  -webkit-line-clamp:unset;
  -webkit-box-orient:unset;

  overflow-wrap:anywhere;
  word-break:break-word;
  word-break:break-all;              
  hyphens:auto;

  background:transparent;
  border-radius:0;
  padding:0;
  box-shadow:none;
  text-shadow:none;
}

.post-card .title:hover,
.post-card .title a:hover{
  color:#ff7a00;
  text-decoration:underline;
}

.post-card .title::before,
.post-card .title::after,
.post-card .title a::before,
.post-card .title a::after{
  content:none !important; display:none !important;
}

@media (max-width:560px){
  .post-card .title,
  .post-card .title a{
    font-size:.98rem;
    line-height:1.22;
  }
}

.post-card .meta{
  font-size:.9rem; color:#6b7280; margin:.1rem 0 .5rem; display:none;
}

.post-card .excerpt{
  font-size:.96rem; color:#000; 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);
}

@media (prefers-reduced-motion: reduce){
  .post-card, .post-card .thumb img{ transition:none; }
}
}
