
.books-layout {
  display: grid;
  gap: 22px;
}
.books-status-only { grid-template-columns: 1fr; }
.books-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}
.book-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.book-cover-wrap {
  background: #eef3fb;
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.book-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.book-cover-wrap.no-cover {
  min-height: 180px;
}
.no-cover-label {
  color: var(--muted);
  font-weight: 700;
  font-size: 0.95rem;
  padding: 18px;
  text-align: center;
}
.book-content { padding: 18px; }
.book-header-row,.book-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.book-retailer,.book-date {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.book-retailer { color: var(--accent); }
.book-date { color: var(--muted); }
.book-title {
  margin: 10px 0 8px;
  font-size: 1.25rem;
  line-height: 1.2;
}
.book-description {
  margin: 0 0 14px;
  color: var(--muted);
  line-height: 1.7;
  min-height: 96px;
}
.book-empty {
  padding: 24px;
  text-align: center;
  color: var(--muted);
  background: var(--surface);
  border: 1px dashed var(--line);
  border-radius: 20px;
}
