/* Book pages only. Inherit the original inks and every generated palette. */
.book-landing-media { min-width: 0; container-type: inline-size; }
.book-image-gallery { position: relative; padding-bottom: 10px; }
.book-image-gallery.has-thumbnails { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: start; gap: 16px; }
.book-image-gallery .book-cover-stage { min-width: 0; width: min(370px, 100%); }
.book-image-gallery .book-frame { display: grid; justify-items: center; align-items: start; border: 0; background: transparent; box-shadow: none; }
.book-image-gallery .book-frame::before { display: none; }
.book-image-gallery .book-frame > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; object-position: center top; }
.book-image-gallery .book-frame .placeholder { width: 100%; }
.book-image-gallery .book-cover-thumbnails { display: grid; align-self: start; gap: 15px; padding-top: 0; margin-top: var(--pc-thumbnail-offset, 0px); }
.book-cover-thumbnail { display: grid; gap: 5px; padding: 0 4px 6px; color: var(--muted); border: 0; box-shadow: 0 0 0 1px var(--line); text-align: center; text-decoration: none; }
.book-cover-thumbnail img { display: block; width: 100%; height: 66px; object-fit: contain; object-position: center top; }
.book-cover-thumbnail span { font-size: 9px; line-height: 1.3; overflow-wrap: anywhere; }
.book-cover-thumbnail:hover,
.book-cover-thumbnail.is-active { color: var(--forest); box-shadow: 0 0 0 2px var(--ochre); }
.book-cover-thumbnail:focus-visible { outline: 2px solid var(--ochre); outline-offset: 3px; }
.book-facts { margin-top: 18px; padding: 18px 0 14px; border-block: 1px solid var(--line); }
.book-facts-grid { display: flex; flex-wrap: wrap; align-items: start; justify-content: center; gap: 16px 8px; margin: 0; }
.book-fact { flex: 0 1 80px; min-width: 0; text-align: center; }
.book-fact dt { display: grid; justify-items: center; gap: 10px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.book-fact svg { width: 21px; height: 21px; color: var(--forest); }
.book-fact dd { margin: 9px 0 0; color: var(--ink); font-size: 12px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.book-facts + .book-retailers { margin-top: 22px; padding-top: 0; }
.book-landing-media .book-soundtrack { margin-top: 22px; padding: 0; border: 0; }
.book-soundtrack + .book-retailers { margin-top: 24px; }
/* Equal-width items and centered wrapping also center an incomplete last row. */
.book-page .book-retailer-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px 22px; }
.book-page .book-retailer-link { flex: 0 1 calc((100% - 22px) / 2); max-width: 190px; }
@media (max-width: 860px) {
  .book-page .book-landing { grid-template-columns: minmax(0, 1fr); gap: 62px; min-height: auto; padding: 58px 0 82px; }
  .book-page .book-landing-media { width: min(420px, 100%); }
}
@media (max-width: 760px) {
  .book-image-gallery.has-thumbnails { grid-template-columns: 58px minmax(0, 1fr); gap: 12px; }
  .book-cover-thumbnail img { height: 61px; }
}
