/* Bacagratis v12.1 - public cards, related books, author overflow */

/* ===== KATALOG / HOME BOOK CARD ===== */
.grid-books{
  align-items: stretch !important;
}

.book-card.card-polish-v91,
.book-card,
.card-polish-v91{
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  overflow: hidden !important;
}

/* Cover card utama: selalu proporsional, tidak kecil mengambang */
.book-cover-link-v91{
  display: block !important;
  width: 100% !important;
  aspect-ratio: 3 / 4 !important;
  min-height: 0 !important;
  max-height: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg,#f8fafc,#dbeafe) !important;
  position: relative !important;
}

.book-cover-img-v91,
.book-cover-link-v91 img,
.book-card .cover img,
.book-card img{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: top center !important;
}

/* Placeholder lama tetap rapi kalau cover tidak ada */
.book-cover-link-v91 .cover,
.book-card .cover{
  width: 100% !important;
  height: 100% !important;
  min-height: 220px !important;
  border-radius: inherit !important;
}

/* Body card tidak memanjang liar */
.book-card-body-v91{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding-top: 14px !important;
}

.book-card-body-v91 h3,
.book-card h3,
.book-title{
  margin: 0 0 8px !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  color: #0f172a !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.book-card-body-v91 h3 a,
.book-title a{
  color: inherit !important;
}

/* Author di card hanya preview */
.book-card-body-v91 p,
.book-card .book-author,
.book-card .author,
.book-meta{
  margin: 0 0 12px !important;
  color: #64748b !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-height: 5.8em !important;
}

.book-card-action-v91{
  margin-top: auto !important;
  min-height: 44px !important;
}

/* ===== DETAIL BOOK: AUTHOR PANJANG ===== */
.author-line-v91,
.book-detail-author,
.book-meta-author,
.author-list,
.book-authors{
  max-height: 7.3em !important;
  overflow: auto !important;
  padding-right: 8px !important;
  scrollbar-width: thin;
}

/* ===== RELATED BOOKS: CARD COMPACT KHUSUS ===== */
.related-section-v91{
  margin-top: 36px !important;
}

.related-section-v91 .section-head-v91,
.related-section-v91 .section-head{
  align-items: center !important;
  margin-bottom: 16px !important;
}

.related-books-v91{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

/* Related card tidak boleh tinggi liar */
.related-card-v91{
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 14px !important;
  border: 1px solid #dbeafe !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.045) !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: #0f172a !important;
  transform: none !important;
}

.related-card-v91:hover{
  border-color: #93c5fd !important;
  box-shadow: 0 16px 34px rgba(37,99,235,.12) !important;
  transform: translateY(-2px) !important;
}

/* Cover related tampil di atas, bukan kecil di bawah/kiri */
.related-cover-v91{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  max-height: 210px !important;
  min-height: 170px !important;
  margin: 0 0 12px 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg,#f8fafc,#dbeafe) !important;
  display: block !important;
  flex: 0 0 auto !important;
}

.related-cover-v91 img{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: top center !important;
}

.related-card-v91 h3,
.related-card-v91 .related-title-v91{
  margin: 0 0 8px !important;
  color: #0f172a !important;
  font-size: 15px !important;
  line-height: 1.34 !important;
  font-weight: 800 !important;
  letter-spacing: -0.012em !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.related-card-v91 p,
.related-card-v91 .related-author-v91,
.related-card-v91 .book-meta{
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
  font-weight: 500 !important;
  margin: 0 0 8px !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-height: 4.3em !important;
}

/* Pastikan label kategori/format related tidak terdorong jauh */
.related-card-v91 .badge,
.related-card-v91 .format-chip-v91{
  margin-top: auto !important;
  align-self: flex-start !important;
}

/* ===== PAGINATION WRAPPER INLINE FIX ===== */
.catalog-main-v91 > div[style*="margin-top:28px"],
.catalog-main > div[style*="margin-top:28px"],
.grid-books + div[style*="margin-top:28px"]{
  margin-top: 24px !important;
  margin-bottom: 18px !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1180px){
  .related-books-v91{
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)) !important;
  }
}

@media (max-width: 720px){
  .grid-books{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 14px !important;
  }
  .book-card-body-v91 h3,
  .book-card h3,
  .book-title{
    font-size: 14.5px !important;
    -webkit-line-clamp: 3 !important;
  }
  .book-card-body-v91 p,
  .book-card .book-author,
  .book-card .author,
  .book-meta{
    font-size: 12.8px !important;
    -webkit-line-clamp: 3 !important;
    max-height: 4.3em !important;
  }
  .related-books-v91{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px !important;
  }
  .related-cover-v91{
    max-height: 185px !important;
    min-height: 140px !important;
  }
  .related-card-v91 h3{
    font-size: 14px !important;
    -webkit-line-clamp: 3 !important;
  }
}

@media (max-width: 460px){
  .grid-books,
  .related-books-v91{
    grid-template-columns: 1fr !important;
  }
}

/* Dark mode */
html[data-theme="dark"] .related-card-v91,
html[data-theme="dark"] .book-card.card-polish-v91{
  background: #0f172a !important;
  border-color: rgba(148,163,184,.24) !important;
}

html[data-theme="dark"] .related-card-v91 h3,
html[data-theme="dark"] .book-card-body-v91 h3{
  color: #e5e7eb !important;
}

html[data-theme="dark"] .related-card-v91 p,
html[data-theme="dark"] .book-card-body-v91 p{
  color: #94a3b8 !important;
}
