
.np-grid {
  display: grid;
  gap: 20px;
}

.np-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.np-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }

.np-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  transition: all .3s ease;
}

.np-card:hover {
  transform: translateY(-5px);
}

.np-img {
  width: 100%;
  aspect-ratio: 16/9;
  background-size: cover;
  background-position: center;
}

.np-content {
  padding: 15px;
}

.np-cat {
  display: inline-block;
  background: var(--wp--preset--color--primary, #4a3aff);
  color: #fff;
  padding: 4px 8px;
  font-size: 12px;
  margin-bottom: 10px;
}

.np-title {
  font-size: 18px;
  font-weight: bold;
  margin: 10px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.np-date {
  font-size: 12px;
  color: #777;
}

/* Layout 2 */
.layout-2 .np-cat {
  position: absolute;
  top: 10px;
  left: 10px;
}

.layout-2 .np-card {
  position: relative;
}

/* Layout 3 */
.layout-3 .np-grid {
  gap: 10px;
}

@media(max-width: 768px) {
  .np-grid.cols-3 {
    grid-template-columns: 1fr;
  }
}
