
/* R4.9 uniform cards + truncation */
.card-news{border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;height:100%}
.card-news .thumb{width:100%;aspect-ratio:16/9;background:#f3f3f3;overflow:hidden}
.card-news .thumb img,.card-news .thumb video{width:100%;height:100%;object-fit:cover}
.card-news .body{padding:10px;display:flex;flex-direction:column;gap:6px}
.card-news .title{font-size:18px;font-weight:800;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.card-news .summary{font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.8em;color:#444}
.card-news .meta{font-size:13px;color:#666;margin-top:auto}
.grid.cards-4x4{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.grid.cards-4x4{grid-template-columns:repeat(2,1fr)}}
