.bookshelf-intro { margin-bottom: 2.5rem; }
.book-section { margin-bottom: 3rem; }
.book-count { font-size: 1rem; color: var(--global-text-color-light); font-weight: 400; }
.book-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.25rem 2rem; list-style: none; padding: 0; margin: 1.5rem 0 0; }
.book-list li { min-width: 0; }
.book-cover { height: 225px; margin-bottom: .8rem; display: flex; align-items: flex-end; }
.book-cover img { display: block; max-width: 100%; width: auto; height: auto; max-height: 225px; box-shadow: 0 2px 5px #0002; }
.book-cover-unavailable { width: 150px; max-width: 100%; align-items: center; justify-content: center; border: 1px solid var(--global-divider-color); padding: 1rem; text-align: center; color: var(--global-text-color-light); }
.book-title { display: block; font-weight: 500; line-height: 1.5; }
.book-author { display: block; color: var(--global-text-color-light); font-size: .9rem; line-height: 1.6; }
@media (max-width: 760px) { .book-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.4rem; } }
@media (max-width: 540px) { .book-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .book-cover { height: 210px; } .book-cover img { max-height: 210px; } }

.book-list { align-items: start; }
