/* ============================================================================
   TestKav · نمای سریع آزمون (پنجرهٔ بزرگ پیش‌نمایش) — مشترک بین صفحهٔ فهرست آزمون‌های دسته (با ماندن ماوس روی کارت)
   و صفحهٔ بستهٔ آزمون (با کلیک روی هر آزمون مجموعه). قبلاً داخل market-category-v2.css بود.
   ============================================================================ */
/* ---------- quick view (desktop): rest on a card for 3 s and a large overview of the exam opens ----------
   The card shows a thin amber line filling along the bottom of its cover while it waits. */
.tkc-pv-meter{position:absolute;inset:auto 0 0 0;z-index:3;height:3px;background:var(--sk-amber);transform:scaleX(0);transform-origin:right;
  transition-property:transform;transition-timing-function:linear;transition-delay:.4s;pointer-events:none}
[dir="ltr"] .tkc-pv-meter{transform-origin:left}
.tkc-pv-meter.is-run{transform:scaleX(1)}

.tkc-qv-scrim{position:fixed;inset:0;z-index:1600;background:rgba(10,12,22,.5);-webkit-backdrop-filter:blur(6px) saturate(1.1);backdrop-filter:blur(6px) saturate(1.1);opacity:0;transition:opacity .28s ease}
.tkc-qv-scrim.is-on{opacity:1}
.tkc-qv{position:fixed;z-index:1601;top:50%;left:50%;display:flex;flex-direction:column;width:min(70vw,1120px);min-width:min(780px,calc(100vw - 32px));max-height:min(88vh,880px);
  background:var(--sk-surface);color:var(--sk-ink);border:1px solid var(--sk-line);border-radius:24px;overflow:hidden;
  box-shadow:0 60px 140px -50px rgba(8,10,30,.65),0 22px 50px -30px rgba(8,10,30,.4);
  opacity:0;transform:translate(-50%,-47%) scale(.97);transition:opacity .26s ease,transform .36s cubic-bezier(.2,.7,.2,1)}
.tkc-qv.is-on{opacity:1;transform:translate(-50%,-50%)}
.tkc-qv[hidden],.tkc-qv-scrim[hidden]{display:none}
/* .tkc-qv prefix: the site's `.sk-body button` reset would otherwise strip colour and background */
.tkc-qv .tkc-qv-x{position:absolute;top:18px;inset-inline-end:18px;z-index:4;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;cursor:pointer;
  background:rgba(10,12,22,.42);color:#fff;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .18s ease,background-color .18s ease}
.tkc-qv .tkc-qv-x:hover{transform:rotate(90deg);background:rgba(10,12,22,.6)}
.tkc-qv .tkc-qv-x svg{width:18px;height:18px}
.tkc-qv .tkc-qv-x:focus-visible{outline:2px solid var(--sk-amber);outline-offset:2px}
.tkc-qv:focus{outline:none}
.tkc-qv-body{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sk-line-strong) transparent}

