/* ============================================
   甘肃立方电子技术服务有限公司 - 仿 itc.vip 深蓝科技风
   ============================================ */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Source Han Sans CN","Source Han Sans SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif; color:#333; font-size:16px; background:#fff; }
a { color:#333; text-decoration:none; }
ul,li { list-style:none; }
img { border:0; display:block; max-width:100%; }
.w { width:1200px; margin:0 auto; }
.clearfix:after { content:""; display:block; clear:both; }

/* ---------- 顶部信息栏 ---------- */
.topbar { background:#0a1f3c; color:rgba(255,255,255,.85); font-size:13px; height:36px; line-height:36px; }
.topbar .w { display:flex; justify-content:space-between; }
.topbar-r a { color:rgba(255,255,255,.85); margin-left:18px; }
.topbar-r a:hover { color:#3b9dff; }
.topbar .hotline { color:#3b9dff; font-weight:bold; }

/* ---------- 主导航 ---------- */
.main-nav { background:#fff; box-shadow:0 2px 12px rgba(10,31,60,.08); position:sticky; top:0; z-index:100; }
.main-nav .w { display:flex; align-items:center; justify-content:space-between; height:76px; }
.logo { display:flex; align-items:center; height:46px; }
.logo .logo-img { height:46px; width:auto; }
.nav-list { display:flex; }
.nav-list > li { position:relative; }
.nav-list > li > a { display:block; padding:0 26px; line-height:76px; font-size:16px; color:#1a2b45; font-weight:500; transition:.2s; }
.nav-list > li > a:hover, .nav-list > li.active > a { color:#1565c0; }
.nav-list > li.active > a { font-weight:700; }
.nav-list > li > a:after { content:""; position:absolute; left:26px; right:26px; bottom:18px; height:2px; background:#1565c0; transform:scaleX(0); transition:.25s; }
.nav-list > li:hover > a:after, .nav-list > li.active > a:after { transform:scaleX(1); }
.sub-menu { position:absolute; top:76px; left:50%; transform:translateX(-50%); background:#0a1f3c; min-width:170px; padding:6px 0; display:none; box-shadow:0 8px 24px rgba(10,31,60,.25); border-radius:0 0 6px 6px; }
.nav-list > li:hover .sub-menu { display:block; }
.sub-menu a { display:block; color:rgba(255,255,255,.85); font-size:14px; padding:10px 22px; white-space:nowrap; transition:.2s; }
.sub-menu a:hover { background:#1565c0; color:#fff; }

/* ---------- Banner ---------- */
.banner { position:relative; height:480px; overflow:hidden; }
.banner-slide { position:absolute; inset:0; opacity:0; transition:opacity .8s; display:flex; align-items:center; }
.banner-slide.active { opacity:1; }
.banner-text { max-width:760px; color:#fff; }
.banner-text .tag { display:inline-block; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.35); padding:5px 18px; border-radius:20px; font-size:14px; margin-bottom:22px; letter-spacing:2px; }
.banner-text h1 { font-size:46px; font-weight:700; letter-spacing:2px; line-height:1.25; text-shadow:0 2px 12px rgba(0,0,0,.25); }
.banner-text p { font-size:18px; margin:18px 0 34px; color:rgba(255,255,255,.9); letter-spacing:1px; line-height:1.7; }
.btn { display:inline-block; padding:13px 38px; border-radius:4px; font-size:16px; transition:.25s; letter-spacing:1px; }
.btn-light { background:#fff; color:#0d47a1; }
.btn-light:hover { background:#e3f0ff; transform:translateY(-2px); }
.btn-primary { background:#1565c0; color:#fff; }
.btn-primary:hover { background:#0d47a1; }
.btn-outline { border:1px solid #1565c0; color:#1565c0; }
.btn-outline:hover { background:#1565c0; color:#fff; }
.banner-dots { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:5; }
.banner-dots span { width:34px; height:4px; background:rgba(255,255,255,.4); border-radius:2px; cursor:pointer; transition:.3s; }
.banner-dots span.active { background:#fff; }
.banner-arrow { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; background:rgba(0,0,0,.25); color:#fff; text-align:center; line-height:44px; font-size:26px; border-radius:50%; z-index:5; cursor:pointer; user-select:none; transition:.2s; }
.banner-arrow:hover { background:rgba(21,101,192,.85); }
.banner-prev { left:24px; } .banner-next { right:24px; }

/* ---------- 通用 Section ---------- */
.section { padding:70px 0; }
.section-head { text-align:center; margin-bottom:46px; }
.section-head h2 { font-size:32px; color:#0a1f3c; letter-spacing:2px; position:relative; display:inline-block; padding-bottom:16px; }
.section-head h2:after { content:""; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:56px; height:3px; background:linear-gradient(90deg,#1565c0,#42a5f5); border-radius:2px; }
.section-head p { color:#8a94a6; font-size:15px; margin-top:14px; letter-spacing:1px; }
.section-more { text-align:center; margin-top:38px; }

/* ---------- 系统方案卡片 ---------- */
.idx-solutions { background:#f6f8fb; }
.solution-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.solution-card { background:#fff; border-radius:8px; padding:34px 28px; transition:.3s; border:1px solid #edf0f5; position:relative; overflow:hidden; }
.solution-card:before { content:""; position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,#1565c0,#42a5f5); transform:scaleX(0); transform-origin:left; transition:.3s; }
.solution-card:hover { transform:translateY(-6px); box-shadow:0 14px 32px rgba(13,71,161,.12); }
.solution-card:hover:before { transform:scaleX(1); }
.solution-icon { width:58px; height:58px; border-radius:12px; background:linear-gradient(135deg,#0d47a1,#1e88e5); color:#fff; display:flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:20px; }
.solution-card h3 { font-size:19px; color:#0a1f3c; margin-bottom:12px; }
.solution-card p { font-size:14px; color:#8a94a6; line-height:1.7; height:66px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.solution-card .more { display:inline-block; margin-top:16px; font-size:14px; color:#1565c0; }

/* ---------- 公司实力数据 ---------- */
.idx-stats { background:linear-gradient(120deg,#0a1f3c 0%,#0d3a75 60%,#12519e 100%); color:#fff; }
.idx-stats .section-head h2 { color:#fff; }
.idx-stats .section-head h2:after { background:linear-gradient(90deg,#42a5f5,#90caf9); }
.idx-stats .section-head p { color:rgba(255,255,255,.65); }
.stats-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; text-align:center; }
.stat-item { padding:26px 10px; border-radius:8px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); }
.stat-num { font-size:44px; font-weight:800; color:#fff; line-height:1; }
.stat-unit { display:inline-block; font-size:16px; color:#64b5f6; margin-left:4px; }
.stat-label { margin-top:12px; font-size:14px; color:rgba(255,255,255,.75); letter-spacing:1px; }

/* ---------- 成功案例 ---------- */
.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.case-card { border-radius:8px; overflow:hidden; background:#fff; border:1px solid #edf0f5; transition:.3s; display:block; }
.case-card:hover { transform:translateY(-6px); box-shadow:0 14px 32px rgba(13,71,161,.12); }
.case-img { height:190px; position:relative; overflow:hidden; }
.case-img .ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:52px; color:rgba(255,255,255,.9); }
.case-info { padding:22px; }
.case-info h3 { font-size:17px; color:#0a1f3c; line-height:1.5; height:52px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.case-info p { font-size:13px; color:#8a94a6; line-height:1.7; margin-top:10px; height:44px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.case-info .case-more { display:inline-block; margin-top:12px; font-size:13px; color:#1565c0; }

/* ---------- 新闻资讯 ---------- */
.idx-news { background:#f6f8fb; }
.news-layout { display:grid; grid-template-columns:420px 1fr; gap:36px; }
.news-top { display:block; background:#fff; border-radius:8px; overflow:hidden; border:1px solid #edf0f5; transition:.3s; }
.news-top:hover { box-shadow:0 14px 32px rgba(13,71,161,.12); transform:translateY(-4px); }
.news-top-img { height:220px; overflow:hidden; }
.news-top-img .ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:56px; color:rgba(255,255,255,.9); }
.news-top-body { padding:22px; }
.news-top h3 { font-size:18px; color:#0a1f3c; line-height:1.5; height:54px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.news-top p { font-size:13px; color:#8a94a6; line-height:1.7; margin-top:10px; height:44px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.news-date { display:inline-block; margin-top:12px; font-size:13px; color:#1565c0; }
.news-list li { border-bottom:1px dashed #dde3ec; }
.news-list li a { display:flex; justify-content:space-between; align-items:center; padding:16px 4px; transition:.2s; }
.news-list li a:hover .news-title { color:#1565c0; }
.news-title { font-size:15px; color:#333; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding-right:16px; }
.news-list .news-date { margin:0; color:#99a3b3; }
.news-date-ico { color:#1565c0; margin-right:6px; }

/* ---------- 页脚 ---------- */
.footer { background:#0a1f3c; color:rgba(255,255,255,.7); margin-top:0; }
.footer-cols { display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:40px; padding:60px 0 46px; }
.footer-col-brand .footer-logo { margin-bottom:18px; }
.footer-col-brand .footer-logo-img { height:36px; width:auto; }
.footer-col-brand > p { font-size:13px; line-height:1.9; color:rgba(255,255,255,.55); }
.footer-col h4 { color:#fff; font-size:16px; margin-bottom:20px; letter-spacing:1px; }
.footer-col a { display:block; font-size:13px; color:rgba(255,255,255,.6); padding:6px 0; transition:.2s; }
.footer-col a:hover { color:#64b5f6; padding-left:4px; }
.footer-contact p { font-size:13px; padding:6px 0; color:rgba(255,255,255,.7); }
.footer-contact i { font-style:normal; color:rgba(255,255,255,.45); margin-right:6px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:20px 0; text-align:center; font-size:13px; color:rgba(255,255,255,.45); }
.back-top { position:fixed; right:26px; bottom:40px; width:46px; height:46px; background:#1565c0; color:#fff; border-radius:6px; text-align:center; line-height:46px; font-size:18px; cursor:pointer; opacity:0; transition:.3s; z-index:99; box-shadow:0 4px 16px rgba(21,101,192,.4); }
.back-top.show { opacity:1; }

/* ---------- 内页 Banner ---------- */
.page-banner { height:280px; display:flex; align-items:center; justify-content:center; flex-direction:column; color:#fff; background:linear-gradient(120deg,#0a1f3c 0%,#0d3a75 60%,#12519e 100%); }
.page-banner h1 { font-size:36px; letter-spacing:3px; }
.page-banner p { margin-top:12px; font-size:14px; color:rgba(255,255,255,.65); letter-spacing:2px; }
.breadcrumb { background:#f6f8fb; border-bottom:1px solid #edf0f5; }
.breadcrumb .w { font-size:13px; color:#8a94a6; line-height:48px; }
.breadcrumb a { color:#8a94a6; }
.breadcrumb a:hover { color:#1565c0; }

/* ---------- 列表页 ---------- */
.list-wrap { padding:56px 0; min-height:420px; }
.list-item { display:flex; gap:26px; padding:28px 0; border-bottom:1px solid #edf0f5; transition:.2s; }
.list-item:hover { background:#f9fbfe; }
.list-item .li-img { width:230px; height:150px; flex-shrink:0; border-radius:6px; overflow:hidden; }
.list-item .li-img .ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:42px; color:rgba(255,255,255,.9); }
.list-item .li-body { flex:1; }
.list-item h3 { font-size:19px; color:#0a1f3c; }
.list-item h3 a:hover { color:#1565c0; }
.list-item .li-desc { font-size:14px; color:#8a94a6; line-height:1.8; margin-top:12px; height:50px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.list-item .li-meta { margin-top:14px; font-size:13px; color:#99a3b3; display:flex; gap:20px; }
.list-item .li-meta .more { color:#1565c0; }

/* ---------- 详情页 ---------- */
.detail-wrap { padding:56px 0; }
.detail-box { max-width:900px; margin:0 auto; }
.detail-box h1 { font-size:28px; color:#0a1f3c; text-align:center; line-height:1.5; }
.detail-meta { text-align:center; margin:20px 0 34px; padding-bottom:24px; border-bottom:1px solid #edf0f5; font-size:14px; color:#99a3b3; }
.detail-meta span { margin:0 12px; }
.detail-content { font-size:16px; color:#444; line-height:2; }
.detail-content h2 { font-size:21px; color:#0a1f3c; margin:30px 0 14px; padding-left:14px; border-left:4px solid #1565c0; }
.detail-content h3 { font-size:17px; color:#1565c0; margin:22px 0 10px; }
.detail-content p { margin-bottom:14px; text-indent:0; }
.detail-prenext { margin-top:44px; padding-top:24px; border-top:1px solid #edf0f5; font-size:14px; color:#666; }
.detail-prenext p { margin:8px 0; }
.detail-prenext a { color:#1565c0; }

/* ---------- 单页（关于/联系） ---------- */
.page-content { font-size:16px; color:#444; line-height:2; max-width:960px; margin:0 auto; }
.page-content h2 { font-size:22px; color:#0a1f3c; margin:32px 0 16px; padding-left:14px; border-left:4px solid #1565c0; }
.page-content h3 { font-size:17px; color:#1565c0; margin:20px 0 10px; }
.page-content p { margin-bottom:12px; }
.contact-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin:30px 0; }
.contact-card { background:#f6f8fb; border:1px solid #edf0f5; border-radius:8px; padding:28px; }
.contact-card b { display:block; font-size:17px; color:#0a1f3c; margin-bottom:10px; }
.contact-card span { font-size:15px; color:#1565c0; font-weight:600; }

/* ---------- 方案子页 ---------- */
.sol-intro { display:grid; grid-template-columns:1fr 380px; gap:40px; align-items:start; }
.sol-side { background:#f6f8fb; border:1px solid #edf0f5; border-radius:8px; padding:26px; }
.sol-side h4 { font-size:16px; color:#0a1f3c; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid #e5eaf2; }
.sol-side a { display:block; padding:10px 12px; font-size:14px; color:#555; border-radius:4px; transition:.2s; }
.sol-side a:hover, .sol-side a.active { background:#1565c0; color:#fff; }

/* ---------- 加载与空态 ---------- */
.loading, .empty { text-align:center; color:#99a3b3; padding:40px 0; font-size:14px; }

/* ---------- 响应式 ---------- */
@media (max-width:1240px) { .w { width:94%; } }
@media (max-width:992px) {
  .solution-grid, .case-grid { grid-template-columns:repeat(2,1fr); }
  .stats-grid { grid-template-columns:repeat(3,1fr); }
  .news-layout { grid-template-columns:1fr; }
  .footer-cols { grid-template-columns:1fr 1fr; }
  .sol-intro { grid-template-columns:1fr; }
  .banner-text h1 { font-size:34px; }
}
@media (max-width:640px) {
  .solution-grid, .case-grid, .stats-grid, .contact-grid, .footer-cols { grid-template-columns:1fr; }
  .nav-list > li > a { padding:0 12px; font-size:14px; }
  .banner { height:380px; }
  .banner-text h1 { font-size:26px; }
  .list-item { flex-direction:column; }
  .list-item .li-img { width:100%; }
  .topbar-r { display:none; }
}

/* ---------- 联系页留言表单 ---------- */
.contact-form-wrap { max-width:760px; margin:40px auto 10px; background:#fff; border:1px solid var(--bd,#e6e9f0); border-radius:10px; padding:32px; }
.contact-form-head { text-align:center; margin-bottom:24px; }
.contact-form-head h2 { font-size:22px; color:#0f2027; margin-bottom:6px; }
.contact-form-head p { color:#8a94a6; font-size:14px; }
.contact-form .form-row { display:flex; align-items:flex-start; margin-bottom:16px; }
.contact-form .form-row label { width:90px; flex-shrink:0; line-height:42px; font-size:14px; color:#333; text-align:right; padding-right:14px; }
.contact-form .form-row label i { color:#e5484d; font-style:normal; }
.contact-form .form-row input,
.contact-form .form-row textarea { flex:1; border:1px solid #dcdfe6; border-radius:6px; padding:10px 12px; font-size:14px; font-family:inherit; color:#333; background:#fafbfc; outline:none; transition:border-color .2s, box-shadow .2s; box-sizing:border-box; }
.contact-form .form-row input:focus,
.contact-form .form-row textarea:focus { border-color:#1565c0; background:#fff; box-shadow:0 0 0 3px rgba(21,101,192,.08); }
.contact-form .form-row textarea { resize:vertical; min-height:96px; }
.contact-form .form-row-btn { padding-left:90px; }
.contact-form .form-row-btn button { background:#1565c0; color:#fff; border:none; border-radius:6px; padding:11px 40px; font-size:15px; cursor:pointer; transition:background .2s; }
.contact-form .form-row-btn button:hover { background:#0d4d9a; }
.contact-form .form-row-btn button:disabled { background:#9db8d6; cursor:not-allowed; }
.form-tip { margin-left:14px; line-height:42px; font-size:13px; color:#8a94a6; }
.form-tip.ok { color:#16a34a; }
.form-tip.err { color:#e5484d; }
@media (max-width:640px) {
  .contact-form .form-row { flex-direction:column; }
  .contact-form .form-row label { width:100%; text-align:left; line-height:1.6; margin-bottom:6px; padding-right:0; }
  .contact-form .form-row input, .contact-form .form-row textarea { width:100%; }
  .contact-form .form-row-btn { padding-left:0; }
  .contact-form-wrap { padding:22px 18px; }
}

/* ---------- 产品中心分类 tab ---------- */
.prod-cats { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; justify-content:center; }
.cat-btn { border:1px solid #dcdfe6; background:#fff; color:#4a5568; border-radius:20px; padding:8px 22px; font-size:14px; cursor:pointer; transition:.2s; }
.cat-btn:hover { border-color:#1565c0; color:#1565c0; }
.cat-btn.active { background:#1565c0; border-color:#1565c0; color:#fff; }

/* ---------- 产品详情配图 ---------- */
.detail-pic { text-align:center; margin:0 0 24px; }
.detail-pic img { max-width:100%; max-height:420px; border-radius:8px; box-shadow:0 6px 20px rgba(13,71,161,.1); }

/* ============================================
   移动端适配(汉堡导航 + 断点优化)
   ============================================ */
.nav-toggle { display:none; }
@media (max-width:992px) {
  .nav-toggle { display:block; width:40px; height:40px; border:1px solid #dde3ec; border-radius:6px; background:#fff; cursor:pointer; position:relative; z-index:200; }
  .nav-toggle span { display:block; width:20px; height:2px; background:#0a1f3c; margin:5px auto; border-radius:2px; transition:.3s; }
  .nav-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2) { opacity:0; }
  .nav-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .nav-list { position:fixed; top:0; right:0; width:280px; height:100%; background:#0a1f3c; flex-direction:column; padding:70px 0 40px; overflow-y:auto; z-index:150; box-shadow:-8px 0 30px rgba(0,0,0,.2); transform:translateX(100%); transition:transform .3s ease; visibility:hidden; }
  .nav-list.open { transform:translateX(0); visibility:visible; }
  .nav-list > li > a { color:rgba(255,255,255,.9); line-height:50px; padding:0 24px; font-size:15px; border-bottom:1px solid rgba(255,255,255,.06); }
  .nav-list > li.active > a { color:#64b5f6; }
  .nav-list > li > a:after { display:none; }
  .sub-menu { position:static; transform:none; display:none; background:rgba(255,255,255,.06); min-width:0; box-shadow:none; border-radius:0; }
  .nav-list > li.open .sub-menu { display:block; }
  .sub-menu a { padding:10px 36px; color:rgba(255,255,255,.7); font-size:14px; }
  .nav-mask { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:140; }
  .nav-mask.show { display:block; }
}
/* 平板竖屏 & 手机通用优化 */
@media (max-width:992px) {
  .section { padding:46px 0; }
  .section-head { margin-bottom:32px; }
  .section-head h2 { font-size:26px; }
  .banner { height:420px; }
  .page-banner { height:210px; }
  .page-banner h1 { font-size:28px; }
  .news-layout { grid-template-columns:1fr; }
  .footer-cols { grid-template-columns:1fr 1fr; gap:28px; padding:44px 0 34px; }
  .main-nav .w { height:62px; }
  .logo { height:38px; }
  .logo .logo-img { height:38px; }
  .logo-text b { font-size:17px; }
  .contact-form-wrap { padding:24px 20px; }
  .detail-box h1 { font-size:23px; }
  .detail-meta span { display:inline-block; margin:4px 8px; }
}
@media (max-width:640px) {
  .topbar { height:auto; line-height:1.4; padding:6px 0; }
  .topbar .w { justify-content:center; }
  .topbar-l { font-size:12px; text-align:center; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:100%; }
  .banner { height:340px; }
  .banner-text h1 { font-size:23px; letter-spacing:1px; }
  .banner-text p { font-size:15px; }
  .banner-text .tag { font-size:12px; padding:4px 14px; }
  .btn { padding:11px 28px; font-size:15px; }
  .banner-arrow { width:36px; height:36px; line-height:32px; font-size:20px; }
  .banner-prev { left:10px; } .banner-next { right:10px; }
  .section-head h2 { font-size:23px; }
  .stat-num { font-size:34px; }
  .list-item .li-meta { flex-wrap:wrap; gap:8px 16px; }
  .page-banner h1 { font-size:23px; }
  .page-banner p { font-size:12px; }
  .news-title { font-size:14px; }
  .footer-bottom { font-size:12px; padding:16px 10px; line-height:1.6; }
  .back-top { right:14px; bottom:24px; width:40px; height:40px; line-height:40px; }
  .contact-card { padding:20px; }
  .detail-content { font-size:15px; }
  .detail-content img { height:auto !important; }
}
.sub-caret { display:none; font-style:normal; float:right; font-size:16px; color:rgba(255,255,255,.6); }
@media (max-width:992px){
  .sub-caret { display:inline; }
  .nav-list > li > a { display:flex; justify-content:space-between; align-items:center; }
}
