/* Página do livro — complementa vsl.css */
.livro-hero { max-width: 1080px; margin: 0 auto; padding: 48px 16px 56px; display: grid; gap: 40px; grid-template-columns: 1fr; align-items: center; }
.livro-capa { justify-self: center; width: min(300px, 78%); }
.livro-capa img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 30px 70px rgba(0, 0, 0, .6), 0 0 0 1px var(--linha), 0 0 90px rgba(201, 169, 97, .12); }
.livro-texto { text-align: center; }
.livro-texto .rotulo { color: var(--ouro); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; margin: 0 0 12px; }
.livro-texto h1 { margin-bottom: .35em; }
.livro-texto h1 em { font-style: normal; color: var(--ouro-claro); }
.livro-texto .subtitulo { color: var(--suave); font-size: 1.1rem; margin: 0 auto 28px; max-width: 520px; }
.btn-zap { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.btn-zap svg { width: 22px; height: 22px; flex: none; }
.livro-aviso { color: var(--suave); font-size: .88rem; margin: 14px 0 0; }
.ficha { list-style: none; margin: 0 auto; padding: 0; max-width: 560px; display: grid; gap: 0; }
.ficha li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--linha); color: var(--suave); }
.ficha strong { color: var(--texto); font-weight: 600; text-align: right; }
.autor { max-width: 860px; margin: 0 auto; display: grid; gap: 28px; grid-template-columns: 1fr; align-items: center; text-align: center; }
.autor img { width: min(240px, 70%); height: auto; border-radius: 12px; justify-self: center; box-shadow: 0 0 0 1px var(--linha); }
.autor p { color: var(--suave); margin: 0 0 14px; }
@media (min-width: 820px) {
    .livro-hero { grid-template-columns: 340px 1fr; gap: 64px; padding-top: 64px; }
    .livro-texto { text-align: left; }
    .livro-texto .subtitulo { margin-left: 0; }
    .autor { grid-template-columns: 240px 1fr; text-align: left; gap: 48px; }
}
