/*
Theme Name: Xinmai City Service
Theme URI: https://qwenwork.cn
Author: 新麦同城
Author URI: https://qwenwork.cn
Description: 新麦同城上门服务系统营销官网主题。浅色科技蓝 SaaS 风格，适用于家政、保洁、家电清洗同城到家服务平台的落地页。含营销首页、功能详情页模板，联系方式通过「外观 → 自定义」设置。
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: xinmai
Tags: business, custom-menu, custom-logo, one-column, translation-ready
*/

/* ═══════════ 变量与基础 ═══════════ */
:root {
  --blue: #2563eb;
  --blue-d: #1e4e8c;
  --cyan: #38bdf8;
  --accent: #0284c7;
  --navy-t: #0b2b5e;          /* 标题深蓝 */
  --txt-l: #33506f;           /* 正文 */
  --txt-m: #5a7ba6;           /* 次要文字 */
  --bg-1: #ffffff;            /* 白分区 */
  --bg-2: #f2f7fe;            /* 浅蓝分区 */
  --bg-soft: #f4f9ff;         /* 卡片浅底 */
  --card: #ffffff;
  --line: #cfe3f8;            /* 卡片描边 */
  --line-soft: #d6e5f8;
  --radius: 14px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: var(--navy-t);
  background: var(--bg-2);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }

.container { width: min(1200px, 92%); margin: 0 auto; }

/* ═══════════ 导航栏 ═══════════ */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line-soft);
}
.nav-wrap { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.brand { display: flex; align-items: center; gap: 10px; }
.brand-mark {
  width: 36px; height: 36px; border: 1.5px solid var(--blue); border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--blue); font-weight: 800; font-size: 18px;
  background: #eaf3fe;
}
.brand-name { color: var(--navy-t); font-weight: 700; font-size: 17px; letter-spacing: 1px; }
.brand-name small { display: block; font-size: 9px; color: #6a8fbe; letter-spacing: 2px; font-weight: 400; }

.main-nav ul { list-style: none; display: flex; gap: 28px; }
.main-nav a { color: var(--txt-l); font-size: 15px; }
.main-nav a:hover { color: var(--navy-t); text-decoration: none; }
.nav-cta {
  display: inline-flex; align-items: center; padding: 8px 20px; border-radius: 999px;
  background: linear-gradient(92deg, #22d3ee, #2563eb); color: #fff;
  font-size: 14px; font-weight: 600;
}
.nav-cta:hover { text-decoration: none; opacity: .92; }

.nav-toggle { display: none; background: none; border: 1px solid var(--line); border-radius: 8px;
  color: var(--txt-l); width: 40px; height: 36px; font-size: 18px; cursor: pointer; }

@media (max-width: 900px) {
  .nav-toggle { display: block; }
  .main-nav { display: none; position: absolute; top: 64px; left: 0; right: 0;
    background: #fff; border-bottom: 1px solid var(--line-soft); padding: 12px 4%; }
  .main-nav.open { display: block; }
  .main-nav ul { flex-direction: column; gap: 4px; }
  .main-nav a { display: block; padding: 10px 8px; }
  .nav-cta-wrap { display: none; }
}

/* ═══════════ 通用区块 ═══════════ */
.section { padding: 72px 0; }
.section--dark { background: var(--bg-1); position: relative; overflow: hidden; }
.section--light { background: var(--bg-2); }
.section--dark::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(37, 99, 235, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37, 99, 235, .045) 1px, transparent 1px);
  background-size: 44px 44px;
}
.section--dark .container { position: relative; z-index: 2; }

.sec-head { text-align: center; margin-bottom: 44px; }
.sec-chip {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 18px;
  border-radius: 999px; font-size: 13px; letter-spacing: 2px;
  border: 1px solid #bbd8f5; color: var(--accent); background: #e8f3fd;
}
.sec-chip .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }

.sec-title { margin-top: 14px; font-size: 34px; font-weight: 800; letter-spacing: 2px; line-height: 1.25; color: var(--navy-t); }
.sec-title .hl { color: var(--accent); }
.sec-sub { margin-top: 10px; font-size: 15px; letter-spacing: 1px; color: var(--txt-m); }

@media (max-width: 640px) {
  .sec-title { font-size: 26px; }
  .section { padding: 52px 0; }
}

