.card-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-s);
  padding: 0 var(--space-l);
}

.card {
  display: block;
  width: 400px;
  max-width: 100%;
  height: fit-content;
  padding: var(--space-2xs);
  background-color: var(--color-background-active);
  color: var(--color-text-active);
  text-decoration: none !important;

  &:hover {
    color: var(--color-text-active);

    .info .title {
      text-decoration: underline;
    }
  }

  .cover-image {
    object-fit: cover;
    width: 100%;
    max-height: 40vh;
    margin-bottom: var(--space-xs);
  }

  .info {
    * {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
      margin-bottom: var(--space-xs);
    }

    .title {
      font-size: var(--step-1);
    }
  }
}