.l-container {
  width: min(100% - (var(--page-gutter) * 2), var(--container-max));
  margin-inline: auto;
}

.l-container--narrow,
.l-container--prose {
  max-width: 820px;
}

.l-container--search {
  max-width: 760px;
}

.l-container--article {
  max-width: 75%;
}

.site-main {
  padding-bottom: 80px;
}

.site-main--front {
  display: grid;
  gap: 72px;
}

.posts-grid,
.category-row__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.archive-subcategories__grid {
  display: grid;
  gap: 24px;
}

.archive-subcategories__grid--count-1 {
  grid-template-columns: 1fr;
}

.archive-subcategories__grid--count-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.archive-subcategories__grid--count-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.archive-subcategories__grid--count-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.archive-subcategories__grid--count-5 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.archive-subcategories__grid--count-5 .archive-subcategory-card:nth-child(-n + 3) {
  grid-column: span 2;
}

.archive-subcategories__grid--count-5 .archive-subcategory-card:nth-child(n + 4) {
  grid-column: span 3;
}

.archive-subcategories__grid--count-6 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.site-main--archive .posts-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (min-width: 1280px) {
  .category-row__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 820px) and (max-width: 1279px) {
  .posts-grid,
  .category-row__grid,
  .site-main--archive .posts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive-subcategories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive-subcategories__grid--count-1,
  .archive-subcategories__grid--count-2,
  .archive-subcategories__grid--count-3,
  .archive-subcategories__grid--count-4,
  .archive-subcategories__grid--count-5,
  .archive-subcategories__grid--count-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive-subcategories__grid--count-5 .archive-subcategory-card:nth-child(-n + 3),
  .archive-subcategories__grid--count-5 .archive-subcategory-card:nth-child(n + 4) {
    grid-column: auto;
  }
}

@media (max-width: 819px) {
  .site-main--front {
    gap: 48px;
  }

  .posts-grid,
  .category-row__grid,
  .site-main--archive .posts-grid {
    grid-template-columns: 1fr;
  }

  .archive-subcategories__grid {
    grid-template-columns: 1fr;
  }

  .archive-subcategories__grid--count-1,
  .archive-subcategories__grid--count-2,
  .archive-subcategories__grid--count-3,
  .archive-subcategories__grid--count-4,
  .archive-subcategories__grid--count-5,
  .archive-subcategories__grid--count-6 {
    grid-template-columns: 1fr;
  }

  .archive-subcategories__grid--count-5 .archive-subcategory-card:nth-child(-n + 3),
  .archive-subcategories__grid--count-5 .archive-subcategory-card:nth-child(n + 4) {
    grid-column: auto;
  }

  .l-container--article {
    max-width: none;
  }
}
