/* Página de Livros — herda o tema principal e adiciona o grid de grimórios */
@import url('styles.css');

.books-layout { display: block; max-width: 1100px; margin: 2rem auto; padding: 0 1.5rem; }

.books-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1.4rem;
  margin-top: 1.5rem;
}
.book-item {
  background: var(--bg-panel);
  border: 1px solid var(--bark);
  border-radius: var(--radius);
  padding: .8rem;
  text-align: center;
  box-shadow: var(--shadow);
  transition: transform .2s, border-color .2s;
}
.book-item:hover { transform: translateY(-4px); border-color: var(--gold); }
.book-item img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: var(--radius-sm);
  border: 1px solid var(--bark);
  background: var(--bg-deep);
}
.book-item p { color: var(--text-dim); font-size: .88rem; margin-top: .5rem; }
.book-item p strong { color: var(--gold-soft); font-family: var(--font-head); }

.loading-spinner {
  width: 46px; height: 46px;
  margin: 3rem auto;
  border: 4px solid var(--bark);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.books-search { max-width: 360px; width: 100%; margin: 0 0 1.2rem; }
.book-item { position: relative; }
.book-tag { position: absolute; top: .6rem; left: .6rem; font-size: .66rem; font-family: var(--font-head); background: rgba(13,21,15,.85); border: 1px solid var(--bark); color: var(--gold-soft); padding: .12rem .5rem; border-radius: 999px; }
.book-item .mini-btn { margin-top: .5rem; }

/* Capa gerada (sem imagem externa) */
.book-cover-gen { position: relative; width: 100%; aspect-ratio: 3/4; border-radius: var(--radius-sm); border: 1px solid var(--bark); display: flex; flex-direction: column; justify-content: space-between; padding: .8rem; overflow: hidden; box-shadow: inset 0 0 30px rgba(0,0,0,.4); }
.book-cover-gen::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(201,168,74,.35); border-radius: 6px; pointer-events: none; }
.book-cover-gen .cover-ic { width: 28px; height: 28px; color: var(--gold); opacity: .85; align-self: flex-end; }
.book-cover-gen .cover-initials { font-family: var(--font-deco); font-size: 2.6rem; color: var(--gold-soft); text-align: center; align-self: center; margin: auto 0; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.book-cover-gen .cover-title { font-family: var(--font-head); color: var(--gold); font-size: .78rem; line-height: 1.2; text-transform: uppercase; letter-spacing: .04em; text-align: center; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
