/* Mobile default */
.grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

/* Tablet */
@media (min-width: 600px) {
  .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .grid {
    grid-template-columns: repeat(4, 1fr);
  }

.page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  height: 100%;
}