/* Merovex Press — book catalog + book detail (public `.press` styles).
 *
 * Page shells, headings, and text roles come from press-utilities; this file
 * keeps only the pieces with real behavior: series rhythm, the capped cover
 * grid, the cover-card hover/overlay, and the detail-page top layout. */

/* A series section on the catalog / book page; internal spacing via u-flow. */
.press-series { margin-block: 3.5rem; }

/* Cap the columns so covers stay a reasonable height (~330px, matching the
   book detail cover) rather than filling the full container width. */
.press-book-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; max-width: calc(3 * 220px + 2 * 1.5rem + 2px); margin-inline: auto; }
.press-book-grid > .press-book-card { flex: 0 0 220px; max-width: 220px; box-sizing: border-box; }
@media (max-width: 760px) { .press-book-grid { max-width: calc(2 * 220px + 1.5rem); } }
@media (max-width: 520px) { .press-book-grid > .press-book-card { flex-basis: 260px; max-width: 260px; } }

/* Cover card — surface comes from .press-card (composed in the view). */
.press-book-card {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}
.press-book-card:hover { transform: translateY(-2px); border-color: var(--border-2); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18); }
.press-book-card:focus-visible { outline: 2px solid var(--link-color); outline-offset: 2px; }
.press-book-card__cover,
.press-book-card__placeholder {
  display: block;
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
}
.press-book-card__placeholder { background: var(--surface-2); }
.press-book-card__title {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 1rem; font-size: 1.3rem;
}

/* --- book detail: cover + meta side by side --- */
.press-book__top { display: flex; gap: 2rem; align-items: flex-start; flex-wrap: wrap; margin-block: 2rem; }
/* Border frames the art — dark covers otherwise bleed into the dark canvas. */
.press-book__cover { width: 220px; flex: none; border: 1px solid var(--border-1); border-radius: 0.5rem; }
.press-book__meta { flex: 1; min-width: 15rem; }
