/* ===== رفتار اسکرول، انتخاب بخش‌ها و کرسر (برگرفته از سایت آیفون‌شاپ) ===== */
html{scroll-behavior:smooth;scroll-padding-top:84px}

/* منوی چسبان با شیشه‌ای شدن هنگام اسکرول */
.navbar{position:sticky;top:0;z-index:50;transition:background .25s,box-shadow .25s,backdrop-filter .25s,border-radius .25s}
.navbar.sc{background:rgba(4,14,30,.72)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.12);border-radius:0 0 22px 22px}

/* انتخاب بخش‌ها: نشانگر لغزان */
.nav-tabs{position:relative}
.nav-tabs .nav-link{position:relative;z-index:1;border-bottom-color:transparent!important;transition:color .25s,transform .15s}
.nav-tabs .nav-link.active{border-bottom-color:transparent!important}
.nav-tabs .nav-link:active{transform:scale(.95)}
.nav-tabs .ind{position:absolute;z-index:0;left:0;top:4px;height:calc(100% - 8px);border-radius:14px;background:linear-gradient(120deg,rgba(143,220,210,.18),rgba(143,220,210,.38));box-shadow:inset 0 0 0 1px rgba(143,220,210,.5);transition:transform .4s cubic-bezier(.2,.9,.3,1.1),width .4s;pointer-events:none}

/* نورِ دنبال‌کننده‌ی ماوس روی کارت‌ها */
.custom-block{position:relative;overflow:hidden;--mx:50%;--my:50%;transition:transform .3s cubic-bezier(.2,.9,.3,1.2),box-shadow .25s}
.custom-block:hover{transform:translateY(-6px)}
.custom-block::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(240px circle at var(--mx) var(--my),rgba(143,220,210,.25),transparent 65%);z-index:2}
.custom-block:hover::before{opacity:1}

/* حس فشردن دکمه‌ها */
.btn,.custom-btn,.nav-link,button{transition:transform .15s,background .2s,color .2s,box-shadow .2s}
.btn:active,.custom-btn:active{transform:scale(.95)}

