/* 3D book presentation — uses the exact original front-cover artwork. */
.book-stage,.series-books,.single-book{perspective:1500px}
.book-stage{position:relative;gap:0;overflow:visible;padding-left:58px;padding-right:30px}
.book-stage::after{content:"";position:absolute;z-index:0;left:8%;right:4%;bottom:34px;height:40px;background:radial-gradient(ellipse at center,rgba(0,0,0,.48) 0%,rgba(0,0,0,.22) 40%,rgba(0,0,0,0) 74%);filter:blur(11px);pointer-events:none}

.book3d{
  --book-depth:17px;
  --book-ry:-8deg;
  --book-lift:0px;
  position:relative;
  z-index:2;
  display:inline-block;
  flex:0 0 auto;
  transform-style:preserve-3d;
  transform-origin:center bottom;
  transform:perspective(1500px) translateY(var(--book-lift)) rotateY(var(--book-ry)) rotateX(.8deg);
  filter:none;
  transition:transform .28s ease,filter .28s ease;
  isolation:isolate;
}
.book3d:hover{transform:perspective(1500px) translateY(calc(var(--book-lift) - 5px)) rotateY(calc(var(--book-ry) * .7)) rotateX(.2deg);filter:brightness(1.015)}
.book3d img{
  position:relative;
  z-index:3;
  display:block;
  height:var(--h,350px);
  width:auto;
  max-width:none;
  object-fit:contain;
  border-radius:2px 4px 4px 2px;
  box-shadow:
    0 30px 38px rgba(0,0,0,.42),
    0 10px 15px rgba(0,0,0,.28),
    -1px 0 0 rgba(255,255,255,.14),
    1px 0 0 rgba(0,0,0,.3);
}
.book3d::before{
  content:"";
  position:absolute;
  z-index:1;
  left:calc(-1 * var(--book-depth));
  top:3px;
  bottom:3px;
  width:var(--book-depth);
  background:
    linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(18,31,42,.96) 32%,rgba(51,60,64,.9) 58%,rgba(4,10,15,.96) 100%);
  clip-path:polygon(100% 0,100% 100%,0 97%,0 3%);
  box-shadow:inset -2px 0 2px rgba(255,255,255,.1),inset 3px 0 5px rgba(0,0,0,.5),-4px 8px 12px rgba(0,0,0,.18);
  transform-origin:right center;
}
.book3d::after{
  content:"";
  position:absolute;
  z-index:2;
  left:2px;
  right:4px;
  bottom:-8px;
  height:9px;
  background:linear-gradient(180deg,#eee6d7 0%,#c8bda8 45%,#867d70 100%);
  clip-path:polygon(0 0,100% 0,96% 100%,4% 100%);
  box-shadow:0 9px 13px rgba(0,0,0,.28);
  transform-origin:top center;
}

.book3d:nth-child(1){--book-ry:-11deg;--book-lift:0px}
.book3d:nth-child(2){--book-ry:-6deg;--book-lift:-14px}
.book3d:nth-child(3){--book-ry:5deg;--book-lift:-7px}
.book3d:nth-child(4){--book-ry:10deg;--book-lift:0px}
.book3d:nth-child(5){--book-ry:5deg;--book-lift:-5px}
.book3d:nth-child(6){--book-ry:9deg;--book-lift:2px}

.book-stage .book3d{margin-left:-64px}
.book-stage .book3d:first-child{margin-left:0}
.book-stage .book3d:nth-child(1){z-index:1}
.book-stage .book3d:nth-child(2){z-index:2}
.book-stage .book3d:nth-child(3){z-index:3}
.book-stage .book3d:nth-child(4){z-index:4}

.series-banner .books{gap:0;padding-left:34px}
.series-banner .books .book3d{margin-left:-34px;--book-depth:12px}
.series-banner .books .book3d:first-child{margin-left:0}

.series-books{gap:0;padding-left:34px;overflow:visible}
.series-books .book3d{margin-left:-35px;--book-depth:14px}
.series-books .book3d:first-child{margin-left:0}
.series-books.six{gap:0;padding-left:40px}
.series-books.six .book3d{margin-left:-43px;--book-depth:11px}
.series-books.six .book3d:first-child{margin-left:0}
.series-books.three{gap:0;padding-left:18px}
.series-books.three .book3d{margin-left:-20px;--book-depth:16px}
.series-books.three .book3d:first-child{margin-left:0}

.single-book .book3d{--book-depth:22px;--book-ry:-10deg;--book-lift:0px}
.single-book .book3d::after{height:11px;bottom:-10px}

/* Smaller cover appearances remain clean, but gain physical depth rather than a flat-poster look. */
.choice-cover img[data-original-cover],.related-card img[data-original-cover]{
  border-radius:1px 3px 3px 1px;
  box-shadow:0 10px 16px rgba(0,0,0,.35),-4px 0 0 #172430,-5px 2px 5px rgba(0,0,0,.25);
  transform:perspective(800px) rotateY(-5deg);
  transform-origin:right center;
}

@media(max-width:960px){
  .book-stage{padding-left:42px;padding-right:20px}
  .book-stage .book3d{margin-left:-48px}
  .series-books{padding-left:22px}
  .series-books .book3d{margin-left:-24px}
  .series-books.six{padding-left:28px}
  .series-books.six .book3d{margin-left:-30px}
  .book3d{--book-depth:13px}
}
@media(max-width:640px){
  .book-stage{padding-left:28px;padding-right:10px;justify-content:center}
  .book-stage .book3d{margin-left:-36px}
  .book-stage::after{bottom:15px;height:28px}
  .series-banner .books{padding-left:24px}
  .series-banner .books .book3d{margin-left:-27px}
  .series-books{padding-left:20px}
  .series-books .book3d{margin-left:-22px}
  .series-books.six .book3d{margin-left:-23px}
  .series-books.three .book3d{margin-left:-16px}
  .book3d{--book-depth:10px}
  .single-book .book3d{--book-depth:17px}
}