/* ========== PUZAO 前台样式 ========== */
:root {
  --brand: #2563eb;
  --brand-dark: #1d4ed8;
}

html { scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; color: #1f2937; }

.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* 导航悬停下拉 */
.nav-item { position: relative; }
.nav-dropdown {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px);
  min-width: 200px; background: #fff; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.12);
  padding: 8px; opacity: 0; visibility: hidden; transition: all .2s ease; z-index: 50;
}
.nav-item:hover .nav-dropdown { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.nav-dropdown a { display: block; padding: 8px 12px; border-radius: 6px; font-size: 14px; color: #4b5563; white-space: nowrap; }
.nav-dropdown a:hover { background: #eff6ff; color: var(--brand); }
.nav-dropdown::before { content:''; position:absolute; top:-8px;left:0;right:0;height:8px; }

/* 移动端菜单 */
#mobileMenu { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.mobile-sub { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
.mobile-sub.open { max-height: 500px; }

/* 富文本内容 */
.prose h2 { font-size: 1.4rem; font-weight: 700; margin: 1.5em 0 .7em; }
.prose h3 { font-size: 1.15rem; font-weight: 600; margin: 1.3em 0 .6em; }
.prose p { margin: .8em 0; line-height: 1.85; }
.prose ul { list-style: disc; padding-left: 1.5em; margin: .8em 0; }
.prose ol { list-style: decimal; padding-left: 1.5em; margin: .8em 0; }
.prose li { margin: .3em 0; line-height: 1.8; }
.prose img { border-radius: 10px; margin: 1em 0; max-width: 100%; height: auto; }
.prose a { color: var(--brand); text-decoration: underline; }
.prose table { width: 100%; border-collapse: collapse; margin: 1em 0; }
.prose th, .prose td { border: 1px solid #e5e7eb; padding: 10px 12px; }
.prose th { background: #f9fafb; font-weight: 600; }
.prose blockquote { border-left: 4px solid var(--brand); background: #f8fafc; padding: 10px 16px; color: #475569; margin: 1em 0; }
