/* ========== Modern Collapsible TOC ========== */
:root{
  --toc-bg: rgba(255,255,255,.65);
  --toc-border: rgba(255,255,255,.6);
  --toc-radius: 18px;
  --toc-shadow: 0 12px 30px rgba(2,6,23,.10);
  --toc-accent: #6d28d9;         /* بنفش مدرن */
  --toc-accent-2: #06b6d4;       /* فیروزه‌ای */
  --toc-text: #0f172a;           /* slate-900 */
  --toc-muted: #64748b;          /* slate-500 */
  --toc-link: #111827;           /* gray-900 */
  --toc-hover: rgba(17,24,39,.06);
  --toc-ring: rgba(109,40,217,.35);
}

@media (prefers-color-scheme: dark){
  :root{
    --toc-bg: rgba(15,23,42,.5);
    --toc-border: rgba(148,163,184,.15);
    --toc-shadow: 0 12px 30px rgba(0,0,0,.35);
    --toc-text: #e5e7eb;
    --toc-muted: #9aa4b2;
    --toc-link: #e5e7eb;
    --toc-hover: rgba(255,255,255,.06);
    --toc-ring: rgba(99,102,241,.35);
  }
}

html{scroll-behavior:smooth;}
:target{scroll-margin-top:96px;} /* اگر هدر چسبان دارید تنظیم کنید */

/* ظرف کلی */
.wp-toc{
  position: relative;
  margin: 1.5rem 0;
  border-radius: var(--toc-radius);
  background: var(--toc-bg);
  box-shadow: var(--toc-shadow);
  overflow: hidden;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--toc-border);
}

/* نوار گرادیانی بالای کارت */
/*.wp-toc::before{
  content:"";
  position:absolute; inset:0 0 auto 0; height: 3px;
  background: linear-gradient(90deg, var(--toc-accent), var(--toc-accent-2), #22c55e);
  opacity:.9;
}
*/
/* summary (دکمه‌ی باز/بسته) */
.wp-toc__summary{
  display:flex; align-items:center; justify-content:space-between;
  gap:.75rem;
  padding: .9rem 1.15rem;
  cursor:pointer; list-style:none; user-select:none;
  color: var(--toc-text);
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: .1px;
  background: linear-gradient(90deg, var(--toc-accent), var(--toc-accent-2), #22c55e);
}

/* خط زیر summary هنگام open */
.wp-toc[open] .wp-toc__summary{
  border-bottom: 1px solid var(--toc-border);
}

/* چِورون مینیمال */
.wp-toc__chev{
  width: 18px; height: 18px; flex:0 0 18px;
  border-inline-end: 2px solid var(--toc-muted);
  border-bottom: 2px solid var(--toc-muted);
  transform: rotate(-45deg) translateY(-1px);
  transition: transform .28s ease;
}
.wp-toc[open] .wp-toc__chev{ transform: rotate(135deg); }

/* بدنه */
.wp-toc__body{
  padding: .85rem 1.15rem 1.1rem;
  animation: toc-fade .24s ease;
}
@keyframes toc-fade{ from{opacity:0; transform: translateY(-2px)} to{opacity:1; transform: translateY(0)} }

/* لیست‌ها */
.wp-toc__list,
.wp-toc__list ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.wp-toc__list > li{ margin:.35rem 0; }

/* تو در تو با خط راهنما + فاصله هوشمند */
.wp-toc__list ul{
  --indent: .9rem;
  margin: .35rem 0 .35rem var(--indent);
  padding-inline-start: var(--indent);
  border-inline-start: 1px dashed rgba(148,163,184,.35);
}
html[dir="rtl"] .wp-toc__list ul{
  margin: .35rem var(--indent) .35rem 0;
  padding-inline-start: 0;
  padding-inline-end: var(--indent);
  border-inline-start: none;
  border-inline-end: 1px dashed rgba(148,163,184,.35);
}

/* لینک‌ها */
.wp-toc__link{
  display:inline-flex; align-items:center; gap:.45rem;
  color: var(--toc-link);
  text-decoration: none;
  font-weight: 500;
  padding: .32rem .5rem;
  border-radius: 10px;
  position: relative;
  transition: background-color .2s ease, color .2s ease, transform .06s ease;
  outline: none;
}

/* دات کوچک قبل از هر لینک (آیکون ظریف) */
.wp-toc__link::before{
  content:"";
  width:6px; height:6px; border-radius:999px;
  background: radial-gradient(circle at 30% 30%, var(--toc-accent), var(--toc-accent-2));
  opacity:.65;
}

/* hover/active/focus states */
.wp-toc__link:hover{ background: var(--toc-hover); }
.wp-toc__link:active{ transform: scale(.985); }

/* focus حلقه‌ی زیبا */
.wp-toc__link:focus-visible{
  box-shadow: 0 0 0 4px var(--toc-ring);
  background: var(--toc-hover);
}

/* لینک فعال حین اسکرول (ست می‌شود از JS) */
.wp-toc__link[aria-current="true"]{
  color: var(--toc-accent);
  background: color-mix(in oklab, var(--toc-accent) 10%, transparent);
  font-weight: 700;
}

/* واکنش‌گرا */
@media (max-width: 640px){
  .wp-toc__summary{ padding: .85rem 1rem; font-size: 1rem; }
  .wp-toc__body{ padding: .75rem 1rem 1rem; }
  .wp-toc__list ul{ --indent: .7rem; }
}

/* احترام به کاهش حرکت */
@media (prefers-reduced-motion: reduce){
  .wp-toc__chev,
  .wp-toc__body{ transition: none; animation: none; }
}