/* ---- header: the cover, blurred, fills the band; the sharp cover sits beside the title ---- */
.qv-head{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#141a35}
.qv-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.qv-bg img{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;filter:blur(38px) saturate(1.35);opacity:.9}
.qv-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,11,24,.5) 0%,rgba(9,11,24,.72) 100%),radial-gradient(120% 90% at 85% 0%,rgba(255,194,24,.14),transparent 55%)}
.qv-head-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,39%);align-items:center;gap:36px;padding:46px 40px 40px}
.qv-intro{display:flex;flex-direction:column;gap:14px;min-width:0}
.qv-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:#ffd466}
.qv-crumbs i{font-style:normal;opacity:.55}
/* title in the site's default font (inherited from the page, so it follows the font chosen in the admin), not Pinar */
.qv-title{margin:0;font-family:inherit;font-size:28px;font-weight:800;line-height:1.38;color:#fff;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.qv-by{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:13.5px;color:rgba(255,255,255,.72)}
.qv-by b{color:#fff;font-weight:700}
.qv-rate{display:inline-flex;align-items:center;gap:5px}
.qv-rate svg{width:16px;height:16px;color:#ffc218}
.qv-rate b{font-size:14.5px}
.qv-rate small{font-size:12px;color:rgba(255,255,255,.6)}
.qv-new{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:700}
.qv-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0}
.qv-chips li{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:700;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.qv-chips svg{width:17px;height:17px;flex:none;color:rgba(255,255,255,.82)}
.qv-chips .bars{width:18px;height:14px}
.qv-lv rect{fill:rgba(255,255,255,.28)}
.qv-lv.lv-beginner rect:nth-child(-n+1){fill:#34d399}
.qv-lv.lv-intermediate rect:nth-child(-n+2){fill:#fbbf24}
.qv-lv.lv-advanced rect:nth-child(-n+3){fill:#fb923c}
.qv-lv.lv-expert rect{fill:#f43f5e}
.qv-lv.lv-all rect:nth-child(1){fill:#34d399}.qv-lv.lv-all rect:nth-child(2){fill:#fbbf24}.qv-lv.lv-all rect:nth-child(3){fill:#fb923c}.qv-lv.lv-all rect:nth-child(4){fill:#f43f5e}
.qv-chips .qv-cert{background:#ffc218e6;border-color:transparent;color:#181a1d}
.qv-chips .qv-cert svg{color:#181a1d}
.qv-cover{position:relative;margin:0;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#12141b;box-shadow:0 34px 70px -28px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.14)}
.qv-cover img{width:100%;height:100%;object-fit:cover;display:block}
.qv-ph{position:absolute;inset:0;background:linear-gradient(135deg,#1d2440,#3b3f8f)}

/* ---- body: what the exam is about and its syllabus, with the catalog beside it ---- */
.qv-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);padding:34px 40px 10px}
.qv-col{min-width:0;padding-inline-end:36px}
.qv-aside{min-width:0;padding-inline-start:36px;border-inline-start:1px solid var(--sk-line)}
.qv-main h3{display:flex;align-items:baseline;gap:10px;margin:0 0 14px;font-size:15.5px;font-weight:800;color:var(--sk-ink)}
.qv-main h3 small{font-size:12px;font-weight:600;color:var(--sk-ink-faint)}
.qv-sec + .qv-sec{margin-top:30px}
.qv-desc{margin:0;font-size:14.5px;line-height:2.1;color:var(--sk-ink-soft)}
.qv-topics{list-style:none;margin:0;padding:0}
.qv-topics li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--sk-line)}
.qv-topics li:first-child{padding-top:2px}
.qv-topics li:last-child{border-bottom:0}
.qv-topics .n{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--sk-amber) 16%,transparent);color:var(--sk-ink);font-size:13px;font-weight:800}
.qv-topics .tx{min-width:0}
.qv-topics .tx b{display:block;font-size:14px;font-weight:700;line-height:1.7;color:var(--sk-ink)}
.qv-topics .tx span{display:block;font-size:12.5px;line-height:1.8;color:var(--sk-ink-faint)}
.qv-topics .w{display:flex;align-items:center;gap:9px}
.qv-topics .w i{position:relative;width:64px;height:4px;border-radius:4px;background:var(--sk-line);overflow:hidden}
.qv-topics .w i::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:var(--w,0%);border-radius:inherit;background:var(--sk-amber)}
.qv-topics .w em{min-width:30px;font-style:normal;font-size:12px;font-weight:700;color:var(--sk-ink-soft);text-align:end}
.qv-cat{display:flex;flex-direction:column;gap:20px;margin:0}
.qv-cat dt{display:flex;align-items:center;gap:8px;margin:0 0 9px;font-size:12px;font-weight:700;color:var(--sk-ink-faint)}
.qv-cat dt::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dot,var(--sk-amber))}
.qv-cat dd{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.qv-cat dd span{display:inline-flex;align-items:center;padding:5px 13px;border-radius:999px;border:1px solid var(--sk-line-strong);background:var(--sk-surface);font-size:12.5px;font-weight:600;line-height:1.6;color:var(--sk-ink)}
.qv-cat .g-cat{--dot:#8b5cf6}.qv-cat .g-skill{--dot:#f2a900}.qv-cat .g-gskill{--dot:#34d399}.qv-cat .g-job{--dot:#60a5fa}.qv-cat .g-tool{--dot:#94a3b8}
.qv-empty{margin:0;font-size:13px;color:var(--sk-ink-faint)}

/* ---- action bar: stays at the bottom of the window while the content scrolls ---- */
.qv-bar{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:26px;padding:16px 40px;
  background:color-mix(in srgb,var(--sk-surface) 90%,transparent);border-top:1px solid var(--sk-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.qv-price{display:flex;flex-direction:column;gap:1px;white-space:nowrap}
.qv-price-l{font-size:12px;color:var(--sk-ink-faint)}
.qv-now{display:inline-flex;align-items:baseline;gap:6px}
.qv-now b,.qv-price .is-free{font-size:23px;font-weight:800;color:var(--sk-ink);line-height:1.3}
.qv-price .is-free{color:#16874a}
[data-theme="dark"] .qv-price .is-free{color:#4ad08a}
.qv-now small{font-size:12px;color:var(--sk-ink-soft)}
.qv-now s{margin-inline-start:6px;font-size:12.5px;color:var(--sk-ink-faint)}
.qv-now em{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:#e5484d;border-radius:6px;padding:2px 7px}
.qv-actions{display:flex;align-items:center;gap:10px}
.qv-cta,.qv-ghost{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border-radius:14px;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap;transition:filter .15s ease,border-color .15s ease,background-color .15s ease}
.qv-cta{background:var(--sk-amber);color:#181a1d;box-shadow:0 14px 26px -16px color-mix(in srgb,var(--sk-amber) 85%,transparent)}
.qv-cta:hover{filter:brightness(.95)}
.qv-ghost{padding:0 18px;color:var(--sk-ink);border:1px solid var(--sk-line-strong);background:transparent}
.qv-ghost:hover{border-color:var(--sk-amber);background:color-mix(in srgb,var(--sk-amber) 8%,transparent)}
.qv-cta:focus-visible,.qv-ghost:focus-visible{outline:2px solid var(--sk-amber);outline-offset:2px}

/* ---- loading: the card's own artwork and title right away, soft placeholders for the rest ---- */
.qv-sk{display:block;height:12px;border-radius:8px;background:linear-gradient(90deg,var(--sk-surface-2) 0%,color-mix(in srgb,var(--sk-surface-2) 50%,var(--sk-surface)) 50%,var(--sk-surface-2) 100%);background-size:200% 100%;animation:qv-shimmer 1.2s linear infinite}
.qv-head .qv-sk{background:linear-gradient(90deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.1) 100%);background-size:200% 100%}
.qv-sk.w90{width:90%}.qv-sk.w70{width:70%}.qv-sk.w50{width:50%}.qv-sk.w30{width:30%}
.qv-sk-chips{display:flex;gap:8px;margin-top:4px}
.qv-sk-chips .qv-sk{width:96px;height:36px;border-radius:999px}
.qv-sk-lines{display:flex;flex-direction:column;gap:12px}
@keyframes qv-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
.qv-error{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 30px;text-align:center;color:var(--sk-ink-soft)}

@media (max-width:1180px){
  .qv-head-in{gap:26px;padding:40px 30px 34px}
  .qv-title{font-size:27px}
  .qv-main{padding:28px 30px 8px}
  .qv-col{padding-inline-end:26px}
  .qv-aside{padding-inline-start:26px}
  .qv-bar{padding:14px 30px}
}

/* phones and tablets: the window becomes a near-full-width sheet, one column, and stays scrollable */
@media (max-width:1023px){
  .tkc-qv{width:min(96vw,760px);min-width:0;max-height:min(92vh,92dvh);border-radius:18px}
  .qv-head-in{grid-template-columns:1fr;gap:18px;padding:26px 20px 22px}
  .qv-cover{max-width:320px}
  .qv-title{font-size:22px}
  .qv-main{grid-template-columns:1fr;padding:20px 20px 4px}
  .qv-col{padding-inline-end:0}
  .qv-aside{padding-inline-start:0;border-inline-start:0;margin-top:14px;padding-top:14px;border-top:1px solid var(--sk-line)}
  .qv-bar{flex-wrap:wrap;gap:12px;padding:12px 20px}
  .qv-actions{width:100%;justify-content:stretch}
  .qv-actions a{flex:1;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .tkc-qv,.tkc-qv-scrim,.tkc-qv .tkc-qv-x{transition:none}
  .tkc-qv{transform:translate(-50%,-50%)}
  .qv-sk{animation:none}
}

/* package page: every row of «آزمون‌های مجموعه» opens the window on click */
.sk-mkt-pd .path .prow.has-quick{cursor:pointer;transition:background-color .15s ease}
.sk-mkt-pd .path .prow.has-quick:hover{background:var(--sk-surface-2,#f7f6f2)}
.sk-mkt-pd .path .prow.has-quick:focus-visible{outline:2px solid var(--sk-amber,#ffc218);outline-offset:-2px;border-radius:12px}
.sk-mkt-pd .path .prow.has-quick h4{text-decoration:none}
.qv-pack{font-size:15px}
