/* cfm 模板 - 参照 oohlalawinnipeg 蓝色营销门户风格 */
:root{
    --cf-blue:#0d6efd; --cf-blue-dark:#1e3c72; --cf-blue-mid:#2a5298;
    --cf-yellow:#ffc107; --cf-dark:#1b1f3b; --cf-darker:#0a0d22;
    --cf-f1:#1c1f3f; --cf-f2:#3d0b40; --cf-gray:#f8f9fa; --cf-text:#212529; --cf-muted:#6c757d;
}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Roboto,sans-serif;color:var(--cf-text);background:#fff;}
a{text-decoration:none;color:inherit;}
a:hover{color:var(--cf-blue);}
img{max-width:100%;}
.cf-container{max-width:1200px;margin:0 auto;padding:0 15px;}

/* ===== 顶部导航 ===== */
.cf-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.cf-nav{display:flex;align-items:center;justify-content:space-between;height:72px;flex-wrap:nowrap;}
.cf-brand{display:flex;align-items:center;gap:10px;flex:none;}
.cf-brand img{height:52px;width:auto;border-radius:6px;}
.cf-brand b{font-size:17px;color:var(--cf-blue-dark);white-space:nowrap;}
.cf-menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;flex:none;}
.cf-menu a.cf-link{display:block;padding:10px 10px;font-size:15px;color:#333;border-radius:6px;white-space:nowrap;}
.cf-menu a.cf-link:hover,.cf-menu a.cf-link.active{color:var(--cf-blue);background:rgba(13,110,253,.06);}
.cf-btn-reg{display:inline-flex;align-items:center;gap:8px;background:var(--cf-blue);color:#fff!important;padding:9px 18px;border-radius:6px;font-size:15px;font-weight:600;white-space:nowrap;flex:none;}
.cf-btn-reg:hover{background:#0b5ed7;color:#fff!important;}
.cf-toggle{display:none;background:none;border:1px solid #dee2e6;border-radius:6px;padding:6px 10px;font-size:18px;color:#333;cursor:pointer;}
@media (max-width:991px){
    .cf-toggle{display:block;}
    .cf-menu{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 15px;box-shadow:0 8px 16px rgba(0,0,0,.08);}
    .cf-menu.show{display:flex;}
    .cf-menu a.cf-link{padding:12px 10px;}
    .cf-nav .cf-btn-reg{display:none;}
}

/* ===== Hero ===== */
.cf-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--cf-blue-dark),var(--cf-blue-mid));color:#fff;text-align:center;padding:80px 0 130px;}
.cf-hero h1{font-size:32px;font-weight:700;margin-bottom:20px;}
.cf-hero .cf-lead{font-size:17px;max-width:800px;margin:0 auto 30px;line-height:1.8;opacity:.92;}
.cf-hero-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;}
.cf-btn-hero{background:#fff;color:var(--cf-blue-dark);padding:12px 26px;border-radius:30px;font-weight:700;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:.3s;}
.cf-btn-hero:hover{background:var(--cf-blue-mid);color:#fff;}
.cf-wave{position:absolute;bottom:-1px;left:0;width:100%;line-height:0;}
.cf-wave svg{width:100%;height:60px;display:block;}
.cf-wave path{fill:#fff;}
@media (max-width:767px){.cf-hero{padding:56px 0 100px;}.cf-hero h1{font-size:24px;}}

/* ===== 关于（深色） ===== */
.cf-about{background:linear-gradient(135deg,var(--cf-dark),var(--cf-darker));color:#fff;padding:70px 0;}
.cf-sec-head{text-align:center;margin-bottom:48px;}
.cf-sec-head h2{font-weight:700;font-size:28px;margin-bottom:12px;}
.cf-sec-head p{opacity:.75;max-width:780px;margin:0 auto;}
.cf-about-card{display:flex;align-items:center;gap:40px;margin-bottom:40px;}
.cf-about-card:last-child{margin-bottom:0;}
.cf-about-card.rev{flex-direction:row-reverse;}
.cf-about-card .cf-img{flex:0 0 46%;}
.cf-about-card .cf-img img{width:100%;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.4);}
.cf-about-card .cf-txt{flex:1;}
.cf-about-card h4{font-weight:700;margin-bottom:14px;font-size:20px;}
.cf-about-card p{opacity:.75;line-height:1.8;}
@media (max-width:991px){.cf-about-card,.cf-about-card.rev{flex-direction:column;gap:20px;}.cf-about-card .cf-img{flex:none;width:100%;}}

/* ===== 五大核心功能 ===== */
.cf-dept{padding:70px 0;background:#fff;}
.cf-dept .cf-sec-head h2{color:var(--cf-text);}
.cf-dept .cf-sec-head p{color:var(--cf-muted);}
.cf-dept-item{display:flex;align-items:center;gap:44px;background:#f8f9fa;border-radius:16px;padding:30px;margin-bottom:24px;box-shadow:0 4px 14px rgba(0,0,0,.05);}
.cf-dept-item:nth-child(even){flex-direction:row-reverse;}
.cf-dept-item .cf-txt{flex:1;}
.cf-dept-item h3{font-size:21px;font-weight:700;margin-bottom:12px;color:var(--cf-blue-dark);}
.cf-dept-item p{color:var(--cf-muted);line-height:1.8;margin:0;}
.cf-dept-item .cf-img{flex:0 0 44%;}
.cf-dept-item .cf-img img{width:100%;border-radius:12px;box-shadow:0 8px 22px rgba(30,60,114,.18);}
@media (max-width:991px){.cf-dept-item,.cf-dept-item:nth-child(even){flex-direction:column;gap:18px;}.cf-dept-item .cf-img{flex:none;width:100%;}}

/* ===== 安全 ===== */
.cf-security{background:linear-gradient(135deg,#0f2a52,#123a75);color:#fff;padding:70px 0;}
.cf-sec-flex{display:flex;align-items:center;gap:50px;}
.cf-sec-flex .cf-txt{flex:1;}
.cf-sec-flex h2{font-weight:700;font-size:26px;margin-bottom:16px;}
.cf-sec-flex p{opacity:.85;line-height:1.8;margin-bottom:24px;}
.cf-sec-list{list-style:none;margin:0;padding:0;}
.cf-sec-list li{margin-bottom:12px;font-size:15px;}
.cf-sec-list i{color:#28a745;margin-right:8px;}
.cf-sec-badge-wrap{flex:0 0 300px;text-align:center;}
.cf-sec-badge{width:170px;height:170px;border-radius:50%;margin:0 auto;background:linear-gradient(135deg,#1e5799,#2989d8);display:flex;align-items:center;justify-content:center;font-size:56px;box-shadow:0 0 0 14px rgba(255,255,255,.08),0 14px 34px rgba(0,0,0,.35);}
.cf-sec-badge-wrap p{margin-top:16px;font-size:13px;opacity:.75;}
@media (max-width:991px){.cf-sec-flex{flex-direction:column;gap:30px;}.cf-sec-badge-wrap{flex:none;}}

/* ===== 精选推荐卡片 ===== */
.cf-news{padding:70px 0;background:var(--cf-gray);}
.cf-news.alt{background:#fff;}
.cf-news .cf-sec-head h2{color:var(--cf-text);}
.cf-news .cf-sec-head h2 i{color:var(--cf-yellow);margin-right:8px;}
.cf-news .cf-sec-head p{color:var(--cf-muted);font-size:14px;}
.cf-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:991px){.cf-news-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.cf-news-grid{grid-template-columns:1fr;}}
.cf-news-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.07);display:flex;flex-direction:column;transition:.3s;}
.cf-news-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.12);}
.cf-news-img{height:190px;overflow:hidden;}
.cf-news-img img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.cf-news-card:hover .cf-news-img img{transform:scale(1.06);}
.cf-news-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.cf-news-body h3{font-size:16px;font-weight:700;margin-bottom:10px;line-height:1.5;}
.cf-news-body h3 a{color:var(--cf-text);}
.cf-news-body h3 a:hover{color:var(--cf-blue);}
.cf-news-body p{color:var(--cf-muted);font-size:13px;line-height:1.7;flex:1;margin:0 0 14px;}
.cf-news-foot{display:flex;justify-content:space-between;align-items:center;}
.cf-news-foot time{color:var(--cf-muted);font-size:13px;}
.cf-btn-read{border:1px solid var(--cf-yellow);color:#b58900;padding:4px 14px;border-radius:6px;font-size:13px;}
.cf-btn-read:hover{background:var(--cf-yellow);color:#212529;}

/* ===== 用户口碑 ===== */
.cf-judge{padding:70px 0;background:#fff;}
.cf-judge-scroll{display:flex;gap:20px;overflow-x:auto;padding:6px 4px 16px;}
.cf-judge-card{flex:0 0 300px;background:#fff;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.08);padding:22px;}
.cf-judge-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.cf-avatar{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;flex:none;}
.cf-avatar.a1{background:linear-gradient(135deg,#4facfe,#00f2fe);}
.cf-avatar.a2{background:linear-gradient(135deg,#f093fb,#f5576c);}
.cf-avatar.a3{background:linear-gradient(135deg,#43e97b,#38f9d7);}
.cf-avatar.a4{background:linear-gradient(135deg,#fa709a,#fee140);}
.cf-avatar.a5{background:linear-gradient(135deg,#30cfd0,#330867);}
.cf-avatar-img{width:50px;height:50px;border-radius:50%;object-fit:cover;flex:none;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.cf-judge-head h6{margin:0;font-size:15px;font-weight:700;}
.cf-stars{color:var(--cf-yellow);font-size:12px;margin-top:2px;}
.cf-judge-card p{color:var(--cf-muted);font-size:13px;line-height:1.7;margin:0;}

/* ===== App 下载 ===== */
.cf-app{padding:70px 0;background:var(--cf-gray);}
.cf-download-card{max-width:760px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 16px 40px rgba(0,0,0,.1);text-align:center;padding:46px 30px;}
.cf-download-card h2{font-weight:700;font-size:24px;margin-bottom:12px;}
.cf-download-card .cf-sub{color:var(--cf-muted);max-width:600px;margin:0 auto 26px;line-height:1.8;}
.cf-download-card img{width:220px;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.12);margin-bottom:26px;}
.cf-app-flex{display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:26px;}
.cf-app-flex img{margin-bottom:0;}
.cf-app-shot{border-radius:16px;}
.cf-dl-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.cf-btn-dl{background:var(--cf-blue);color:#fff;padding:11px 26px;border-radius:30px;font-weight:600;}
.cf-btn-dl:hover{background:#0b5ed7;color:#fff;}
.cf-btn-outline{border:1px solid #343a40;color:#343a40;padding:11px 26px;border-radius:30px;font-weight:600;}
.cf-btn-outline:hover{background:#343a40;color:#fff;}

/* ===== 页脚 ===== */
.cf-footer{background:linear-gradient(to right,var(--cf-f1),var(--cf-f2));color:#fff;padding:56px 0 24px;}
.cf-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:36px;}
@media (max-width:991px){.cf-footer-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:575px){.cf-footer-grid{grid-template-columns:1fr;}}
.cf-footer-card{background:rgba(255,255,255,.1);border-radius:16px;padding:18px;height:100%;}
.cf-footer-card h6{font-weight:700;margin-bottom:12px;}
.cf-footer-card h6.t-info{color:#17a2b8;} .cf-footer-card h6.t-warn{color:var(--cf-yellow);}
.cf-footer-card h6.t-succ{color:#28a745;} .cf-footer-card h6.t-prim{color:#4dabff;}
.cf-footer-card p,.cf-footer-card li,.cf-footer-card a{color:rgba(255,255,255,.55);font-size:13px;line-height:1.8;}
.cf-footer-card ul{list-style:none;margin:0;padding:0;}
.cf-footer-card li{margin-bottom:8px;}
.cf-footer-card i{margin-right:8px;}
.cf-footer-copy{border-top:1px solid rgba(255,255,255,.15);padding-top:16px;text-align:center;font-size:13px;color:rgba(255,255,255,.55);}

/* ===== 列表页 ===== */
.cf-crumb{background:var(--cf-gray);padding:14px 0;font-size:14px;color:var(--cf-muted);}
.cf-crumb a{color:var(--cf-muted);} .cf-crumb a:hover{color:var(--cf-blue);}
.cf-crumb i{margin:0 8px;font-size:11px;}
.cf-list-wrap{display:flex;gap:30px;padding:40px 0 60px;}
.cf-list-main{flex:1;min-width:0;}
.cf-list-side{flex:0 0 300px;}
@media (max-width:991px){.cf-list-wrap{flex-direction:column;}.cf-list-side{flex:none;width:100%;}}
.cf-list-item{display:flex;gap:18px;background:#fff;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.06);padding:16px;margin-bottom:18px;}
.cf-list-item .cf-img{flex:0 0 200px;height:130px;overflow:hidden;border-radius:8px;}
@media (max-width:640px){.cf-list-item .cf-img{flex:0 0 110px;height:80px;}}
.cf-list-item .cf-img img{width:100%;height:100%;object-fit:cover;}
.cf-list-item .cf-txt{flex:1;display:flex;flex-direction:column;}
.cf-list-item h3{font-size:17px;font-weight:700;margin-bottom:8px;line-height:1.5;}
.cf-list-item h3 a{color:var(--cf-text);} .cf-list-item h3 a:hover{color:var(--cf-blue);}
.cf-list-item p{color:var(--cf-muted);font-size:13px;line-height:1.7;flex:1;margin:0 0 10px;}
.cf-list-meta{display:flex;gap:18px;color:var(--cf-muted);font-size:12px;}
.cf-box{background:#fff;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.06);margin-bottom:24px;overflow:hidden;}
.cf-box-head{padding:14px 18px;border-bottom:1px solid #f0f0f0;font-size:16px;font-weight:700;color:var(--cf-blue-dark);}
.cf-box-body{padding:14px 18px;}
.cf-text-list{list-style:none;margin:0;padding:0;}
.cf-text-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #eee;font-size:14px;}
.cf-text-list li:last-child{border-bottom:none;}
.cf-text-list a{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333;}
.cf-text-list a:hover{color:var(--cf-blue);}
.cf-text-list time{color:#adb5bd;font-size:12px;flex:none;}
.cf-tag-cloud{display:flex;flex-wrap:wrap;gap:8px;}
.cf-tag-cloud a{background:var(--cf-gray);border:1px solid #e9ecef;color:#495057;font-size:12px;padding:4px 12px;border-radius:20px;}
.cf-tag-cloud a:hover{background:var(--cf-blue);border-color:var(--cf-blue);color:#fff;}

/* ===== 详情页 ===== */
.cf-detail{background:#fff;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.06);padding:30px;margin-bottom:24px;}
.cf-detail h1{font-size:24px;font-weight:700;line-height:1.5;margin-bottom:14px;}
.cf-detail-meta{display:flex;flex-wrap:wrap;gap:18px;color:var(--cf-muted);font-size:13px;padding-bottom:16px;border-bottom:1px solid #f0f0f0;margin-bottom:20px;}
.cf-content{font-size:16px;line-height:1.9;color:#333;}
.cf-content p{margin-bottom:16px;}
.cf-content h3{font-size:19px;font-weight:700;margin:26px 0 14px;color:var(--cf-blue-dark);}
.cf-content img{border-radius:10px;margin:14px 0;max-width:100%;height:auto;}
.cf-detail-tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px;}
.cf-pn{display:flex;justify-content:space-between;gap:14px;background:#fff;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.06);padding:16px 20px;margin-bottom:24px;font-size:14px;}
.cf-pn a{color:#495057;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} .cf-pn a:hover{color:var(--cf-blue);}
.cf-pn span{color:#adb5bd;flex:none;}

/* ===== 分页 ===== */
.cf-page{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:30px 0;}
.cf-page a,.cf-page span{display:inline-block;min-width:36px;text-align:center;padding:8px 12px;border-radius:8px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.06);color:#495057;font-size:14px;}
.cf-page a:hover{background:var(--cf-blue);color:#fff;}
.cf-page .current,.cf-page span.cur{background:var(--cf-blue);color:#fff;}

/* ===== 空态/404 ===== */
.cf-empty{text-align:center;padding:70px 0;color:var(--cf-muted);}
.cf-empty i{font-size:52px;color:#dee2e6;margin-bottom:16px;}
