/* Reading list: keep each book as one complete, vertical card. */
.book-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
}

.book-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.book-card > .book-cover {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 4;
  flex: none;
}

.book-card-body {
  min-height: 174px;
}

.book-cover:not(.large) img {
  object-fit: contain;
  background: #f0ede6;
}

@media (max-width: 650px) {
  .book-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .book-card-body {
    min-height: 160px;
    padding: 13px;
  }

  .book-card-body h2 {
    font-size: 15px;
  }
}
