/* قدراتك — عرض الكتب كمجسّم ثلاثي الأبعاد (غلاف صلب واقف): الغلاف نفسه بلا تغيير، فقط طريقة العرض.
   يُفعَّل بإضافة الصنف bk3d إلى حاوية الغلاف (أو تلقائيًا عبر book3d.js على .cover و .pub-cover). */
.bk3d { position: relative; perspective: 1600px; --t: 26px; display: block; }
.bk3d.bk3d-sm { --t: 16px; } .bk3d.bk3d-lg { --t: 34px; }
.bk3d-inner { position: relative; width: 100%; aspect-ratio: 600 / 850; transform-style: preserve-3d; transform: rotateY(-26deg) rotateX(3deg); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.bk3d:hover .bk3d-inner { transform: rotateY(-12deg) rotateX(2deg) translateY(-4px); }
.bk3d-face { position: absolute; inset: 0; backface-visibility: hidden; }
.bk3d-front { transform: translateZ(calc(var(--t) / 2)); border-radius: 3px 8px 8px 3px; overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
.bk3d-front img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk3d-front::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(100deg, rgba(0,0,0,.10) 0%, rgba(255,255,255,0) 18%, rgba(255,255,255,.10) 55%, rgba(0,0,0,.06) 100%); pointer-events: none; }
.bk3d-front::before { content: ""; position: absolute; top: 0; bottom: 0; right: 7%; width: 2px; background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.16), rgba(0,0,0,.10)); z-index: 1; }   /* ثنية الغلاف قرب الكعب */
.bk3d-back { transform: translateZ(calc(var(--t) / -2)) rotateY(180deg); background: #f3f2ee; border-radius: 8px 3px 3px 8px; }
.bk3d-spine { position: absolute; top: 0; bottom: 0; right: calc(var(--t) / -2); width: var(--t); transform: rotateY(90deg); background: linear-gradient(90deg, #ebeae5, #f7f6f2 50%, #e4e3de); }
.bk3d-pages { position: absolute; top: 1.2%; bottom: 1.2%; left: calc(var(--t) / -2); width: var(--t); transform: rotateY(-90deg) scaleX(.92); background: repeating-linear-gradient(90deg, #fbfaf6 0 1.5px, #e6e3da 1.5px 2.5px); box-shadow: inset 0 0 6px rgba(0,0,0,.08); }
.bk3d-top { position: absolute; left: 1.2%; right: 0; top: calc(var(--t) / -2); height: var(--t); transform: rotateX(90deg); background: repeating-linear-gradient(0deg, #fbfaf6 0 1.5px, #e6e3da 1.5px 2.5px); }
.bk3d::after { content: ""; position: absolute; left: 6%; right: -4%; bottom: -7%; height: 14%; background: radial-gradient(ellipse at 50% 50%, rgba(22,35,63,.32), rgba(22,35,63,.10) 55%, transparent 75%); filter: blur(6px); z-index: -1; transform: skewX(-18deg); }
@media (prefers-reduced-motion: reduce) { .bk3d-inner, .bk3d:hover .bk3d-inner { transition: none; transform: rotateY(-20deg); } }