/* ═══════════ Hero（浅色） ═══════════ */
.hero { background: linear-gradient(180deg, #ffffff 0%, #eaf3fe 70%, #dcebfc 100%);
  padding: 88px 0 64px; position: relative; overflow: hidden; }
.hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(37, 99, 235, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37, 99, 235, .05) 1px, transparent 1px);
  background-size: 46px 46px;
}
.hero .container { position: relative; z-index: 2; display: grid;
  grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 10px; padding: 7px 20px;
  border: 1px solid #bbd8f5; border-radius: 999px;
  color: var(--accent); font-size: 14px; letter-spacing: 2px; background: #fff;
}
.hero-badge .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.hero h1 { margin: 22px 0 0; font-size: 48px; font-weight: 800; letter-spacing: 3px; line-height: 1.2; color: var(--navy-t); }
.hero h1 .hl { color: var(--accent); }
.hero-sub { margin-top: 16px; font-size: 17px; color: var(--txt-m); letter-spacing: 1px; }
.hero-sub b { color: var(--navy-t); font-weight: 600; }
.hero-ctas { margin-top: 32px; display: flex; gap: 16px; flex-wrap: wrap; }
.btn-primary {
  display: inline-flex; align-items: center; gap: 8px; padding: 13px 32px;
  border-radius: 999px; background: linear-gradient(92deg, #22d3ee, #2563eb);
  color: #fff; font-size: 16px; font-weight: 700; letter-spacing: 1px;
  box-shadow: 0 10px 26px rgba(37, 99, 235, .3); border: none; cursor: pointer;
}
.btn-primary:hover { text-decoration: none; opacity: .93; transform: translateY(-1px); }
.btn-ghost {
  display: inline-flex; align-items: center; gap: 8px; padding: 13px 30px;
  border-radius: 999px; border: 1px solid #9cc6ec; color: var(--accent);
  font-size: 15px; font-weight: 600; background: #fff;
}
.btn-ghost:hover { text-decoration: none; background: #eaf3fe; }
.hero-stats { margin-top: 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.hero-stat .v { font-size: 30px; font-weight: 800; color: var(--accent); }
.hero-stat .t { font-size: 13px; color: var(--txt-m); margin-top: 2px; }

.hero-visual { position: relative; height: 560px; }
.hero-platform { position: absolute; bottom: 90px; left: 50%; transform: translateX(-50%);
  width: 440px; height: 56px; border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(37, 99, 235, .22), rgba(37, 99, 235, 0) 70%);
  filter: blur(8px); }
.phone {
  position: absolute; background: #fff; border-radius: 20px; padding: 6px;
  border: 1px solid var(--line-soft);
  box-shadow: 0 18px 40px rgba(30, 80, 160, .22), 0 4px 10px rgba(30, 80, 160, .1);
}
.phone img { border-radius: 15px; width: 100%; }
.phone--l { width: 150px; left: 8%; top: 110px; transform: rotate(-9deg); z-index: 1; }
.phone--r { width: 150px; right: 8%; top: 110px; transform: rotate(9deg); z-index: 1; }
.phone--m { width: 190px; left: 50%; margin-left: -95px; top: 22px; z-index: 3; }
.hero-chip {
  position: absolute; z-index: 6; display: flex; align-items: center; gap: 8px;
  background: #fff; border: 1px solid var(--line-soft); border-radius: 999px; padding: 8px 14px;
  font-size: 12.5px; color: var(--navy-t); font-weight: 600;
  box-shadow: 0 8px 20px rgba(30, 80, 160, .15);
}
.hero-chip .ic { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center;
  justify-content: center; color: #fff; font-size: 11px; flex: none; }
.hero-chip--1 { left: 2%; top: 40px; }
.hero-chip--1 .ic { background: linear-gradient(135deg, #22d3ee, #0ea5e9); }
.hero-chip--2 { right: 0; top: 400px; }
.hero-chip--2 .ic { background: linear-gradient(135deg, #fbbf24, #f59e0b); }

@media (max-width: 900px) {
  .hero .container { grid-template-columns: 1fr; }
  .hero-visual { height: 470px; max-width: 480px; margin: 0 auto; }
  .hero h1 { font-size: 34px; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
}

/* ═══════════ 卡片体系 ═══════════ */
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.stat-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 24px 18px; text-align: center; box-shadow: 0 6px 18px rgba(30, 80, 160, .08); }
.stat-card .num { font-size: 26px; font-weight: 800; color: var(--accent); }
.stat-card .t { margin-top: 6px; font-size: 16px; font-weight: 700; color: var(--navy-t); }
.stat-card .d { margin-top: 6px; font-size: 12.5px; color: var(--txt-m); }

@media (max-width: 800px) { .stat-grid { grid-template-columns: repeat(2, 1fr); } }

/* 对比区 */
.vs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px; }
.vs-col { border-radius: 16px; padding: 26px 24px; }
.vs-old { background: #fff; border: 1px solid #e7d4d4; }
.vs-new { background: linear-gradient(170deg, #0b2f63, #0a5aad); border: 1px solid rgba(56, 189, 248, .5);
  box-shadow: 0 16px 36px rgba(10, 60, 140, .22); }
.vs-col .vh { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 800; }
.vs-old .vh { color: #b4443c; }
.vs-new .vh { color: #fff; }
.vs-col .vh .vb { width: 10px; height: 10px; border-radius: 3px; }
.vs-old .vh .vb { background: #e08a84; }
.vs-new .vh .vb { background: #38bdf8; }
.vs-col ul { list-style: none; margin-top: 16px; }
.vs-col li { position: relative; padding-left: 26px; font-size: 14.5px; margin-bottom: 12px; }
.vs-old li { color: #8c6a6a; }
.vs-new li { color: #d6e8fc; }
.vs-old li::before { content: "✕"; position: absolute; left: 0; color: #d08a84; font-weight: 700; }
.vs-new li::before { content: "✓"; position: absolute; left: 0; color: #5eead4; font-weight: 700; }
@media (max-width: 760px) { .vs-grid { grid-template-columns: 1fr; } }

/* 三端架构 */
.arch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.arch-card { background: var(--bg-soft); border: 1px solid var(--line);
  border-radius: 16px; padding: 30px 22px; text-align: center; }
.arch-card .aic { width: 64px; height: 64px; margin: 0 auto; border-radius: 18px;
  display: flex; align-items: center; justify-content: center; }
.arch-card .aic svg { width: 30px; height: 30px; }
.aic--1 { background: linear-gradient(135deg, #22d3ee, #0ea5e9); }
.aic--2 { background: linear-gradient(135deg, #f87171, #ef4444); }
.aic--3 { background: linear-gradient(135deg, #818cf8, #6366f1); }
.arch-card .at { margin-top: 14px; font-size: 20px; font-weight: 800; color: var(--navy-t); }
.arch-card .ae { margin-top: 4px; font-size: 11px; color: #6a8fbe; letter-spacing: 2px; }
.arch-card .ad { margin-top: 12px; font-size: 14px; color: var(--txt-l); }
.arch-card .am { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 16px; }
.arch-card .am span { padding: 5px 12px; border-radius: 999px; font-size: 12.5px; color: var(--blue-d);
  background: #e8f3fd; border: 1px solid #bbd8f5; }
.arch-link { margin-top: 24px; text-align: center; color: #8fa8c8; font-size: 13px; letter-spacing: 2px; }
@media (max-width: 860px) { .arch-grid { grid-template-columns: 1fr; } }

/* 图文功能行 */
.frow { display: flex; align-items: center; gap: 40px; }
.frow + .frow { margin-top: 60px; }
.frow--rev { flex-direction: row-reverse; }
.frow .txt { flex: 1; min-width: 0; }
.frow .shot { width: 260px; flex: none; text-align: center; }
.frow .shot img { width: 100%; }
.frow .shot .cap { margin-top: 10px; font-size: 13px; color: #33598c; }
.row-title { font-size: 24px; font-weight: 800; letter-spacing: 1px; margin-bottom: 18px; color: var(--navy-t); }
.row-title .bar { display: inline-block; width: 8px; height: 22px; border-radius: 4px;
  margin-right: 10px; vertical-align: -2px; background: linear-gradient(180deg, #22d3ee, #2563eb); }

.check-list { list-style: none; }
.check-list li { position: relative; padding-left: 32px; margin-bottom: 15px;
  font-size: 15.5px; line-height: 1.55; color: var(--txt-l); }
.check-list li b { font-weight: 700; color: var(--navy-t); }
.check-list .ck { position: absolute; left: 0; top: 4px; width: 19px; height: 19px; border-radius: 50%;
  background: linear-gradient(135deg, #22d3ee, #2563eb); display: flex; align-items: center;
  justify-content: center; color: #fff; font-size: 11px; }

@media (max-width: 760px) {
  .frow, .frow--rev { flex-direction: column-reverse; gap: 24px; }
  .frow .shot { width: 200px; }
}

/* 后台/手机截图框 */
.shot-frame { background: #fff; border-radius: 12px; padding: 7px;
  border: 1px solid var(--line-soft);
  box-shadow: 0 14px 34px rgba(30, 80, 160, .16), 0 3px 8px rgba(30, 80, 160, .08); }
.shot-frame img { border-radius: 7px; width: 100%; }
.shot-cap { margin-top: 12px; text-align: center; font-size: 14px; font-weight: 600; color: #33598c; }
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 34px; }
@media (max-width: 760px) { .duo { grid-template-columns: 1fr; } }

/* 盈利模式 */
.rev-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rev-card { background: var(--bg-soft); border: 1px solid var(--line);
  border-radius: 14px; padding: 26px 16px; text-align: center; }
.rev-card .ric { width: 54px; height: 54px; margin: 0 auto; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; font-weight: 800; color: #fff; }
.rev-card .rt { margin-top: 14px; font-size: 19px; font-weight: 800; color: var(--navy-t); }
.rev-card .rd { margin-top: 8px; font-size: 13px; color: var(--txt-m); line-height: 1.55; }
@media (max-width: 860px) { .rev-grid { grid-template-columns: repeat(2, 1fr); } }

/* 标签矩阵 */
.tag-cloud { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.tag-cloud .tag { padding: 9px 22px; border-radius: 11px; font-size: 15px;
  letter-spacing: 1px; font-weight: 600; white-space: nowrap;
  background: #fff; border: 1px solid #c9ddf5; color: var(--blue-d);
  box-shadow: 0 4px 12px rgba(30, 80, 160, .08); }

/* 行业宫格 */
.ind-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ind-card { background: #fff; border: 1px solid #d6e5f8; border-radius: 14px;
  padding: 24px 10px; text-align: center; box-shadow: 0 6px 16px rgba(30, 80, 160, .07); }
.ind-card .iic { width: 54px; height: 54px; margin: 0 auto; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 21px; font-weight: 800; }
.ind-card .it { margin-top: 12px; font-size: 16px; font-weight: 700; color: var(--navy-t); }
@media (max-width: 860px) { .ind-grid { grid-template-columns: repeat(2, 1fr); } }

/* 服务保障 */
.svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.svc-card { background: var(--bg-soft); border: 1px solid var(--line);
  border-radius: 14px; padding: 26px 14px; text-align: center; }
.svc-card .sic { width: 54px; height: 54px; margin: 0 auto; border-radius: 50%;
  background: linear-gradient(135deg, #22d3ee, #2563eb);
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 17px; }
.svc-card .st { margin-top: 12px; font-size: 18px; font-weight: 800; color: var(--navy-t); }
.svc-card .sd { margin-top: 8px; font-size: 13px; color: var(--txt-m); line-height: 1.55; }
@media (max-width: 860px) { .svc-grid { grid-template-columns: repeat(2, 1fr); } }

/* 联系 CTA（蓝色渐变点睛） */
.cta-panel { background: linear-gradient(168deg, #0a2a5c, #0c5aa8); border: 1px solid rgba(56, 189, 248, .5);
  border-radius: 20px; padding: 52px 40px; text-align: center;
  box-shadow: 0 20px 50px rgba(8, 50, 120, .28); }
.cta-panel h2 { color: #fff; font-size: 32px; font-weight: 800; letter-spacing: 2px; }
.cta-panel .sub { margin-top: 10px; color: #bae0fb; font-size: 16px; letter-spacing: 1px; }
.cta-panel .contact-rows { margin-top: 26px; display: flex; justify-content: center; gap: 36px; flex-wrap: wrap; }
.cta-panel .contact-item { color: #d6e8fc; font-size: 15px; }
.cta-panel .contact-item b { color: #fff; font-size: 20px; }
.cta-panel .btns { margin-top: 28px; display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.cta-panel .btn-ghost { background: rgba(255, 255, 255, .08); color: #bae0fb; border-color: rgba(56, 189, 248, .5); }
.cta-panel .btn-ghost:hover { background: rgba(255, 255, 255, .16); }

/* ═══════════ 页脚 ═══════════ */
.site-footer { background: #0b2b5e; color: #8fa8c8; padding: 40px 0 28px;
  border-top: 3px solid var(--blue); }
.footer-wrap { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px; }
.footer-brand { display: flex; align-items: center; gap: 10px; color: #bae0fb; font-weight: 700; }
.footer-brand .brand-mark { width: 30px; height: 30px; font-size: 14px; border-radius: 7px;
  border-color: #38bdf8; color: #38bdf8; background: rgba(56, 189, 248, .12); }
.footer-note { font-size: 12.5px; letter-spacing: 1px; }

/* ═══════════ 内页 ═══════════ */
.page-hero { background: linear-gradient(180deg, #eaf3fe, #f6faff); border-bottom: 1px solid var(--line-soft);
  padding: 64px 0 48px; }
.page-hero h1 { font-size: 34px; font-weight: 800; letter-spacing: 2px; margin-top: 12px; color: var(--navy-t); }
.page-hero h1 .hl { color: var(--accent); }
.page-hero .breadcrumb { color: var(--txt-m); font-size: 13.5px; letter-spacing: 1px; }
.page-content { padding: 56px 0; }
.page-content .entry-content { max-width: 860px; margin: 0 auto; font-size: 16px; }
.page-content h2 { margin: 1.6em 0 .6em; font-size: 24px; }
.page-content p { margin-bottom: 1em; }
.page-content ul, .page-content ol { margin: 0 0 1em 1.4em; }

/* 功能页 */
.feature-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.feature-group { background: #fff; border: 1px solid #d6e5f8; border-radius: 14px; padding: 26px 22px; }
.feature-group h3 { font-size: 18px; color: var(--navy-t); display: flex; align-items: center; gap: 10px; }
.feature-group h3 .vb { width: 8px; height: 18px; border-radius: 4px; background: linear-gradient(180deg, #22d3ee, #2563eb); }
.feature-group ul { list-style: none; margin-top: 14px; }
.feature-group li { position: relative; padding-left: 24px; font-size: 14.5px; color: var(--txt-l); margin-bottom: 9px; }
.feature-group li::before { content: "✓"; position: absolute; left: 0; color: var(--blue); font-size: 12px; }
@media (max-width: 860px) { .feature-groups { grid-template-columns: 1fr; } }

/* ═══════════ 下拉菜单（参考 xmo2o 结构） ═══════════ */
.main-nav ul li { position: relative; }
.main-nav li.menu-item-has-children > a::after {
  content: " ▾"; font-size: 11px; color: #8fa8c8;
}
.main-nav ul ul {
  display: none; position: absolute; top: 100%; left: 0; z-index: 110;
  background: #fff; border: 1px solid var(--line-soft); border-radius: 12px;
  box-shadow: 0 16px 36px rgba(30, 80, 160, .18);
  min-width: 180px; padding: 8px 0; white-space: nowrap;
}
.main-nav ul li:hover > ul,
.main-nav ul li:focus-within > ul { display: block; }
.main-nav ul ul li { width: 100%; }
.main-nav ul ul a {
  display: block; padding: 10px 22px; font-size: 14px; color: var(--txt-l);
}
.main-nav ul ul a:hover { background: #eaf3fe; color: var(--navy-t); }

/* ═══════════ 页脚菜单（四栏，参考 xmo2o） ═══════════ */
.footer-menu {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px;
  padding: 44px 0 32px; border-bottom: 1px solid rgba(143, 168, 200, .18);
}
.foot-col h4 {
  color: #e3f2ff; font-size: 15px; font-weight: 700; letter-spacing: 1px;
  margin-bottom: 14px; display: flex; align-items: center; gap: 8px;
}
.foot-col h4::before {
  content: ""; width: 6px; height: 14px; border-radius: 3px;
  background: linear-gradient(180deg, #22d3ee, #2563eb); display: inline-block;
}
.foot-col ul { list-style: none; }
.foot-col li { margin-bottom: 9px; }
.foot-col a { color: #8fa8c8; font-size: 13.5px; }
.foot-col a:hover { color: #bae0fb; text-decoration: none; }
.footer-contact li { color: #8fa8c8; font-size: 13.5px; line-height: 1.8; }
.footer-contact b { color: #bae0fb; font-weight: 600; }
@media (max-width: 860px) {
  .footer-menu { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 560px) {
  .footer-menu { grid-template-columns: 1fr; }
}

/* 移动端：子菜单展开显示（触屏无 hover） */
@media (max-width: 900px) {
  .main-nav ul ul {
    display: block; position: static; background: transparent;
    border: none; box-shadow: none; min-width: 0; padding: 0 0 6px 18px;
  }
  .main-nav ul ul a { padding: 7px 10px; font-size: 13.5px; color: var(--txt-m); }
  .main-nav ul ul a:hover { background: transparent; color: var(--navy-t); }
  .main-nav li.menu-item-has-children > a::after { content: ""; }
}

/* ═══════════ 新闻资讯模块 ═══════════ */
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.news-card {
  background: #fff; border: 1px solid var(--line-soft); border-radius: 14px;
  overflow: hidden; box-shadow: 0 6px 16px rgba(30, 80, 160, .07);
  display: flex; flex-direction: column; transition: transform .15s, box-shadow .15s;
}
.news-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(30, 80, 160, .14); }
.news-card .thumb { aspect-ratio: 16/9; overflow: hidden; background: #eaf3fe; }
.news-card .thumb img { width: 100%; height: 100%; object-fit: cover; }
.news-card .thumb--ph {
  aspect-ratio: 16/9; background: linear-gradient(135deg, #eaf3fe, #d6ebfd);
  display: flex; align-items: center; justify-content: center;
  color: #9cc6ec; font-size: 30px; font-weight: 800;
}
.news-body { padding: 18px 20px 20px; flex: 1; display: flex; flex-direction: column; }
.news-meta { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--txt-m); }
.news-meta .cat {
  padding: 2px 10px; border-radius: 999px; background: #e8f3fd;
  color: var(--accent); font-size: 12px; font-weight: 600;
}
.news-title { margin-top: 10px; font-size: 17px; font-weight: 700; color: var(--navy-t); line-height: 1.4; }
.news-title a { color: inherit; }
.news-title a:hover { color: var(--accent); text-decoration: none; }
.news-excerpt { margin-top: 8px; font-size: 13.5px; color: var(--txt-m); line-height: 1.6;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.news-foot { margin-top: auto; padding-top: 12px; display: flex; align-items: center;
  justify-content: space-between; font-size: 12.5px; color: #8fa8c8; }
.news-foot .more { color: var(--accent); font-weight: 600; }
.news-more-btn { text-align: center; margin-top: 34px; }
@media (max-width: 860px) { .news-grid { grid-template-columns: 1fr; } }

/* 新闻列表页 */
.news-list-page .news-grid { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 760px) { .news-list-page .news-grid { grid-template-columns: 1fr; } }
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 40px; }
.pagination .page-numbers {
  min-width: 38px; height: 38px; padding: 0 12px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid var(--line-soft); color: var(--txt-l); font-size: 14px;
}
.pagination .page-numbers:hover { border-color: var(--blue); color: var(--accent); text-decoration: none; }
.pagination .page-numbers.current { background: linear-gradient(92deg, #22d3ee, #2563eb);
  border-color: transparent; color: #fff; font-weight: 700; }

/* 文章详情页 */
.single-article { max-width: 860px; margin: 0 auto; }
.single-article .art-meta { display: flex; gap: 16px; color: var(--txt-m); font-size: 13.5px; margin: 14px 0 26px; }
.single-article .art-content { font-size: 16px; color: var(--txt-l); line-height: 1.9; }
.single-article .art-content img { border-radius: 10px; margin: 1.2em auto; }
.single-article .art-content h2 { color: var(--navy-t); margin: 1.5em 0 .5em; }
.single-article .art-content h3 { color: var(--navy-t); margin: 1.2em 0 .4em; }
.single-article .art-content p { margin-bottom: 1em; }
.single-article .art-content blockquote {
  border-left: 4px solid var(--cyan); background: #f4f9ff;
  padding: 14px 20px; border-radius: 0 10px 10px 0; margin: 1.2em 0; color: var(--txt-m);
}
.art-nav { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--line-soft);
  display: flex; justify-content: space-between; gap: 16px; }
.art-nav a { flex: 1; background: #fff; border: 1px solid var(--line-soft); border-radius: 12px;
  padding: 14px 18px; font-size: 14px; color: var(--txt-l); }
.art-nav a:hover { border-color: var(--blue); text-decoration: none; color: var(--accent); }
.art-nav .next { text-align: right; }
