.company-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.company-card,
.product-card,
.cta-card,
.report-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.03));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  box-shadow: var(--shadow);
}

.company-card {
  padding: 14px;
  min-height: 230px;
}

.product-card {
  padding: 14px;
  min-height: 290px;
}

.product-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  margin-bottom: 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(77, 116, 255, 0.22), rgba(29, 35, 56, 0.5));
}

.product-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thumb-strip {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.thumb {
  width: 46px;
  height: 34px;
  border-radius: 10px;
  background: #2a2f3b;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.thumb-dark { background: linear-gradient(135deg, #2f2f2f, #6f5b37); }
.thumb-seed { background: linear-gradient(135deg, #858682, #312f26); }
.thumb-spice { background: linear-gradient(135deg, #734b22, #24180a); }
.thumb-berry { background: linear-gradient(135deg, #8a4c65, #40192c); }
.thumb-bloom { background: linear-gradient(135deg, #b84b53, #4f1717); }
.thumb-cashew { background: linear-gradient(135deg, #f2d79e, #c4a45a); }
.thumb-nut { background: linear-gradient(135deg, #875826, #2e160d); }
.thumb-ginger { background: linear-gradient(135deg, #f4e8bf, #b99d66); }
.thumb-coffee { background: linear-gradient(135deg, #6b4c32, #2d1a10); }
.thumb-powder { background: linear-gradient(135deg, #b88b52, #5b381d); }

.company-card h3,
.product-card h3,
.report-card h3 {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.35;
}

.card-tags {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.tag {
  padding: 4px 8px;
  border-radius: 7px;
  background: rgba(77, 116, 255, 0.14);
  color: #dbe4ff;
  font-size: 11px;
  font-weight: 700;
}

.tag.solid {
  background: rgba(255, 208, 102, 0.14);
  color: #f3d38d;
}

.card-meta,
.report-meta,
.card-copy {
  margin: 0;
}

.card-meta,
.report-meta {
  color: #8b92a7;
  font-size: 12px;
  font-weight: 700;
}

.card-copy {
  margin-top: 8px;
  color: #cad0e0;
  font-size: 12px;
  line-height: 1.5;
}