/* The catalogue at bookhawkpress.com/books/ (packages/edition/src/catalogue.ts), on top of the imprint's /assets/site.css:
   same paper, ink, serif and rule. The worker serves it as /books/_catalogue/catalogue.<sha10>.css. */
.catalogue { padding-block: 3rem 4rem; }
.catalogue h1 { font-weight: normal; color: var(--ink); font-size: clamp(2.2rem, 5.5vw, 3.2rem); line-height: 1.1; margin: 0 0 1.25rem; letter-spacing: -.01em; }
.catalogue .lede { font-size: 1.2rem; max-width: 34rem; margin: 0 0 2.5rem; }
.catalogue-empty { color: var(--muted); font-style: italic; max-width: 34rem; }

.books { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; }
@media (min-width: 56rem) { .books { grid-template-columns: 1fr 1fr; gap: 2rem; } }

.book {
  display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; align-items: start;
  padding: 1rem; min-height: 44px; background: var(--paper-deep); border: 1px solid var(--rule);
  color: var(--text); text-decoration: none;
}
@media (min-width: 30rem) { .book { grid-template-columns: 7.5rem 1fr; gap: 1.25rem; padding: 1.25rem; } }
@media (min-width: 40rem) { .book { grid-template-columns: 9.5rem 1fr; gap: 1.5rem; padding: 1.5rem; } }
.book:hover { color: var(--text); border-color: var(--accent); }
.book:hover .book-cta { color: var(--accent); }
.book-cover { width: 100%; height: auto; display: block; box-shadow: 0 2px 10px rgba(31, 42, 68, .18); }
.book-text p { margin: 0; }
.book-series { color: var(--accent); font-variant: small-caps; letter-spacing: .08em; font-size: .95rem; margin-bottom: .2rem !important; }
.book-title { font-weight: normal; color: var(--ink); font-size: 1.55rem; line-height: 1.15; margin: 0; }
.book-subtitle { font-style: italic; color: var(--muted); }
.book-byline { margin-top: .35rem !important; font-size: 1rem; }
.book-subhead { margin-top: .75rem !important; font-size: 1.02rem; line-height: 1.55; }
.book-formats { margin-top: .75rem !important; font-size: 1rem; color: var(--muted); }
.book-foot { margin-top: .9rem !important; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.book-badge { border: 1px solid var(--accent); color: var(--accent); font-size: .85rem; letter-spacing: .06em; font-variant: small-caps; padding: .05rem .5rem; }
.book-cta { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
