/* Closed-book volumes use the existing artwork; enlarged covers remain flat. */
.book-model-stage{perspective:1100px}
.book-model{display:inline-block;position:relative;flex:none;perspective:1100px;vertical-align:middle;max-width:100%}
.book-model::after{content:'';position:absolute;left:-6%;bottom:-3%;width:112%;height:6%;background:radial-gradient(ellipse,#14211b45,transparent 70%);filter:blur(3px);transform:skewX(-18deg);pointer-events:none}
.book-model-volume{position:absolute;inset:0;display:block;transform-style:preserve-3d;transform:rotateX(1deg) rotateY(23deg) rotateZ(-.6deg);transition:transform .25s ease;z-index:1}
.book-model-volume::before{content:'';position:absolute;inset:0;background:var(--book-spine,#263b32);transform:translateZ(calc(-1 * var(--book-depth)));border-radius:1px}
.book-model-volume::after{content:'';position:absolute;inset:0;transform:translateZ(1px);background:linear-gradient(90deg,#0002,transparent 2.5%,#fff2 3%,transparent 5%);pointer-events:none;border:1px solid #17282014;border-radius:1px}
:is(.book-cover,.gallery-image-link,.pack-covers a) .book-model img,
:is(.book-cover,.gallery-image-link,.pack-covers a):hover .book-model img{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:fill;filter:none;transform:translateZ(.5px);transition:none;border-radius:1px}
.book-model-spine,.book-model-pages{display:block;position:absolute;top:0;width:var(--book-depth);height:100%;backface-visibility:hidden}
.book-model-spine{left:0;transform-origin:left center;transform:translateZ(calc(-1 * var(--book-depth))) rotateY(-90deg);background:linear-gradient(90deg,#0004,#fff2 18%,#0001 70%,#0005),var(--book-spine,#263b32);border-radius:1px 0 0 1px}
.book-model-pages{right:0;transform-origin:right center;transform:translateZ(calc(-1 * var(--book-depth))) rotateY(90deg);background:repeating-linear-gradient(0deg,#f7f5ee 0 1px,#d9d7cf 1px 1.5px);border-block:2px solid var(--book-spine,#263b32)}
.book-model.is-back .book-model-volume{transform:rotateX(1deg) rotateY(-20deg) rotateZ(.6deg)}
.book-model.is-back .book-model-spine{left:auto;right:0;transform-origin:right center;transform:translateZ(calc(-1 * var(--book-depth))) rotateY(90deg)}
.book-model.is-back .book-model-pages{right:auto;left:0;transform-origin:left center;transform:translateZ(calc(-1 * var(--book-depth))) rotateY(-90deg)}
.pack-covers a{--book-model-limit:240;display:flex;align-items:start;justify-content:center}
@media(max-width:640px){.pack-covers a{--book-model-limit:150}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.book-cover:hover .book-model-volume,.gallery-image-link:hover .book-model-volume,.pack-covers a:hover .book-model-volume{transform:translateY(-3px) rotateX(1deg) rotateY(16deg) rotateZ(-.3deg)}.gallery-image-link:hover .book-model.is-back .book-model-volume{transform:translateY(-3px) rotateX(1deg) rotateY(-14deg) rotateZ(.3deg)}}
@media(prefers-reduced-motion:reduce){.book-model-volume{transition:none}}
