/* =========================================================
   Card grid
   ========================================================= */

.card-grid {
  display: grid;
  gap: 24px;
  max-width: 1200px;
}

.card-grid.cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.card-grid.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card {
  display: flex;
  flex-direction: column;
}

.card-image {
  display: block;
  border: none;
  text-decoration: none;
}

.card-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 1px solid #2b342d;
}

.card-title {
  margin-top: 10px;
  text-align: center;
}

.card-title a {
  border-bottom: none;
}

.card-links {
  margin-top: 8px;
  display: flex;
  justify-content: center;
  gap: 12px;
  font-size: 0.9rem;
}


@media (max-width: 1100px) {

  .card-grid.cols-4 {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }
}


@media (max-width: 820px) {

  .card-grid.cols-4,
  .card-grid.cols-3 {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}


@media (max-width: 560px) {

  .card-grid.cols-4,
  .card-grid.cols-3 {
    grid-template-columns:
      repeat(1, minmax(0, 1fr));
  }
}