/* =====================================================
   DSE 报考篇 FAQ 侧边栏样式
   依赖：正文已有的 .tip-box / .tip-info / .tip-warn 变量
   变量默认值可覆盖站点主题色
   ===================================================== */
:root{
  --faq-brand:#00727D;
  --faq-brand-deep:#00555d;
  --faq-ink:#1f2933;
  --faq-ink-soft:#5b6b78;
  --faq-line:#e3e9ed;
  --faq-bg:#f6f8f9;
  --faq-card:#ffffff;
  --faq-radius:10px;
}

/* ---------- 侧边栏容器 ---------- */
.dse-faq-sidebar{
  position:sticky;
  top:24px;
  max-height:calc(100vh - 48px);
  overflow-y:auto;
  background:var(--faq-card);
  border:1px solid var(--faq-line);
  border-radius:var(--faq-radius);
  padding:18px 16px 12px;
  font-size:14px;
  line-height:1.65;
  color:var(--faq-ink);
  box-shadow:0 2px 14px rgba(0,0,0,.05);
}
.dse-faq-sidebar::-webkit-scrollbar{width:6px;}
.dse-faq-sidebar::-webkit-scrollbar-thumb{
  background:#c4cfd6;border-radius:4px;
}

/* ---------- 头部 ---------- */
.faq-sidebar-head{padding-bottom:12px;border-bottom:1px solid var(--faq-line);}
.faq-sidebar-kicker{
  display:block;font-size:12px;letter-spacing:.04em;
  color:var(--faq-brand);font-weight:600;margin-bottom:4px;
}
.faq-sidebar-title{
  margin:0 0 10px;font-size:17px;line-height:1.4;color:var(--faq-brand-deep);
}
.faq-tools{display:flex;gap:8px;}
.faq-btn{
  flex:1;cursor:pointer;border:1px solid var(--faq-brand);
  background:var(--faq-brand);color:#fff;border-radius:6px;
  padding:5px 8px;font-size:12.5px;transition:.15s;
}
.faq-btn:hover{background:var(--faq-brand-deep);border-color:var(--faq-brand-deep);}
.faq-btn.ghost{background:#fff;color:var(--faq-brand);}
.faq-btn.ghost:hover{background:#eef6f7;}

/* ---------- 分类导航 ---------- */
.faq-cat-nav{
  display:flex;flex-wrap:wrap;gap:6px;
  padding:12px 0;border-bottom:1px solid var(--faq-line);
}
.faq-cat-link{
  font-size:12px;padding:3px 9px;border-radius:20px;
  background:var(--faq-bg);border:1px solid var(--faq-line);
  color:var(--faq-ink-soft);text-decoration:none;transition:.15s;
}
.faq-cat-link:hover{
  background:var(--faq-brand);color:#fff;border-color:var(--faq-brand);
}

/* ---------- 搜索框 ---------- */
.faq-search{padding:12px 0 4px;}
.faq-search input{
  width:100%;box-sizing:border-box;padding:8px 11px;
  border:1px solid var(--faq-line);border-radius:7px;
  font-size:13px;color:var(--faq-ink);background:var(--faq-bg);
  outline:none;transition:.15s;
}
.faq-search input:focus{
  border-color:var(--faq-brand);background:#fff;
  box-shadow:0 0 0 3px rgba(0,114,125,.12);
}
.faq-search input::-webkit-input-placeholder{color:#9aa7b0;}
.faq-no-result{
  display:none;padding:10px 0;font-size:13px;color:#9aa7b0;text-align:center;
}
body.faq-has-filter .faq-no-result{display:block;}
body.faq-has-filter .faq-cat,
body.faq-has-filter details{
  display:none;
}
body.faq-has-filter details.faq-match,
body.faq-has-filter .faq-cat.faq-cat-match{
  display:block;
}

/* ---------- FAQ 列表 ---------- */
.faq-list{padding-top:6px;}
.faq-cat{
  display:block;margin:14px 0 6px;padding-left:9px;
  font-size:12.5px;font-weight:700;color:var(--faq-brand-deep);
  border-left:3px solid var(--faq-brand);line-height:1.4;
}
.faq-list details{
  border-bottom:1px solid #eef2f4;padding:2px 0;
}
.faq-list details:last-of-type{border-bottom:none;}
.faq-list summary{
  cursor:pointer;list-style:none;padding:9px 26px 9px 10px;
  position:relative;font-size:13.5px;font-weight:500;
  color:var(--faq-ink);border-radius:6px;transition:.12s;
}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::before{
  content:"";position:absolute;right:10px;top:50%;
  width:7px;height:7px;margin-top:-1px;
  border-right:2px solid #8b9aa3;border-bottom:2px solid #8b9aa3;
  transform:translateY(-50%) rotate(-45deg);transition:.15s;
}
.faq-list details[open] summary::before{transform:translateY(-50%) rotate(45deg);}
.faq-list summary:hover{background:var(--faq-bg);color:var(--faq-brand-deep);}
.faq-list summary:focus-visible{outline:2px solid rgba(0,114,125,.35);outline-offset:-2px;}
.faq-list details[open] summary{background:#eef6f7;color:var(--faq-brand-deep);}
.faq-a{
  padding:2px 10px 12px;font-size:13px;color:var(--faq-ink-soft);line-height:1.7;
}
.faq-a p{margin:0 0 8px;}
.faq-a p:last-child{margin-bottom:0;}

/* ---------- 页脚 ---------- */
.faq-sidebar-foot{
  margin-top:12px;padding-top:10px;border-top:1px solid var(--faq-line);
  font-size:11.5px;color:#8b9aa3;line-height:1.5;
}

/* ---------- 正文锚点滚动平滑 ---------- */
html{scroll-behavior:smooth;}
.faq-cat{scroll-margin-top:16px;}

/* 全部展开模式：内容铺开、不滚动、无滚动条 */
.dse-faq-sidebar.dse-faq-sidebar--expand {
  max-height: none;
  overflow-y: visible;
  height: auto;
  position: static;
}

/* ---------- 响应式：窄屏转置底部 ---------- */
@media (max-width:960px){
  .dse-faq-sidebar{
    position:static;max-height:none;
    margin:32px 0 0;padding:16px 14px;
  }
}