/* ============================================================
   RahaBook — book3d.css | کتاب سه‌بعدی + چیپ‌های شناور (مشترک)
   ============================================================ */
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:580px}
.book-glow{position:absolute;width:130%;height:60%;bottom:4%;border-radius:50%;
  background:radial-gradient(ellipse,var(--glow),transparent 68%);filter:blur(42px);
  animation:glowPulse 5s ease-in-out infinite}
@keyframes glowPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
.book-shadow{position:absolute;bottom:2%;width:62%;height:36px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);filter:blur(10px);
  animation:shScale 6s ease-in-out infinite}
@keyframes shScale{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.86);opacity:.55}}
.book-float{animation:floatY 6s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-22px)}}
.scene{perspective:1500px}
.book{position:relative;width:272px;height:392px;transform-style:preserve-3d;will-change:transform}
.book__face{position:absolute;inset:0;border-radius:12px 4px 4px 12px;backface-visibility:visible}
.book__back{transform:translateZ(-26px);background:linear-gradient(160deg,#0D1626,#080E1A);
  border:1px solid rgba(255,255,255,.06)}
.book__pages{inset:5px 8px 5px 5px;border-radius:8px;background:#EFE9DC;
  box-shadow:inset 0 0 18px rgba(0,0,0,.25)}
.book__pages.p1{transform:translateZ(19px)} .book__pages.p2{transform:translateZ(13px)} .book__pages.p3{transform:translateZ(7px)}
.book__edge{position:absolute;background:repeating-linear-gradient(90deg,#DDD5C4 0 2px,#F4EFE4 2px 4px)}
.book__edge.fore{width:48px;height:388px;top:2px;left:-20px;transform:rotateY(90deg);border-radius:6px}
.book__edge.top{width:268px;height:44px;right:2px;top:-17px;transform:rotateX(90deg);
  background:repeating-linear-gradient(0deg,#DDD5C4 0 2px,#F4EFE4 2px 4px)}
.book__spine{position:absolute;width:52px;height:100%;right:-26px;top:0;transform:rotateY(90deg);
  background:linear-gradient(180deg,#FFA22E,#FF5F35 55%,#ED1B4C);border-radius:4px;
  display:flex;align-items:center;justify-content:center}
.book__spine span{writing-mode:vertical-rl;transform:rotate(180deg);color:rgba(255,255,255,.9);
  font-weight:800;font-size:15px;letter-spacing:4px;font-family:var(--font)}
.book__title-page{transform:translateZ(23px);background:#F6F1E6;border-radius:12px 4px 4px 12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#1A2440}
.tp-mark{width:58px;height:58px;border-radius:15px;background:var(--grad);display:flex;align-items:center;
  justify-content:center;color:#fff;font-size:28px;font-weight:900}
.tp-name{font-size:24px;font-weight:900}.tp-name em{font-style:normal;color:#ED1B4C}
.tp-tag{font-size:13px;color:#5A647E}
.tp-line{width:56px;height:2px;background:var(--grad);border-radius:9px}
.tp-note{font-size:11.5px;color:#8A8FA3;letter-spacing:2px}
.book__cover{transform:translateZ(26px);transform-origin:100% 50%;
  background:radial-gradient(120% 90% at 20% 0%,#1B2A4A 0%,#101A30 55%,#0B1222 100%);
  border:1px solid rgba(255,255,255,.09);border-radius:12px 4px 4px 12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  overflow:hidden;transition:transform 1s cubic-bezier(.22,.9,.24,1);cursor:pointer}
.book:hover .book__cover{transform:translateZ(26px) rotateY(46deg)}
.cover-frame{position:absolute;inset:13px;border:1.5px solid rgba(255,160,70,.5);border-radius:9px;pointer-events:none}
.cover-logo{width:58px;height:58px;border-radius:16px;background:var(--grad);display:flex;align-items:center;
  justify-content:center;color:#fff;font-size:29px;font-weight:900;box-shadow:0 8px 26px rgba(237,27,76,.5)}
.cover-title{font-size:42px;font-weight:900;color:#fff}
.cover-sub{font-size:13px;color:#FFC59E;letter-spacing:1px}
.cover-sep{width:60px;height:2px;background:var(--grad);border-radius:9px;margin:4px 0}
.cover-pub{font-size:10.5px;color:rgba(255,255,255,.4);letter-spacing:4px;font-weight:600}
.cover-shine{position:absolute;top:-30%;right:-70%;width:45%;height:160%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.13),transparent);
  transform:skewX(-22deg);animation:coverShine 4.5s ease-in-out infinite}
@keyframes coverShine{0%,55%{right:-70%}100%{right:150%}}
.cover-ribbon{position:absolute;top:-4px;left:26px;width:26px;height:76px;
  background:linear-gradient(180deg,#ED1B4C,#B3123A);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);
  box-shadow:0 6px 14px rgba(0,0,0,.4)}

/* ---------- چیپ‌های شناور ---------- */
.chip-float{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:11px 16px;
  background:var(--chip-bg);border:1px solid var(--border);border-radius:15px;
  backdrop-filter:blur(14px);box-shadow:var(--chip-shadow);font-size:13px;font-weight:600;
  animation:chipFloat 5.5s ease-in-out infinite;white-space:nowrap;transition:translate .2s ease-out}
.chip-float i{width:32px;height:32px;border-radius:9px;background:var(--grad);display:flex;
  align-items:center;justify-content:center;font-size:13px;color:#fff;flex-shrink:0}
.chip-float small{display:block;font-size:10.5px;color:var(--muted);font-weight:400}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.chip-1{top:9%;right:2%} .chip-2{bottom:15%;right:-2%;animation-delay:1.2s}
.chip-3{top:26%;left:-3%;animation-delay:2s} .chip-4{bottom:4%;left:6%;animation-delay:.6s}