.blogs .title-area {
  text-align: center;
}

.blogs .title-area .red-line {
  justify-content: center;
}

.blogs .post-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  margin-top: 80px;
}

.blogs .post-item a {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
}

.blogs .post-thumbnail img {
  aspect-ratio: 3 / 2;
  width: 100%;
  height: auto;
}

.blogs .post-category {
  position: absolute;
  top: 16px;
  right: 16px;
  padding: 4px 10px;
  border-radius: 3px;
  background-color: var(--color-main);
  color: var(--color-white);
  font-size: 0.8rem;
}

.blogs .post-date {
  color: var(--color-gray);
}

.blogs .post-title {
  font-size: 1rem;
  margin-top: 8px;
}

.navigation.pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.pagination .page-numbers {
  display: inline-block;
  padding: 2px 12px;
  border-radius: 3px;
}

.pagination .page-numbers:not(.current) {
  background-color: var(--color-accent);
  color: var(--color-white);
}

.pagination .page-numbers.current {
  background-color: transparent;
  font-weight: bold;
}

.pagination .prev.page-numbers,
.pagination .next.page-numbers {
  display: none;
}

article.single-post {
  max-width: 800px;
  margin: auto;
}

.post-meta {
  margin-top: 8px;
}

article .post-category {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 3px;
  background-color: var(--color-main);
  color: var(--color-white);
  font-size: 0.8rem;
}

article .post-title {
  margin-top: 8px;
}

.post-date-area {
  display: flex;
  gap: 16px;
  font-size: 0.8rem;
  margin-top: 8px;
}

.post-content {
  margin-top: 80px;
}

.post-content p {
  margin-bottom: 32px;
}

.post-content figure {
  margin-bottom: 16px;
}

@media (max-width: 480px) {
  main {
    margin-top: 0;
  }
}