.skalpt-vsd2 {
  background: var(--vsd-section-bg);
  color: var(--vsd-body);
  padding: 20px;
  border-radius: 18px;
}
.skalpt-vsd2__header h2 { color: var(--vsd-heading); margin: 0 0 8px; font-size: 1.5rem; }
.skalpt-vsd2__subcopy { margin: 0 0 6px; color: var(--vsd-body); }
.skalpt-vsd2__meta { font-size: .85rem; color: #6a6a6a; display: flex; gap: 10px; flex-wrap: wrap; }
.skalpt-vsd2__featured,
.skalpt-vsd2__grid { display: grid; gap: 14px; margin-top: 14px; grid-template-columns: 1fr; }
.skalpt-vsd2__card {
  background: var(--vsd-card-bg);
  border: 1px solid var(--vsd-border);
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 8px 22px rgba(0,0,0,.05);
}
.skalpt-vsd2__card--featured { border-left: 3px solid var(--vsd-accent); }
.skalpt-vsd2__card-head { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.skalpt-vsd2__badge { font-size: .75rem; background: #f0e6d7; color: #5f4528; padding: 2px 8px; border-radius: 999px; }
.skalpt-vsd2__demographic { margin: 6px 0; font-size: .82rem; color: #777; }
.skalpt-vsd2__excerpt { margin: 8px 0 12px; line-height: 1.7; }
.skalpt-vsd2__card-foot { display: flex; justify-content: space-between; align-items: center; font-size: .82rem; }
.skalpt-vsd2__card-foot a { color: var(--vsd-accent); text-decoration: none; }
.skalpt-vsd2__empty { margin-top: 16px; padding: 12px; background: #fff; border-radius: 8px; border: 1px dashed var(--vsd-border); }

.skalpt-vsd2.density-compact .skalpt-vsd2__card { padding: 10px; }
.skalpt-vsd2.density-spacious .skalpt-vsd2__card { padding: 18px; }
.skalpt-vsd2.align-minimal .skalpt-vsd2__card-foot { justify-content: flex-start; gap: 12px; }
.skalpt-vsd2.align-text-heavy .skalpt-vsd2__excerpt { font-size: 1rem; }

@media (min-width: 768px) {
  .skalpt-vsd2__featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .skalpt-vsd2__grid { grid-template-columns: repeat(var(--vsd-columns, 3), minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .skalpt-vsd2__featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
