.categories-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(23.75rem, 100%), 1fr));
  gap: 2rem;
}

.categories-item {
  height: 18rem;
  background-image: 
    var(--image-overlay), 
    var(--bg-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 2rem;
  row-gap: 1rem;

  @media (width >= 56.25rem) {
    height: 25rem;
    padding: 3rem;
    row-gap: 2rem;
  }
}

.categories-title {
  text-align: left;
}

.categories-link {
  width: fit-content;
}