/* کرسر سفارشی */
html.cv,html.cv *{cursor:none!important}
html.cv input,html.cv textarea,html.cv select{cursor:text!important}
.custom-cursor{display:block;position:fixed;left:0;top:0;z-index:99999;width:1px;height:1px;pointer-events:none;opacity:0;transition:opacity .2s}
.custom-cursor.is-visible{opacity:1}
.cursor-dot,.cursor-orbit{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
.cursor-dot{width:10px;height:10px;background:#fff}
.cursor-orbit{width:34px;height:34px;border:1px solid #fff;background:rgba(255,255,255,.3);transition:width .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),background .2s}
.custom-cursor.is-enter .cursor-orbit{width:44px;height:44px;background:rgba(143,220,210,.4)}
.custom-cursor.is-down .cursor-orbit{width:26px;height:26px}
.cursor-label{position:absolute;top:32px;left:0;transform:translateX(-50%) translateY(-4px);font-size:14px;font-weight:700;white-space:nowrap;opacity:0;transition:opacity .2s,transform .3s cubic-bezier(.22,1,.36,1)}
.custom-cursor.is-enter .cursor-label:not(:empty){opacity:1;transform:translateX(-50%) translateY(0)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}

/* ===== انتقال نرم بین صفحه‌ها ===== */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}
body{animation:pgin .35s ease}@keyframes pgin{from{opacity:0}}
@media(prefers-reduced-motion:reduce){body{animation:none}}

/* ===== هاور کارت‌ها: حاشیه روشن ===== */
.custom-block{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.custom-block:hover{border-color:rgba(143,220,210,.65)!important;box-shadow:inset 0 0 0 1px rgba(143,220,210,.45),0 18px 40px rgba(0,0,0,.35)}

/* ===== نوار صفحه‌بندی با کپسول لغزان ===== */
.pagination{position:relative}
.pagination .ind{position:absolute;z-index:0;left:0;top:0;height:100%;border-radius:.375rem;background:linear-gradient(120deg,rgba(143,220,210,.25),rgba(143,220,210,.5));pointer-events:none;transition:transform .4s cubic-bezier(.2,.9,.3,1.1),width .4s}
.pagination .page-item{position:relative;z-index:1}
.pagination .page-item.active .page-link{background:transparent!important;border-color:transparent!important}

/* ===== پنجره‌ها (کارت کتاب و جستجو) ===== */
.ov{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .25s;padding:16px}
.ov.on{opacity:1;pointer-events:auto}
.dlg{position:relative;width:min(860px,100%);max-height:92vh;overflow:auto;background:#07162b;border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:8px;display:grid;grid-template-columns:1fr 1.2fr;gap:8px;transform:translateY(18px) scale(.95);transition:transform .4s cubic-bezier(.2,.9,.3,1.15);color:#fff}
.ov.on .dlg{transform:none}
.dlg .x{position:absolute;top:16px;inset-inline-start:16px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:16px;line-height:1}
.dlg .mv{border-radius:22px;background:radial-gradient(circle at 50% 60%,rgba(143,220,210,.3),rgba(8,22,44,.9));display:flex;justify-content:center;align-items:center;padding:28px;min-height:380px;overflow:hidden}
.dlg .mv img{max-width:100%;max-height:420px;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.5);object-fit:contain}
.dlg .mi{padding:34px 26px}
.dlg .mi h2{font-size:1.5rem;font-weight:800;line-height:1.7}
.dlg .mi .by{color:rgba(255,255,255,.75);margin:6px 0 14px}
.dlg .mi .ds{color:rgba(255,255,255,.7);font-size:.95rem}
.dlg .mi .bt{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.dlg .pill{background:#8fdcd2;color:#04202a;border:0;border-radius:16px;padding:11px 24px;font-weight:700;text-decoration:none;display:inline-block;transition:transform .15s}
.dlg .ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:16px;padding:11px 22px;font-weight:600}
.dlg .pill:active,.dlg .ghost:active{transform:scale(.95)}
@media(max-width:700px){.dlg{grid-template-columns:1fr}.dlg .mv{min-height:260px}}
.pal{align-items:start;padding-top:12vh}
.pbox{width:min(600px,100%);background:#07162b;border:1px solid rgba(255,255,255,.2);border-radius:22px;overflow:hidden;transform:translateY(-10px) scale(.97);transition:transform .3s cubic-bezier(.2,.9,.3,1.15);color:#fff}
.ov.on .pbox{transform:none}
.pbox input{width:100%;background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;border-radius:0!important;color:#fff;padding:18px 20px;font-size:1rem;outline:none;box-shadow:none!important}
.pbox ul{list-style:none;margin:0;max-height:50vh;overflow:auto;padding:8px}
.pbox li a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;font-size:.92rem;color:#fff;text-decoration:none}
.pbox li a span{color:rgba(255,255,255,.55);font-size:.78rem;white-space:nowrap}
.pbox li.on a{background:rgba(143,220,210,.18)}
.pbox .hint{padding:8px 16px;font-size:.75rem;color:rgba(255,255,255,.45);border-top:1px solid rgba(255,255,255,.1)}
.srch-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;margin-inline:10px;flex:none}
.srch-btn:hover{background:rgba(143,220,210,.25)}

/* ===== پیام پایین صفحه ===== */
.toast-ux{position:fixed;bottom:24px;left:50%;z-index:3000;background:#8fdcd2;color:#04202a;padding:12px 22px;border-radius:16px;font-weight:700;font-size:.9rem;transform:translate(-50%,30px);opacity:0;transition:.35s cubic-bezier(.2,.9,.3,1.2);pointer-events:none}
.toast-ux.on{transform:translate(-50%,0);opacity:1}

/* ===== سوال‌های متداول ===== */
.faq{display:grid;gap:10px;max-width:860px;margin:0 auto}
.fq{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px 22px;cursor:pointer;transition:border-color .2s,background .2s;color:#fff}
.fq:hover,.fq:focus-visible{border-color:rgba(143,220,210,.6);background:rgba(143,220,210,.1);outline:none}
.fq .q{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:700}
.fq i{font-style:normal;font-size:1.4rem;transition:transform .3s;color:#8fdcd2}.fq.o i{transform:rotate(45deg)}
.fq .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s}.fq.o .a{grid-template-rows:1fr}
.fq .a p{overflow:hidden;margin:0;color:rgba(255,255,255,.75);font-size:.95rem}.fq.o .a p{padding-top:10px}
