/* 前台增强：400 电话动画 / 锚点偏移 / 结构优化补丁 */

/* 无障碍跳转链接 */
.skip-link {
  position: fixed; top: -60px; left: 16px; z-index: 999;
  background: var(--primary); color: #fff; padding: 8px 16px;
  border-radius: 0 0 10px 10px; font-size: 13px; transition: top .2s;
}
.skip-link:focus { top: 0; }

/* sticky header 高度补偿，锚点定位不被遮挡 */
section[id], div[id="faq"] { scroll-margin-top: 76px; }

/* ---------- 400 联系电话动画 ---------- */
.nav-phone {
  position: relative; display: inline-flex; align-items: center; gap: 7px;
  font-weight: 700; letter-spacing: .4px; padding: 5px 4px;
}
.phone-dot {
  width: 17px; height: 17px; border-radius: 50%;
  background: linear-gradient(135deg, #22c55e, #16a34a); color: #fff;
  font-size: 10px; line-height: 1; display: inline-flex;
  align-items: center; justify-content: center;
  animation: phonePulse 1.8s ease-out infinite;
  transform-origin: center;
}
.phone-dot::before { content: "☎"; }
@keyframes phonePulse {
  0%   { box-shadow: 0 0 0 0 rgba(34, 197, 94, .55); }
  70%  { box-shadow: 0 0 0 10px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}
.nav-phone .phone-num { animation: numBreath 2.4s ease-in-out infinite; }
@keyframes numBreath {
  0%, 100% { color: var(--primary-dark); }
  50%      { color: var(--accent); text-shadow: 0 0 14px rgba(14, 165, 233, .6); }
}
.nav-phone:hover .phone-num { animation: none; color: var(--primary); }
.nav-phone:hover .phone-dot { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .phone-dot, .nav-phone .phone-num { animation: none; }
}

/* 面包屑尾项无下划线歧义 */
.breadcrumb a[aria-current] { color: var(--text); font-weight: 600; pointer-events: none; }

/* 页脚联系方式语义化 */
.footer-contact { font-style: normal; }
.footer-contact p { margin-bottom: 8px; }
.site-footer .quick-link { display: block; margin-bottom: 8px; }

/* 文章卡片改为 article + 内部链接布局（语义更清晰，AI 更易解析） */
.article-card { display: block; }
.article-card .article-link {
  display: flex; flex-direction: column; gap: 10px; height: 100%; color: inherit;
}
.article-card .article-link:hover h3 { color: var(--primary); }
.article-card .article-link:hover { text-decoration: none; }

/* 详情页作者区实体信息（E-E-A-T） */
.author-line {
  display: flex; align-items: center; gap: 8px; margin-top: 14px;
  padding: 12px 16px; background: var(--bg-alt); border-radius: 10px;
  font-size: 13px; color: var(--muted);
}
.author-line b { color: var(--text); }
