/* ============================================================
   ztdat.cn 新版首页样式 (z- 前缀，避免与旧样式冲突)
   配色：深蓝 #1A237E + 金 #FFD54F，商务风
   ============================================================ */

.z-gold { color: var(--gold, #FFD54F); }

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ---------- Hero ---------- */
.z-hero {
    position: relative;
    padding: 120px 0 80px;
    background: linear-gradient(135deg, #1A237E 0%, #283593 55%, #303F9F 100%);
    color: #fff;
    overflow: hidden;
}
.z-hero-bg {
    position: absolute; inset: 0;
    background:
      radial-gradient(circle at 80% 20%, rgba(255,213,79,.18), transparent 45%),
      radial-gradient(circle at 10% 90%, rgba(79,107,237,.25), transparent 40%);
}
.z-hero-inner {
    position: relative; z-index: 1;
    display: flex; align-items: center; justify-content: space-between; gap: 40px;
    flex-wrap: wrap;
}
.z-hero-text { flex: 1 1 480px; }
.z-hero-tag {
    display: inline-block;
    background: rgba(255,213,79,.18);
    color: var(--gold, #FFD54F);
    border: 1px solid rgba(255,213,79,.4);
    padding: 5px 14px; border-radius: 999px;
    font-size: 13px; font-weight: 600; letter-spacing: 1px;
    margin-bottom: 20px;
}
.z-tag-light { background: rgba(255,255,255,.12); color:#fff; border-color: rgba(255,255,255,.3); }
.z-hero h1 {
    font-size: 42px; line-height: 1.25; font-weight: 800;
    margin-bottom: 18px; letter-spacing: .5px;
}
.z-hero-sub { font-size: 17px; color: rgba(255,255,255,.85); margin-bottom: 32px; max-width: 560px; }
.z-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.z-hero-stats {
    flex: 0 0 260px;
    display: flex; flex-direction: column; gap: 14px;
}
.z-stat {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px; padding: 18px 22px;
    backdrop-filter: blur(6px);
}
.z-stat-num { font-size: 26px; font-weight: 800; color: var(--gold, #FFD54F); }
.z-stat-label { font-size: 13px; color: rgba(255,255,255,.8); margin-top: 2px; }

/* ---------- 按钮 ---------- */
.z-btn {
    display: inline-block; padding: 13px 26px; border-radius: 10px;
    font-size: 15px; font-weight: 600; text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    border: 1px solid transparent;
}
.z-btn:hover { transform: translateY(-2px); }
.z-btn-gold { background: linear-gradient(135deg,#FFD54F,#FFC107); color:#3E2723; box-shadow:0 6px 18px rgba(255,193,7,.35); }
.z-btn-gold:hover { background: linear-gradient(135deg,#FFE082,#FFD54F); }
.z-btn-ghost { background: rgba(255,255,255,.12); color:#fff; border-color: rgba(255,255,255,.35); }
.z-btn-ghost:hover { background: rgba(255,255,255,.22); }
.z-btn-light { background:#fff; color:#1A237E; }
.z-btn-light:hover { background:#f0f1ff; }
.z-btn-primary-dark { background:#1A237E; color:#fff; }
.z-btn-primary-dark:hover { background:#283593; }
.z-btn-outline { background:transparent; color:#1A237E; border-color:#1A237E; }
.z-btn-outline:hover { background:rgba(26,35,126,.06); }

/* ---------- 通用 section ---------- */
.z-section { padding: 72px 0; }
.z-section-alt { background:#F5F6FA; }
.z-section-dark { background: linear-gradient(135deg,#1A237E,#283593); color:#fff; }
.z-section-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 36px; gap: 16px; flex-wrap: wrap;
}
.z-section-head h2 { font-size: 28px; font-weight: 800; color:#1A237E; }
.z-section-dark .z-section-head h2 { color:#fff; }
.z-more { color:#4F6BED; font-weight:600; text-decoration:none; font-size:15px; white-space:nowrap; }
.z-more:hover { color:#1A237E; }

/* ---------- 工具箱 ---------- */
.z-tools-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;
}
.z-tool-card {
    position: relative;
    background:#fff; border:1px solid #E8EAF6; border-radius: 16px;
    padding: 28px 24px; text-decoration:none; color:inherit;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    display:flex; flex-direction:column;
}
.z-tool-card:hover { transform: translateY(-5px); box-shadow:0 14px 32px rgba(26,35,126,.13); border-color:#C5CAE9; }
.z-tool-hot { border-color:#FFD54F; background: linear-gradient(180deg,#fffdf5,#fff); }
.z-tool-icon { font-size: 38px; margin-bottom: 14px; }
.z-tool-card h3 { font-size: 18px; font-weight:700; margin-bottom:8px; color:#1A237E; }
.z-tool-card p { font-size: 14px; color:#616161; line-height:1.65; flex:1; margin-bottom:16px; }
.z-tool-tag {
    align-self:flex-start; font-size:13px; font-weight:600;
    color:#1A237E; background:#E8EAF6; padding:5px 14px; border-radius:999px;
}
.z-tool-hot .z-tool-tag { background:linear-gradient(135deg,#FFD54F,#FFC107); color:#3E2723; }

/* ---------- 资讯 ---------- */
.z-news-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:18px; }
.z-news-card {
    background:#fff; border:1px solid #EEEEF2; border-radius:14px;
    padding:22px 24px; text-decoration:none; color:inherit;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    display:flex; flex-direction:column;
}
.z-news-card:hover { transform:translateY(-3px); box-shadow:0 10px 26px rgba(26,35,126,.1); border-color:#C5CAE9; }
.z-news-meta { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.z-news-cat {
    font-size:12px; font-weight:600; color:#1A237E;
    background:#E8EAF6; padding:3px 10px; border-radius:6px;
}
.z-news-date { font-size:12px; color:#9E9E9E; }
.z-news-title {
    font-size:17px; font-weight:700; line-height:1.5; color:#212121;
    margin-bottom:8px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.z-news-card:hover .z-news-title { color:#1A237E; }
.z-news-summary {
    font-size:13.5px; color:#757575; line-height:1.6;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.z-empty { color:#757575; padding:30px; text-align:center; }
.z-empty a { color:#4F6BED; }

/* ---------- 政策横幅 ---------- */
.z-policy-banner {
    background: linear-gradient(135deg,#fffdf2,#fff);
    border:1px solid #FFE082; border-radius:20px;
    padding:44px; display:flex; gap:40px; align-items:center; flex-wrap:wrap;
    box-shadow:0 8px 28px rgba(255,193,7,.12);
}
.z-policy-content { flex:1 1 420px; }
.z-policy-content h3 { font-size:24px; color:#3E2723; margin-bottom:14px; font-weight:800; }
.z-policy-content p { color:#5D4037; line-height:1.75; margin-bottom:24px; font-size:15px; }
.z-policy-actions { display:flex; gap:14px; flex-wrap:wrap; }
.z-policy-points { flex:0 0 280px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.z-point {
    background:#fff; border:1px solid #FFE082; border-radius:10px;
    padding:12px 14px; font-size:14px; font-weight:600; color:#5D4037;
    display:flex; align-items:center; gap:8px;
}
.z-point-dot {
    width:20px; height:20px; flex:0 0 20px; border-radius:50%;
    background:linear-gradient(135deg,#FFD54F,#FFC107); color:#3E2723;
    display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800;
}

/* ---------- 社区 ---------- */
.z-community-inner { display:flex; align-items:center; gap:48px; flex-wrap:wrap; }
.z-community-text { flex:1 1 440px; }
.z-community-text h2 { font-size:32px; font-weight:800; margin:16px 0; line-height:1.35; }
.z-community-text > p { color:rgba(255,255,255,.85); font-size:16px; line-height:1.8; margin-bottom:28px; }
.z-community-cards { flex:0 0 320px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.z-cm-card {
    background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
    border-radius:16px; padding:28px 18px; text-align:center;
    transition: background .2s ease, transform .2s ease;
}
.z-cm-card:hover { background:rgba(255,255,255,.18); transform:translateY(-3px); }
.z-cm-card span { font-size:32px; display:block; margin-bottom:10px; }
.z-cm-card p { font-size:15px; font-weight:600; }

/* ---------- 企业服务 ---------- */
.z-services-lead { color:#616161; font-size:16px; margin:-20px 0 32px; }
.z-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.z-svc-card {
    background:#fff; border:1px solid #EEEEF2; border-radius:14px; padding:26px;
    transition: transform .18s ease, box-shadow .18s ease;
}
.z-svc-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(26,35,126,.1); }
.z-svc-icon { font-size:34px; margin-bottom:12px; }
.z-svc-card h3 { font-size:17px; color:#1A237E; margin-bottom:8px; font-weight:700; }
.z-svc-card p { font-size:14px; color:#757575; line-height:1.6; }
a.z-svc-card { display:block; text-decoration:none; color:inherit; }
a.z-svc-card:hover { border-color:rgba(79,107,237,.35); }
.z-svc-sub { text-align:center; margin-top:18px; font-size:14px; color:#6B7280; }
.z-svc-sub a { color:#283593; font-weight:600; text-decoration:none; }
.z-svc-sub a:hover { color:#4F6BED; }
.z-svc-cta { text-align:center; margin-top:36px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ---------- 最终 CTA ---------- */
.z-final-cta {
    padding:70px 0; text-align:center;
    background: linear-gradient(135deg,#283593,#1A237E); color:#fff;
}
.z-final-cta h2 { font-size:30px; font-weight:800; margin-bottom:14px; }
.z-final-cta p { color:rgba(255,255,255,.85); font-size:16px; margin-bottom:30px; }

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
    .z-tools-grid { grid-template-columns: repeat(2,1fr); align-items:start; }
    .z-tool-list { grid-template-columns:1fr 1fr; align-items:start; }
    .z-tool-card p { flex:0 0 auto; }
    .z-svc-grid { grid-template-columns:1fr 1fr; }
    .z-news-grid { grid-template-columns:1fr; }
    .z-hero h1 { font-size:32px; }
    .z-hero-stats { flex:1 1 100%; flex-direction:row; flex-wrap:wrap; }
    .z-stat { flex:1 1 140px; }
}
/* ============================================================
   内页（工具箱 / 社区）通用
   ============================================================ */
.z-page-hero {
    padding: 110px 0 50px;
    background: linear-gradient(135deg,#1A237E,#283593);
    color:#fff; text-align:center;
}
.z-page-hero h1 { font-size:34px; font-weight:800; margin-bottom:12px; }
.z-page-hero p { color:rgba(255,255,255,.85); font-size:16px; max-width:680px; margin:0 auto; }
.z-tool-list { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.z-tool-list .z-tool-card { min-height:230px; }
.z-tool-cat-label {
    grid-column:1/-1; font-size:18px; font-weight:800; color:#1A237E;
    margin:18px 0 -6px; padding-left:2px;
    display:flex; align-items:center; gap:8px;
}
.z-tool-cat-label::after { content:""; flex:1; height:1px; background:#E8EAF6; }
.z-tool-badge-soon {
    position:absolute; top:14px; right:14px;
    font-size:11px; color:#9E9E9E; background:#F0F0F3; padding:3px 9px; border-radius:6px;
}
@media (max-width:900px){ .z-tool-list { grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .z-tool-list { grid-template-columns:1fr; } .z-page-hero h1{font-size:26px;} }

/* 社区页 */
.z-cm-join {
    background: linear-gradient(135deg,#fffdf2,#fff);
    border:1px solid #FFE082; border-radius:20px; padding:44px;
    display:flex; gap:44px; align-items:center; flex-wrap:wrap;
    box-shadow:0 8px 28px rgba(255,193,7,.12);
}
.z-cm-join-text { flex:1 1 380px; }
.z-cm-join-text h3 { font-size:24px; color:#3E2723; margin-bottom:14px; font-weight:800; }
.z-cm-join-text p { color:#5D4037; line-height:1.8; margin-bottom:14px; font-size:15px; }
.z-cm-wechat {
    flex:0 0 240px; background:#fff; border:1px solid #FFE082; border-radius:16px;
    padding:28px; text-align:center;
}
.z-cm-wechat .z-cm-wx-icon {
    width:72px; height:72px; margin:0 auto 14px; border-radius:16px;
    background:#07C160; color:#fff; font-size:40px;
    display:flex; align-items:center; justify-content:center;
}
.z-cm-wechat .z-cm-wx-id { font-size:18px; font-weight:800; color:#212121; margin-bottom:4px; }
.z-cm-wechat .z-cm-wx-tip { font-size:13px; color:#757575; line-height:1.6; }
.z-cm-boards { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.z-cm-board {
    background:#fff; border:1px solid #EEEEF2; border-radius:14px; padding:26px 22px;
    transition: transform .18s ease, box-shadow .18s ease;
}
.z-cm-board:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(26,35,126,.1); }
.z-cm-board span { font-size:32px; display:block; margin-bottom:12px; }
.z-cm-board h3 { font-size:16px; color:#1A237E; margin-bottom:8px; }
.z-cm-board p { font-size:13.5px; color:#757575; line-height:1.65; }
.z-cm-note {
    background:#F5F6FA; border-left:4px solid #4F6BED; border-radius:8px;
    padding:18px 22px; color:#424242; font-size:14.5px; line-height:1.75;
}
@media (max-width:900px){ .z-cm-boards { grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .z-cm-boards { grid-template-columns:1fr; } .z-cm-join{padding:28px 22px;} }

/* 打印 */
@media print {
    .navbar, .mobile-menu, .back-to-top, .z-hero-cta, .z-svc-cta, .z-final-cta .z-hero-cta { display:none !important; }
    .z-hero, .z-section-dark, .z-final-cta, .z-page-hero { background:#1A237E !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    body { color:#000; }
}
