/*
Theme Name: 益思途 Yisitu
Theme URI: https://yisitu.example.com
Author: Yisitu
Author URI: https://yisitu.example.com
Description: 益思途成考网门户主题——面向成人高考信息服务门户设计，内置成考院校与招生专业管理（自定义文章类型 + 城市/类别筛选）、四栏资讯中心、SEO 优化（TDK / Open Graph / JSON-LD / noindex）、留言咨询与完整的后台自定义选项。
Version: 2.8.6
Requires at least: 5.9
Tested up to: 6.7
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: yisitu
Tags: education, news, two-columns, custom-menu, custom-logo, featured-images
*/

/* ==========================================================
   益思途成考网 · 主题样式 V2
   品牌色：藏青 #16345F / 青蓝 #00B4C8
   ========================================================== */
:root {
  --navy: #16345f;
  --navy-deep: #0d2445;
  --navy-mid: #1d4176;
  --teal: #00b4c8;
  --teal-deep: #008fa3;
  --teal-soft: #e3f7fa;
  --ink: #1f2c3f;
  --gray: #64748b;
  --line: #e6edf5;
  --bg: #f4f7fb;
  --radius: 14px;
  --shadow-sm: 0 2px 10px rgba(13,36,69,.06);
  --shadow-md: 0 8px 30px rgba(13,36,69,.10);
  --shadow-lg: 0 16px 44px rgba(13,36,69,.16);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a { text-decoration:none; color:inherit; transition:all .25s ease; }
ul { list-style:none; }
img { max-width:100%; height:auto; }
h1,h2,h3,h4,h5,h6 { line-height:1.5; }
.wrap { width:1200px; max-width:94%; margin:0 auto; }
.icon { width:1em; height:1em; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.12em; }
.screen-reader-text { position:absolute !important; overflow:hidden; clip:rect(1px,1px,1px,1px); width:1px; height:1px; }

/* ---------- 顶部条 ---------- */
.topbar { background:var(--navy-deep); color:rgba(255,255,255,.72); font-size:13px; height:40px; display:flex; align-items:center; }
.topbar .wrap { display:flex; justify-content:space-between; align-items:center; }
.topbar .welcome { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.topbar .sep { margin:0 14px; opacity:.3; }
.topbar a { color:rgba(255,255,255,.72); }
.topbar a:hover { color:var(--teal); }

/* ---------- 头部 ---------- */
.header { background:#fff; box-shadow:0 1px 0 var(--line); }
.header .wrap { display:flex; align-items:center; gap:40px; height:96px; }
.brand { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.custom-logo, .brand img { height:54px; width:auto; }
.brand .logo-ph { width:54px; height:54px; border-radius:14px; background:linear-gradient(135deg,var(--navy-deep),var(--navy-mid)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:800; font-family:Georgia,serif; }
.brand .txt .cn { font-size:26px; font-weight:800; color:var(--navy); letter-spacing:3px; line-height:1.3; white-space:nowrap; }
.brand .txt .en { font-size:10.5px; color:var(--teal-deep); letter-spacing:4.5px; text-transform:uppercase; font-weight:600; white-space:nowrap; }

.searchbox { flex:1; max-width:470px; }
.searchbox .box { display:flex; border:2px solid var(--teal); border-radius:999px; overflow:hidden; background:#fff; box-shadow:0 4px 14px rgba(0,180,200,.14); }
.searchbox input { flex:1; border:0; outline:none; padding:11px 22px; font-size:14px; font-family:inherit; color:var(--ink); min-width:0; }
.searchbox input::placeholder { color:#9aa8bd; }
.searchbox button { border:0; background:linear-gradient(135deg,var(--teal) 0%,var(--teal-deep) 100%); color:#fff; padding:0 30px; font-size:15px; font-family:inherit; cursor:pointer; }
.searchbox .hotwords { font-size:12px; color:var(--gray); margin-top:7px; padding-left:22px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.searchbox .hotwords a { color:var(--gray); margin-right:14px; }
.searchbox .hotwords a:hover { color:var(--teal); }

.head-hotline { margin-left:auto; display:flex; align-items:center; gap:16px; flex-shrink:0; }
.head-hotline .hl-wx { position:relative; text-align:center; cursor:pointer; }
.head-hotline .hl-wx .mini { width:54px; height:54px; border-radius:12px; background:#fff; border:1px solid var(--line);
  box-shadow:0 6px 16px rgba(22,52,95,.1); padding:5px; display:block; object-fit:cover; box-sizing:border-box; }
.head-hotline .hl-wx .mini.wx-ph { display:flex; align-items:center; justify-content:center; color:var(--teal-deep); font-size:22px; }
.head-hotline .hl-wx .cap { font-size:10.5px; color:var(--teal-deep); margin-top:4px; font-weight:700; }
.head-hotline .wxpop { position:absolute; right:0; top:calc(100% + 10px); width:170px; background:#fff; border:1px solid var(--line);
  border-radius:14px; box-shadow:0 14px 34px rgba(22,52,95,.18); padding:12px; opacity:0; visibility:hidden;
  transform:translateY(-6px); transition:all .25s ease; z-index:99; text-align:center; pointer-events:none; }
.head-hotline .hl-wx:hover .wxpop { opacity:1; visibility:visible; transform:translateY(0); }
.head-hotline .wxpop img { width:146px; height:146px; border-radius:10px; display:block; object-fit:cover; }
.head-hotline .wxpop .bcap { font-size:11.5px; color:var(--navy); margin-top:8px; }
.head-hotline .wxpop .bcap b { color:var(--teal-deep); }
.head-hotline .hl-sep { width:1px; height:46px; background:var(--line); }
.head-hotline .hl-tel .t1 { font-size:11.5px; color:var(--gray); }
.head-hotline .hl-tel .t2 { font-size:24px; font-weight:800; color:var(--navy); letter-spacing:1px; line-height:1.25; }
.nav-toggle { display:none; }

/* ---------- 主导航 ---------- */
.nav { background:linear-gradient(90deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-mid) 100%); position:relative; z-index:50; }
.nav::after { content:""; position:absolute; left:0; right:0; bottom:-5px; height:5px;
  background:linear-gradient(90deg,var(--teal) 0%,rgba(0,180,200,.25) 60%,transparent 100%); }
.nav .wrap { display:flex; align-items:stretch; }
.nav .wrap > a, .nav .menu > li > a { display:flex; align-items:center; height:52px; padding:0 25px; color:rgba(255,255,255,.88); font-size:15.5px; font-weight:500; position:relative; }
.nav .menu { display:flex; }
.nav .menu li { list-style:none; }
.nav a.home, .nav a.on { background:var(--teal); color:#fff !important; font-weight:700; }
.nav .wrap > a:not(.home):hover, .nav .menu > li > a:hover { background:rgba(255,255,255,.08); color:#fff; }
.nav a .icon { font-size:15px; margin-right:6px; opacity:.85; }

/* ---------- 首屏 ---------- */
.hero { padding:26px 0 0; background:
  radial-gradient(900px 300px at 85% -60px, rgba(0,180,200,.10), transparent 60%),
  radial-gradient(700px 260px at 8% -40px, rgba(22,52,95,.08), transparent 60%), var(--bg); }
.hero-grid { display:grid; grid-template-columns:1fr 350px; gap:22px; }

.slider { position:relative; height:398px; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lg);
  background:linear-gradient(115deg,var(--navy-deep) 0%,var(--navy) 45%,var(--navy-mid) 75%,#2a5c9e 100%); color:#fff; }
.slider .slide-img { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.35; }
.slider .deco { position:absolute; inset:0; overflow:hidden; }
.slider .deco .c1 { position:absolute; width:420px; height:420px; border-radius:50%; right:-90px; top:-140px;
  background:radial-gradient(circle at 30% 30%,rgba(0,180,200,.5),rgba(0,180,200,.06) 70%); filter:blur(2px); }
.slider .deco .c2 { position:absolute; width:260px; height:260px; border-radius:50%; right:150px; bottom:-120px;
  border:44px solid rgba(255,255,255,.05); }
.slider .deco .c3 { position:absolute; width:150px; height:150px; border-radius:50%; left:52%; top:56px;
  background:radial-gradient(circle,rgba(245,166,35,.4),transparent 70%); }
.slider .deco .grid-dots { position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px); background-size:26px 26px; }
.slider .slide { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:0 64px; z-index:2; opacity:0; visibility:hidden; transition:opacity .6s ease; }
.slider .slide.active { opacity:1; visibility:visible; }
.slider .tag { display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  background:rgba(0,180,200,.22); border:1px solid rgba(0,180,200,.55); color:#7de6f2;
  font-size:13px; padding:4px 16px; border-radius:999px; margin-bottom:20px; letter-spacing:1px; }
.slider h2 { font-size:38px; font-weight:800; letter-spacing:1px; margin-bottom:14px; text-shadow:0 4px 18px rgba(0,0,0,.25); }
.slider h2 .hl { color:#5fe3f2; }
.slider p { font-size:15.5px; color:rgba(255,255,255,.82); max-width:520px; margin-bottom:30px; }
.slider .btns { display:flex; gap:14px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 34px; border-radius:999px; font-size:15px; font-weight:600; cursor:pointer; border:0; font-family:inherit; }
.btn-primary { background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); color:#fff; box-shadow:0 10px 24px rgba(0,180,200,.42); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,180,200,.55); }
.btn-ghost { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.4); backdrop-filter:blur(4px); }
.btn-ghost:hover { background:rgba(255,255,255,.22); }
.slider .dots { position:absolute; left:64px; bottom:26px; display:flex; gap:9px; z-index:3; }
.slider .dots i { width:30px; height:5px; border-radius:5px; background:rgba(255,255,255,.35); cursor:pointer; transition:.25s; }
.slider .dots i.on { background:var(--teal); box-shadow:0 0 12px rgba(0,180,200,.8); }

.hero-side { display:flex; flex-direction:column; gap:20px; }
.apply-card { border-radius:18px; padding:24px 24px 22px; color:#fff; position:relative; overflow:hidden;
  background:linear-gradient(140deg,var(--teal-deep) 0%,var(--teal) 55%,#35cfe0 100%); box-shadow:0 12px 32px rgba(0,180,200,.35); }
.apply-card::before { content:""; position:absolute; width:180px; height:180px; border-radius:50%; right:-70px; top:-70px; border:30px solid rgba(255,255,255,.14); }
.apply-card .tt { font-size:19px; font-weight:800; letter-spacing:1px; margin-bottom:4px; position:relative; }
.apply-card .st { font-size:12.5px; color:rgba(255,255,255,.85); margin-bottom:16px; position:relative; }
.apply-card .btn { width:100%; justify-content:center; background:#fff; color:var(--navy); font-size:15px; padding:11px 0; margin-bottom:10px; box-shadow:0 6px 16px rgba(0,60,80,.18); position:relative; }
.apply-card .btn:hover { transform:translateY(-2px); }
.apply-card .btn.qq { background:rgba(255,255,255,.16); color:#fff; border:1px solid rgba(255,255,255,.45); box-shadow:none; margin-bottom:0; }

.notice-card { background:#fff; border-radius:18px; box-shadow:var(--shadow-md); overflow:hidden; flex:1; display:flex; flex-direction:column; }
.panel-head { display:flex; justify-content:space-between; align-items:center; padding:16px 22px 14px; border-bottom:1px solid var(--line); }
.panel-head .pt { font-size:17.5px; font-weight:800; color:var(--navy); display:flex; align-items:center; gap:10px; }
.panel-head .pt::before { content:""; width:5px; height:18px; border-radius:3px; background:linear-gradient(180deg,var(--teal),var(--teal-deep)); }
.panel-head .more { font-size:13px; color:var(--gray); }
.panel-head .more:hover { color:var(--teal); }
.notice-card ul { padding:8px 22px 14px; flex:1; margin:0; }
.notice-card li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8.5px 0; border-bottom:1px dashed var(--line); font-size:14px; }
.notice-card li:last-child { border-bottom:0; }
.notice-card li .t { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); position:relative; padding-left:14px; }
.notice-card li .t::before { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:6px; height:6px; border-radius:50%; background:var(--teal); opacity:.7; }
.notice-card li:hover .t { color:var(--teal-deep); }
.notice-card li .d { font-size:12px; color:#9aa8bd; background:var(--bg); border-radius:6px; padding:1px 9px; flex-shrink:0; }

/* ---------- 数据带 ---------- */
.stats { margin-top:30px; background:#fff; border-radius:18px; box-shadow:var(--shadow-sm);
  display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; }
.stat { text-align:center; padding:26px 10px; position:relative; }
.stat + .stat::before { content:""; position:absolute; left:0; top:26%; height:48%; width:1px; background:var(--line); }
.stat .num { font-size:34px; font-weight:800; color:var(--navy); font-family:Georgia,serif; }
.stat .num i { font-style:normal; font-size:19px; color:var(--teal); margin-left:2px; }
.stat .lab { font-size:13.5px; color:var(--gray); margin-top:2px; }

/* ---------- 通用板块头（V3 紧凑一行式：青色立标 + 通栏分界线） ---------- */
.sec { padding:34px 0 6px; }
.sec-head { display:flex; align-items:center; gap:16px; border-bottom:1px solid var(--line); padding-bottom:11px; margin-bottom:20px; }
.sec-head .cn { font-size:21px; font-weight:800; color:var(--navy); letter-spacing:1px; display:flex; align-items:center; gap:10px; line-height:1.2; }
.sec-head .cn::before { content:""; width:5px; height:19px; border-radius:3px; background:linear-gradient(180deg,var(--teal),var(--teal-deep)); flex-shrink:0; }
.sec-head .cn em { font-style:normal; color:var(--teal); }
.sec-head .en { font-size:11px; color:#a5b3c5; letter-spacing:2.5px; text-transform:uppercase; margin-top:2px; white-space:nowrap; }
.sec-head .more { margin-left:auto; font-size:13px; color:var(--gray); transition:color .2s; white-space:nowrap; }
.sec-head .more:hover { color:var(--teal-deep); }

/* ---------- 资讯四栏（2×2） ---------- */
.news-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.news-panel { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; }
.news-panel ul { padding:10px 22px 18px; margin:0; }
.news-panel li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:9px 0; border-bottom:1px dashed var(--line); font-size:14px; }
.news-panel li:last-child { border-bottom:0; }
.news-panel li .t { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); }
.news-panel li .t::before { content:""; display:inline-block; width:6px; height:6px; border-radius:2px; transform:rotate(45deg); background:var(--teal); margin-right:9px; opacity:.75; }
.news-panel li:hover .t { color:var(--teal-deep); }
.news-panel li .d { font-size:12px; color:#9aa8bd; flex-shrink:0; }
.news-panel li .tagchip { font-size:11px; color:var(--teal-deep); background:var(--teal-soft); border-radius:999px; padding:1px 9px; flex-shrink:0; margin-right:8px; }
.news-panel li .tagchip.zl { color:#c07b12; background:#fdf3e3; }
.news-panel li .tagchip.tk { color:var(--navy-mid); background:#e8eefa; }
.news-empty { padding:20px 22px; font-size:13.5px; color:var(--gray); }

/* ---------- 成考院校（首页小卡） ---------- */
.uni-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.uni { background:#fff; border-radius:16px; box-shadow:var(--shadow-sm); padding:22px 20px; display:flex; gap:16px; align-items:center;
  border:1px solid transparent; transition:all .3s ease; }
.uni:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:rgba(0,180,200,.3); }
.uni .logo { width:68px; height:68px; flex-shrink:0; border-radius:16px; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:21px; font-weight:800; font-family:Georgia,serif;
  box-shadow:0 8px 18px rgba(13,36,69,.2); }
.uni:nth-child(4n+1) .logo { background:linear-gradient(135deg,var(--navy-deep),var(--navy-mid)); }
.uni:nth-child(4n+2) .logo { background:linear-gradient(135deg,var(--teal-deep),#2fc9da); }
.uni:nth-child(4n+3) .logo { background:linear-gradient(135deg,#1d4176,#3a6cb0); }
.uni:nth-child(4n+4) .logo { background:linear-gradient(135deg,#0e7d92,#00b4c8); }
.uni .info { min-width:0; flex:1; }
.uni .nm { font-size:16px; font-weight:800; color:var(--navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; }
.uni .lv { font-size:11.5px; color:var(--teal-deep); background:var(--teal-soft); display:inline-block; border-radius:999px; padding:0 10px; margin:5px 0 6px; }
.uni .ds { font-size:12.5px; color:var(--gray); line-height:1.65; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ---------- 新手入门 ---------- */
.guide-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.guide { border-radius:16px; padding:26px 12px 22px; text-align:center; color:#fff; position:relative; overflow:hidden;
  background:linear-gradient(150deg,var(--navy) 0%,var(--navy-mid) 100%); transition:all .3s ease; box-shadow:0 8px 22px rgba(13,36,69,.22); }
.guide:nth-child(even) { background:linear-gradient(150deg,var(--teal-deep) 0%,#25cadb 100%); box-shadow:0 8px 22px rgba(0,180,200,.28); }
.guide:hover { transform:translateY(-6px) scale(1.02); }
.guide::after { content:""; position:absolute; width:120px; height:120px; border-radius:50%; right:-46px; bottom:-46px; border:20px solid rgba(255,255,255,.10); }
.guide .ic { font-size:30px; margin-bottom:12px; display:block; }
.guide .nm { font-size:15.5px; font-weight:700; letter-spacing:1px; }
.guide .ds { font-size:12px; color:rgba(255,255,255,.72); margin-top:3px; }

/* ---------- 热门专业 ---------- */
.major-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.major { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; transition:all .3s ease; }
.major:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.major .cover { height:110px; position:relative; display:flex; align-items:center; justify-content:center; color:#fff;
  background:linear-gradient(120deg,var(--navy-deep),var(--navy) 55%,var(--navy-mid)); }
.major:nth-child(2) .cover, .major:nth-child(4) .cover { background:linear-gradient(120deg,var(--teal-deep),var(--teal) 60%,#3fd2e2); }
.major .cover::before { content:""; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px); background-size:20px 20px; }
.major .cover::after { content:""; position:absolute; width:130px; height:130px; border-radius:50%; right:-50px; top:-50px; border:22px solid rgba(255,255,255,.12); }
.major .cover .nm { font-size:21px; font-weight:800; letter-spacing:4px; text-shadow:0 3px 12px rgba(0,0,0,.28); position:relative; }
.major .body { padding:18px 20px 20px; }
.major .body p { font-size:13px; color:var(--gray); min-height:66px; }
.major .meta { display:flex; justify-content:space-between; align-items:center; margin-top:14px; padding-top:13px; border-top:1px dashed var(--line); }
.major .lv { font-size:12px; color:var(--teal-deep); background:var(--teal-soft); border-radius:999px; padding:2px 13px; font-weight:600; }
.major .go { font-size:13px; font-weight:600; color:var(--navy); display:flex; align-items:center; gap:4px; }
.major:hover .go { color:var(--teal-deep); gap:8px; }

/* ---------- 报名流程 ---------- */
.process { margin-top:46px; padding:54px 0 58px; color:#fff; position:relative; overflow:hidden;
  background:linear-gradient(110deg,var(--navy-deep) 0%,var(--navy) 50%,#1c4884 100%); }
.process::before { content:""; position:absolute; width:560px; height:560px; border-radius:50%; left:-200px; top:-260px; border:70px solid rgba(255,255,255,.035); }
.process::after { content:""; position:absolute; width:400px; height:400px; border-radius:50%; right:-140px; bottom:-200px; background:radial-gradient(circle,rgba(0,180,200,.28),transparent 70%); }
.process .sec-head .cn { color:#fff; }
.process .sec-head .en { color:rgba(255,255,255,.45); }
.proc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; z-index:2; }
.proc { text-align:center; position:relative; padding:26px 14px; border-radius:18px; background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(6px); transition:all .3s ease; }
.proc:hover { background:rgba(255,255,255,.13); transform:translateY(-5px); }
.proc .no { width:58px; height:58px; margin:0 auto 16px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:24px; font-weight:800; font-family:Georgia,serif; color:#5fe3f2;
  border:2px solid rgba(0,180,200,.65); background:rgba(0,180,200,.12); box-shadow:0 0 22px rgba(0,180,200,.35) inset; }
.proc h4 { font-size:17.5px; font-weight:700; letter-spacing:1px; margin-bottom:7px; }
.proc p { font-size:13px; color:rgba(255,255,255,.68); }
.proc .arrow { position:absolute; right:-24px; top:50%; transform:translateY(-50%); font-size:22px; color:rgba(0,180,200,.75); z-index:3; }
.proc:last-child .arrow { display:none; }

/* ---------- 友情链接 & 页脚 ---------- */
.friend { background:#fff; border-bottom:1px solid var(--line); padding:15px 0; font-size:13px; }
.friend .wrap { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.friend b { color:var(--navy); flex-shrink:0; }
.friend a { color:var(--gray); }
.friend a:hover { color:var(--teal); }

.footer { background:linear-gradient(180deg,var(--navy-deep),#0a1d38); color:rgba(255,255,255,.65); }
.footer-main { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:40px; padding:48px 0 34px; }
.fcol h4 { color:#fff; font-size:16.5px; font-weight:700; margin-bottom:16px; padding-bottom:10px; position:relative; }
.fcol h4::after { content:""; position:absolute; left:0; bottom:0; width:30px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--teal),transparent); }
.fcol ul { list-style:none; }
.fcol li { font-size:13.5px; margin-bottom:9px; }
.fcol a { color:rgba(255,255,255,.62); }
.fcol a:hover { color:var(--teal); }
.fcol p { font-size:13.5px; margin-bottom:9px; }
.fcol .brandline { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.fcol .brandline img, .fcol .brandline .custom-logo { height:40px; width:auto; background:#fff; border-radius:8px; padding:4px 8px; }
.fcol .brandline .site-name { color:#fff; font-weight:700; letter-spacing:2px; }
.fcol .ct { display:flex; align-items:flex-start; gap:10px; margin-bottom:11px; font-size:13.5px; }
.fcol .ct .icon { color:var(--teal); font-size:16px; margin-top:3px; flex-shrink:0; }
.fcol .ct b { color:#fff; font-size:14.5px; }
.fcol .qr { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:12px 12px 10px; text-align:center; width:150px; }
.fcol .qr img { width:100px; height:100px; margin:0 auto 8px; border-radius:10px; display:block; object-fit:cover; background:#fff; padding:6px; box-sizing:border-box; }
.fcol .qr .box { width:100px; height:100px; margin:0 auto 8px; border-radius:10px; background:linear-gradient(135deg,var(--teal-soft),#fff); display:flex; align-items:center; justify-content:center; color:var(--teal-deep); font-size:34px; }
.fcol .qr span { font-size:12px; color:rgba(255,255,255,.68); line-height:1.55; }
.fcol .qr span b { display:block; font-weight:500; }
.copyright { border-top:1px solid rgba(255,255,255,.09); padding:17px 0; text-align:center; font-size:12.5px; color:rgba(255,255,255,.42); }
.copyright a { color:rgba(255,255,255,.5); }

/* ---------- 浮动条 ---------- */
.float { position:fixed; right:16px; top:50%; transform:translateY(-50%); z-index:99; display:flex; flex-direction:column; gap:8px; }
.fbtn { width:54px; height:54px; background:#fff; border-radius:14px; box-shadow:var(--shadow-md);
  display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:11px; color:var(--navy);
  cursor:pointer; position:relative; transition:all .25s ease; }
.fbtn .icon { font-size:19px; color:var(--teal-deep); margin-bottom:1px; }
.fbtn:hover { background:var(--navy); color:#fff; }
.fbtn:hover .icon { color:#5fe3f2; }
.fbtn .pop { position:absolute; right:62px; top:50%; transform:translateY(-50%); background:#fff; border-radius:12px;
  box-shadow:var(--shadow-lg); padding:12px 20px; font-size:13.5px; color:var(--navy); white-space:nowrap; display:none; }
.fbtn .pop b { color:var(--teal-deep); font-size:16px; }
.fbtn:hover .pop { display:block; }

/* ==========================================================
   内页通用
   ========================================================== */
.page-banner {
  background:linear-gradient(110deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-mid) 100%);
  color:#fff; padding:42px 0 46px; position:relative; overflow:hidden;
}
.page-banner::before { content:""; position:absolute; width:380px; height:380px; border-radius:50%; right:-120px; top:-190px;
  background:radial-gradient(circle at 35% 45%,rgba(0,180,200,.35),transparent 70%); }
.page-banner::after { content:""; position:absolute; width:220px; height:220px; border-radius:50%; left:6%; bottom:-130px;
  border:36px solid rgba(255,255,255,.04); }
.page-banner h1 { font-size:28px; font-weight:800; letter-spacing:2px; position:relative; }
.page-banner .crumb { font-size:13px; color:rgba(255,255,255,.65); margin-top:8px; position:relative; }
.page-banner .crumb a { color:rgba(255,255,255,.85); }
.page-banner .crumb a:hover { color:var(--teal); }
.page-banner .crumb i { font-style:normal; margin:0 8px; opacity:.5; }

.page-body { display:grid; grid-template-columns:1fr 320px; gap:24px; padding:30px 0 50px; }
.page-body.no-side { grid-template-columns:1fr; }
.page-body.side-left { grid-template-columns:320px 1fr; }
.main-col { min-width:0; }

/* 侧边栏 */
.sidebar { display:flex; flex-direction:column; gap:20px; }
.widget { background:#fff; border-radius:16px; box-shadow:var(--shadow-sm); overflow:hidden; }
.widget .panel-head { padding:15px 20px 13px; }
.widget ul { padding:8px 20px 16px; margin:0; }
.widget li { padding:8px 0; border-bottom:1px dashed var(--line); font-size:14px; list-style:none; }
.widget li:last-child { border-bottom:0; }
.widget li a { display:flex; justify-content:space-between; gap:10px; color:var(--ink); }
.widget li a .t { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.widget li a:hover .t { color:var(--teal-deep); }
.widget li a .d { font-size:12px; color:#9aa8bd; flex-shrink:0; }
.widget li .wrow { display:flex; justify-content:space-between; gap:10px; font-size:14px; }
.widget li .wrow a { color:var(--ink); }
.widget li .wrow:hover a { color:var(--teal-deep); }
.widget li .wrow .cnt { font-size:12px; color:#9aa8bd; }
/* 小工具标题统一（兼容区块版小工具的 h2 标题块与旧版 widget-title） */
.widget .widget-title, .widget .widgettitle,
.widget > h2, .widget > h3, .widget > h4,
.widget .wp-block-heading {
  position:relative; display:block; margin:0;
  font-size:15.5px !important; font-weight:700; line-height:1.4; letter-spacing:0;
  color:var(--navy) !important; background:none; padding:14px 20px 12px 30px;
  border-bottom:1px solid var(--line);
}
.widget .widget-title::before, .widget .widgettitle::before,
.widget > h2::before, .widget > h3::before, .widget > h4::before,
.widget .wp-block-heading::before {
  content:""; position:absolute; left:18px; top:50%; transform:translateY(-50%);
  width:4px; height:15px; border-radius:2px;
  background:linear-gradient(180deg,var(--teal),var(--teal-deep));
}
/* 小工具内文本/段落内容内边距 */
.widget .textwidget, .widget > p { padding:10px 20px 16px; margin:0; font-size:14px; color:var(--ink); }
.widget .wp-block-latest-comments { padding:8px 20px 16px; margin:0; font-size:14px; }
.widget .wp-block-latest-comments .wp-block-latest-comments__comment { padding:8px 0; border-bottom:1px dashed var(--line); margin:0; line-height:1.6; }
.widget .wp-block-latest-comments .wp-block-latest-comments__comment:last-child { border-bottom:0; }
.widget select, .widget .wp-block-archives-dropdown select, .widget .wp-block-categories-dropdown select {
  margin:12px 20px 16px; max-width:calc(100% - 40px); }

.widget.consult { background:linear-gradient(150deg,var(--navy) 0%,var(--navy-mid) 100%); color:#fff; }
.widget.consult .panel-head { border-bottom-color:rgba(255,255,255,.12); }
.widget.consult .pt { color:#fff; }
.widget.consult .cline { display:flex; align-items:center; gap:10px; padding:7px 20px; font-size:14px; }
.widget.consult .cline .icon { color:#5fe3f2; font-size:17px; flex-shrink:0; }
.widget.consult .cline b { color:#5fe3f2; font-size:15.5px; }
.widget.consult .btn { display:flex; justify-content:center; align-items:center; margin:6px 20px 18px; background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); color:#fff; font-size:14.5px; font-weight:600; padding:10px 0; border-radius:999px; }
.widget.consult .btn:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,180,200,.45); }

.tagcloud { padding:6px 20px 18px; }
.tagcloud a { display:inline-block; background:var(--teal-soft); color:var(--teal-deep); font-size:12.5px !important; padding:3px 14px; border-radius:999px; margin:0 7px 9px 0; }
.tagcloud a:hover { background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); color:#fff; }

/* 侧栏院校迷你卡 */
.uni-mini { display:flex; align-items:center; gap:12px; padding:10px 20px; border-bottom:1px dashed var(--line); }
.uni-mini:last-child { border-bottom:0; }
.uni-mini .lg { width:42px; height:42px; flex-shrink:0; border-radius:12px; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:14px; font-weight:800; font-family:Georgia,serif; background:linear-gradient(135deg,var(--navy-deep),var(--navy-mid)); box-shadow:0 6px 14px rgba(13,36,69,.18); }
.uni-mini:nth-child(even) .lg { background:linear-gradient(135deg,var(--teal-deep),#2fc9da); }
.uni-mini .nm { font-size:14px; font-weight:700; color:var(--navy); line-height:1.4; display:block; }
.uni-mini .ct { font-size:12px; color:var(--gray); }
.uni-mini:hover .nm { color:var(--teal-deep); }

/* ==========================================================
   列表页
   ========================================================== */
.list-card { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; }
.cat-intro { padding:18px 26px; background:linear-gradient(90deg,var(--teal-soft),#fff 65%); border-bottom:1px solid var(--line);
  display:flex; align-items:center; gap:14px; }
.cat-intro .ic { width:46px; height:46px; border-radius:13px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); color:#fff; font-size:22px; box-shadow:0 8px 18px rgba(0,180,200,.32); }
.cat-intro h2 { font-size:19px; font-weight:800; color:var(--navy); }
.cat-intro p { font-size:12.5px; color:var(--gray); }

.post-item { display:flex; gap:22px; padding:24px 26px; border-bottom:1px solid var(--line); transition:background .25s; }
.post-item:hover { background:#fafcff; }
.post-item:last-of-type { border-bottom:0; }
.post-item .pic { width:225px; height:140px; flex-shrink:0; border-radius:12px; overflow:hidden; position:relative;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:17px; font-weight:700; letter-spacing:2px;
  text-shadow:0 3px 10px rgba(0,0,0,.3); }
.post-item .pic img { width:100%; height:100%; object-fit:cover; }
.post-item .pic.g1 { background:linear-gradient(125deg,var(--navy-deep),var(--navy) 60%,var(--navy-mid)); }
.post-item .pic.g2 { background:linear-gradient(125deg,var(--teal-deep),var(--teal) 65%,#3fd2e2); }
.post-item .pic .tag { position:absolute; left:0; top:12px; background:rgba(255,255,255,.92); color:var(--navy); font-size:11.5px; font-weight:600; padding:2px 13px 2px 9px; border-radius:0 999px 999px 0; z-index:2; }
.post-item .info { min-width:0; display:flex; flex-direction:column; flex:1; }
.post-item h2, .post-item h3 { font-size:17.5px; font-weight:700; line-height:1.55; margin-bottom:9px; }
.post-item h2 a, .post-item h3 a { color:var(--navy); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.post-item h2 a:hover, .post-item h3 a:hover { color:var(--teal-deep); }
.post-item .desc { font-size:13.5px; color:var(--gray); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; flex:1; }
.post-item .meta { display:flex; gap:18px; font-size:12px; color:#9aa8bd; margin-top:12px; flex-wrap:wrap; }
.post-item .meta span { display:flex; align-items:center; gap:5px; }
.post-item .meta .icon { font-size:14px; }
.post-item .meta .cattag { color:var(--teal-deep); background:var(--teal-soft); border-radius:999px; padding:1px 12px; }

.filter-bar { display:flex; align-items:center; gap:8px; padding:14px 26px; border-bottom:1px solid var(--line); background:#fafcff; flex-wrap:wrap; }
.filter-bar .lab { font-size:13px; color:var(--gray); margin-right:4px; }
.filter-bar a { font-size:13px; color:var(--gray); background:#fff; border:1px solid var(--line); border-radius:999px; padding:3px 15px; }
.filter-bar a:hover { color:var(--teal-deep); border-color:var(--teal); }
.filter-bar a.on { background:linear-gradient(135deg,var(--navy),var(--navy-mid)); color:#fff; border-color:transparent; font-weight:600; }

/* 分页 */
.pagination, .nav-links { display:flex; justify-content:center; align-items:center; gap:8px; padding:30px 0 6px; flex-wrap:wrap; }
.pagination a, .pagination span, .nav-links a, .nav-links span {
  min-width:38px; text-align:center; padding:7px 14px; background:#fff; border:1px solid var(--line);
  border-radius:10px; font-size:14px; color:var(--ink); box-shadow:var(--shadow-sm); display:inline-block;
}
.pagination .cur, .nav-links .current { background:linear-gradient(135deg,var(--navy),var(--navy-mid)); color:#fff; border-color:transparent; font-weight:700; }
.pagination a:hover:not(.cur), .nav-links a:hover { border-color:var(--teal); color:var(--teal-deep); }
.pagination .dots, .nav-links .dots { border:0; box-shadow:none; background:transparent; }

/* ==========================================================
   文章页
   ========================================================== */
.article-card { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; padding:34px 38px 38px; }
.article-head h1 { font-size:26px; font-weight:800; color:var(--navy); line-height:1.6; }
.article-meta { display:flex; align-items:center; gap:18px; flex-wrap:wrap; font-size:12.5px; color:#9aa8bd;
  margin:16px 0 24px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.article-meta span { display:flex; align-items:center; gap:5px; }
.article-meta .icon { font-size:14px; }
.article-meta .cattag { color:var(--teal-deep); background:var(--teal-soft); border-radius:999px; padding:2px 14px; font-size:12px; font-weight:600; }
.article-meta .cattag:hover { background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); color:#fff; }

/* 正文排版（文章与页面共用） */
.article-body { font-size:15.5px; color:#2a3648; }
.article-body p { margin-bottom:18px; }
.article-body h2 { font-size:19px; font-weight:800; color:var(--navy); margin:30px 0 14px; padding-left:13px; position:relative; }
.article-body h2::before { content:""; position:absolute; left:0; top:5px; width:5px; height:18px; border-radius:3px; background:linear-gradient(180deg,var(--teal),var(--teal-deep)); }
.article-body h3 { font-size:16.5px; font-weight:700; color:var(--navy); margin:22px 0 10px; }
.article-body strong { color:var(--navy); }
.article-body a { color:var(--teal-deep); }
.article-body a:hover { text-decoration:underline; }
.article-body ul, .article-body ol { margin:0 0 18px 24px; }
.article-body ul li, .article-body ol li { margin-bottom:6px; }
.article-body img { border-radius:14px; margin:6px 0 22px; }
.article-body blockquote { border-left:4px solid var(--teal); background:var(--teal-soft); border-radius:0 12px 12px 0; padding:14px 20px; margin:6px 0 22px; color:#0b5c68; }
.article-body table { width:100%; border-collapse:separate; border-spacing:0; margin:6px 0 22px; font-size:14px;
  border-radius:12px; overflow:hidden; box-shadow:var(--shadow-sm); }
.article-body th { background:linear-gradient(135deg,var(--navy),var(--navy-mid)); color:#fff; padding:11px 16px; text-align:left; font-weight:600; }
.article-body td { padding:10px 16px; border-bottom:1px solid var(--line); background:#fff; }
.article-body tr:last-child td { border-bottom:0; }
.article-body tr:nth-child(even) td { background:#fafcff; }
.article-body tr:hover td { background:var(--teal-soft); }

/* 重点提示框（编辑器内可用 <div class="tipbox info/warn">） */
.tipbox { border-radius:14px; padding:16px 20px; margin:6px 0 22px; font-size:14px; display:flex; gap:12px; align-items:flex-start; }
.tipbox .icon { font-size:19px; margin-top:2px; flex-shrink:0; }
.tipbox.warn { background:#fdf3e3; color:#8a5a10; border:1px solid #f5deb8; }
.tipbox.info { background:var(--teal-soft); color:#0b5c68; border:1px solid #b8ecf2; }

/* 标签 & 上下篇 */
.article-tags { display:flex; align-items:center; gap:8px; margin-top:26px; padding-top:18px; border-top:1px solid var(--line); font-size:13px; color:var(--gray); flex-wrap:wrap; }
.article-tags a { background:var(--teal-soft); color:var(--teal-deep); border-radius:999px; padding:2px 14px; font-size:12.5px; }
.article-tags a:hover { background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); color:#fff; }

.prevnext { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:22px; }
.prevnext a { background:#fafcff; border:1px solid var(--line); border-radius:12px; padding:13px 18px; font-size:13.5px;
  color:var(--gray); display:flex; flex-direction:column; gap:3px; transition:all .25s; min-width:0; }
.prevnext a:last-child { text-align:right; align-items:flex-end; }
.prevnext a b { color:var(--navy); font-size:14.5px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.prevnext a:hover { border-color:var(--teal); box-shadow:var(--shadow-sm); }
.prevnext a:hover b { color:var(--teal-deep); }
.prevnext .none { opacity:.5; pointer-events:none; }

/* 相关阅读 */
.related { margin-top:26px; }
.related h4 { font-size:17px; font-weight:800; color:var(--navy); margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.related h4::before { content:""; width:5px; height:18px; border-radius:3px; background:linear-gradient(180deg,var(--teal),var(--teal-deep)); }
.related ul { margin:0; }
.related ul li { padding:9px 0; border-bottom:1px dashed var(--line); font-size:14px; display:flex; justify-content:space-between; gap:12px; }
.related ul li:last-child { border-bottom:0; }
.related ul li a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); }
.related ul li a::before { content:""; display:inline-block; width:6px; height:6px; border-radius:2px; transform:rotate(45deg); background:var(--teal); margin-right:9px; opacity:.75; }
.related ul li a:hover { color:var(--teal-deep); }
.related ul li .d { font-size:12px; color:#9aa8bd; flex-shrink:0; }

/* 评论区 */
.comments { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); padding:28px 38px 32px; margin-top:22px; }
.comments h3 { font-size:18px; font-weight:800; color:var(--navy); margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.comments h3::before { content:""; width:5px; height:18px; border-radius:3px; background:linear-gradient(180deg,var(--teal),var(--teal-deep)); }
.comment-list { margin:0; }
.comment-list .comment, .comment-list .pingback { display:flex; gap:14px; padding:16px 0; border-bottom:1px dashed var(--line); list-style:none; }
.comment-list .depth-2, .comment-list .depth-3 { padding-left:12px; }
.comment .avatar { width:42px; height:42px; border-radius:50%; flex-shrink:0; }
.comment .avatar-default { width:42px; height:42px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:16px; font-weight:700; background:linear-gradient(135deg,var(--navy),var(--navy-mid)); }
.comment .cbody { flex:1; min-width:0; }
.comment .cname { font-size:14px; font-weight:700; color:var(--navy); }
.comment .ctime { font-size:12px; color:#9aa8bd; margin-left:10px; }
.comment .ctext { font-size:14px; color:var(--ink); margin-top:5px; }
.comment .reply { font-size:12.5px; color:var(--teal-deep); margin-top:7px; display:inline-block; }
.comment .reply a { color:var(--teal-deep); }
.comment .children { margin:0; }
.comment-awaiting-moderation { color:#c07b12; font-size:12.5px; }

.comment-form, #commentform { margin-top:24px; background:#fafcff; border:1px solid var(--line); border-radius:14px; padding:22px 24px; }
.comment-form .frow { display:flex; gap:14px; margin-bottom:14px; flex-wrap:wrap; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"] { flex:1; min-width:180px; border:1px solid var(--line); border-radius:10px; padding:10px 16px; font-size:14px; font-family:inherit; outline:none; background:#fff; }
.comment-form input:focus { border-color:var(--teal); }
.comment-form textarea, #commentform textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:12px 16px; font-size:14px; font-family:inherit; outline:none; background:#fff; min-height:96px; resize:vertical; }
.comment-form textarea:focus, #commentform textarea:focus { border-color:var(--teal); }
.comment-form .submit, #commentform .submit { display:inline-flex; margin-top:14px; background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); color:#fff; border:0; padding:12px 34px; border-radius:999px; font-size:15px; font-weight:600; cursor:pointer; font-family:inherit; box-shadow:0 10px 24px rgba(0,180,200,.42); }
.comment-form .submit:hover, #commentform .submit:hover { transform:translateY(-2px); }
.comment-form .comment-notes, .comment-form .logged-in-as { font-size:12.5px; color:var(--gray); margin-bottom:12px; }
.no-comments { font-size:13.5px; color:var(--gray); padding:14px 0 4px; }

/* ==========================================================
   通用页面（单栏）
   ========================================================== */
.page-card { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; padding:34px 38px 38px; }
.pmeta { display:flex; gap:18px; font-size:12.5px; color:#9aa8bd; margin-bottom:22px; padding-bottom:16px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.pmeta span { display:flex; align-items:center; gap:5px; }
.pmeta .icon { font-size:14px; }
.page-body-txt { font-size:15.5px; color:#2a3648; }
.page-body-txt p { margin-bottom:18px; }

.feature-row { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:6px 0 22px; }
.feature { border-radius:16px; padding:24px 20px; background:linear-gradient(150deg,var(--navy) 0%,var(--navy-mid) 100%); color:#fff; position:relative; overflow:hidden; }
.feature:nth-child(even) { background:linear-gradient(150deg,var(--teal-deep) 0%,#25cadb 100%); }
.feature::after { content:""; position:absolute; width:110px; height:110px; border-radius:50%; right:-42px; bottom:-42px; border:18px solid rgba(255,255,255,.10); }
.feature .icon { font-size:28px; margin-bottom:12px; display:block; }
.feature h4 { font-size:16.5px; font-weight:700; margin-bottom:7px; position:relative; }
.feature p { font-size:12.5px; color:rgba(255,255,255,.78); position:relative; }

.page-cta { margin-top:28px; border-radius:16px; padding:26px 30px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  background:linear-gradient(110deg,var(--navy-deep),var(--navy) 55%,var(--navy-mid)); color:#fff; position:relative; overflow:hidden; }
.page-cta::after { content:""; position:absolute; width:260px; height:260px; border-radius:50%; right:-90px; top:-120px; background:radial-gradient(circle,rgba(0,180,200,.35),transparent 70%); pointer-events:none; }
.page-cta .tt { font-size:19px; font-weight:800; letter-spacing:1px; position:relative; }
.page-cta .st { font-size:13px; color:rgba(255,255,255,.72); margin-top:4px; position:relative; }
.page-cta .btn { position:relative; z-index:1; }

/* 装饰性伪元素一律不拦截点击（防止盖住按钮/链接的"吞点击"问题） */
.apply-card::before, .guide::after, .major .cover::before, .major .cover::after,
.process::before, .process::after, .countdown::after, .proc-panel::before,
.dl-card::before, .uni-hero .banner::before, .uni-hero .banner::after,
.feature::after, .page-banner::before, .page-banner::after { pointer-events:none; }

/* ==========================================================
   院校列表页
   ========================================================== */
.city-filter { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); padding:20px 26px; margin-bottom:22px; }
.city-filter .row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.city-filter .row + .row { margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); }
.city-filter .lab { font-size:13.5px; color:var(--navy); font-weight:700; display:flex; align-items:center; gap:6px; margin-right:6px; }
.city-filter .lab .icon { color:var(--teal-deep); font-size:16px; }
.city-filter a.chip { font-size:13px; color:var(--gray); background:#fff; border:1px solid var(--line); border-radius:999px; padding:3px 15px; }
.city-filter a.chip:hover { color:var(--teal-deep); border-color:var(--teal); }
.city-filter a.chip.on { background:linear-gradient(135deg,var(--navy),var(--navy-mid)); color:#fff; border-color:transparent; font-weight:600; }
.city-filter .cnt { font-size:12.5px; color:var(--gray); margin-left:auto; }
.city-filter .cnt b { color:var(--teal-deep); font-size:15px; }

.uni-grid-page { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.uni-card { background:#fff; border-radius:16px; box-shadow:var(--shadow-sm); padding:22px 24px; display:flex; gap:18px; align-items:center;
  border:1px solid transparent; transition:all .3s ease; }
.uni-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:rgba(0,180,200,.3); }
.uni-card .logo { width:74px; height:74px; flex-shrink:0; border-radius:18px; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:22px; font-weight:800; font-family:Georgia,serif; box-shadow:0 8px 18px rgba(13,36,69,.2); }
.uni-card:nth-child(4n+1) .logo { background:linear-gradient(135deg,var(--navy-deep),var(--navy-mid)); }
.uni-card:nth-child(4n+2) .logo { background:linear-gradient(135deg,var(--teal-deep),#2fc9da); }
.uni-card:nth-child(4n+3) .logo { background:linear-gradient(135deg,#1d4176,#3a6cb0); }
.uni-card:nth-child(4n+4) .logo { background:linear-gradient(135deg,#0e7d92,#00b4c8); }
.uni-card .info { min-width:0; flex:1; }
.uni-card .top { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.uni-card .nm { font-size:17px; font-weight:800; color:var(--navy); }
.uni-card .city { font-size:11.5px; color:var(--navy-mid); background:#e8eefa; border-radius:999px; padding:0 10px; }
.uni-card .lv { font-size:11.5px; color:var(--teal-deep); background:var(--teal-soft); border-radius:999px; padding:0 10px; }
.uni-card .desc { font-size:13px; color:var(--gray); margin-top:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.uni-card .foot { display:flex; justify-content:space-between; align-items:center; margin-top:10px; }
.uni-card .majors { font-size:12.5px; color:var(--gray); }
.uni-card .majors b { color:var(--teal-deep); font-size:15px; }
.uni-card .go { font-size:13px; font-weight:600; color:var(--navy); }
.uni-card:hover .go { color:var(--teal-deep); }

/* ==========================================================
   院校详情页
   ========================================================== */
.uni-hero { border-radius:18px; overflow:hidden; box-shadow:var(--shadow-md); }
.uni-hero .banner { background:linear-gradient(110deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-mid) 100%); color:#fff;
  padding:34px 34px 30px; position:relative; overflow:hidden; }
.uni-hero .banner::before { content:""; position:absolute; width:300px; height:300px; border-radius:50%; right:-100px; top:-150px;
  background:radial-gradient(circle,rgba(0,180,200,.35),transparent 70%); }
.uni-hero .banner::after { content:""; position:absolute; width:180px; height:180px; border-radius:50%; left:5%; bottom:-90px; border:28px solid rgba(255,255,255,.05); }
.uni-hero .row { display:flex; align-items:center; gap:22px; position:relative; }
.uni-hero .logo { width:92px; height:92px; flex-shrink:0; border-radius:22px; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:26px; font-weight:800; font-family:Georgia,serif; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(4px); box-shadow:0 12px 28px rgba(0,0,0,.28); }
.uni-hero h1 { font-size:26px; font-weight:800; letter-spacing:1px; }
.uni-hero .tags { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.uni-hero .tag { font-size:12px; padding:2px 14px; border-radius:999px; background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); font-weight:600; }
.uni-hero .tag.w { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); font-weight:400; }
.uni-hero .stat-row { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; }
.uni-hero .stat-row .stat { padding:20px 10px; }

.sec-card { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); padding:28px 32px 30px; margin-top:22px; }
.sec-card h2 { font-size:19px; font-weight:800; color:var(--navy); margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.sec-card h2::before { content:""; width:5px; height:18px; border-radius:3px; background:linear-gradient(180deg,var(--teal),var(--teal-deep)); }
.sec-card .txt { font-size:15px; color:#2a3648; }
.sec-card .txt p { margin-bottom:14px; }
.rel-list { margin:0; }
.rel-list li { padding:9px 0; border-bottom:1px dashed var(--line); font-size:14px; display:flex; justify-content:space-between; gap:12px; }
.rel-list li:last-child { border-bottom:0; }
.rel-list li a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); }
.rel-list li a::before { content:""; display:inline-block; width:6px; height:6px; border-radius:2px; transform:rotate(45deg); background:var(--teal); margin-right:9px; opacity:.75; }
.rel-list li a:hover { color:var(--teal-deep); }
.rel-list li .d { font-size:12px; color:#9aa8bd; flex-shrink:0; }

/* ==========================================================
   搜索 / 404
   ========================================================== */
.search-hint { padding:16px 26px; font-size:13.5px; color:var(--gray); background:#fafcff; border-bottom:1px solid var(--line); }
.search-hint b { color:var(--teal-deep); }

.error-card { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; }
.error-main { padding:56px 40px 60px; text-align:center; position:relative; }
.error-main .code { font-size:96px; font-weight:800; font-family:Georgia,serif; line-height:1;
  background:linear-gradient(135deg,var(--navy) 0%,var(--teal-deep) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.error-main h2 { font-size:22px; font-weight:800; color:var(--navy); margin:14px 0 8px; }
.error-main p { font-size:14px; color:var(--gray); margin-bottom:26px; }
.error-main .btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.error-links { border-top:1px solid var(--line); padding:24px 40px 30px; }
.error-links h4 { font-size:15px; font-weight:800; color:var(--navy); margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.error-links h4::before { content:""; width:5px; height:16px; border-radius:3px; background:linear-gradient(180deg,var(--teal),var(--teal-deep)); }
.error-links ul { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0; }
.error-links a { display:block; text-align:center; font-size:14px; color:var(--ink); background:#fafcff; border:1px solid var(--line);
  border-radius:12px; padding:11px 8px; }
.error-links a:hover { border-color:var(--teal); color:var(--teal-deep); background:var(--teal-soft); }

/* 空状态 */
.empty-tip { padding:50px 26px; text-align:center; font-size:14.5px; color:var(--gray); }

/* ==========================================================
   WordPress 原生元素兼容
   ========================================================== */
.alignleft { float:left; margin:6px 22px 14px 0; }
.alignright { float:right; margin:6px 0 14px 22px; }
.aligncenter { display:block; margin:6px auto 14px; }
.wp-caption { max-width:100%; }
.wp-caption-text { font-size:12.5px; color:#9aa8bd; text-align:center; margin-top:-14px; margin-bottom:18px; }
.sticky { border-left:4px solid var(--teal); }
.wp-block-image img, .wp-block-table table { margin:0; }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.gallery-item { margin:0; }
.gallery-item img { border-radius:10px; width:100%; }
.bypostauthor { position:relative; }

/* ---------- 响应式 ---------- */
@media (max-width:1100px) {
  .guide-grid { grid-template-columns:repeat(3,1fr); }
  .major-grid,.uni-grid,.proc-grid,.stats { grid-template-columns:repeat(2,1fr); }
  .uni-grid-page { grid-template-columns:1fr; }
  .proc .arrow { display:none; }
  .footer-main { grid-template-columns:1fr 1fr; gap:30px; }
  .stat + .stat::before { display:none; }
  .float { display:none; }
  .error-links ul { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:860px) {
  .header .wrap { height:auto; padding:16px 0; flex-wrap:wrap; gap:18px; }
  .searchbox { order:3; flex-basis:100%; max-width:100%; }
  .head-hotline { display:none; }
  .hero-grid,.news-grid { grid-template-columns:1fr; }
  .page-body { grid-template-columns:1fr; }
  .slider { height:300px; }
  .slider h2 { font-size:26px; }
  .slider .slide { padding:0 32px; }
  .slider .dots { left:32px; }
  .article-card, .page-card, .comments, .sec-card { padding:22px 20px; }
  .post-item { flex-direction:column; gap:14px; }
  .post-item .pic { width:100%; }
  .uni-hero .stat-row { grid-template-columns:repeat(2,1fr); }
  .feature-row { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .guide-grid,.major-grid,.uni-grid,.proc-grid,.stats,.footer-main { grid-template-columns:1fr 1fr; }
  .topbar { display:none; }
  .brand .txt .cn { font-size:20px; }
  .error-links ul { grid-template-columns:1fr 1fr; }
}

/* ==========================================================
 * v2.2.0 新增：城市入口条 / 城市频道页 / 留言表单 / 微信二维码弹层
 * ======================================================== */

/* ---------- 首页城市入口条（轮播下方，与右侧公告底部对齐） ---------- */
.hero-left { display:flex; flex-direction:column; gap:16px; min-width:0; }
.citybar { flex:1; display:flex; align-items:center; background:#fff; border-radius:16px;
  box-shadow:var(--shadow-sm); padding:9px 12px; }
.citybar a { flex:1; display:flex; align-items:center; justify-content:center; gap:5px; padding:10px 2px;
  border-radius:10px; font-size:13.5px; font-weight:600; color:#3a4a61; transition:all .25s; white-space:nowrap; }
.citybar a .icon { font-size:14px; color:var(--teal-deep); transition:color .25s; }
.citybar a + a { position:relative; }
.citybar a + a::before { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:14px; background:var(--line); }
.citybar a:hover { background:var(--teal-soft); color:var(--teal-deep); }
.citybar a:hover::before, .citybar a:hover + a::before { opacity:0; }

/* ---------- 城市频道页 ---------- */
.city-intro { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; margin-bottom:24px; }
.city-intro .head { padding:20px 26px; background:linear-gradient(90deg,var(--teal-soft),#fff 65%); border-bottom:1px solid var(--line);
  display:flex; align-items:center; gap:14px; }
.city-intro .head .ic { width:46px; height:46px; border-radius:13px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); color:#fff; font-size:22px; box-shadow:0 8px 18px rgba(0,180,200,.32); }
.city-intro .head h2 { font-size:19px; font-weight:800; color:var(--navy); }
.city-intro .head p { font-size:12.5px; color:var(--gray); }
.city-intro .body { padding:22px 26px 24px; font-size:14.5px; color:#2a3648; }
.city-intro .body p { margin-bottom:12px; }
.city-intro .body p:last-child { margin-bottom:0; }
.fact-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:0 26px 24px; }
.fact { background:#f8fbfd; border:1px solid var(--line); border-radius:12px; padding:12px 16px; display:flex; align-items:center; gap:11px; }
.fact .icon { font-size:19px; color:var(--teal-deep); flex-shrink:0; }
.fact .k { font-size:12px; color:var(--gray); line-height:1.3; }
.fact .v { font-size:14px; font-weight:700; color:var(--navy); line-height:1.3; }
.city-news-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }

/* 侧栏其他城市 */
.city-cloud { padding:8px 20px 18px; }
.city-cloud a { display:inline-flex; align-items:center; gap:4px; background:#f4f7fb; border:1px solid var(--line); color:var(--ink);
  font-size:13px; padding:5px 14px; border-radius:999px; margin:0 7px 9px 0; }
.city-cloud a .icon { font-size:13px; color:var(--teal-deep); }
.city-cloud a:hover { background:linear-gradient(135deg,var(--navy),var(--navy-mid)); color:#fff; border-color:transparent; }
.city-cloud a:hover .icon { color:#5fe3f2; }
.city-cloud a.cur { background:var(--teal-soft); color:var(--teal-deep); border-color:#b8ecf2; font-weight:700; }

/* ---------- 留言咨询页 ---------- */
.msg-card { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; }
.msg-card .panel-head { border-bottom:1px solid var(--line); }
.msg-card-body { padding:28px 32px 30px; }
.msg-intro { font-size:14.5px; color:#2a3648; margin-bottom:22px; }
.msg-intro p { margin-bottom:10px; }
.msg-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px 24px; }
.msg-field { display:flex; flex-direction:column; }
.msg-field-full { grid-column:1 / -1; }
.msg-field label { font-size:14px; font-weight:600; color:var(--navy); margin-bottom:8px; }
.msg-field label i { color:#e05c5c; font-style:normal; margin-left:2px; }
.msg-field input, .msg-field select, .msg-field textarea {
  border:1.5px solid var(--line); border-radius:12px; padding:11px 16px; font-size:14.5px; font-family:inherit;
  color:var(--ink); background:#fff; outline:none; transition:all .25s; }
.msg-field textarea { resize:vertical; min-height:120px; }
.msg-field input:focus, .msg-field select:focus, .msg-field textarea:focus {
  border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,180,200,.12); }
.msg-field input:invalid:not(:placeholder-shown), .msg-field select:invalid { border-color:#e8b4b4; }
.msg-field .err { font-size:12px; color:#e05c5c; margin-top:6px; font-style:normal; }
.msg-actions { display:flex; align-items:center; gap:18px; margin-top:26px; flex-wrap:wrap; }
.msg-actions .btn { border:0; font-size:15.5px; padding:13px 44px; }
.msg-note { font-size:12.5px; color:var(--gray); }
.msg-note i { color:#e05c5c; font-style:normal; }
.msg-done { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); padding:56px 30px; text-align:center; }
.msg-done .icon { font-size:46px; color:#2bb673; margin-bottom:14px; }
.msg-done h2 { font-size:22px; font-weight:800; color:var(--navy); margin-bottom:10px; }
.msg-done p { font-size:14.5px; color:var(--gray); margin-bottom:24px; }

/* ---------- 悬浮条微信二维码弹层 ---------- */
.fbtn .pop.qr-pop { padding:10px; text-align:center; white-space:normal; width:150px; }
.fbtn .pop.qr-pop img { width:130px; height:130px; border-radius:10px; display:block; object-fit:cover; }
.fbtn .pop.qr-pop .qr-cap { display:block; font-style:normal; font-size:12px; color:var(--navy); margin-top:7px; }

/* ---------- v2.2.0 响应式 ---------- */
@media (max-width:1100px) {
  .citybar { flex-wrap:wrap; }
  .citybar a { flex:1 1 16%; }
  .city-news-grid { grid-template-columns:1fr; }
  .fact-row { grid-template-columns:1fr 1fr; }
  .msg-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .citybar a { flex:1 1 28%; font-size:13px; }
  .citybar a + a::before { display:none; }
}

/* ==========================================================
 * v2.3.0 新增
 * 首页 V3：考期倒计时 / 数据带独立区 / 新手入门+报名流程左右合并
 * 内页 C1：面包屑白条 + 内容区标题
 * 文章页：自动目录 TOC / 资料领取卡
 * ======================================================== */

/* ---------- 考期倒计时条（首页报名卡上方） ---------- */
.countdown { display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:linear-gradient(135deg,var(--teal-deep) 0%,#17c9dd 100%); color:#fff;
  border-radius:14px; padding:13px 18px; margin-bottom:14px; box-shadow:0 8px 20px rgba(0,180,200,.28);
  position:relative; overflow:hidden; }
.countdown::after { content:""; position:absolute; width:120px; height:120px; border-radius:50%; right:-40px; top:-40px;
  border:18px solid rgba(255,255,255,.12); }
.countdown .cd-l { display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; position:relative; }
.countdown .cd-l .icon { font-size:16px; }
.countdown .cd-r { display:flex; align-items:center; gap:8px; position:relative; }
.countdown .cd-r em { font-style:normal; font-size:13px; }
.countdown .cd-r .pill { background:#fff; border-radius:12px; padding:3px 12px; display:flex; align-items:baseline; gap:2px;
  box-shadow:0 4px 12px rgba(9,60,70,.25); animation:yisitu_pulse 1.6s ease-in-out infinite; }
.countdown .cd-r .pill b { font-size:30px; font-weight:900; color:#ff4d3a; font-family:Georgia,serif; line-height:1.1; letter-spacing:-1px; }
.countdown .cd-r .pill i { font-style:normal; font-size:12px; color:#ff4d3a; font-weight:700; }
@keyframes yisitu_pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.07)} }

/* ---------- 数据带独立成区 ---------- */
.sec.statsec { padding:18px 0 6px; }
.statsec .stats { margin-top:0; }

/* ---------- 新手入门 + 报名流程（左右合并 · 浅色版 v2.7.7） ---------- */
.duo-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch; }
.duo-panel { background:#fff; border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; display:flex; flex-direction:column; }
.duo-guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:14px 18px 16px; flex:1; align-content:center; }
.duo-guide-grid .guide { display:flex; align-items:center; gap:10px; padding:10px 12px;
  border-radius:12px; border:1.5px solid var(--line); background:#fff; text-align:left; transition:all .25s ease; }
.duo-guide-grid .guide:hover { border-color:var(--teal); transform:translateY(-3px); box-shadow:0 6px 16px rgba(0,180,200,.12); }
.duo-guide-grid .guide::after { display:none; }
.duo-guide-grid .guide .ic { font-size:15px; margin-bottom:0; flex-shrink:0; width:34px; height:34px; border-radius:10px;
  display:flex; align-items:center; justify-content:center; }
.duo-guide-grid .guide:nth-child(odd) .ic { background:var(--teal-soft); color:var(--teal-deep); }
.duo-guide-grid .guide:nth-child(even) .ic { background:#eef2f9; color:var(--navy); }
.duo-guide-grid .guide .tx { display:flex; flex-direction:column; }
.duo-guide-grid .guide .nm { font-size:13.5px; font-weight:700; color:var(--ink); letter-spacing:0; line-height:1.25; }
.duo-guide-grid .guide .ds { font-size:11px; color:var(--gray); margin-top:1px; }
.proc-panel { background:#fff; border-radius:18px; color:var(--ink);
  overflow:hidden; display:flex; flex-direction:column; }
.proc-panel .panel-head { border-bottom:1px solid var(--line); position:relative; z-index:2; }
.proc-panel .pt { color:var(--navy); }
.proc-panel .pt::before { background:linear-gradient(180deg,var(--teal),var(--teal-deep)); }
.proc-steps { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; padding:14px 22px 16px; position:relative; z-index:2;
  flex:1; align-content:center; }
.proc-step { display:flex; align-items:center; gap:12px; padding:11px 0; }
.proc-step .no { width:32px; height:32px; border-radius:10px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:800; color:var(--teal-deep); background:var(--teal-soft); border:1px solid #bdeff6; }
.proc-step h4 { font-size:14.5px; font-weight:700; color:var(--navy); letter-spacing:.5px; margin:0; }
.proc-step p { font-size:11.5px; color:var(--gray); margin-top:2px; line-height:1.55; }

/* ---------- 内页 C1：面包屑白条 + 内容区标题（替代藏青横幅） ---------- */
.crumb-bar { background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow-sm); }
.crumb-bar .wrap { display:flex; align-items:center; gap:8px; padding:11px 20px; font-size:13px; color:var(--gray); flex-wrap:wrap; }
.crumb-bar a { color:var(--gray); text-decoration:none; transition:color .2s; }
.crumb-bar a:hover { color:var(--teal-deep); }
.crumb-bar .sep { color:#c9d4e2; }
.crumb-bar i { font-style:normal; margin:0 8px; color:#c9d4e2; }
.crumb-bar .cur, .crumb-bar > .wrap > span:last-child { color:var(--navy); font-weight:600; }
.page-title-area { padding:30px 0 0; }
.page-title-area .ptitle { font-size:26px; font-weight:800; color:var(--navy); display:flex; align-items:center; gap:12px; line-height:1.3; }
.page-title-area .ptitle::before { content:""; width:6px; height:24px; border-radius:3px; flex-shrink:0;
  background:linear-gradient(180deg,var(--teal),var(--teal-deep)); }
.page-title-area .psub { font-size:13px; color:var(--gray); margin-top:8px; padding-left:18px; }
@media (max-width:560px) {
  .page-title-area { padding:20px 0 0; }
  .page-title-area .ptitle { font-size:21px; }
}

/* ---------- 文章页：自动目录 TOC ---------- */
.toc-box { background:#f8fbfd; border:1px solid var(--line); border-radius:14px; padding:16px 20px 14px; margin:22px 0 26px; }
.toc-box .toc-tt { display:flex; align-items:center; gap:8px; font-size:15px; font-weight:800; color:var(--navy); margin-bottom:10px; }
.toc-box .toc-tt::before { content:""; width:4px; height:16px; border-radius:2px; background:linear-gradient(180deg,var(--teal),var(--teal-deep)); }
.toc-box ol { margin:0; padding-left:0; list-style:none; counter-reset:toc; }
.toc-box ol ol { padding-left:20px; margin-top:4px; }
.toc-box li { margin:0; counter-increment:toc; }
.toc-box li a { display:flex; align-items:baseline; gap:8px; padding:4.5px 0; font-size:14px; color:var(--ink); line-height:1.5; }
.toc-box li a::before { content:counter(toc) "."; color:var(--teal-deep); font-weight:700; font-size:12.5px; flex-shrink:0; }
.toc-box ol ol li a::before { content:"·"; }
.toc-box li a:hover { color:var(--teal-deep); }

/* ---------- 文章页：资料领取卡（留言领取） ---------- */
.dl-card { display:flex; align-items:center; gap:18px; margin:28px 0 8px; padding:20px 24px;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 70%,#27548f 100%); color:#fff;
  border-radius:16px; position:relative; overflow:hidden; box-shadow:0 10px 26px rgba(13,36,69,.22); }
.dl-card::before { content:""; position:absolute; width:200px; height:200px; border-radius:50%; right:-70px; top:-80px;
  background:radial-gradient(circle,rgba(0,180,200,.32),transparent 70%); }
.dl-card .ic { width:52px; height:52px; border-radius:14px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  background:rgba(0,180,200,.18); border:1px solid rgba(0,180,200,.4); font-size:24px; color:#5fe3f2; position:relative; }
.dl-card .txt { flex:1; position:relative; }
.dl-card .txt b { display:block; font-size:16.5px; font-weight:800; letter-spacing:.5px; }
.dl-card .txt p { margin:4px 0 0; font-size:12.5px; color:rgba(255,255,255,.72); line-height:1.6; }
.dl-card .btn { position:relative; border:0; cursor:pointer; white-space:nowrap;
  background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); color:#fff; font-size:14.5px; font-weight:700;
  padding:11px 26px; border-radius:999px; font-family:inherit; box-shadow:0 8px 18px rgba(0,180,200,.4); transition:transform .25s; }
.dl-card .btn:hover { transform:translateY(-2px); }
@media (max-width:560px) {
  .dl-card { flex-direction:column; text-align:center; gap:12px; }
  .dl-card .txt p { text-align:center; }
}

/* ---------- v2.3.0 响应式 ---------- */
@media (max-width:1100px) {
  .duo-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .duo-guide-grid { grid-template-columns:1fr 1fr; }
  .proc-steps { grid-template-columns:1fr; }
  .sec-head .en { display:none; }
  .sec-head .more { font-size:12px; }
}

/* TOC 三级标题缩进（flat 子项） */
.toc-box li.sub { padding-left:22px; }
.toc-box li.sub a::before { content:"·"; }

/* ---------- v2.3.2 校徽图片（特色图存在时显示图片，否则回退简称色块） ---------- */
.uni .logo .uni-logo-img, .uni-card .logo .uni-logo-img, .uni-hero .logo .uni-logo-img { width:100%; height:100%; object-fit:contain;
  border-radius:inherit; background:#fff; padding:7px; box-sizing:border-box; }
.uni .logo .uni-logo-img { padding:5px; }
.uni-hero .logo .uni-logo-img { padding:9px; }
.uni-mini .lg .uni-logo-img { width:100%; height:100%; object-fit:contain; border-radius:inherit; background:#fff; padding:3px; box-sizing:border-box; }

/* ---------- v2.4.1 留言咨询页（方案A 左右分栏顾问式） ---------- */
.msg-split { display:grid; grid-template-columns:400px 1fr; gap:26px; align-items:stretch; }
.msg-side { background:linear-gradient(160deg,var(--navy-deep),var(--navy) 55%,var(--navy-mid)); border-radius:20px; padding:38px 34px;
  color:#fff; position:relative; overflow:hidden; box-shadow:var(--shadow-md); }
.msg-side .deco-ring { position:absolute; border-radius:50%; }
.msg-side .r1 { width:260px; height:260px; border:36px solid rgba(255,255,255,.05); right:-90px; top:-90px; }
.msg-side .r2 { width:160px; height:160px; border:22px solid rgba(0,180,200,.12); left:-60px; bottom:-60px; }
.msg-side .tt { font-size:24px; font-weight:800; letter-spacing:1px; position:relative; }
.msg-side .ds { font-size:13.5px; color:rgba(255,255,255,.65); margin:10px 0 28px; line-height:1.8; position:relative; }
.msg-side .side-rows { display:flex; flex-direction:column; gap:16px; position:relative; }
.msg-side .srow { display:flex; gap:12px; align-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  border-radius:12px; padding:13px 16px; }
.msg-side .srow .icon { color:#5fe3f2; font-size:19px; flex-shrink:0; }
.msg-side .srow span { display:block; font-size:12px; color:rgba(255,255,255,.55); }
.msg-side .srow b { font-size:16px; }
.msg-side .side-promise { margin-top:26px; background:rgba(0,180,200,.14); border:1px dashed rgba(95,227,242,.4); border-radius:12px;
  padding:14px 16px; font-size:12.5px; color:#bfeef5; line-height:1.9; position:relative; }
.msg-main { background:#fff; border-radius:20px; box-shadow:var(--shadow-md); padding:38px 40px; }
.msg-main .fm-tt { font-size:19px; font-weight:800; color:var(--navy); padding-left:13px; border-left:5px solid var(--teal); line-height:1.3; }
.msg-main .fm-sub { font-size:13px; color:var(--gray); margin:10px 0 26px 18px; }
.msg-main .fm-sub i, .msg-note i { color:#e05c5c; font-style:normal; }
.msg-main .msg-form .tipbox { margin-bottom:20px; }
.msg-main .msg-actions .btn { background:linear-gradient(135deg,#17c9dd,var(--teal-deep)); border-radius:999px; font-weight:700;
  padding:14px 52px; box-shadow:0 10px 24px rgba(0,180,200,.35); }
.msg-main .msg-actions .btn:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,180,200,.45); }
@media (max-width:1000px) {
  .msg-split { grid-template-columns:1fr; }
  .msg-main { padding:28px 24px; }
}

/* ---------- v2.6.0 招生专业栏目 ---------- */
/* 列表页卡片 */
.mja-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.mja-card { background:#fff; border-radius:14px; box-shadow:var(--shadow-sm); padding:20px 22px 16px;
  border:1px solid transparent; transition:all .3s ease; display:flex; flex-direction:column; }
.mja-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:rgba(0,180,200,.35); }
.mja-card .top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.mja-card .nm { font-size:16.5px; font-weight:700; color:var(--navy); }
.mja-card .lv { flex:none; font-size:11.5px; color:var(--teal-deep); background:var(--teal-soft); border:1px solid #bdeff6;
  border-radius:10px; padding:2px 10px; }
.mja-card .cat { font-size:12px; color:var(--gray); margin-top:6px; }
.mja-card .desc { font-size:13px; color:#5a6778; line-height:1.8; margin-top:10px; flex:1;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mja-card .foot { display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:12px;
  border-top:1px dashed var(--line); }
.mja-card .foot .meta { font-size:12px; color:var(--gray); }
.mja-card .foot .go { font-size:12.5px; color:var(--teal); font-weight:600; }

/* 内容页头部：浅色信息卡 */
.mja-hero { background:#fff; border-radius:14px; box-shadow:var(--shadow-sm); overflow:hidden; border-top:3px solid var(--teal); }
.mja-hero .intro { padding:26px 32px 20px; }
.mja-hero h1 { font-size:26px; color:var(--navy); display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.mja-hero h1 .lvb { font-size:12px; font-weight:400; color:var(--teal-deep); background:var(--teal-soft);
  border:1px solid #bdeff6; border-radius:10px; padding:3px 12px; letter-spacing:1px; }
.mja-hero .sub { margin-top:12px; font-size:14px; color:#7a8699; line-height:1.9; }
.mja-hero .mtags { margin-top:14px; }
.mja-hero .mtags span { display:inline-block; font-size:12px; color:#5a6778; background:var(--bg); border-radius:12px; padding:4px 14px; margin:0 8px 6px 0; }
.mja-hero .mtags span.hl { background:var(--teal-soft); color:var(--teal-deep); }
.mja-stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); background:#f8fafd; }
.mja-stats > div { padding:15px 32px 17px; border-right:1px solid var(--line); }
.mja-stats > div:last-child { border-right:none; }
.mja-stats .k { font-size:12px; color:var(--gray); letter-spacing:1px; }
.mja-stats .v { font-size:16px; font-weight:700; margin-top:4px; color:var(--navy); }
.mja-stats .v.sm { font-size:14px; font-weight:600; line-height:1.6; }
.mja-stats .v .num { color:var(--teal-deep); font-size:21px; }
.mja-stats .v .unit { font-size:13px; font-weight:400; color:#7a8699; margin-left:2px; }

/* 开设院校联动 */
.mja-unis { margin-top:6px; }
.mja-uni { display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px dashed var(--line); }
.mja-uni:last-child { border-bottom:0; }
.mja-uni .nm { font-size:14.5px; font-weight:600; color:var(--navy); }
.mja-uni .ct { font-size:12px; color:var(--gray); }
.mja-uni .go { margin-left:auto; font-size:12.5px; color:var(--teal); font-weight:600; }
.mja-uni.off .nm { color:var(--gray); }
.mja-uni-tip { margin-top:14px; font-size:12.5px; color:var(--gray); background:var(--bg); border-radius:8px; padding:10px 14px; }

/* 侧栏热门专业 */
.hot-major li a { display:flex; align-items:center; gap:10px; }
.hot-major .rk { flex:none; width:22px; height:22px; border-radius:6px; background:var(--bg); color:var(--gray);
  font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.hot-major li:first-child .rk { background:var(--teal-soft); color:var(--teal-deep); }

/* 院校页在招专业自动链接 */
.article-body a.major-link { color:var(--teal-deep); font-weight:600; border-bottom:1px dashed rgba(0,180,200,.5); }
.article-body a.major-link:hover { color:var(--teal); border-bottom-style:solid; text-decoration:none; }

@media (max-width:1000px) {
  .mja-grid { grid-template-columns:1fr 1fr; }
  .mja-stats { grid-template-columns:1fr 1fr; }
  .mja-stats > div { border-right:none; border-bottom:1px solid var(--line); }
}
@media (max-width:640px) {
  .mja-grid { grid-template-columns:1fr; }
}

/* ---------- v2.6.0 成考内容页两版模板 ---------- */
/* 版本A：指南图文页 */
.gd-side .gd-toc-list { padding:8px 12px 12px; }
.gd-toc-list a { display:flex; align-items:baseline; gap:9px; font-size:13.5px; color:#5a6778;
  padding:8px 10px; border-radius:8px; line-height:1.5; }
.gd-toc-list a:hover { background:var(--bg); color:var(--teal-deep); }
.gd-toc-list a .n { flex:none; font-size:11.5px; font-weight:700; color:var(--teal-deep); }
.gd-article { padding:32px 36px 28px; }
.gd-article .gd-title { font-size:25px; color:var(--navy); line-height:1.4; }
.gd-article .pmeta { margin-top:12px; }
.gd-article .article-body { margin-top:20px; }

/* 版本B：流程指南页 */
.fl-hero { background:#fff; border-radius:14px; box-shadow:var(--shadow-sm); overflow:hidden; border-top:3px solid var(--teal); }
.fl-hero .fl-in { padding:26px 32px 22px; display:flex; align-items:flex-start; gap:20px; }
.fl-hero .fl-ico { flex:none; width:56px; height:56px; border-radius:14px; background:var(--teal-soft);
  display:flex; align-items:center; justify-content:center; color:var(--teal-deep); font-size:24px; }
.fl-hero h1 { font-size:24px; color:var(--navy); }
.fl-hero .fl-sub { margin-top:8px; font-size:13.5px; color:#7a8699; line-height:1.8; }
.fl-hero .pmeta { margin-top:12px; }
.fl-anchors { display:flex; flex-wrap:wrap; border-top:1px solid var(--line); background:#f8fafd; }
.fl-anchors a { flex:1; min-width:120px; text-align:center; font-size:13px; color:#5a6778; padding:13px 6px;
  border-right:1px solid var(--line); font-weight:600; }
.fl-anchors a:last-child { border-right:0; }
.fl-anchors a:hover { color:var(--teal-deep); background:#fff; box-shadow:inset 0 -2px 0 var(--teal); }
.fl-anchors a b { color:var(--teal-deep); margin-right:6px; font-size:12px; }

.fl-intro { margin-top:18px; }
.fl-step { display:flex; gap:18px; background:#fff; border-radius:12px; padding:24px 28px;
  box-shadow:var(--shadow-sm); margin-top:18px; }
.fl-step .rail { flex:none; width:46px; text-align:center; }
.fl-step .rail .n { width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--navy),var(--navy-mid));
  color:#fff; font-size:16px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.fl-step .rail .l { width:2px; height:calc(100% - 46px); background:var(--line); margin:8px auto 0; border-radius:2px; }
.fl-step .bd { flex:1; min-width:0; padding-top:4px; }
.fl-step .bd h2 { margin-top:0 !important; }
.fl-cta { margin-top:18px; }

@media (max-width:1000px) {
  .gd-article { padding:24px 20px; }
  .fl-step { padding:20px 18px; gap:12px; }
  .fl-step .rail { width:38px; }
  .fl-step .rail .n { width:38px; height:38px; font-size:14px; }
}

/* 正文主干课程标签云（专业内容用） */
.article-body .course-tags { line-height:2.2; }
.article-body .course-tags span { display:inline-block; font-size:12.5px; color:#5a6778; background:var(--bg);
  border-radius:12px; padding:4px 14px; margin:0 8px 8px 0; }

/* ---------- v2.7.0 报考条件自查工具 ---------- */
.chk-body { max-width:900px; margin:0 auto; }
/* 解除 .page-card 全局 overflow:hidden：否则吸底行动条 sticky 失效、脉冲/闪光阴影被裁 */
.chk-hero, .chk-tool { overflow:visible; }
.chk-hero { padding:30px 34px 24px; border-top:3px solid var(--teal); }
.chk-hero .chk-title { font-size:26px; color:var(--navy); }
.chk-hero .chk-intro { margin-top:12px; font-size:14px; color:#5a6778; line-height:1.9; }
.chk-pills { margin-top:16px; }
.chk-pills span { display:inline-block; font-size:12px; color:var(--teal-deep); background:var(--teal-soft);
  border:1px solid #bdeff6; border-radius:12px; padding:4px 14px; margin:0 8px 6px 0; }
.chk-start { display:inline-block; margin-top:14px; background:linear-gradient(135deg,var(--teal),var(--teal-deep));
  color:#fff; font-size:16px; font-weight:700; border-radius:12px; padding:14px 34px; transition:all .25s ease;
  animation:chkStartPulse 2.2s ease-in-out infinite; }
.chk-start:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,180,200,.35); }
@keyframes chkStartPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(0,180,200,.45); }
  50%     { box-shadow:0 0 0 10px rgba(0,180,200,0); }
}

.chk-tool { margin-top:20px; padding:28px 34px 30px; }
.chk-progress { display:flex; gap:8px; margin-bottom:26px; }
.chk-dot { flex:1; display:flex; align-items:center; gap:8px; font-size:13px; color:var(--gray);
  padding:10px 14px; border-radius:10px; background:var(--bg); }
.chk-dot i { font-style:normal; width:22px; height:22px; border-radius:50%; background:#d9dee6; color:#fff;
  font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:none; }
.chk-dot.on { color:var(--navy); font-weight:600; background:var(--teal-soft); }
.chk-dot.on i { background:var(--teal); }
.chk-dot.done i { background:var(--navy); }

.chk-step { display:none; }
.chk-step.on { display:block; }
.chk-q { font-size:17px; font-weight:700; color:var(--navy); margin-bottom:8px; }
.chk-tip { font-size:12.5px; color:var(--teal-deep); margin-bottom:16px; display:flex; align-items:center; gap:6px; }
.chk-tip::before { content:""; width:16px; height:16px; flex:none; border-radius:50%;
  background:var(--teal-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a7ba' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11.5V6a1.5 1.5 0 0 1 3 0v5'/%3E%3Cpath d='M12 11.5V5a1.5 1.5 0 0 1 3 0v6.5'/%3E%3Cpath d='M15 11.5v-4a1.5 1.5 0 0 1 3 0V13a7 7 0 0 1-7 7h-.8a6 6 0 0 1-4.9-2.6l-2.5-3.7a1.6 1.6 0 0 1 2.6-1.8L9 14'/%3E%3C/svg%3E") center/12px no-repeat; }
.chk-opts { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.chk-opt { position:relative; text-align:left; background:var(--bg); border:2px solid var(--line); border-radius:12px;
  padding:16px 18px 16px 46px; cursor:pointer; transition:all .2s ease; font-family:inherit; }
.chk-opt .dot { position:absolute; left:18px; top:20px; width:16px; height:16px; border-radius:50%;
  border:2px solid #c3ccd9; background:#fff; transition:all .2s ease; }
.chk-opt b { display:block; font-size:15px; color:var(--ink); }
.chk-opt span { display:block; font-size:12px; color:var(--gray); margin-top:4px; }
.chk-opt:hover { border-color:var(--teal); background:var(--teal-soft); transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(22,52,95,.08); }
.chk-opt:hover .dot { border-color:var(--teal); }
.chk-opt.sel { border-color:var(--teal); background:var(--teal-soft); box-shadow:inset 0 0 0 1px var(--teal); }
.chk-opt.sel .dot { border-color:var(--teal); background:var(--teal);
  box-shadow:inset 0 0 0 3px #fff; }
/* 当前步骤的选项呼吸提示：引导用户点击 */
.chk-step.on .chk-opt { animation:chkOptGlow 2.4s ease-in-out 2; }
@keyframes chkOptGlow {
  0%,100% { border-color:var(--line); box-shadow:0 0 0 0 rgba(0,180,200,0); }
  50%     { border-color:var(--teal); box-shadow:0 0 0 5px rgba(0,180,200,.12); }
}
/* 点击"开始自查"后整卡闪一下，视线聚焦 */
.chk-tool.flash { animation:chkToolFlash 1.2s ease; }
@keyframes chkToolFlash {
  0%   { box-shadow:0 0 0 0 rgba(0,180,200,.5); }
  100% { box-shadow:0 0 0 22px rgba(0,180,200,0); }
}
.chk-back { margin-top:16px; background:none; border:none; color:var(--gray); font-size:13px; cursor:pointer; padding:0; }
.chk-back:hover { color:var(--teal-deep); }

.chk-verdict { border-radius:12px; padding:18px 22px; font-size:14.5px; line-height:1.8; }
.chk-verdict b { font-size:16.5px; display:block; margin-bottom:6px; }
.chk-verdict p { margin:6px 0 0; }
.chk-verdict.ok { background:#eafaf3; border:1px solid #b9e8d2; color:#145c3a; }
.chk-verdict.warn { background:#fdf6ea; border:1px solid #f0ddb4; color:#8a5a12; }
.chk-verdict.no { background:#fdeeee; border:1px solid #f3c8c8; color:#8f2f2f; }

.chk-facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:12px; overflow:hidden; margin-top:18px; }
.chk-facts > div { background:#fff; padding:14px 20px 16px; }
.chk-facts .k { font-size:12px; color:var(--gray); }
.chk-facts .v { font-size:14.5px; font-weight:600; color:var(--navy); margin-top:4px; line-height:1.6; }

.chk-note { margin-top:14px; font-size:13px; color:#5a6778; background:var(--bg); border-radius:10px; padding:12px 16px; line-height:1.8; }

.chk-h3 { font-size:16px; color:var(--navy); margin:26px 0 14px; padding-left:12px; border-left:4px solid var(--teal); }
.chk-unis { border-top:1px dashed var(--line); }
.chk-rec .mja-grid { grid-template-columns:1fr 1fr; }
.chk-rec .mja-card .desc { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.chk-more { display:inline-block; margin-top:10px; font-size:13px; color:var(--teal-deep); font-weight:600; }
.chk-more:hover { text-decoration:underline; }

.chk-actions { display:flex; align-items:center; gap:16px; margin-top:26px; flex-wrap:wrap; }
.chk-actions-top { margin-top:18px; padding:16px 18px; background:var(--teal-soft); border:1px dashed var(--teal);
  border-radius:12px; justify-content:space-between; }
.chk-actions-top::before { content:"下一步："; font-size:13px; font-weight:700; color:var(--teal-deep); }
.chk-cta { display:inline-block; background:linear-gradient(135deg,var(--teal),var(--teal-deep)); color:#fff;
  font-size:15px; font-weight:700; border-radius:12px; padding:14px 28px; transition:all .25s ease; }
.chk-cta:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,180,200,.3); }
.chk-reset { background:none; border:1px solid var(--line); color:var(--gray); font-size:13.5px;
  border-radius:12px; padding:12px 20px; cursor:pointer; }
.chk-reset:hover { color:var(--teal-deep); border-color:var(--teal); }

/* 吸底行动条：滚动浏览推荐时始终钉在结果区底部 */
.chk-stickybar { position:sticky; bottom:12px; z-index:30; margin-top:24px;
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  background:var(--navy); color:#fff; border-radius:14px; padding:12px 14px 12px 20px;
  box-shadow:0 10px 26px rgba(22,52,95,.35); }
.chk-stickybar .t { font-size:13.5px; opacity:.92; }
.chk-stickybar .chk-cta { padding:11px 22px; font-size:14px; flex:none; }

.chk-static { margin-top:20px; padding:26px 34px; }
.chk-static h2 { font-size:18px; color:var(--navy); padding-left:12px; border-left:4px solid var(--teal); }
.chk-static table { width:100%; border-collapse:collapse; margin-top:16px; font-size:13.5px; }
.chk-static th { background:var(--navy); color:#fff; padding:10px 14px; text-align:left; font-weight:600; }
.chk-static td { padding:10px 14px; border-bottom:1px solid var(--line); color:#3d4a5f; line-height:1.7; }
.chk-static p { margin-top:14px; font-size:13.5px; color:#5a6778; line-height:1.9; }

@media (max-width:768px) {
  .chk-opts { grid-template-columns:1fr; }
  .chk-facts { grid-template-columns:1fr; }
  .chk-rec .mja-grid { grid-template-columns:1fr; }
  .chk-progress { flex-direction:column; }
  .chk-tool, .chk-hero, .chk-static { padding-left:20px; padding-right:20px; }
}

/* ==========================================================
 * v2.8.0 学员案例：栏目页卡片 / 详情页 / 首页区块
 * ======================================================== */

/* ---------- 案例卡片（栏目页 9 卡 / 复用样式） ---------- */
.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.case-card { background:#fff; border-radius:14px; box-shadow:var(--shadow-sm); overflow:hidden;
  border:1px solid transparent; transition:all .3s ease; display:flex; flex-direction:column; }
.case-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:rgba(0,180,200,.35); }
.case-thumb { position:relative; height:150px; background:linear-gradient(135deg,var(--navy-deep),var(--navy-mid)); overflow:hidden; }
.case-thumb-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.case-thumb .case-thumb-ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.35); font-size:40px; }
.case-thumb .case-blur-tag { position:absolute; bottom:10px; right:10px; font-size:10.5px; color:rgba(255,255,255,.85);
  background:rgba(0,0,0,.42); border-radius:8px; padding:2px 9px; }
.case-badge { position:absolute; top:10px; left:10px; z-index:2; font-size:11px; font-weight:700;
  border-radius:10px; padding:3px 11px; letter-spacing:.5px; }
.case-badge.b-success { background:linear-gradient(135deg,var(--teal),var(--teal-deep)); color:#fff; }
.case-badge.b-grad { background:linear-gradient(135deg,#ffd166,#f5a623); color:#fff; }
.case-badge.b-story { background:linear-gradient(135deg,var(--navy-deep),var(--navy-mid)); color:#fff; }
.case-body { padding:16px 18px 14px; flex:1; display:flex; flex-direction:column; }
.case-meta { display:flex; flex-wrap:wrap; gap:6px 12px; font-size:11.5px; color:var(--gray); margin-bottom:8px; }
.case-name { font-size:15.5px; font-weight:700; color:var(--navy); margin-bottom:6px; }
.case-quote { font-size:13px; color:#4d5d75; line-height:1.75; flex:1; display:-webkit-box;
  -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.case-footer { display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding-top:10px;
  border-top:1px dashed var(--line); font-size:12px; color:var(--gray); }
.case-footer .go { font-size:12.5px; color:var(--teal-deep); font-weight:600; }
.case-card:hover .case-footer .go { color:var(--teal); }
.case-disclaimer { font-size:12px; color:var(--gray); margin-top:22px; text-align:center; }

/* ---------- 案例详情页：证据图头部 + 信息卡 ---------- */
.case-hero { background:#fff; border-radius:14px; box-shadow:var(--shadow-sm); overflow:hidden; border-top:3px solid var(--teal); }
.case-hero-img { position:relative; display:block; background:var(--navy-deep); }
.case-hero-img img { width:100%; height:380px; object-fit:cover; display:block; }
.case-hero-img .zoom-tip { position:absolute; left:14px; bottom:14px; background:rgba(13,36,69,.78); color:#fff;
  font-size:12px; border-radius:10px; padding:6px 14px; display:flex; align-items:center; gap:6px; opacity:.9; }
.case-hero-img .zoom-tip:hover { opacity:1; }
.case-hero-img.noimg { height:120px; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4); font-size:40px; }
.case-info { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); }
.case-info-item { padding:16px 18px 14px; border-bottom:1px solid var(--line); }
.case-info-item:nth-child(4n+1) { border-left:0; }
.case-info-item:nth-child(n+5) { border-bottom:0; }
.case-info-item .k { font-size:11.5px; color:var(--gray); margin-bottom:4px; }
.case-info-item .v { font-size:15px; font-weight:700; color:var(--navy); }
.case-info-item .v.sm { font-size:13px; font-weight:500; color:#3d4a5f; line-height:1.6; }
.case-info-item .v.q { font-style:italic; color:var(--teal-deep); }
.case-info-item .v a { color:var(--teal-deep); font-weight:600; text-decoration:none; }
.case-info-item .v a:hover { text-decoration:underline; }
.case-disclaimer-inline { padding:12px 20px; font-size:11.5px; color:var(--gray); background:var(--bg); }

/* ---------- 案例详情页：故事 / CTA / 相关案例 ---------- */
.case-cta { display:flex; gap:14px; margin-top:24px; flex-wrap:wrap; }
.case-cta .btn { display:inline-flex; align-items:center; gap:8px; font-size:15px; padding:13px 26px; }
.case-cta .btn-primary { background:linear-gradient(135deg,var(--teal),var(--teal-deep)); color:#fff; }
.case-cta .btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,180,200,.3); }
.case-cta .btn-outline { background:#fff; border:1px solid var(--line); color:var(--navy); }
.case-cta .btn-outline:hover { border-color:var(--teal); color:var(--teal-deep); }
.case-related { margin-top:34px; }
.case-related h3 { font-size:16px; color:var(--navy); margin-bottom:14px; padding-left:12px; border-left:4px solid var(--teal); }
.case-related-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.case-related-card { display:flex; gap:12px; padding:14px; background:#fff; border-radius:12px;
  box-shadow:var(--shadow-sm); text-decoration:none; transition:all .25s ease; }
.case-related-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.case-related-card .thumb { width:64px; height:64px; border-radius:10px; object-fit:cover; flex-shrink:0; }
.case-related-card .thumb.ph { background:linear-gradient(135deg,var(--navy-deep),var(--navy-mid)); }
.case-related-card .info { display:flex; flex-direction:column; gap:4px; min-width:0; }
.case-related-card .nm { font-size:14px; font-weight:700; color:var(--navy); }
.case-related-card .sub { font-size:12px; color:var(--gray); }

/* ---------- 首页案例区块（3 卡 + 统计） ---------- */
.case-sec .case-home-stats { display:flex; gap:44px; justify-content:center; padding:18px 0 26px; }
.case-sec .chs { text-align:center; }
.case-sec .chs b { display:block; font-size:30px; font-weight:800; color:var(--teal-deep); font-family:Georgia,serif; line-height:1.2; }
.case-sec .chs span { font-size:12px; color:var(--gray); }
.case-home-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.chc-card { display:flex; gap:14px; padding:16px; background:#fff; border-radius:14px; box-shadow:var(--shadow-sm);
  transition:all .3s ease; text-decoration:none; }
.chc-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.chc-thumb { position:relative; width:84px; height:84px; border-radius:12px; overflow:hidden; flex-shrink:0;
  background:linear-gradient(135deg,var(--navy-deep),var(--navy-mid)); }
.chc-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.chc-thumb .chc-ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4); font-size:28px; }
.chc-thumb .case-badge { top:5px; left:5px; font-size:9.5px; padding:2px 7px; }
.chc-body { display:flex; flex-direction:column; gap:4px; min-width:0; }
.chc-body .nm { font-size:15px; font-weight:700; color:var(--navy); }
.chc-body .meta { font-size:12px; color:var(--gray); }

/* ---------- 响应式 ---------- */
@media (max-width:900px) {
  .case-grid { grid-template-columns:repeat(2,1fr); }
  .case-info { grid-template-columns:repeat(2,1fr); }
  .case-info-item { border-bottom:1px solid var(--line); }
  .case-info-item:nth-child(4n+1) { border-left:1px solid var(--line); }
  .case-info-item:nth-child(2n+1) { border-left:0; }
  .case-info-item:nth-child(4n+1) { border-left:0; }
  .case-info-item:nth-child(n+5) { border-bottom:1px solid var(--line); }
  .case-home-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .case-grid { grid-template-columns:1fr; }
  .case-related-grid { grid-template-columns:1fr; }
  .case-sec .case-home-stats { gap:24px; }
}
