/* Books page only */
.book__grid { display: grid; gap: var(--space-5); align-items: start; }
.book__cover .cover { width: min(70vw, 360px); margin-bottom: var(--space-5); }
.book__facts { border-top: 1px solid var(--border); margin: 0; font-size: 0.97rem; }
.book__facts > div { display: grid; grid-template-columns: 110px 1fr; gap: var(--space-3); padding: var(--space-2) 0; border-bottom: 1px solid var(--border); }
.book__facts dt { font-family: var(--font-display); font-weight: 600; font-size: 1.1rem; color: var(--gold-deep); }
.book__facts dd { margin: 0; }
.book__title { font-size: clamp(2rem, 4.5vw, 3rem); margin-bottom: var(--space-2); }
.book__subtitle { font-family: var(--font-display); font-style: italic; font-weight: 500; font-size: 1.3rem; color: var(--muted); }
.book__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-4); margin-bottom: var(--space-5); }
.book__text h3 { margin-top: var(--space-5); padding-top: var(--space-3); border-top: 1px solid var(--gold); font-size: 1.6rem; }
.book__list { padding-left: 1.2em; max-width: var(--measure); }
.book__list li { margin-bottom: var(--space-2); }
.book__list li::marker { color: var(--gold-deep); }
.book__tools > div { padding: var(--space-3) 0; border-bottom: 1px solid var(--border); max-width: var(--measure); }
.book__tools dt { font-family: var(--font-display); font-weight: 600; font-size: 1.2rem; }
.book__tools dd { margin: var(--space-1) 0 0; color: var(--muted); }
.pull { border-left: 2px solid var(--gold); padding: var(--space-2) var(--space-4); margin: 0 0 var(--space-4); font-family: var(--font-display); font-style: italic; font-size: 1.35rem; line-height: 1.35; max-width: 40ch; }
.pull cite { display: block; font-family: var(--font-body); font-style: normal; font-size: 0.85rem; color: var(--muted); margin-top: var(--space-2); }
.book__gallery { list-style: none; padding: 0; margin: var(--space-5) 0 0; display: grid; gap: var(--space-4); }
.book__gallery figure { margin: 0; }
.book__gallery img { border: 1px solid var(--border); border-radius: var(--radius); width: 100%; }
.book__gallery figcaption { font-size: 0.9rem; color: var(--muted); margin-top: var(--space-2); }
@media (min-width: 600px) { .book__gallery { grid-template-columns: 1fr 1fr; } }
@media (min-width: 768px) {
  .book__grid { grid-template-columns: 300px minmax(0, 1fr); }
  .book__cover { position: sticky; top: var(--space-4); }
  .book__cover .cover { width: 100%; margin-left: 0; }
}
@media (min-width: 1100px) {
  .book__grid { grid-template-columns: 360px minmax(0, 1fr); gap: var(--space-7); }
}
