/* Scoped to the shared desktop/mobile Books section. Site chrome stays inherited. */
.books-page { color: #16334c; font-size: 16px; line-height: 1.65; text-align: left; }
.books-page, .books-page * { box-sizing: border-box; }
.books-page a { color: #003366; text-decoration: underline; text-underline-offset: .2em; }
.books-page a:hover { text-decoration-thickness: 2px; }
.books-page a:focus-visible { outline: 3px solid #b75c17; outline-offset: 4px; }
.books-page h1, .books-page h2, .books-page h3 { color: #003366; font-family: Georgia, serif; font-weight: 400; line-height: 1.2; text-wrap: balance; margin: 0 0 12px; }
.books-page h1 { font-size: 32px; margin-bottom: 24px; }
.books-page h2, .books-page h3 { font-size: 25px; }
.books-page p { margin: 0 0 18px; max-width: 70ch; }
.books-page .lead { font-size: 18px; }
.books-page .intro { padding: 12px 0 20px; }
.books-page .disclosure { background: #eaf1f6; padding: 20px; margin-bottom: 32px; font-size: 14px; }
.books-page .disclosure p { margin: 8px 0 0; }
.books-page .book { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: 24px; padding: 28px 0; border-bottom: 1px solid #cbd7e0; }
.books-page .featured { padding-top: 0; }
.books-page .author { color: #455d70; margin-bottom: 16px; }
.books-page .subtitle { font-size: 16px; line-height: 1.45; }
.books-page .cover { width: 150px; max-width: 100%; height: auto; display: block; margin-top: 20px; }
.books-page .book-cover { margin: 0; }
.books-page .book-cover figcaption { max-width: 24ch; margin-top: 10px; font-size: 13px; color: #455d70; }
.books-page .archive-title { margin: 36px 0 0; font-size: 28px; }
.books-page .amazon-link { display: inline-block; background: #003366; color: #fff; padding: 12px 16px; text-decoration: none; line-height: 1.5; }
.books-page .amazon-link:hover { background: #194d78; text-decoration: underline; }
.books-page .amazon-link span { font-size: 14px; white-space: nowrap; }
.books-page .source { font-size: 14px; margin: 16px 0 0; }
@media (max-width: 640px) {
  .books-page .book { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .books-page .cover { margin: 16px 0; }
}
