/*
Theme Name: 付呗云
Theme URI: https://example.com/
Description: 企业级建站 / 小程序 / 支付收银一体化 WordPress 7.0 主题，所有前台模块后台可控。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Author: WorkBuddy
Author URI: https://example.com/
Text Domain: yun-tech
Tags: business, e-commerce, responsive-layout, custom-colors, custom-menu, theme-options
*/

:root {
  --blue: #165DFF;
  --navy: #0b2447;
  --orange: #ff6a00;
  --bg: #f5f7fa;
  --line: #e6eaf1;
  --txt: #222a35;
  --sub: #6b7585;
  --deep: #0b2447;
  --radius: 12px;
  --bd: #e9edf2;
  --tx: #333;
  --tx2: #6b7585;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: "Microsoft YaHei", "PingFang SC", sans-serif; background: var(--bg); color: var(--txt); font-size: 14px; line-height: 1.65; }
a { text-decoration: none; color: inherit; }
.container { width: 1200px; max-width: 92%; margin: 0 auto; }
.ico { width: 1em; height: 1em; vertical-align: -0.15em; flex-shrink: 0; }

/* ===== 通知栏 ===== */
.topbar { background: linear-gradient(90deg, #0b2447, #2a4d8f); color: #fff; font-size: 13px; }
.topbar .container { display: flex; align-items: center; justify-content: center; height: 36px; gap: 10px; position: relative; }
.topbar .hot { background: #165DFF; padding: 1px 8px; border-radius: 3px; font-size: 12px; font-weight: 700; flex-shrink: 0; }
.topbar .txt { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.topbar .close { position: absolute; right: 16px; cursor: pointer; opacity: .7; }

/* ===== 导航 ===== */
.nav { border-bottom: 1px solid #eee; background: #fff; position: sticky; top: 0; z-index: 100; }
.nav .container { display: flex; align-items: center; height: 60px; gap: 24px; }
.logo { font-size: 21px; font-weight: 900; color: #165DFF; letter-spacing: 1px; flex-shrink: 0; }
.logo span { color: #0b2447; font-weight: 700; font-size: 13px; letter-spacing: .5px; }
.menu { display: flex; gap: 24px; font-size: 14.5px; flex: 1; }
.menu a { color: #333; position: relative; padding: 19px 0; white-space: nowrap; }
.menu a:hover, .menu a.on { color: #165DFF; }
.menu a.on::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2.5px; background: #165DFF; }

/* 导航下拉 mega */
.nav-item { position: relative; }
.nav-item > .lab { display: flex; align-items: center; gap: 3px; cursor: pointer; }
.nav-item > .lab:hover, .nav-item.open > .lab { color: #165DFF; }
.nav-item.open > .lab::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2.5px; background: #165DFF; }
.nav-item .caret { font-size: 9px; opacity: .7; }
.mega { position: absolute; top: 60px; left: 0; background: #fff; border: 1px solid #e9edf2; border-top: 3px solid #ff6a00; border-radius: 0 0 14px 14px; box-shadow: 0 24px 50px rgba(11,36,71,.16); padding: 20px 22px; display: none; z-index: 210; }
.mega.right { left: auto; right: 0; }
.mega::before { content: ""; position: absolute; top: -10px; left: 30px; border: 7px solid transparent; border-bottom-color: #ff6a00; }
.mega.right::before { left: auto; right: 30px; }
.mega.open { display: block; animation: drop .18s ease; }
@keyframes drop { from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:none;} }
.grp-title { font-size: 12px; font-weight: 700; color: #6b7585; letter-spacing: .5px; margin: 0 0 8px; display: flex; align-items: center; gap: 6px; }
.grp-title .ic { width: 18px; height: 18px; border-radius: 5px; background: #eaf1ff; color: #165DFF; display: flex; align-items: center; justify-content: center; font-size: 11px; }
.mega .item { display: flex; gap: 10px; padding: 8px 9px; border-radius: 8px; text-decoration: none; transition: .12s; align-items: flex-start; }
.mega .item:hover { background: #f5f7fa; }
.mega .item .emoji { font-size: 18px; line-height: 1.3; flex-shrink: 0; }
.mega .item .t { font-size: 13.5px; font-weight: 600; color: #222a35; }
.mega .item .d { font-size: 11.5px; color: #6b7585; margin-top: 1px; }
.mega .feat { margin-left: 18px; border-left: 1px solid #e9edf2; padding-left: 18px; }
.mega .fh { font-size: 12px; font-weight: 800; color: #ff6a00; margin-bottom: 10px; letter-spacing: .5px; }
.mega .fcard { display: block; text-decoration: none; background: linear-gradient(135deg,#fff7f1,#fff); border: 1px solid #ffe2cf; border-radius: 10px; padding: 11px 13px; margin-bottom: 9px; transition: .12s; max-width: 200px; }
.mega .fcard:hover { box-shadow: 0 6px 16px rgba(255,106,0,.14); }
.mega .fcard .ft { font-size: 13px; font-weight: 700; color: #0b2447; }
.mega .fcard .fd { font-size: 11.5px; color: #ff6a00; margin-top: 3px; font-weight: 600; }
.mega .alllink { font-size: 12.5px; color: #ff6a00; text-decoration: none; font-weight: 600; display: inline-block; margin-top: 6px; }

.search { display: flex; align-items: center; border: 1px solid #ddd; border-radius: 8px; padding: 6px 14px; font-size: 13px; color: #999; gap: 6px; white-space: nowrap; }
.navbtns { display: flex; gap: 10px; }
.btn { display: inline-block; padding: 7px 18px; border-radius: 4px; font-size: 13.5px; cursor: pointer; white-space: nowrap; }
.btn.ghost { border: 1px solid #ddd; color: #333; }
.btn.primary { background: #ff6a00; color: #fff; border: 1px solid #ff6a00; }
.btn.white { background: #fff; color: #0b2447; }
.hamb { display: none; font-size: 24px; cursor: pointer; color: #0b2447; margin-left: auto; }

/* 移动端抽屉菜单 */
.drawer { position: fixed; top: 0; right: -280px; width: 270px; height: 100%; background: #fff; box-shadow: -4px 0 20px rgba(0,0,0,.12); z-index: 300; transition: right .28s; padding: 20px; overflow-y: auto; }
.drawer.open { right: 0; }
.drawer .dclose { text-align: right; font-size: 24px; color: #999; cursor: pointer; }
.drawer a { display: block; padding: 14px 6px; border-bottom: 1px solid #f0f0f0; font-size: 15.5px; color: #333; }
.drawer .dbtns { margin-top: 18px; display: flex; gap: 10px; }
.drawer .dbtns .btn { flex: 1; text-align: center; }
.drawer .acc { border-bottom: 1px solid #f0f0f0; }
.drawer .acc > .at { display: flex; align-items: center; justify-content: space-between; padding: 14px 6px; font-size: 15.5px; color: #333; cursor: pointer; }
.drawer .acc > .at .ar { transition: .2s; color: #999; }
.drawer .acc.open > .at .ar { transform: rotate(90deg); color: #ff6a00; }
.drawer .acc .sub { display: none; padding: 4px 6px 14px; }
.drawer .acc.open .sub { display: block; }
.drawer .acc .sub a { display: flex; gap: 10px; align-items: center; padding: 9px 10px; color: #777; font-size: 13.5px; text-decoration: none; border-radius: 8px; }
.drawer .acc .sub a:hover { background: #f5f7fa; color: #ff6a00; }
.drawer .acc .sub .emoji { font-size: 16px; }

.mask { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 250; display: none; }
.mask.show { display: block; }

/* ===== Breadcrumb ===== */
.crumb { padding: 14px 0; font-size: 13px; color: #8b94a6; }
.crumb a:hover { color: var(--blue); }

/* ===== Hero / sections ===== */
.sec { margin-top: 26px; }
.sec-t { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 18px; }
.sec-t h2 { font-size: 22px; color: var(--navy); font-weight: 700; }
.sec-t .sub { color: var(--sub); font-size: 13px; }
.card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 22px 24px; }
.pill { display: inline-block; padding: 1px 9px; border-radius: 10px; font-size: 11.5px; }
.pill.hot { background: #fff1e6; color: var(--orange); }
.pill.on { background: #e6f7ee; color: #1a9c5b; }
.grid { display: grid; gap: 18px; }
.grid.c4 { grid-template-columns: repeat(4, 1fr); }
.grid.c3 { grid-template-columns: repeat(3, 1fr); }
.grid.c2 { grid-template-columns: repeat(2, 1fr); }
.pcard { background: #fff; border: 1px solid #edf0f5; border-radius: 10px; padding: 22px; transition: .2s; }
.pcard:hover { box-shadow: 0 10px 28px rgba(11,36,71,.10); transform: translateY(-3px); border-color: #bcd2ff; }
.pcard .ic { width: 40px; height: 40px; border-radius: 8px; background: linear-gradient(135deg,#165DFF,#0b2447); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 19px; margin-bottom: 14px; }
.pcard b { font-size: 15.5px; color: #181818; }
.pcard .tag { display: inline-block; background: #fff1e6; color: #ff6a00; font-size: 11px; padding: 1px 7px; border-radius: 3px; margin-left: 6px; vertical-align: 2px; }
.pcard p { font-size: 13px; color: #8a919e; margin: 8px 0 16px; min-height: 38px; }
.pcard .ops a { font-size: 13px; color: #165DFF; margin-right: 14px; }
.pcard .ops a.g { color: #556; }

/* ===== Cart line ===== */
.ol { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; }
.ol .ic { width: 46px; height: 46px; border-radius: 8px; background: linear-gradient(135deg, #eaf1ff, #dfe9ff); display: flex; align-items: center; justify-content: center; color: var(--blue); flex-shrink: 0; }
.ol .info { flex: 1; min-width: 0; }
.ol .nm { font-weight: 600; color: #1d2327; }
.ol .sp { font-size: 12.5px; color: #8b94a6; }
.ol .qty { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.ol .qm, .ol .qp { width: 32px; height: 32px; border: none; background: #f5f7fa; cursor: pointer; font-size: 16px; color: #3a4252; }
.ol .qn { width: 42px; text-align: center; font-size: 14px; }
.ol .pr { font-weight: 700; color: var(--orange); min-width: 88px; text-align: right; flex-shrink: 0; }
.ol .del { border: none; background: none; color: #b32d2e; font-size: 20px; cursor: pointer; flex: none; flex-shrink: 0; padding: 0 4px; }

/* ===== Summary ===== */
.sum { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 20px 24px; }
.sum .row { display: flex; justify-content: space-between; padding: 8px 0; color: #3a4252; }
.sum .row.tot { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 14px; font-size: 17px; font-weight: 700; color: var(--navy); }
.sum .row.tot b { color: var(--orange); }

/* ===== Tables ===== */
.tbl { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.tbl th { text-align: left; padding: 12px 16px; background: #f6f8fc; color: var(--navy); font-weight: 600; font-size: 13px; border-bottom: 1px solid var(--line); }
.tbl td { padding: 13px 16px; border-bottom: 1px solid #f0f2f7; vertical-align: middle; }
.tbl tr:last-child td { border-bottom: none; }
.tbl tr:hover td { background: #f8faff; }

/* ===== User center ===== */
.uc { display: flex; gap: 22px; align-items: flex-start; }
.uc .side { width: 210px; flex-shrink: 0; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 10px; }
.uc .side .u { display: flex; align-items: center; gap: 10px; padding: 12px 10px; border-bottom: 1px solid var(--line); margin-bottom: 8px; }
.uc .side .u .av { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--blue), #0b3a8f); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.uc .side a { display: block; padding: 10px 12px; border-radius: 8px; color: #3a4252; font-weight: 500; cursor: pointer; }
.uc .side a:hover, .uc .side a.on { background: #eef3ff; color: var(--blue); }
.uc .main { flex: 1; min-width: 0; }
label { font-size: 12px; color: #6b7585; display: block; margin-bottom: 4px; }
input[type=text], input[type=email], input[type=password], input[type=url], select, textarea { width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; font-size: 13.5px; font-family: inherit; }
.req { color: var(--orange); margin-left: 3px; }

/* ===== Ticket thread ===== */
.thread .msg { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.thread .msg.user { background: #f6f8ff; border-color: #dbe6fb; }
.thread .msg.agent { background: #f0faf3; border-color: #cfe9da; }
.thread .msg .who { font-size: 12px; color: var(--sub); margin-bottom: 4px; }
.thread .msg .who b { color: var(--navy); }

/* ===== 404 / search ===== */
.big404 { text-align: center; padding: 70px 20px; }
.big404 .code { font-size: 96px; font-weight: 800; color: var(--blue); letter-spacing: 4px; }
.big404 .tip { color: var(--sub); margin: 14px 0 24px; }
.kw { display: inline-block; background: #eef3ff; color: var(--blue); border-radius: 6px; padding: 2px 8px; font-weight: 600; }
.result { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; margin-bottom: 12px; }
.result h3 { font-size: 16px; color: var(--blue); margin-bottom: 5px; }
.result .meta { font-size: 12px; color: var(--sub); margin-bottom: 6px; }
.result p { color: #4a5466; font-size: 13.5px; }

/* ===== Article ===== */
.article { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 34px 40px; }
.article h1 { font-size: 28px; color: var(--navy); margin-bottom: 12px; line-height: 1.35; }
.article .meta { color: var(--sub); font-size: 13px; padding-bottom: 18px; border-bottom: 1px solid var(--line); margin-bottom: 22px; }
.article p { margin: 14px 0; color: #34404f; }
.article h3 { font-size: 19px; color: var(--navy); margin: 24px 0 8px; }

/* ===== Banner (hero, 与效果图对齐) ===== */
.banner { background: radial-gradient(1200px 500px at 75% -10%, #2a4d8f 0%, #0b2447 55%, #081a33 100%); color: #fff; overflow: hidden; position: relative; }
.banner .container { padding: 60px 20px 36px; position: relative; z-index: 2; }
.banner .kicker { color: #7aa6ff; font-size: 14px; letter-spacing: 2px; margin-bottom: 12px; }
.banner h1 { font-size: 40px; font-weight: 800; line-height: 1.25; word-break: break-word; }
.banner h1 em { font-style: normal; color: #5b9bff; }
.banner p { color: #b9c6dd; margin: 16px 0 26px; font-size: 15.5px; max-width: 560px; line-height: 1.65; }
.banner .cta { display: flex; gap: 14px; flex-wrap: wrap; background: none; padding: 0; border-radius: 0; margin-top: 0; }
.banner .cta .btn { padding: 11px 28px; font-size: 15px; }
.dots { display: flex; gap: 8px; margin-top: 40px; }
.dots i { width: 26px; height: 4px; background: rgba(255,255,255,.25); border-radius: 2px; display: block; cursor: pointer; }
.dots i.on { background: #165DFF; }
.deco { position: absolute; right: 4%; top: 52px; width: 320px; height: 200px; border-radius: 10px; background: linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.18); z-index: 1; pointer-events: none; display: flex; align-items: center; justify-content: center; font-size: 15px; color: #dbe6f7; }

/* ===== 首页区块（严格对齐效果图 02） ===== */
.deco::before { content: "稳定 · 安全 · 高性能云服务"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 15px; color: #dbe6f7; }

/* 促销卡 */
.promos { position: relative; margin-top: -1px; background: linear-gradient(#081a33 50%, #fff 50%); }
.promos .container { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.promo { background: #fff; border-radius: 10px; box-shadow: 0 8px 24px rgba(11,36,71,.10); padding: 18px 20px; border-top: 3px solid #165DFF; }
.promo b { font-size: 14.5px; color: #0b2447; display: block; margin-bottom: 6px; }
.promo small { font-size: 12.5px; color: #888; display: block; line-height: 1.5; }
.promo .price { color: #ff4d00; font-weight: 800; font-size: 15px; display: block; margin-top: 8px; }

/* section */
section { padding: 60px 0 52px; }
section.gray { background: #f6f8fb; }
.sec-head { text-align: center; margin-bottom: 34px; }
.sec-head h2 { font-size: 27px; color: #181818; font-weight: 800; }
.sec-head p { color: #888; margin-top: 8px; font-size: 14px; }

/* 产品 Tab */
.tabs { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 26px; }
.tabs span { padding: 8px 20px; border-radius: 8px; font-size: 14px; color: #555; cursor: pointer; background: #fff; border: 1px solid #e5e9f0; }
.tabs span.on { background: #165DFF; color: #fff; border-color: #165DFF; }

/* 产品网格 */
.pgrid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }

/* 解决方案 */
.sgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.scard { border-radius: 12px; padding: 26px 24px; color: #fff; min-height: 190px; display: flex; flex-direction: column; overflow: hidden; }
.scard.a { background: linear-gradient(135deg,#19376d,#0b2447); }
.scard.b { background: linear-gradient(135deg,#165DFF,#0b2447); }
.scard.c { background: linear-gradient(135deg,#0e7490,#164e63); }
.scard b { font-size: 17px; margin-bottom: 10px; }
.scard p { font-size: 13px; color: rgba(255,255,255,.78); flex: 1; }
.scard .ops { margin-top: 14px; }
.scard .ops a { font-size: 13px; color: #a9c8ff; margin-right: 16px; }

/* 权益 */
.bgrid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.bcard { background: linear-gradient(180deg,#f3f7ff,#fff); border: 1px solid #dbe7ff; border-radius: 10px; padding: 18px 20px; }
.bcard b { font-size: 14.5px; color: #0b2447; display: block; }
.bcard small { font-size: 12.5px; display: block; margin-top: 6px; color: #8a7565; }
.bcard .bg { color: #ff4d00; font-weight: 800; }

/* 案例 */
.cgrid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 16px; }
.ccard { border-radius: 12px; padding: 24px; background: #fff; border: 1px solid #edf0f5; }
.ccard.big { background: linear-gradient(135deg,#0b2447,#2a4d8f); color: #fff; grid-row: span 2; display: flex; flex-direction: column; justify-content: flex-end; min-height: 100%; }
.ccard.big b { font-size: 19px; line-height: 1.5; }
.ccard .co { font-size: 12px; color: #ff6a00; font-weight: 700; letter-spacing: 1px; }
.ccard.big .co { color: #ffb27d; }
.ccard p { font-size: 13px; color: #8a919e; margin-top: 8px; }
.ccard.big p { color: #c3d0e5; }

/* 新闻 */
.ngrid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ncard { background: #fff; border: 1px solid #edf0f5; border-radius: 10px; padding: 20px 22px; }
.ncard time { font-size: 12px; color: #aab; }
.ncard b { display: block; font-size: 15px; margin: 8px 0; color: #181818; }
.ncard p { font-size: 13px; color: #8a919e; }

/* CTA bar */
.cta-bar { background: linear-gradient(90deg,#165DFF,#0b2447); color: #fff; padding: 44px 20px; text-align: center; }
.cta-bar h2 { font-size: 25px; font-weight: 800; }
.cta-bar .btn { background: #fff; color: #165DFF; font-weight: 700; margin-top: 18px; padding: 11px 36px; font-size: 15px; }
.cta-bar .promise { display: flex; justify-content: center; gap: 36px; margin-top: 22px; font-size: 13.5px; color: #fff3e8; flex-wrap: wrap; }

/* ===== Notice bar ===== */
.notice { background: var(--blue); color: #fff; text-align: center; padding: 9px 0; font-size: 13px; }

/* ===== Float bar ===== */
.float { position: fixed; right: 18px; bottom: 90px; display: flex; flex-direction: column; gap: 10px; z-index: 70; }
.float > div { width: 46px; height: 46px; border-radius: 50%; background: #fff; box-shadow: 0 6px 18px rgba(11,36,71,.18); display: flex; align-items: center; justify-content: center; color: var(--blue); cursor: pointer; }

/* ===== CTA bar ===== */
.cta { background: linear-gradient(135deg, var(--blue), #0b3a8f); color: #fff; border-radius: 14px; padding: 26px 32px; margin-top: 26px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.cta h3 { font-size: 22px; font-weight: 700; }
.cta .btn-ghost { background: rgba(255,255,255,.15); border-color: #fff; color: #fff; }

/* ===== Footer ===== */
footer { background: #0b1626; color: #8b98ad; font-size: 13px; margin-top: 50px; }
footer .cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; padding: 46px 0 34px; }
footer h4 { color: #fff; font-size: 14.5px; margin-bottom: 14px; }
footer ul { list-style: none; padding: 0; }
footer li { list-style: none; margin: 8px 0; }
footer li a { color: #8b98ad; }
footer li a:hover { color: #fff; }
footer .qr { width: 88px; height: 88px; background: #22304a; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 11px; color: #67789a; text-align: center; }
footer .copy { border-top: 1px solid #1d2a40; padding: 18px 0; text-align: center; font-size: 12px; color: #5a6a85; }

/* ===== 紧凑头部 .top（17-25 / 商城） ===== */
.top { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 60; }
.top .nav { display: flex; align-items: center; height: 64px; gap: 16px; }
.top .logo { display: flex; align-items: center; font-size: 20px; font-weight: 900; color: #165DFF; letter-spacing: 1px; flex-shrink: 0; }
.top .logo .mark { width: 30px; height: 30px; border-radius: 8px; background: linear-gradient(135deg,#165DFF,#0b2447); color: #fff; display: flex; align-items: center; justify-content: center; margin-right: 8px; }
.top .logo b { color: #0b2447; font-weight: 700; font-size: 13px; letter-spacing: .5px; }
.top .menu { display: flex; gap: 22px; font-size: 14.5px; flex: 1; }
.top .menu a { color: #333; padding: 20px 0; white-space: nowrap; }
.top .menu a:hover { color: #165DFF; }
.top .tools { display: flex; align-items: center; gap: 14px; }
.top .search { display: flex; align-items: center; border: 1px solid #e3e8f0; border-radius: 8px; padding: 6px 12px; font-size: 13px; color: #9aa3b2; gap: 6px; }
.top .search input { border: none; outline: none; width: 150px; font-size: 13px; font-family: inherit; color: #333; }
.top .cart { position: relative; color: #0b2447; display: flex; align-items: center; font-size: 20px; }
.top .cart .badge { position: absolute; top: -6px; right: -8px; background: #ff4d00; color: #fff; font-size: 10px; padding: 1px 5px; border-radius: 8px; font-style: normal; }
.top .login { font-size: 13.5px; color: #165DFF; white-space: nowrap; border: 1px solid #cfdcff; padding: 6px 14px; border-radius: 6px; }
.top .hamb { display: none; font-size: 24px; cursor: pointer; color: #0b2447; margin-left: auto; }
.top .drawer a { display: block; padding: 13px 6px; border-bottom: 1px solid #f0f2f7; font-size: 15px; color: #333; }

/* ===== Mobile drawer ===== */
.drawer { display: none; }
.hero, .cta, .banner { box-sizing: border-box; }

@media (max-width: 1024px) {
  .container { width: auto; }
  .search input { width: 110px; }
  .deco { display: none; }
  .banner h1 { font-size: 32px; }
  .banner .container { padding: 48px 20px 34px; }
  .pgrid, .bgrid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .menu, .search, .navbtns { display: none; }
  .hamb { display: block; }
  .drawer { display: block; right: -280px; }
  .drawer a { display: block; padding: 11px 4px; border-bottom: 1px solid #f0f2f7; color: #3a4252; font-weight: 500; }
  .uc { flex-direction: column; }
  .uc .side { width: 100%; }
  .grid.c4, .grid.c3 { grid-template-columns: repeat(2, 1fr); }
  .ol { flex-wrap: wrap; }
  .ol .pr { min-width: auto; }
  .menu .sub { position: static; box-shadow: none; border: none; grid-template-columns: 1fr; min-width: 0; padding: 0; background: none; }
  footer .cols { grid-template-columns: 1fr 1fr; gap: 18px 10px; }
  .article { padding: 22px 18px; }
  .banner .container { padding: 40px 18px 30px; }
  .banner h1 { font-size: 26px; line-height: 1.35; }
  .banner p { font-size: 14px; margin: 12px 0 20px; }
  .banner .kicker { font-size: 12px; letter-spacing: 1px; }
  .banner .cta .btn { padding: 10px 24px; font-size: 14px; }
  .deco { display: none; }
  .promos { background: #081a33; }
  .promos .container { grid-template-columns: 1fr 1fr; padding-top: 20px; padding-bottom: 24px; }
  .sgrid, .ngrid { grid-template-columns: 1fr; }
  .cgrid { grid-template-columns: 1fr; }
  .ccard.big { grid-row: auto; min-height: 160px; }
  section { padding: 44px 0 38px; }
  .sec-head h2 { font-size: 22px; }
}
@media (max-width: 480px) {
  .grid.c4, .grid.c3, .grid.c2 { grid-template-columns: 1fr; }
  footer .cols { grid-template-columns: 1fr 1fr; gap: 14px 8px; }
  .sum, .card { padding: 16px 14px; }
  .banner h1 { font-size: 23px; }
  .banner p { font-size: 13.5px; }
  .pgrid, .bgrid { grid-template-columns: 1fr; }
  .promos .container { grid-template-columns: 1fr; }
  .tabs span { padding: 6px 14px; font-size: 13px; }
  .cta-bar .promise { flex-direction: column; gap: 8px; }
}


/* ============================================================
 * 以下为各内页专属样式（按效果图 04/05/06/07/08/10/16 作用域限定）
 * 每个规则已加 .pt-xxx 前缀，避免与首页全局样式冲突。
 * 由 gen_page_assets.py 自动生成，请勿手改。
 * ============================================================ */

/* ===================== 07-定价.html  (scope .pt-pricing) ===================== */
.pt-pricing a { text-decoration:none;color:inherit }
.pt-pricing .breadcrumb { padding:16px 0;font-size:13px;color:#888 }
.pt-pricing .page-head { background:linear-gradient(135deg,#0b2447,#2a4d8f);color:#fff;padding:48px 0 40px;text-align:center }
.pt-pricing .page-head h1 { font-size:30px;font-weight:800 }
.pt-pricing .page-head p { color:#c3d0e5;margin-top:10px;font-size:15px }
.pt-pricing .bill-toggle { padding:20px 0;text-align:center }
.pt-pricing .btg { display:inline-flex;background:#edf0f5;border-radius:10px;padding:3px }
.pt-pricing .btg span { padding:9px 28px;border-radius:8px;font-size:14px;cursor:pointer;color:#555 }
.pt-pricing .btg span.on { background:#fff;color:#ff6a00;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.08) }
.pt-pricing section { padding:44px 0 56px }
.pt-pricing .price-table { width:100%;border-collapse:collapse;margin:30px 0;font-size:14.5px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(11,36,71,.06) }
.pt-pricing .price-table th { background:#0b2447;color:#fff;padding:15px 18px;text-align:left;font-weight:600 }
.pt-pricing .price-table td { padding:14px 18px;border-bottom:1px solid #f0f2f5;color:#555 }
.pt-pricing .price-table tr:hover td { background:#fafbfd }
.pt-pricing .price-table .name-col { font-weight:700;color:#181818;font-size:15px }
.pt-pricing .price-table .price-col { color:#ff4d00;font-weight:800;font-size:17px }
.pt-pricing .price-table .buy-btn { padding:6px 18px;border-radius:4px;font-size:12.5px;background:#ff6a00;color:#fff;display:inline-block;text-align:center }
.pt-pricing .pkg-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px }
.pt-pricing .pkg { background:#fff;border-radius:10px;padding:32px 26px;text-align:center;border:2px solid #edf0f5;transition:.2s;position:relative }
.pt-pricing .pkg:hover { border-color:#ffd9bd;box-shadow:0 10px 28px rgba(11,36,71,.10);transform:translateY(-4px) }
.pt-pricing .pkg.popular { border-color:#ff6a00;position:relative }
.pt-pricing .pkg.popular::before { content:"最受欢迎";position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#ff6a00;color:#fff;font-size:11.5px;padding:3px 16px;border-radius:10px;white-space:nowrap }
.pt-pricing .pkg .icon { font-size:40px;margin-bottom:12px }
.pt-pricing .pkg h3 { font-size:19px;color:#181818;margin-bottom:6px }
.pt-pricing .pkg .desc { font-size:13px;color:#999;margin-bottom:18px }
.pt-pricing .pkg .price { font-size:38px;font-weight:900;color:#ff4d00;line-height:1 }
.pt-pricing .pkg .price small { font-size:14px;font-weight:400;color:#aaa }
.pt-pricing .pkg .period { font-size:13px;color:#888;margin-bottom:20px }
.pt-pricing .pkg ul { text-align:left;margin:0 0 22px }
.pt-pricing .pkg li { list-style:none;font-size:13.5px;color:#555;margin:9px 0;padding-left:20px;position:relative }
.pt-pricing .pkg li::before { content:"✓";position:absolute;left:0;color:#1a9c5b;font-weight:700 }
.pt-pricing .pkg li.off::before { content:"✕";color:#ccc }
.pt-pricing .pkg li.off { color:#bbb }
.pt-pricing .pkg .btn { width:100%;text-align:center;padding:11px 0;font-size:15px }
.pt-pricing footer { background:#0b1626;color:#8b98ad;font-size:13px;padding:36px 0 20px }
.pt-pricing footer .cols { display:grid;grid-template-columns:repeat(5,1fr);gap:20px }
.pt-pricing footer h4 { color:#fff;font-size:14.5px;margin-bottom:14px }
.pt-pricing footer li { list-style:none;margin:7px 0 }
.pt-pricing footer .copy { border-top:1px solid #1d2a40;padding:16px 0;text-align:center;font-size:12px;color:#5a6a85 }
@media (max-width:1024px) { .pt-pricing .pkg-grid { grid-template-columns:repeat(2,1fr) } }
@media (max-width:1024px) { .pt-pricing .page-head h1 { font-size:24px } }
@media (max-width:1024px) { .pt-pricing .page-head { padding:36px 0 30px } }
@media (max-width:1024px) { .pt-pricing .pkg-grid { grid-template-columns:1fr } }
@media (max-width:1024px) { .pt-pricing .price-table { font-size:12.5px } }
@media (max-width:1024px) { .pt-pricing footer .cols { grid-template-columns:1fr 1fr } }
@media (max-width:1024px) { .pt-pricing footer .cols { grid-template-columns:1fr } }
.pt-pricing .ico { width:1em; height:1em; vertical-align:-.15em; flex-shrink:0; }
@media (max-width:768px) {
  .pt-pricing .pkg-grid { grid-template-columns:1fr!important }
  .pt-pricing .page-head h1 { font-size:22px!important }
  .pt-pricing .page-head { padding:32px 0 26px!important }
  .pt-pricing .price-table { font-size:12px!important }
  .pt-pricing footer .cols { grid-template-columns:1fr!important }
}

/* ===================== 10-关于我们.html  (scope .pt-about) ===================== */
.pt-about a { text-decoration:none;color:inherit }
.pt-about .breadcrumb { padding:16px 0;font-size:13px;color:#888 }
.pt-about .page-head { background:linear-gradient(135deg,#0b2447,#2a4d8f);color:#fff;padding:48px 0 40px;text-align:center }
.pt-about .page-head h1 { font-size:30px;font-weight:800 }
.pt-about .page-head p { color:#c3d0e5;margin-top:10px;font-size:15px }
.pt-about section { padding:50px 0 60px }
.pt-about .about-intro { display:flex;gap:48px;align-items:center;margin-bottom:56px }
.pt-about .about-intro .text h2 { font-size:26px;color:#181818;margin-bottom:18px }
.pt-about .about-intro .text p { font-size:15px;color:#555;line-height:1.9;margin:10px 0 }
.pt-about .about-intro .img-box { width:420px;height:280px;border-radius:10px;background:linear-gradient(135deg,#e8f1ff,#f0f2f5);display:flex;align-items:center;justify-content:center;color:#aab;font-size:18px;border:2px solid #dce5f0;flex-shrink:0 }
.pt-about .about-intro .img-box::before { content:"<svg class="ico" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8h3l2-3h6l2 3h3v11H4zM12 13a3 3 0 1 0 .01 0"/></svg> 公司形象图（后台：页面编辑器上传）" }
.pt-about .data-row { display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:56px }
.pt-about .data-item { text-align:center;padding:28px 18px;background:#f6f8fb;border-radius:12px;border:1px solid #edf0f5 }
.pt-about .data-item b { font-size:36px;color:#ff6a00;display:block;line-height:1.2 }
.pt-about .data-item small { font-size:14px;color:#888;margin-top:6px;display:block }
.pt-about .section-title { font-size:23px;color:#181818;text-align:center;margin-bottom:32px;padding-left:14px;border-left:4px solid #ff6a00;display:inline-block }
.pt-about .adv-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:50px }
.pt-about .adv-card { background:#fff;border:1px solid #edf0f5;border-radius:12px;padding:30px 26px;text-align:center;transition:.2s }
.pt-about .adv-card:hover { box-shadow:0 8px 22px rgba(11,36,71,.08);transform:translateY(-3px) }
.pt-about .adv-card .ic { width:64px;height:64px;border-radius:10px;background:linear-gradient(135deg,#ff8c3f,#ff6a00);display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;margin:0 auto 18px }
.pt-about .adv-card h3 { font-size:17px;color:#181818;margin-bottom:10px }
.pt-about .adv-card p { font-size:13.5px;color:#777;line-height:1.65 }
.pt-about .contact-wrap { background:linear-gradient(135deg,#0b2447,#2a4d8f);color:#fff;border-radius:10px;padding:44px 40px;display:grid;grid-template-columns:1fr 1fr;gap:40px }
.pt-about .contact-wrap h2 { font-size:24px;margin-bottom:16px }
.pt-about .contact-wrap p { font-size:14.5px;color:#c3d0e5;line-height:1.75;margin:8px 0 }
.pt-about .contact-info { margin-top:12px }
.pt-about .ci-row { display:flex;align-items:center;gap:12px;margin:14px 0;font-size:15px }
.pt-about .ci-row b { font-size:17px }
.pt-about .cform input, .pt-about .cform textarea { width:100%;padding:11px 14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:14px;margin-bottom:12px }
.pt-about .cform input::placeholder, .pt-about .cform textarea::placeholder { color:rgba(255,255,255,.45) }
.pt-about .cform textarea { height:90px;resize:vertical }
.pt-about .cform .btn { width:100%;text-align:center;padding:12px 0;font-size:15px;background:#ff6a00;border-color:#ff6a00 }
.pt-about footer { background:#0b1626;color:#8b98ad;font-size:13px;padding:36px 0 20px }
.pt-about footer .cols { display:grid;grid-template-columns:repeat(5,1fr);gap:20px }
.pt-about footer h4 { color:#fff;font-size:14.5px;margin-bottom:14px }
.pt-about footer li { list-style:none;margin:7px 0 }
.pt-about footer .copy { border-top:1px solid #1d2a40;padding:16px 0;text-align:center;font-size:12px;color:#5a6a85 }
@media (max-width:1024px) { .pt-about .about-intro { flex-direction:column } }
@media (max-width:1024px) { .pt-about .about-intro .img-box { width:100% } }
@media (max-width:1024px) { .pt-about .data-row { grid-template-columns:repeat(2,1fr) } }
@media (max-width:1024px) { .pt-about .adv-grid { grid-template-columns:repeat(2,1fr) } }
@media (max-width:1024px) { .pt-about .contact-wrap { grid-template-columns:1fr } }
@media (max-width:1024px) { .pt-about .page-head h1 { font-size:24px } }
@media (max-width:1024px) { .pt-about .page-head { padding:36px 0 30px } }
@media (max-width:1024px) { .pt-about .data-row { grid-template-columns:1fr 1fr } }
@media (max-width:1024px) { .pt-about .adv-grid { grid-template-columns:1fr } }
@media (max-width:1024px) { .pt-about footer .cols { grid-template-columns:1fr 1fr } }
@media (max-width:1024px) { .pt-about footer .cols { grid-template-columns:1fr } }
@media (max-width:1024px) { .pt-about .data-row { grid-template-columns:1fr } }
.pt-about .ico { width:1em; height:1em; vertical-align:-.15em; flex-shrink:0; }
@media (max-width:768px) {
  .pt-about .about-intro { flex-direction:column!important }
  .pt-about .about-intro .img-box { width:100%!important;height:180px!important }
  .pt-about .data-row { grid-template-columns:1fr 1fr!important }
  .pt-about .adv-grid { grid-template-columns:1fr!important }
  .pt-about .contact-wrap { grid-template-columns:1fr!important }
  .pt-about .page-head h1 { font-size:22px!important }
  .pt-about .page-head { padding:32px 0 26px!important }
  .pt-about footer .cols { grid-template-columns:1fr!important }
}

/* ===================== 16-商城.html  (scope .pt-shop) ===================== */
.pt-shop :root { --orange:#ff6a00;--blue:#165DFF;--deep:#0b2447;--bg:#f5f7fa;--bd:#e9edf2;--tx:#333;--tx2:#6b7785;--radius:10px;--maxw:1180px; }
.pt-shop a { text-decoration:none;color:inherit; }
.pt-shop header { background:#fff;border-bottom:1px solid var(--bd); }
.pt-shop .hbar { max-width:var(--maxw);margin:0 auto;height:64px;display:flex;align-items:center;padding:0 20px;gap:18px; }
.pt-shop .login-btn { margin-left:6px;padding:9px 18px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--deep));color:#fff;font-size:13.5px;font-weight:600; }
.pt-shop .mall { max-width:var(--maxw);margin:0 auto;padding:16px 20px 40px;display:flex;gap:22px; }
.pt-shop .side { width:210px;flex:none; }
.pt-shop .side .box { background:#fff;border:1px solid var(--bd);border-radius:var(--radius);padding:8px;margin-bottom:16px; }
.pt-shop .side .box h3 { font-size:14px;color:var(--deep);padding:10px 12px 8px; }
.pt-shop .side .cat { display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:13.5px;color:var(--tx);cursor:pointer; }
.pt-shop .side .cat svg { width:17px;height:17px;color:var(--blue); }
.pt-shop .side .cat:hover { background:#f3f7ff; }
.pt-shop .side .cat.cur { background:#eef3ff;color:var(--blue);font-weight:700; }
.pt-shop .side .promo { background:linear-gradient(150deg,var(--deep),var(--blue));color:#fff;border-radius:var(--radius);padding:18px;font-size:13px;line-height:1.7; }
.pt-shop .side .promo b { font-size:16px;display:block;margin-bottom:6px; }
.pt-shop .content { flex:1;min-width:0; }
.pt-shop .sortbar { display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--bd);border-radius:var(--radius);padding:10px 16px;margin-bottom:16px;font-size:13.5px; }
.pt-shop .sortbar .s { padding:6px 14px;border-radius:20px;cursor:pointer;color:var(--tx2); }
.pt-shop .sortbar .s.cur { background:#eef3ff;color:var(--blue);font-weight:700; }
.pt-shop .sortbar .right { margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--tx2); }
.pt-shop .sortbar .right select { border:1px solid var(--bd);border-radius:8px;height:32px;padding:0 8px;font-size:13px;color:var(--tx); }
.pt-shop .pgrid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.pt-shop .pcard { background:#fff;border:1px solid var(--bd);border-radius:var(--radius);overflow:hidden;transition:.15s;display:flex;flex-direction:column; }
.pt-shop .pcard:hover { border-color:var(--blue);box-shadow:0 6px 20px rgba(22,93,255,.10);transform:translateY(-2px); }
.pt-shop .pcard .thumb { height:150px;background:linear-gradient(135deg,#eef3ff,#dfe9ff);display:flex;align-items:center;justify-content:center;position:relative; }
.pt-shop .pcard .thumb svg { width:54px;height:54px;color:var(--blue); }
.pt-shop .pcard .thumb .tag { position:absolute;top:10px;left:10px;font-size:11.5px;color:#fff;background:var(--orange);padding:3px 9px;border-radius:20px; }
.pt-shop .pcard .thumb .tag.new { background:var(--blue); }
.pt-shop .pcard .body { padding:14px 15px 16px;flex:1;display:flex;flex-direction:column; }
.pt-shop .pcard .pname { font-size:14.5px;font-weight:700;color:var(--deep);line-height:1.4;margin-bottom:6px; }
.pt-shop .pcard .pdesc { font-size:12.5px;color:var(--tx2);line-height:1.6;flex:1; }
.pt-shop .pcard .meta { display:flex;align-items:center;justify-content:space-between;margin:10px 0 12px;font-size:12px;color:var(--tx2); }
.pt-shop .pcard .price { display:flex;align-items:baseline;gap:7px; }
.pt-shop .pcard .price .now { color:var(--orange);font-size:20px;font-weight:800; }
.pt-shop .pcard .price .now small { font-size:12px;font-weight:600; }
.pt-shop .pcard .price .old { color:#b3bcc6;text-decoration:line-through;font-size:12px; }
.pt-shop .pcard .acts { display:flex;gap:8px; }
.pt-shop .pcard .acts .buy { flex:1;height:38px;border:0;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--deep));color:#fff;font-size:13.5px;font-weight:700;cursor:pointer; }
.pt-shop .pcard .acts .add { width:38px;height:38px;border:1px solid var(--bd);border-radius:8px;background:#fff;color:var(--blue);cursor:pointer;display:flex;align-items:center;justify-content:center; }
.pt-shop .pcard .acts .add svg { width:18px;height:18px; }
.pt-shop .pager { display:flex;justify-content:center;align-items:center;gap:8px;margin-top:26px;font-size:13.5px;color:var(--tx2); }
.pt-shop .pager a { padding:8px 14px;border:1px solid var(--bd);border-radius:8px;background:#fff;color:var(--tx);cursor:pointer; }
.pt-shop .pager a.cur { background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700; }
.pt-shop footer { background:var(--deep);color:#cfd8e3; }
.pt-shop footer .cols { max-width:var(--maxw);margin:0 auto;padding:36px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px; }
.pt-shop footer h4 { color:#fff;font-size:14.5px;margin-bottom:14px; }
.pt-shop footer ul { list-style:none;font-size:13px;line-height:2.1; }
.pt-shop footer ul li { color:#aeb9c7;cursor:pointer; }
.pt-shop footer ul li:hover { color:#fff; }
.pt-shop footer .copy { max-width:var(--maxw);margin:0 auto;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:#8b97a8;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px; }
.pt-shop .dbtns { position:fixed;right:18px;bottom:18px;display:flex;gap:8px;background:#fff;border:1px solid var(--bd);border-radius:30px;padding:6px;box-shadow:0 6px 20px rgba(0,0,0,.12);z-index:50; }
.pt-shop .dbtns button { border:0;background:#f0f3f8;color:var(--tx2);height:32px;border-radius:20px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:4px;padding:0 12px; }
.pt-shop .dbtns button.on { background:var(--blue);color:#fff; }
.pt-shop .dbtns svg { width:15px;height:15px; }
@media (max-width:1024px) { .pt-shop .pgrid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:1024px) { .pt-shop .mall { flex-direction:column; } }
@media (max-width:1024px) { .pt-shop .side { width:100%;display:flex;gap:12px;overflow-x:auto; } }
.pt-shop .side .box, .pt-shop .side .promo { flex:none;min-width:160px;margin-bottom:0; }
@media (max-width:1024px) { .pt-shop .pgrid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:1024px) { .pt-shop .pgrid { grid-template-columns:1fr; } }
@media (max-width:1024px) { .pt-shop footer .cols { grid-template-columns:1fr 1fr; } }
@media (max-width:768px) {
  .pt-shop .side { width:100%;display:flex;gap:12px;overflow-x:auto; }
  .pt-shop .side .box, .pt-shop .side .promo { flex:none;min-width:160px; }
  .pt-shop .pgrid { grid-template-columns:1fr !important; }
  .pt-shop footer .cols { grid-template-columns:1fr 1fr !important; }
}

/* ===================== 05-产品详情.html  (scope .pt-single) ===================== */
.pt-single a { text-decoration:none;color:inherit }
.pt-single .breadcrumb { padding:16px 0;font-size:13px;color:#888 }
.pt-single .detail-head { background:linear-gradient(135deg,#0b2447,#2a4d8f);color:#fff;padding:48px 0 44px }
.pt-single .dh-inner { display:flex;gap:40px;align-items:flex-start }
.pt-single .dh-icon { width:80px;height:80px;border-radius:10px;background:linear-gradient(135deg,#ff8c3f,#ff6a00);display:flex;align-items:center;justify-content:center;font-size:36px;flex-shrink:0 }
.pt-single .dh-info h1 { font-size:30px;font-weight:800;margin-bottom:10px }
.pt-single .dh-info p { color:#c3d0e5;font-size:15px;line-height:1.65;max-width:600px }
.pt-single .dh-info .tags { margin-top:14px;display:flex;gap:8px }
.pt-single .dh-info .tags span { padding:3px 12px;background:rgba(255,255,255,.12);border-radius:12px;font-size:12.5px }
.pt-single .dh-actions { margin-top:22px;display:flex;gap:12px }
.pt-single .dh-actions .btn { padding:11px 28px;font-size:15px }
.pt-single .dh-actions .btn.white { background:#fff;color:#0b2447 }
.pt-single .dtabs { border-bottom:1px solid #edf0f5;background:#fff;position:sticky;top:60px;z-index:50 }
.pt-single .dtabs .container { display:flex;gap:2px }
.pt-single .dtabs span { padding:14px 24px;font-size:14.5px;color:#555;cursor:pointer;border-bottom:2px solid transparent }
.pt-single .dtabs span:hover { color:#ff6a00 }
.pt-single .dtabs span.on { color:#ff6a00;border-bottom-color:#ff6a00;font-weight:700 }
.pt-single .dcontent { padding:44px 0 56px }
.pt-single .dcontent h2 { font-size:22px;color:#181818;margin-bottom:20px;padding-left:14px;border-left:4px solid #ff6a00 }
.pt-single .dcontent h3 { font-size:17px;color:#333;margin:24px 0 12px }
.pt-single .dcontent p { font-size:14.5px;color:#555;line-height:1.85;margin:10px 0 }
.pt-single .dcontent ul { padding-left:22px;margin:12px 0 }
.pt-single .dcontent li { font-size:14.5px;color:#555;line-height:1.9;margin:6px 0 }
.pt-single .spec-table { width:100%;border-collapse:collapse;margin:20px 0;font-size:14px }
.pt-single .spec-table th { background:#f6f8fb;padding:12px 16px;text-align:left;color:#181818;font-weight:700;border:1px solid #edf0f5 }
.pt-single .spec-table td { padding:12px 16px;border:1px solid #edf0f5;color:#555 }
.pt-single .spec-table tr:nth-child(even) td { background:#fafbfd }
.pt-single .spec-table .price-col { color:#ff4d00;font-weight:800;font-size:16px }
.pt-single .faq-item { border:1px solid #edf0f5;border-radius:10px;margin-bottom:12px;overflow:hidden }
.pt-single .faq-q { padding:16px 20px;font-size:15px;font-weight:600;color:#181818;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:#fafbfd }
.pt-single .faq-q::after { content:"+";color:#ff6a00;font-size:18px }
.pt-single .faq-a { padding:0 20px 16px;font-size:14px;color:#666;line-height:1.75 }
.pt-single .layout2col { display:grid;grid-template-columns:1fr 300px;gap:32px }
.pt-single .sidebar .scard { background:#fff;border:1px solid #edf0f5;border-radius:10px;padding:18px 20px;margin-bottom:16px }
.pt-single .sidebar .scard h4 { font-size:15px;color:#181818;margin-bottom:12px }
.pt-single .sidebar .scard li { list-style:none;font-size:13.5px;color:#666;margin:8px 0;padding-left:14px;position:relative }
.pt-single .sidebar .scard li::before { content:"→";position:absolute;left:0;color:#ff6a00 }
.pt-single footer { background:#0b1626;color:#8b98ad;font-size:13px;padding:36px 0 20px }
.pt-single footer .cols { display:grid;grid-template-columns:repeat(5,1fr);gap:20px }
.pt-single footer h4 { color:#fff;font-size:14.5px;margin-bottom:14px }
.pt-single footer li { list-style:none;margin:7px 0 }
.pt-single footer .copy { border-top:1px solid #1d2a40;padding:16px 0;text-align:center;font-size:12px;color:#5a6a85 }
@media (max-width:1024px) { .pt-single .layout2col { grid-template-columns:1fr } }
.pt-single .sidebar { display:none }
@media (max-width:1024px) { .pt-single .dh-inner { flex-direction:column;gap:20px } }
@media (max-width:1024px) { .pt-single .dh-info h1 { font-size:24px } }
@media (max-width:1024px) { .pt-single .detail-head { padding:36px 0 30px } }
@media (max-width:1024px) { .pt-single .dtabs .container { overflow-x:auto } }
@media (max-width:1024px) { .pt-single .spec-table { font-size:12.5px } }
.pt-single .spec-table th, .pt-single .spec-table td { padding:8px 10px }
@media (max-width:1024px) { .pt-single footer .cols { grid-template-columns:1fr 1fr } }
@media (max-width:1024px) { .pt-single footer .cols { grid-template-columns:1fr } }
.pt-single .ico { width:1em; height:1em; vertical-align:-.15em; flex-shrink:0; }
@media (max-width:768px) {
  .pt-single .layout2col { grid-template-columns:1fr!important }
  .pt-single .sidebar { display:none!important }
  .pt-single .dh-inner { flex-direction:column!important;gap:16px!important }
  .pt-single .dh-info h1 { font-size:22px!important }
  .pt-single .detail-head { padding:32px 0 26px!important }
  .pt-single .dtabs .container { overflow-x:auto!important;-webkit-overflow-scrolling:touch }
  .pt-single .spec-table { font-size:12px!important }
  .pt-single .spec-table th, .pt-single ..spec-table td { padding:7px 8px!important }
  .pt-single footer .cols { grid-template-columns:1fr!important }
}

/* ===================== 04-最新活动.html  (scope .pt-archive-promo) ===================== */
.pt-archive-promo a { text-decoration:none;color:inherit }
.pt-archive-promo .mask { position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:250;display:none }
.pt-archive-promo .mask.show { display:block }
.pt-archive-promo .breadcrumb { padding:16px 0;font-size:13px;color:#888 }
.pt-archive-promo .breadcrumb a:hover { color:#ff6a00 }
.pt-archive-promo .page-head { background:linear-gradient(135deg,#0b2447,#2a4d8f);color:#fff;padding:48px 0 40px;text-align:center }
.pt-archive-promo .page-head h1 { font-size:30px;font-weight:800 }
.pt-archive-promo .page-head p { color:#c3d0e5;margin-top:10px;font-size:15px }
.pt-archive-promo .filter-bar { background:#fff;border-bottom:1px solid #edf0f5;padding:14px 0;position:sticky;top:60px;z-index:50 }
.pt-archive-promo .filter-bar .container { display:flex;align-items:center;gap:10px;flex-wrap:wrap }
.pt-archive-promo .filter-bar span { font-size:13px;color:#888 }
.pt-archive-promo .ftag { padding:5px 16px;border-radius:10px;font-size:13px;cursor:pointer;border:1px solid #ddd;color:#555 }
.pt-archive-promo .ftag.on { background:#ff6a00;color:#fff;border-color:#ff6a00 }
.pt-archive-promo section { padding:44px 0 56px }
.pt-archive-promo .agrid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px }
.pt-archive-promo .acard { background:#fff;border-radius:12px;overflow:hidden;border:1px solid #edf0f5;transition:.2s }
.pt-archive-promo .acard:hover { box-shadow:0 10px 28px rgba(11,36,71,.10);transform:translateY(-3px) }
.pt-archive-promo .acard .img { height:180px;background:linear-gradient(135deg,#ff8c3f,#ff6a00);display:flex;align-items:center;justify-content:center;color:#fff;font-size:42px }
.pt-archive-promo .acard .body { padding:20px 22px }
.pt-archive-promo .acard .tag-row { display:flex;gap:6px;margin-bottom:10px }
.pt-archive-promo .acard .tag-pill { font-size:11px;padding:2px 9px;border-radius:10px }
.pt-archive-promo .acard .tag-hot { background:#fff1e6;color:#ff6a00 }
.pt-archive-promo .acard .tag-new { background:#e6f7ee;color:#1a9c5b }
.pt-archive-promo .acard .tag-end { background:#f0f0f0;color:#999 }
.pt-archive-promo .acard b { font-size:17px;display:block;color:#181818;line-height:1.4 }
.pt-archive-promo .acard .desc { font-size:13.5px;color:#777;margin:10px 0 14px;line-height:1.65 }
.pt-archive-promo .acard .meta { display:flex;justify-content:space-between;align-items:center }
.pt-archive-promo .acard .price { color:#ff4d00;font-size:20px;font-weight:800 }
.pt-archive-promo .acard .price small { font-size:13px;color:#aaa;font-weight:400;text-decoration:line-through;margin-left:6px }
.pt-archive-promo .acard .time { font-size:12.5px;color:#aab }
.pt-archive-promo .acard .ops { margin-top:14px;display:flex;gap:10px }
.pt-archive-promo .acard .ops .btn { flex:1;text-align:center;padding:9px 0 }
.pt-archive-promo .pagination { display:flex;justify-content:center;gap:6px;margin-top:36px }
.pt-archive-promo .pagination a { width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#555 }
.pt-archive-promo .pagination a.on { background:#ff6a00;color:#fff;border-color:#ff6a00 }
.pt-archive-promo footer { background:#0b1626;color:#8b98ad;font-size:13px;padding:36px 0 20px }
.pt-archive-promo footer .cols { display:grid;grid-template-columns:repeat(5,1fr);gap:20px }
.pt-archive-promo footer h4 { color:#fff;font-size:14.5px;margin-bottom:14px }
.pt-archive-promo footer li { list-style:none;margin:7px 0 }
.pt-archive-promo footer .copy { border-top:1px solid #1d2a40;padding:16px 0;text-align:center;font-size:12px;color:#5a6a85 }
@media (max-width:1024px) { .pt-archive-promo .agrid { grid-template-columns:repeat(2,1fr) } }
@media (max-width:1024px) { .pt-archive-promo .page-head h1 { font-size:24px } }
@media (max-width:1024px) { .pt-archive-promo .page-head { padding:36px 0 30px } }
@media (max-width:1024px) { .pt-archive-promo .agrid { grid-template-columns:1fr } }
@media (max-width:1024px) { .pt-archive-promo .acard .img { height:140px } }
@media (max-width:1024px) { .pt-archive-promo footer .cols { grid-template-columns:1fr 1fr } }
@media (max-width:1024px) { .pt-archive-promo .filter-bar { position:relative;top:auto } }
@media (max-width:1024px) { .pt-archive-promo footer .cols { grid-template-columns:1fr } }
.pt-archive-promo .ico { width:1em; height:1em; vertical-align:-.15em; flex-shrink:0; }
@media (max-width:768px) {
  .pt-archive-promo .agrid { grid-template-columns:1fr!important }
  .pt-archive-promo .page-head h1 { font-size:22px!important }
  .pt-archive-promo .page-head { padding:32px 0 26px!important }
  .pt-archive-promo .acard .img { height:130px!important }
  .pt-archive-promo footer .cols { grid-template-columns:1fr!important }
  .pt-archive-promo .filter-bar .container { flex-wrap:wrap;gap:6px }
}

/* ===================== 06-解决方案.html  (scope .pt-archive-solution) ===================== */
.pt-archive-solution a { text-decoration:none;color:inherit }
.pt-archive-solution .breadcrumb { padding:16px 0;font-size:13px;color:#888 }
.pt-archive-solution .page-head { background:linear-gradient(135deg,#0b2447,#2a4d8f);color:#fff;padding:48px 0 40px;text-align:center }
.pt-archive-solution .page-head h1 { font-size:30px;font-weight:800 }
.pt-archive-solution .page-head p { color:#c3d0e5;margin-top:10px;font-size:15px }
.pt-archive-solution .ind-filter { padding:20px 0;text-align:center }
.pt-archive-solution .ind-filter span { padding:7px 22px;border-radius:8px;font-size:13.5px;margin:4px;cursor:pointer;display:inline-block;background:#fff;border:1px solid #ddd;color:#555 }
.pt-archive-solution .ind-filter span.on { background:#ff6a00;color:#fff;border-color:#ff6a00 }
.pt-archive-solution section { padding:44px 0 56px }
.pt-archive-solution .sgrid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px }
.pt-archive-solution .scard { border-radius:10px;padding:32px 28px;color:#fff;min-height:220px;display:flex;flex-direction:column;transition:.2s }
.pt-archive-solution .scard:hover { transform:translateY(-4px);box-shadow:0 16px 36px rgba(11,36,71,.15) }
.pt-archive-solution .scard.a { background:linear-gradient(135deg,#19376d,#0b2447) }
.pt-archive-solution .scard.b { background:linear-gradient(135deg,#c2410c,#7c2d12) }
.pt-archive-solution .scard.c { background:linear-gradient(135deg,#0e7490,#164e63) }
.pt-archive-solution .scard.d { background:linear-gradient(135deg,#7c3aed,#4c1d95) }
.pt-archive-solution .scard.e { background:linear-gradient(135deg,#047857,#065f46) }
.pt-archive-solution .scard.f { background:linear-gradient(135deg,#be185d,#9d174d) }
.pt-archive-solution .scard .ic { font-size:38px;margin-bottom:14px }
.pt-archive-solution .scard b { font-size:19px;line-height:1.35 }
.pt-archive-solution .scard p { font-size:13.5px;color:rgba(255,255,255,.78);margin:12px 0 18px;line-height:1.65;flex:1 }
.pt-archive-solution .scard .ops a { font-size:13.5px;color:#ffc194;margin-right:16px }
.pt-archive-solution .scard .ops a:hover { text-decoration:underline }
.pt-archive-solution .sdetail { background:#fff;border-radius:10px;padding:40px 36px;margin-top:20px }
.pt-archive-solution .sdetail h2 { font-size:23px;color:#181818;margin-bottom:16px;padding-left:14px;border-left:4px solid #ff6a00 }
.pt-archive-solution .sdetail h3 { font-size:17px;color:#333;margin:24px 0 10px }
.pt-archive-solution .sdetail p { font-size:14.5px;color:#555;line-height:1.85;margin:10px 0 }
.pt-archive-solution .sdetail ul { padding-left:22px;margin:12px 0 }
.pt-archive-solution .sdetail li { font-size:14.5px;color:#555;line-height:1.9;margin:6px 0 }
.pt-archive-solution .arch-box { background:#f6f8fb;border:2px dashed #d0d7de;border-radius:12px;padding:48px 20px;text-align:center;margin:24px 0;color:#999;font-size:15px }
.pt-archive-solution .arch-box::before { content:"<svg class="ico" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h7v7H4zM13 4h7v7h-7zM4 13h7v7H4zM13 13h7v7h-7z"/></svg> 架构示意图（后台：图片字段上传）";display:block }
.pt-archive-solution footer { background:#0b1626;color:#8b98ad;font-size:13px;padding:36px 0 20px }
.pt-archive-solution footer .cols { display:grid;grid-template-columns:repeat(5,1fr);gap:20px }
.pt-archive-solution footer h4 { color:#fff;font-size:14.5px;margin-bottom:14px }
.pt-archive-solution footer li { list-style:none;margin:7px 0 }
.pt-archive-solution footer .copy { border-top:1px solid #1d2a40;padding:16px 0;text-align:center;font-size:12px;color:#5a6a85 }
@media (max-width:1024px) { .pt-archive-solution .sgrid { grid-template-columns:repeat(2,1fr) } }
@media (max-width:1024px) { .pt-archive-solution .sgrid { grid-template-columns:1fr } }
@media (max-width:1024px) { .pt-archive-solution .page-head h1 { font-size:24px } }
@media (max-width:1024px) { .pt-archive-solution .page-head { padding:36px 0 30px } }
@media (max-width:1024px) { .pt-archive-solution footer .cols { grid-template-columns:1fr 1fr } }
@media (max-width:1024px) { .pt-archive-solution .sdetail { padding:26px 18px } }
@media (max-width:1024px) { .pt-archive-solution footer .cols { grid-template-columns:1fr } }
.pt-archive-solution .ico { width:1em; height:1em; vertical-align:-.15em; flex-shrink:0; }
@media (max-width:768px) {
  .pt-archive-solution .sgrid { grid-template-columns:1fr!important }
  .pt-archive-solution .page-head h1 { font-size:22px!important }
  .pt-archive-solution .page-head { padding:32px 0 26px!important }
  .pt-archive-solution footer .cols { grid-template-columns:1fr!important }
  .pt-archive-solution .sdetail { padding:22px 16px!important }
}

/* ===================== 08-客户案例.html  (scope .pt-archive-case) ===================== */
.pt-archive-case a { text-decoration:none;color:inherit }
.pt-archive-case .breadcrumb { padding:16px 0;font-size:13px;color:#888 }
.pt-archive-case .page-head { background:linear-gradient(135deg,#0b2447,#2a4d8f);color:#fff;padding:48px 0 40px;text-align:center }
.pt-archive-case .page-head h1 { font-size:30px;font-weight:800 }
.pt-archive-case .page-head p { color:#c3d0e5;margin-top:10px;font-size:15px }
.pt-archive-case .ind-filter { padding:18px 0;text-align:center }
.pt-archive-case .ind-filter span { padding:7px 20px;border-radius:8px;font-size:13.5px;margin:4px;cursor:pointer;display:inline-block;background:#fff;border:1px solid #ddd;color:#555 }
.pt-archive-case .ind-filter span.on { background:#ff6a00;color:#fff;border-color:#ff6a00 }
.pt-archive-case section { padding:44px 0 56px }
.pt-archive-case .cgrid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px }
.pt-archive-case .ccard { background:#fff;border-radius:12px;overflow:hidden;border:1px solid #edf0f5;transition:.2s }
.pt-archive-case .ccard:hover { box-shadow:0 10px 28px rgba(11,36,71,.10);transform:translateY(-3px) }
.pt-archive-case .ccard .cover { height:180px;background:linear-gradient(135deg,#2a4d8f,#0b2447);display:flex;align-items:center;justify-content:center;font-size:48px;color:rgba(255,255,255,.25) }
.pt-archive-case .ccard .body { padding:22px 24px }
.pt-archive-case .ccard .co { font-size:12px;color:#ff6a00;font-weight:700;letter-spacing:1px;margin-bottom:8px }
.pt-archive-case .ccard b { font-size:17px;color:#181818;line-height:1.35 }
.pt-archive-case .ccard p { font-size:13.5px;color:#777;margin:10px 0 16px;line-height:1.65 }
.pt-archive-case .ccard .stats { display:flex;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid #f0f2f5 }
.pt-archive-case .ccard .stats s { font-size:12.5px;color:#999 }
.pt-archive-case .ccard .stats b { font-size:13px;color:#181818 }
.pt-archive-case .ccard.big { grid-column:span 2 }
.pt-archive-case .ccard.big .cover { height:220px }
.pt-archive-case .ccard.big b { font-size:19px }
.pt-archive-case .cdetail { background:#fff;border-radius:10px;padding:40px 36px;margin-top:20px }
.pt-archive-case .cdetail h2 { font-size:23px;color:#181818;margin-bottom:10px }
.pt-archive-case .cdetail .meta { font-size:13px;color:#999;margin-bottom:22px }
.pt-archive-case .cdetail p { font-size:14.5px;color:#555;line-height:1.85;margin:12px 0 }
.pt-archive-case .cdetail h3 { font-size:17px;color:#333;margin:24px 0 10px }
.pt-archive-case .cdetail ul { padding-left:22px;margin:12px 0 }
.pt-archive-case .cdetail li { font-size:14.5px;color:#555;line-height:1.9;margin:6px 0 }
.pt-archive-case .cdetail .result-box { background:linear-gradient(135deg,#fff7f0,#fff);border:1px solid #ffe2cb;border-radius:12px;padding:24px 28px;margin:24px 0 }
.pt-archive-case .cdetail .result-box h4 { color:#ff6a00;font-size:16px;margin-bottom:12px }
.pt-archive-case .cdetail .result-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center }
.pt-archive-case .cdetail .result-grid b { display:block;font-size:26px;color:#ff4d00 }
.pt-archive-case .cdetail .result-grid small { font-size:13px;color:#888 }
.pt-archive-case footer { background:#0b1626;color:#8b98ad;font-size:13px;padding:36px 0 20px }
.pt-archive-case footer .cols { display:grid;grid-template-columns:repeat(5,1fr);gap:20px }
.pt-archive-case footer h4 { color:#fff;font-size:14.5px;margin-bottom:14px }
.pt-archive-case footer li { list-style:none;margin:7px 0 }
.pt-archive-case footer .copy { border-top:1px solid #1d2a40;padding:16px 0;text-align:center;font-size:12px;color:#5a6a85 }
@media (max-width:1024px) { .pt-archive-case .cgrid { grid-template-columns:1fr 1fr } }
@media (max-width:1024px) { .pt-archive-case .cgrid { grid-template-columns:1fr } }
@media (max-width:1024px) { .pt-archive-case .ccard.big { grid-column:auto } }
@media (max-width:1024px) { .pt-archive-case .page-head h1 { font-size:24px } }
@media (max-width:1024px) { .pt-archive-case .page-head { padding:36px 0 30px } }
@media (max-width:1024px) { .pt-archive-case footer .cols { grid-template-columns:1fr 1fr } }
.pt-archive-case .result-grid { grid-template-columns:1fr!important }
@media (max-width:1024px) { .pt-archive-case footer .cols { grid-template-columns:1fr } }
.pt-archive-case .ico { width:1em; height:1em; vertical-align:-.15em; flex-shrink:0; }
@media (max-width:768px) {
  .pt-archive-case .cgrid { grid-template-columns:1fr!important }
  .pt-archive-case .ccard.big { grid-column:auto!important }
  .pt-archive-case .page-head h1 { font-size:22px!important }
  .pt-archive-case .page-head { padding:32px 0 26px!important }
  .pt-archive-case footer .cols { grid-template-columns:1fr!important }
  .pt-archive-case .result-grid { grid-template-columns:1fr!important }
}