.nwgrid { width: 100%; }
.nwgrid__top { margin-bottom: 12px; }
.nwgrid__tabs { display:flex; gap:6px; flex-wrap:wrap; }
.nwgrid__tab {
  border:1px solid #e5e7eb; background:#fff; padding:6px 10px; border-radius:999px;
  font-size:13px; line-height:1; cursor:pointer;
}
.nwgrid__tab.is-active { border-color:#111; }

.nwgrid__panel { display:none; }
.nwgrid__panel.is-active { display:block; }

.nwgrid__grid { display:grid; gap:14px; }

.nwgrid[data-cols-pc="1"] .nwgrid__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.nwgrid[data-cols-pc="2"] .nwgrid__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nwgrid[data-cols-pc="3"] .nwgrid__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nwgrid[data-cols-pc="4"] .nwgrid__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nwgrid[data-cols-pc="5"] .nwgrid__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.nwgrid[data-cols-pc="6"] .nwgrid__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.nwgrid__card { display:block; text-decoration:none; color:inherit; }
.nwgrid__thumb {
  position:relative; overflow:hidden; border-radius:10px;
  background:#f3f4f6; aspect-ratio: 16 / 9;
}
.nwgrid__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.nwgrid__noimg { width:100%; height:100%; background: repeating-linear-gradient(45deg, rgba(0,0,0,.05), rgba(0,0,0,.05) 10px, rgba(0,0,0,.02) 10px, rgba(0,0,0,.02) 20px); }

.nwgrid__badge {
  position:absolute; left:10px; top:10px;
  background:rgba(17,17,17,.75); color:#fff;
  font-size:12px; padding:4px 8px; border-radius:999px;
}

.nwgrid__meta { padding-top:8px; }
.nwgrid__subject {
  font-size:14px; font-weight:600; line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height: 2.7em;
}
.nwgrid__sub { margin-top:6px; font-size:12px; opacity:.75; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.nwgrid__dot { opacity:.6; }

.nwgrid__empty { grid-column:1/-1; padding:24px; text-align:center; opacity:.6; border:1px dashed #e5e7eb; border-radius:10px; }

@media (max-width: 991px) {
  .nwgrid[data-cols-mo="1"] .nwgrid__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .nwgrid[data-cols-mo="2"] .nwgrid__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nwgrid[data-cols-mo="3"] .nwgrid__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nwgrid[data-cols-mo="4"] .nwgrid__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
