.book-cover img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 2px 4px 4px 2px; box-shadow: 0 8px 20px #07130e50; }
/* A closed hardback with restrained tooling, using the unchanged cover painting. */
.book-cover:has(> img) {
    position: relative; isolation: isolate; container-type: inline-size;
    filter: drop-shadow(3px 12px 8px #04080680);
}
.book-cover:has(> img)::before {
    content: ""; position: absolute; z-index: 3; inset: 1px auto 1px -4px; width: 14px;
    border-radius: 3px 0 0 3px;
    background: linear-gradient(90deg, #101513, #bbbcb1 1px, #525650 2px, #121715 4px, #202622b3 9px, #b6b9a94a 10px, #10151388 12px, transparent 14px);
    box-shadow: -1px 0 1px #070d09aa; pointer-events: none;
}
.book-cover:has(> img)::after {
    content: ""; position: absolute; z-index: -1; inset: 2px -2px 0 auto; width: 4px;
    border-radius: 0 3px 3px 0; background: #121613;
    box-shadow: 1px 0 1px #d7d7c266, 1px 2px 2px #040806b3; pointer-events: none;
}
.book-cover-binding {
    position: absolute; z-index: 2; inset: 0;
    background: url('/images/books/book-cover-tooling.svg') center / 100% 100% no-repeat;
    pointer-events: none;
}
.book-cover-binding::after {
    content: ""; position: absolute; inset: 0;
    border-radius: 2px 4px 4px 2px;
    box-shadow: inset 0 1px 1px #e8e0bf70, inset -2px -2px 3px #080e0baa, inset 0 0 10px #070d0b80;
}
.book-cover-lettering {
    position: absolute; z-index: 1; inset: 0; border-radius: 2px 4px 4px 2px;
    color: #e9d6b3; font-family: Georgia, 'Times New Roman', serif; text-align: center;
    background: linear-gradient(#080e12a6, #080e1238 27%, transparent 45%, transparent 65%, #080d1099 87%, #080d10cc);
    text-shadow: 0 1px 2px #050908, 0 0 5px #05090899;
    pointer-events: none;
}
.book-cover-author {
    position: absolute; top: 6.8%; inset-inline: 8%;
    font-size: 4.8cqw; line-height: 1.25; color: #ded8c4;
}
.book-cover-series {
    position: absolute; top: 16%; inset-inline: 7%;
    font-size: 7cqw; line-height: 1.3; letter-spacing: .015em; text-transform: uppercase; text-wrap: balance;
}
.book-cover-caption {
    position: absolute; bottom: 6.5%; inset-inline: 9%; display: flex; flex-direction: column; gap: 2.5cqw;
}
.book-cover-volume { font-size: 5cqw; line-height: 1.1; color: #e4dfd1; }
.book-cover-title {
    font-size: 7.8cqw; line-height: 1.15; letter-spacing: .015em; text-transform: uppercase; text-wrap: balance;
    color: #f0e7d4;
}
@media (max-width: 599.98px) {
    .book-cover:has(> img) { filter: drop-shadow(2px 9px 6px #06100c66); }
    .book-cover:has(> img)::after { right: -2px; width: 3px; }
}
