/* ============================================================
 
   ============================================================ */

/* ── CSS 变量 ─────────────────────────────────────────────── */
:root {
  --blue-900: #0D47A1;
  --blue-800: #1565C0;
  --blue-700: #1976D2;
  --blue-600: #1E88E5;
  --blue-500: #2196F3;
  --blue-400: #42A5F5;
  --blue-100: #BBDEFB;
  --blue-50:  #E3F2FD;
  --orange:   #FF6F00;
  --orange-light: #FFF3E0;
  --text:     #212121;
  --text-sub: #546E7A;
  --text-light: #90A4AE;
  --bg:       #FFFFFF;
  --bg-gray:  #F5F7FA;
  --border:   #E0E7EF;
  --radius:   6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --shadow:   0 2px 8px rgba(21,101,192,.10);
  --shadow-md:0 4px 20px rgba(21,101,192,.13);
  --shadow-lg:0 8px 40px rgba(21,101,192,.16);
  --transition: all .25s ease;
  --max-w:    1200px;
  --header-h: 68px;
}

/* ── Reset ────────────────────────────────────────────────── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--header-h); overflow-x:hidden; width:100%; }
body {
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:15px; line-height:1.75; color:var(--text); background:var(--bg);
  -webkit-font-smoothing:antialiased; overflow-x:hidden; width:100%;
}
a { color:var(--blue-700); text-decoration:none; transition:var(--transition); }
a:hover { color:var(--blue-900); }
img { max-width:100%; height:auto; display:block; }
ul,ol { list-style:none; }
input,select,textarea,button { font-family:inherit; }

/* ── 布局容器 ─────────────────────────────────────────────── */
.container { max-width:var(--max-w); margin:0 auto; padding:0 20px; }
.section { padding:34px 0; }
.section-gray { background:var(--bg-gray); }
.section-blue { background:var(--blue-800); }
.section-header { text-align:center; margin-bottom:44px; }
.section-header h2 { font-size:28px; font-weight:700; color:var(--text); margin-bottom:10px; position:relative; display:inline-block; }
.section-header h2::after {
  content:''; position:absolute; bottom:-8px; left:50%; transform:translateX(-50%);
  width:48px; height:3px; background:var(--blue-600); border-radius:2px;
}
.section-header.light h2 { color:#fff; }
.section-header.light h2::after { background:#fff; }
.section-header p { font-size:15px; color:var(--text-sub); margin-top:16px; }
.section-header.light p { color:rgba(255,255,255,.8); }

/* ── 按钮 ─────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 26px; border-radius:var(--radius); font-size:15px;
  font-weight:600; cursor:pointer; border:none; transition:var(--transition);
  white-space:nowrap; line-height:1;
}
.btn-primary { background:var(--blue-700); color:#fff; }
.btn-primary:hover { background:var(--blue-900); color:#fff; box-shadow:var(--shadow-md); }
.btn-orange { background:var(--orange); color:#fff; }
.btn-orange:hover { background:#E65100; color:#fff; }
.btn-outline { background:transparent; border:2px solid var(--blue-700); color:var(--blue-700); }
.btn-outline:hover { background:var(--blue-700); color:#fff; }
.btn-outline-white { background:transparent; border:2px solid rgba(255,255,255,.7); color:#fff; }
.btn-outline-white:hover { background:rgba(255,255,255,.15); border-color:#fff; }
.btn-lg { padding:13px 36px; font-size:16px; border-radius:var(--radius-md); }
.btn-sm { padding:6px 16px; font-size:13px; }

/* ── 标签/徽章 ─────────────────────────────────────────────── */
.badge { display:inline-block; padding:3px 12px; border-radius:20px; font-size:12px; font-weight:600; }
.badge-blue { background:var(--blue-50); color:var(--blue-800); }
.badge-orange { background:var(--orange-light); color:var(--orange); }
.badge-green { background:#E8F5E9; color:#2E7D32; }

/* ╔══════════════════════════════════════════════════════════╗
   -- 顶部导航 Header
   ╚══════════════════════════════════════════════════════════╝ */
.header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(255,255,255,.97); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  transition:var(--transition);
}
.header.scrolled { box-shadow:var(--shadow); }

.header-top {
  background:var(--blue-900); color:#fff; font-size:13px; padding:5px 0;
}
.header-top .container {
  display:flex; justify-content:space-between; align-items:center;
}
.header-top a { color:rgba(255,255,255,.85); font-size:13px; }
.header-top a:hover { color:#fff; }
.header-top .ht-info { display:flex; gap:20px; align-items:center; }
.header-top .ht-links { display:flex; gap:16px; }

.header-main { padding:0; }
.header-inner {
  max-width:var(--max-w); margin:0 auto; padding:0 20px;
  display:flex; align-items:center; justify-content:space-between;
  height:var(--header-h);
}

.logo { display:flex; align-items:center; gap:12px; }
.logo-icon {
  width:46px; height:46px; border-radius:var(--radius-md);
  background:linear-gradient(135deg,var(--blue-700),var(--blue-900));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:22px; font-weight:900; flex-shrink:0;
  box-shadow:0 4px 14px rgba(21,101,192,.35);
}
.logo-text { display:flex; flex-direction:column; line-height:1.2; }
.logo-name { font-size:19px; font-weight:800; color:var(--blue-900); letter-spacing:.5px; }
.logo-sub { font-size:11px; color:var(--text-sub); letter-spacing:1px; }

/* 主导航 *//
.nav { display:flex; align-items:center; }
.nav-list { display:flex; gap:4px; }
.nav-item { position:relative; }
.nav-link {
  display:block; padding:8px 14px; font-size:15px; font-weight:500;
  color:var(--text); border-radius:var(--radius); transition:var(--transition);
  white-space:nowrap;
}
.nav-link:hover, .nav-link.active { color:var(--blue-700); background:var(--blue-50); }

/* 下拉菜单 */
.nav-item:hover .dropdown, .main-nav .has-dropdown:hover .dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.dropdown {
  position:absolute; top:calc(100% + 8px); left:0; min-width:160px;
  background:#fff; border-radius:var(--radius-md); border:1px solid var(--border);
  box-shadow:var(--shadow-lg); padding:8px 0; z-index:100;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:var(--transition);
}
.dropdown a {
  display:block; padding:9px 18px; font-size:14px; color:var(--text-sub);
  transition:var(--transition);
}
.dropdown a:hover { color:var(--blue-700); background:var(--blue-50); }

/* 报名按钮 */
.nav-cta { margin-left:16px; }

/* 汉堡菜单 */
.menu-toggle {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:8px; background:none; border:none;
}
.menu-toggle span { width:24px; height:2px; background:var(--text); border-radius:2px; transition:var(--transition); }
.menu-toggle.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.menu-toggle.open span:nth-child(2) { opacity:0; }
.menu-toggle.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 首页 Banner 轮播
   ╚══════════════════════════════════════════════════════════╝ */
.hero-slider { position:relative; overflow:hidden; }
.slider-container { position:relative; }
.slider-track { display:flex; transition:transform .5s ease-in-out; }
.slide {
  flex-shrink:0; width:100%; position:relative;
}
.slide-link { display:block; text-decoration:none; color:inherit; }
.slide-bg {
  min-height:480px; display:flex; align-items:center;
  background:linear-gradient(135deg,#0D47A1 0%,#1565C0 40%,#1976D2 70%,#1E88E5 100%);
  position:relative; overflow:hidden;
}
.slide-img {
  position:absolute; top:0; left:0; width:100%; height:100%;
  object-fit:cover; object-position:center; z-index:0;
}
.slide-bg::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:500px; height:500px; border-radius:50%;
  background:rgba(255,255,255,.04); z-index:0;
}
.slide-bg::after {
  content:''; position:absolute; bottom:-60px; left:-40px;
  width:360px; height:360px; border-radius:50%;
  background:rgba(255,255,255,.04); z-index:0;
}
.slide-overlay {
  position:absolute; inset:0; background:rgba(0,0,0,.35); z-index:1;
}
.slide-content {
  position:relative; z-index:2; width:100%; color:#fff; padding:70px 0;
}
.slide-content h2 {
  font-size:40px; font-weight:800; line-height:1.25; margin-bottom:16px;
}
.slide-sub {
  font-size:16px; opacity:.9; line-height:1.8; margin-bottom:28px;
}
.slide-content .hero-btns { display:flex; gap:14px; flex-wrap:wrap; }

/* 箭头 */
.slider-arrow {
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  background:rgba(255,255,255,.2); border:none; color:#fff;
  width:48px; height:48px; border-radius:50%; font-size:22px;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .3s; backdrop-filter:blur(4px);
}
.slider-arrow:hover { background:rgba(255,255,255,.4); }
.slider-prev { left:20px; }
.slider-next { right:20px; }

/* 指示器 */
.slider-dots {
  position:absolute; bottom:20px; left:50%; transform:translateX(-50%); z-index:5;
  display:flex; gap:10px;
}
.slider-dot {
  width:12px; height:12px; border-radius:50%;
  background:rgba(255,255,255,.4); border:none; cursor:pointer;
  transition:all .3s; padding:0;
}
.slider-dot.active { background:#fff; transform:scale(1.25); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 首页 Banner / Hero (保留兼容)
   ╚══════════════════════════════════════════════════════════╝ */
.hero {
  background:linear-gradient(135deg,#0D47A1 0%,#1565C0 40%,#1976D2 70%,#1E88E5 100%);
  min-height:480px; display:flex; align-items:center; position:relative; overflow:hidden;
}
.hero::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:500px; height:500px; border-radius:50%;
  background:rgba(255,255,255,.04);
}
.hero::after {
  content:''; position:absolute; bottom:-60px; left:-40px;
  width:360px; height:360px; border-radius:50%;
  background:rgba(255,255,255,.04);
}
.hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:60px 0; }
.hero-content { color:#fff; }
.hero-badge {
  display:inline-block; background:rgba(255,255,255,.18); backdrop-filter:blur(4px);
  padding:6px 18px; border-radius:20px; font-size:13px; font-weight:600;
  letter-spacing:1px; margin-bottom:20px; color:#fff;
}
.hero-title { font-size:40px; font-weight:800; line-height:1.25; margin-bottom:16px; }
.hero-title em { font-style:normal; color:#FFD54F; }
.hero-desc { font-size:16px; opacity:.9; line-height:1.8; margin-bottom:28px; }
.hero-btns { display:flex; gap:14px; flex-wrap:wrap; }
.hero-stats {
  display:flex; gap:32px; margin-top:36px; padding-top:28px;
  border-top:1px solid rgba(255,255,255,.15);
}
.hero-stat-num { font-size:32px; font-weight:800; color:#FFD54F; line-height:1; }
.hero-stat-label { font-size:12px; color:rgba(255,255,255,.75); margin-top:4px; }

/* 右侧图形 */
.hero-visual { display:flex; align-items:center; justify-content:center; }
.hero-card-wrap { position:relative; width:420px; }
.hero-card-main {
  background:rgba(255,255,255,.12); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.25); border-radius:var(--radius-lg);
  padding:28px; color:#fff;
}
.hero-card-main h3 { font-size:18px; font-weight:700; margin-bottom:16px; }
.hc-item {
  display:flex; align-items:center; gap:12px;
  padding:10px 0; border-bottom:1px solid rgba(255,255,255,.1);
}
.hc-item:last-child { border-bottom:none; }
.hc-icon { font-size:22px; flex-shrink:0; }
.hc-text p:first-child { font-size:15px; font-weight:600; }
.hc-text p:last-child { font-size:12px; opacity:.75; }
.hero-float-badge {
  position:absolute; bottom:-16px; right:-16px;
  background:var(--orange); color:#fff; border-radius:var(--radius-md);
  padding:14px 18px; text-align:center; box-shadow:0 8px 24px rgba(255,111,0,.4);
}
.hero-float-badge strong { display:block; font-size:22px; line-height:1; }
.hero-float-badge span { font-size:12px; }

/* ╔══════════════════════════════════════════════════════════╗
   -- 快速入口 / 快速服务栏
   ╚══════════════════════════════════════════════════════════╝ */
.quick-bar {
  background:#fff; box-shadow:var(--shadow-md);
  border-radius:var(--radius-lg); margin:-24px auto 0;
  position:relative; z-index:10; max-width:var(--max-w);
  padding:0 20px;
}
.quick-bar-inner { display:grid; grid-template-columns:repeat(5,1fr); }
.qb-item {
  display:flex; flex-direction:column; align-items:center;
  padding:22px 10px; gap:8px; border-right:1px solid var(--border);
  cursor:pointer; transition:var(--transition); text-decoration:none; color:var(--text);
}
.qb-item:last-child { border-right:none; }
.qb-item:hover { color:var(--blue-700); background:var(--blue-50); }
.qb-item:first-child { border-radius:var(--radius-lg) 0 0 var(--radius-lg); }
.qb-item:last-child { border-radius:0 var(--radius-lg) var(--radius-lg) 0; }
.qb-icon { font-size:30px; }
.qb-label { font-size:14px; font-weight:600; }
.qb-sub { font-size:12px; color:var(--text-light); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 培训项目卡片
   ╚══════════════════════════════════════════════════════════╝ */
.course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.course-card {
  background:#fff; border-radius:var(--radius-lg); border:1px solid var(--border);
  overflow:hidden; transition:var(--transition); display:flex; flex-direction:column;
}
.course-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.course-img {
  width:100%; height:180px; overflow:hidden; position:relative; background:var(--blue-50);
}
.course-img img {
  width:100%; height:100%; object-fit:cover; transition:transform .4s ease;
}
.course-card:hover .course-img img { transform:scale(1.05); }
.course-icon {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-size:56px; line-height:1;
}
.course-cover {
  height:160px; display:flex; align-items:center; justify-content:center;
  font-size:56px; position:relative;
}
.course-cover.c1 { background:linear-gradient(135deg,#0D47A1,#1976D2); }
.course-cover.c2 { background:linear-gradient(135deg,#1565C0,#42A5F5); }
.course-cover.c3 { background:linear-gradient(135deg,#0277BD,#29B6F6); }
.course-cover.c4 { background:linear-gradient(135deg,#004D40,#00897B); }
.course-badge {
  position:absolute; top:10px; right:10px;
  background:rgba(255,255,255,.2); color:#fff; backdrop-filter:blur(4px);
  padding:3px 12px; border-radius:12px; font-size:12px; font-weight:600;
}
.course-body { padding:20px; flex:1; display:flex; flex-direction:column; }
.course-body h3 { font-size:18px; font-weight:700; margin-bottom:8px; }
.course-body p { font-size:14px; color:var(--text-sub); line-height:1.7; flex:1; margin-bottom:16px; }
.course-footer {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:14px; border-top:1px solid var(--border);
}
.course-tags { display:flex; gap:6px; flex-wrap:wrap; }
.course-tags span { background:var(--blue-50); color:var(--blue-800); font-size:12px; padding:2px 10px; border-radius:10px; }
.course-link { font-size:14px; color:var(--blue-700); font-weight:600; }
.course-link:hover { color:var(--blue-900); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 学校优势 / 数字展示
   ╚══════════════════════════════════════════════════════════╝ */
.advantage-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.advantage-card {
  background:#fff; border-radius:var(--radius-lg); border:1px solid var(--border);
  padding:32px 20px; text-align:center; transition:var(--transition);
}
.advantage-card:hover { border-color:var(--blue-400); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.adv-icon {
  width:68px; height:68px; border-radius:var(--radius-lg); margin:0 auto 16px;
  display:flex; align-items:center; justify-content:center; font-size:30px;
}
.adv-icon.blue { background:var(--blue-50); color:var(--blue-700); }
.adv-icon.orange { background:var(--orange-light); color:var(--orange); }
.adv-icon.green { background:#E8F5E9; color:#2E7D32; }
.adv-icon.purple { background:#F3E5F5; color:#6A1B9A; }
.adv-num { font-size:40px; font-weight:800; color:var(--blue-700); line-height:1; }
.adv-unit { font-size:16px; font-weight:600; }
.adv-label { font-size:13px; color:var(--text-sub); margin-top:6px; }

/* ╔══════════════════════════════════════════════════════════╗
   -- 师资力量
   ╚══════════════════════════════════════════════════════════╝ */
.teacher-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.teacher-card {
  background:#fff; border-radius:var(--radius-lg); border:1px solid var(--border);
  padding:28px 20px; text-align:center; transition:var(--transition);
}
.teacher-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.teacher-card a {
  text-decoration:none; color:inherit; display:block;
}
.teacher-card a:hover h3 { color:var(--blue-700); }
.teacher-avatar {
  width:88px; height:88px; border-radius:50%; margin:0 auto 14px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; position:relative;
  background:linear-gradient(135deg,#1976D2,#0D47A1);
}
.teacher-img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.teacher-initial {
  font-size:36px; color:#fff; font-weight:700; line-height:1;
}
.teacher-card h3 { font-size:16px; font-weight:700; margin-bottom:4px; }
.teacher-role { font-size:13px; color:var(--blue-700); font-weight:600; margin-bottom:6px; }
.teacher-card p { font-size:13px; color:var(--text-sub); }
.teacher-certs { display:flex; flex-wrap:wrap; gap:4px; justify-content:center; margin-top:10px; }
.teacher-certs span {
  font-size:11px; padding:2px 8px; border-radius:10px;
  background:var(--blue-50); color:var(--blue-800);
}

/* ╔══════════════════════════════════════════════════════════╗
   -- 新闻动态   ╚══════════════════════════════════════════════════════════╝ */
.news-layout { display:grid; grid-template-columns:2fr 1fr; gap:28px; }
.news-layout > * { min-width:0; overflow:hidden; }
.news-main-card {
  background:#fff; border-radius:var(--radius-lg); border:1px solid var(--border);
  overflow:hidden; display:flex; flex-direction:column;
}
.news-main-thumb {
  height:220px; background:linear-gradient(135deg,var(--blue-900),var(--blue-600));
  display:flex; align-items:center; justify-content:center; font-size:64px;
}
.news-main-body { padding:24px; flex:1; }
.news-tag { display:inline-block; background:var(--blue-50); color:var(--blue-800); font-size:12px; padding:2px 10px; border-radius:10px; margin-bottom:10px; }
.news-main-body h3 { font-size:20px; font-weight:700; margin-bottom:8px; }
.news-main-body p { font-size:14px; color:var(--text-sub); line-height:1.8; margin-bottom:16px; }
.news-date-bar { font-size:13px; color:var(--text-light); }

.news-list { display:flex; flex-direction:column; gap:12px; }
.news-item {
  background:#fff; border-radius:var(--radius-md); border:1px solid var(--border);
  padding:14px 16px; transition:var(--transition);
}
.news-item:hover { border-color:var(--blue-400); background:var(--blue-50); }
.news-item-date { font-size:12px; color:var(--text-light); margin-bottom:4px; }
.news-item h4 { font-size:14px; font-weight:600; margin-bottom:4px; line-height:1.5; }
.news-item h4 a { color:var(--text); }
.news-item h4 a:hover { color:var(--blue-700); }
.news-item p { font-size:12px; color:var(--text-sub); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

/* ╔══════════════════════════════════════════════════════════╗
   -- 公告 / 站内公告
   ╚══════════════════════════════════════════════════════════╝ */
.notice-bar {
  background:var(--blue-50); border:1px solid var(--blue-100);
  border-radius:var(--radius-md); padding:12px 20px;
  display:flex; align-items:center; gap:14px;
}
.notice-tag { background:var(--orange); color:#fff; font-size:13px; font-weight:700; padding:3px 12px; border-radius:4px; flex-shrink:0; }
.notice-scroll { overflow:hidden; flex:1; font-size:14px; color:var(--text-sub); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 在线报名 CTA
   ╚══════════════════════════════════════════════════════════╝ */
.cta-section {
  background:linear-gradient(135deg,var(--blue-900),var(--blue-700));
  padding:28px 0; color:#fff;
}
.cta-section .container {
  display:flex; align-items:center; justify-content:center;
  gap:32px; flex-wrap:wrap;
}
.cta-header { flex-shrink:0; }
.cta-header h2 { font-size:22px; font-weight:800; margin-bottom:2px; line-height:1.3; }
.cta-header p { font-size:13px; opacity:.8; }
.cta-phones {
  display:flex; gap:16px; align-items:stretch;
}
.cta-phone-card {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  background:rgba(255,255,255,.12); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius-md); padding:12px 22px;
  color:#fff; transition:var(--transition); text-decoration:none;
  min-width:170px;
}
.cta-phone-card:hover {
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.45);
  transform:translateY(-2px); color:#fff;
  box-shadow:0 6px 20px rgba(0,0,0,.15);
}
.cta-phone-name { font-size:13px; opacity:.85; }
.cta-phone-num { font-size:24px; font-weight:800; letter-spacing:2px; line-height:1.2; }
.btn-cta {
  background:#fff; color:var(--blue-900); border-radius:30px;
  font-size:16px; padding:14px 36px; font-weight:700;
  white-space:nowrap;
}
.btn-cta:hover {
  background:#FFD54F; color:#333; box-shadow:0 6px 20px rgba(255,213,79,.4);
}
.cta-form {
  display:flex; gap:10px; max-width:680px; margin:0 auto;
  flex-wrap:wrap; justify-content:center;
}
.cta-form input, .cta-form select {
  padding:12px 16px; border-radius:var(--radius); border:none;
  font-size:15px; outline:none; flex:1; min-width:150px;
  background:rgba(255,255,255,.95); color:var(--text);
}
.cta-form select { cursor:pointer; }
.cta-remark { font-size:13px; opacity:.7; margin-top:12px; }

/* ╔══════════════════════════════════════════════════════════╗
   -- 友情链接（仅首页底部）   ╚══════════════════════════════════════════════════════════╝ */
.friend-links {
  background:#f5f7fa; border-top:1px solid var(--border); padding:20px 0;
}
.friend-links .container {
  display:flex; align-items:flex-start; gap:16px;
}
.fl-title {
  flex-shrink:0; font-size:14px; font-weight:700; color:var(--blue-800);
  padding-top:3px; white-space:nowrap;
}
.fl-title::before { content:''; display:inline-block; width:4px; height:14px;
  background:var(--blue-600); border-radius:2px; margin-right:8px; vertical-align:-2px; }
.fl-list {
  display:flex; flex-wrap:wrap; gap:8px 20px;
}
.fl-list a {
  font-size:13px; color:#555; text-decoration:none; padding:3px 0;
  transition:color .2s;
}
.fl-list a:hover { color:var(--blue-600); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 页面横幅 Banner (子页）
   ╚══════════════════════════════════════════════════════════╝ */
.page-banner {
  padding:20px 0 12px; text-align:left; border-bottom:1px solid var(--border);
}
.page-banner h1 { font-size:22px; font-weight:700; color:var(--text); margin-bottom:4px; }
.banner-title { font-size:22px; font-weight:700; color:var(--text); margin-bottom:4px; }
.page-banner p { font-size:13px; color:var(--text-sub); margin-bottom:4px; }
.breadcrumb {
  display:flex; align-items:center; gap:8px; justify-content:flex-start;
  font-size:12px; margin-top:6px;
}
.breadcrumb a { color:var(--text-sub); }
.breadcrumb a:hover { color:var(--blue-700); }
.breadcrumb span { color:var(--text-light); }
.breadcrumb .sep { color:var(--border); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 栏目列表页 (list)
   ╚══════════════════════════════════════════════════════════╝ */
.list-layout { display:grid; grid-template-columns:1fr 280px; gap:28px; margin-top:32px; }
.list-main { min-width:0; overflow:hidden; }
.list-item {
  background:#fff; border-radius:var(--radius-md); border:1px solid var(--border);
  padding:20px 24px; margin-bottom:16px; display:flex; gap:20px;
  transition:var(--transition);
}
.list-item:hover { border-color:var(--blue-400); box-shadow:var(--shadow); }
.list-item-thumb {
  width:120px; height:84px; border-radius:var(--radius); flex-shrink:0;
  background:linear-gradient(135deg,var(--blue-800),var(--blue-500));
  display:flex; align-items:center; justify-content:center; font-size:32px;
  overflow:hidden;
}
.list-item-thumb img { width:100%; height:100%; object-fit:cover; }
.list-item-content { flex:1; min-width:0; }
.list-item-content h3 { font-size:17px; font-weight:700; margin-bottom:6px; }
.list-item-content h3 a { color:var(--text); }
.list-item-content h3 a:hover { color:var(--blue-700); }
.list-item-content p { font-size:14px; color:var(--text-sub); line-height:1.7; margin-bottom:10px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.list-item-meta { font-size:12px; color:var(--text-light); display:flex; gap:16px; }

/* 分页 */
.pagination {
  display:flex; justify-content:center; gap:8px; margin-top:28px; flex-wrap:wrap;
}
.pagination a, .pagination span {
  display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:var(--radius); font-size:14px;
  border:1px solid var(--border); color:var(--text-sub);
  transition:var(--transition); text-decoration:none;
}
.pagination a:hover { border-color:var(--blue-600); color:var(--blue-700); background:var(--blue-50); }
.pagination .active, .pagination .current {
  background:var(--blue-700); color:#fff; border-color:var(--blue-700);
}
.pagination .prev-next { width:auto; padding:0 14px; }

/* 侧边栏 */
.sidebar-card {
  background:#fff; border-radius:var(--radius-md); border:1px solid var(--border);
  padding:20px; margin-bottom:20px;
}
.sidebar-card h3 {
  font-size:15px; font-weight:700; margin-bottom:14px; padding-bottom:10px;
  border-bottom:2px solid var(--blue-600); color:var(--blue-900);
}
.sidebar-nav a {
  display:flex; align-items:center; gap:8px; padding:9px 0;
  font-size:14px; color:var(--text-sub); border-bottom:1px dashed var(--border);
  transition:var(--transition);
}
.sidebar-nav a:last-child { border-bottom:none; }
.sidebar-nav a:hover, .sidebar-nav a.active { color:var(--blue-700); padding-left:8px; }

/* 电话链接：桌面端字号较大/tel可点击 / 手机端tappable */
.phone-link { color:inherit; text-decoration:none; white-space:nowrap; }
.phone-link:hover { color:inherit; text-decoration:underline; }
@media(max-width:768px) {
  .phone-link { color:#ffffff; text-decoration:underline; }
}
.sidebar-nav a::before { content:'▸'; color:var(--blue-400); font-size:16px; flex-shrink:0; }

.sidebar-tags { display:flex; flex-wrap:wrap; gap:8px; }
.sidebar-tags a {
  background:var(--bg-gray); color:var(--text-sub); padding:5px 12px;
  border-radius:20px; font-size:13px; border:1px solid var(--border);
  transition:var(--transition);
}
.sidebar-tags a:hover { background:var(--blue-50); color:var(--blue-700); border-color:var(--blue-400); }

.sidebar-news a {
  display:block; padding:8px 0; font-size:14px; color:var(--text);
  border-bottom:1px dashed var(--border);
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.sidebar-news a:last-child { border-bottom:none; }
.sidebar-news a:hover { color:var(--blue-700); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 内容详情页 (show)
   ╚══════════════════════════════════════════════════════════╝ */
.show-layout { display:grid; grid-template-columns:1fr 280px; gap:28px; margin-top:32px; }
.show-main {
  background:#fff; border-radius:var(--radius-md); border:1px solid var(--border);
  padding:32px; min-width:0; overflow:hidden;
}
.show-main h1 { font-size:24px; font-weight:800; line-height:1.4; margin-bottom:14px; color:var(--text); }
.show-meta {
  display:flex; gap:20px; font-size:13px; color:var(--text-light);
  padding-bottom:16px; border-bottom:1px solid var(--border); margin-bottom:24px;
}
.show-content { font-size:18px; line-height:1.9; color:#333; word-break:break-word; overflow-wrap:break-word; }
.show-content h2 { font-size:20px; font-weight:700; margin:28px 0 14px; color:var(--text); }
.show-content h3 { font-size:17px; font-weight:700; margin:20px 0 10px; color:var(--text); }
.show-content p { margin-bottom:1px; }
.show-content img { border-radius:var(--radius); margin:16px auto; max-width:100%; height:auto; display:block; }
.show-content ul { list-style:disc; padding-left:24px; margin-bottom:14px; }
.show-content ol { list-style:decimal; padding-left:24px; margin-bottom:14px; }
.show-content li { margin-bottom:6px; }
.show-content .table-wrapper { overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:14px; }
.show-content table { width:100%; min-width:500px; border-collapse:collapse; }
.show-content th, .show-content td { border:1px solid var(--border); padding:10px 14px; text-align:left; font-size:14px; white-space:nowrap; }
.show-content th { background:var(--blue-50); font-weight:700; color:var(--blue-900); }
.show-content iframe { max-width:100%; }
.show-content pre { overflow-x:auto; white-space:pre-wrap; word-wrap:break-word; }
.show-content video { max-width:100%; }
.show-content blockquote {
  border-left:4px solid var(--blue-600); background:var(--blue-50);
  padding:14px 20px; border-radius:0 var(--radius) var(--radius) 0;
  margin:16px 0; font-style:italic; color:var(--text-sub);
}
.show-tags { margin-top:24px; padding-top:16px; border-top:1px solid var(--border); }
.show-tags span { font-size:13px; color:var(--text-light); margin-right:8px; }
.show-tags a {
  display:inline-block; background:var(--bg-gray); color:var(--text-sub);
  padding:4px 12px; border-radius:20px; font-size:13px; margin:3px 4px 3px 0;
  border:1px solid var(--border); transition:var(--transition);
}
.show-tags a:hover { background:var(--blue-50); color:var(--blue-700); }
.show-prev-next {
  display:flex; gap:16px; margin-top:20px; padding-top:16px; border-top:1px solid var(--border);
}
.show-prev-next a {
  flex:1; background:var(--bg-gray); border-radius:var(--radius); padding:12px 16px;
  font-size:14px; color:var(--text-sub); border:1px solid var(--border);
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  transition:var(--transition);
}
.show-prev-next a:hover { color:var(--blue-700); border-color:var(--blue-400); background:var(--blue-50); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 在线报名表单
   ╚══════════════════════════════════════════════════════════╝ */
.enroll-layout { display:grid; grid-template-columns:1fr 400px; gap:28px; align-items:start; margin-top:32px; }
.enroll-info h2 { font-size:26px; font-weight:800; margin-bottom:14px; }
.enroll-info p { font-size:15px; color:var(--text-sub); line-height:1.9; margin-bottom:16px; }
.enroll-steps { display:flex; flex-direction:column; gap:14px; margin-top:24px; }
.enroll-step { display:flex; gap:14px; align-items:flex-start; }
.step-num {
  width:32px; height:32px; border-radius:50%; background:var(--blue-700);
  color:#fff; font-weight:700; font-size:15px; display:flex; align-items:center;
  justify-content:center; flex-shrink:0; margin-top:2px;
}
.step-content h4 { font-size:15px; font-weight:700; margin-bottom:3px; }
.step-content p { font-size:13px; color:var(--text-sub); }

.enroll-form-card {
  background:#fff; border-radius:var(--radius-lg); border:1px solid var(--border);
  padding:32px; box-shadow:var(--shadow-md);
}
.enroll-form-card h3 { font-size:20px; font-weight:800; margin-bottom:6px; color:var(--blue-900); }
.enroll-form-card > p { font-size:13px; color:var(--text-sub); margin-bottom:24px; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:14px; font-weight:600; margin-bottom:6px; color:var(--text); }
.form-group label .req { color:#E53935; margin-left:2px; }
.form-control {
  width:100%; padding:10px 14px; border:1.5px solid var(--border);
  border-radius:var(--radius); font-size:15px; outline:none; transition:var(--transition);
  background:#fff; color:var(--text);
}
.form-control:focus { border-color:var(--blue-600); box-shadow:0 0 0 3px rgba(30,136,229,.15); }
textarea.form-control { resize:vertical; min-height:90px; }
.form-submit { width:100%; }
.form-agree { font-size:13px; color:var(--text-light); margin-top:10px; text-align:center; }
.form-agree a { color:var(--blue-700); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 联系我们
   ╚══════════════════════════════════════════════════════════╝ */
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-top:32px; }
.contact-layout > * { min-width:0; }
.contact-info h2 { font-size:26px; font-weight:800; margin-bottom:14px; }
.contact-info > p { color:var(--text-sub); margin-bottom:28px; }
.contact-item { display:flex; gap:14px; margin-bottom:22px; }
.contact-icon {
  width:48px; height:48px; border-radius:var(--radius-md);
  display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0;
}
.ci-blue { background:var(--blue-50); color:var(--blue-700); }
.ci-green { background:#E8F5E9; color:#2E7D32; }
.ci-orange { background:var(--orange-light); color:var(--orange); }
.contact-item h4 { font-size:15px; font-weight:700; margin-bottom:3px; }
.contact-item p { font-size:14px; color:var(--text-sub); }
.map-placeholder {
  height:200px; border-radius:var(--radius-md); margin-top:20px;
  background:linear-gradient(135deg,var(--blue-50),var(--blue-100));
  border:1px solid var(--blue-100); display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:8px; color:var(--blue-700);
}
.map-placeholder .map-icon { font-size:40px; }
.map-placeholder p { font-size:14px; }

/* ╔══════════════════════════════════════════════════════════╗
   -- 学校介绍 / 关于我们
   ╚══════════════════════════════════════════════════════════╝ */
.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.about-layout > * { min-width:0; }
.about-visual {
  border-radius:var(--radius-lg); overflow:hidden; height:380px;
  background:linear-gradient(135deg,var(--blue-900),var(--blue-500));
  display:flex; align-items:center; justify-content:center; font-size:80px;
}
.about-text h2 { font-size:28px; font-weight:800; margin-bottom:16px; }
.about-text p { font-size:15px; color:var(--text-sub); line-height:1.9; margin-bottom:12px; }
.about-honors { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px; }
.honor-item {
  background:var(--blue-50); border-radius:var(--radius-md); padding:16px;
  text-align:center; border:1px solid var(--blue-100);
}
.honor-item .icon { font-size:28px; margin-bottom:6px; }
.honor-item p { font-size:13px; color:var(--blue-900); font-weight:600; }

/* ╔══════════════════════════════════════════════════════════╗
   -- 标签云 / 网站地图
   ╚══════════════════════════════════════════════════════════╝ */
.tag-page-header { margin-bottom:24px; }
.tag-page-header h1 { font-size:24px; font-weight:800; margin-bottom:8px; }
.tag-page-header p { font-size:14px; color:var(--text-sub); }
.sitemap-layout { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:24px; }
.sitemap-group h3 { font-size:16px; font-weight:700; color:var(--blue-900); margin-bottom:14px; padding-bottom:8px; border-bottom:2px solid var(--blue-600); }
.sitemap-group ul li { margin-bottom:8px; }
.sitemap-group ul li a { font-size:14px; color:var(--text-sub); }
.sitemap-group ul li a:hover { color:var(--blue-700); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 404 页面
   ╚══════════════════════════════════════════════════════════╝ */
.error-page {
  display:flex; align-items:center; justify-content:center;
  min-height:60vh; text-align:center; padding:60px 20px;
}
.error-code { font-size:100px; font-weight:900; color:var(--blue-100); line-height:1; }
.error-title { font-size:24px; font-weight:700; margin-bottom:10px; }
.error-desc { font-size:15px; color:var(--text-sub); margin-bottom:28px; }

/* ╔══════════════════════════════════════════════════════════╗
   -- Footer
   ╚══════════════════════════════════════════════════════════╝ */
.footer {
  background:#0A2342; color:#B0C4D8; padding:28px 0 0;
}
.footer-grid { display:grid; grid-template-columns:1.35fr 0.65fr 0.45fr 0.65fr 1.3fr; gap:24px; margin-bottom:16px; }
.footer-brand h3 { color:#fff; font-size:20px; font-weight:800; margin-bottom:8px; }
.footer-brand p { font-size:14px; line-height:1.6; opacity:.8; }
.footer-contact { margin-top:8px; }
.footer-contact p { font-size:14px; margin-bottom:2px; }
.footer-contact strong { color:#fff; }
.footer-col h4 { color:#fff; font-size:15px; font-weight:700; margin-bottom:10px; }
.footer-col a {
  display:block; color:#90A4AE; font-size:14px; padding:3px 0;
  transition:var(--transition); border-bottom:1px dashed rgba(255,255,255,.07);
}
.footer-col a:last-child { border-bottom:none; }
.footer-col a:hover { color:#fff; padding-left:6px; }

/* ╔══════════════════════════════════════════════════════════╗
   -- 底部二维码（微信 + 抖音）——作为 footer-grid 的子项   ╚══════════════════════════════════════════════════════════╝ */
.footer-qr-col h4 { color:#fff; font-size:15px; font-weight:700; margin-bottom:10px; }
.footer-qr-list {
  display:flex; flex-direction:row; gap:14px; justify-content:center; flex-wrap:wrap; align-items:flex-start;
}
.footer-qr-item { text-align:center; }
.qr-label {
  display:block; color:#ccc; font-size:13px; font-weight:600; margin-bottom:6px;
}
.qr-box {
  width:110px; height:110px; background:#fff; border-radius:8px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  margin:0 auto;
}
.qr-box img { width:100%; height:100%; object-fit:contain; }
.qr-placeholder { font-size:12px; color:#999; text-align:center; line-height:1.6; }

.footer-bottom {
  border-top:1px solid rgba(255,255,255,.08); padding:10px 0;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;
}
.footer-bottom p { font-size:13px; color:#607D8B; }
.footer-bottom a { color:#78909C; }
.footer-bottom a:hover { color:#fff; }
.footer-icp { display:flex; gap:16px; align-items:center; }

/* 备案/安全图标 */
.safe-icons { display:flex; gap:10px; align-items:center; margin-top:10px; }
.safe-icon { font-size:12px; color:var(--text-light); background:var(--bg-gray); padding:3px 10px; border-radius:4px; border:1px solid var(--border); }

/* ─────────────────────────────────────────────────────────────
   模板 HTML 类名映射（模板使用，CSS 原类名保留向下兼容）
   ───────────────────────────────────────────────────────────── */

/* 顶部信息栏 .top-bar（模板用）射 .header-top（CSS原） */
.top-bar { background:var(--blue-900); color:#fff; font-size:13px; padding:6px 0; }
.top-bar .container { display:flex; justify-content:space-between; align-items:center; }
.top-bar a { color:rgba(255,255,255,.85); font-size:13px; }
.top-bar a:hover { color:#fff; }
.top-phone { display:flex; align-items:center; gap:0; flex-wrap:wrap; }
.hp-item { font-size:14px; white-space:nowrap; }
.hp-item strong { font-size:16px; font-weight:700; color:#FFD54F; letter-spacing:1px; }
.hp-sep { opacity:.3; font-size:12px; margin:0 10px; }
.top-links { display:flex; gap:16px; }

/* 站点头部 .site-header（模板用）射 .header（CSS原） */
.site-header {
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,.97); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border); transition:var(--transition);
}
.site-header .container { display:flex; align-items:center; justify-content:space-between; height:var(--header-h); }
.logo-box { display:flex; flex-direction:column; justify-content:center; }
.logo-box h1,.logo-box h2 { font-size:20px; font-weight:800; color:var(--blue-900); letter-spacing:.5px; margin:0; }
.logo-box h1 a,.logo-box h2 a { color:var(--blue-900); text-decoration:none; }
.slogan { font-size:11px; color:var(--text-sub); letter-spacing:1px; margin:2px 0 0 0; }
.logo-link { display:flex; align-items:center; text-decoration:none; }
.site-logo { display:block; max-height:48px; width:auto; }

/* 主导航 .main-nav（模板用）射 .nav（CSS原） */
.main-nav { display:flex; align-items:center; }
.main-nav ul { display:flex; gap:4px; list-style:none; margin:0; padding:0; }
.main-nav li { position:relative; }
.main-nav li a {
  display:block; padding:8px 14px; font-size:15px; font-weight:500;
  color:var(--text); border-radius:var(--radius); transition:var(--transition);
  white-space:nowrap; text-decoration:none;
}
.main-nav li a:hover, .main-nav li.active a { color:var(--blue-700); background:var(--blue-50); }
.main-nav li.active a { font-weight:700; }

/* 英雄区补充 .hero-sub */
.hero-sub { font-size:15px; opacity:.88; margin-bottom:24px; line-height:1.7; }

/* 快速入口补充 .quick-inner */
.quick-inner { display:grid; grid-template-columns:repeat(5,1fr); }

/* 区块标题 .section-title（模板用）射 .section-header（CSS原） */
.section-title { text-align:center; margin-bottom:30px; }
.section-title h2 { font-size:28px; font-weight:700; color:var(--text); margin-bottom:10px; position:relative; display:inline-block; }
.section-title h2::after { content:''; position:absolute; bottom:-8px; left:50%; transform:translateX(-50%); width:48px; height:3px; background:var(--blue-600); border-radius:2px; }
.section-title p { font-size:15px; color:var(--text-sub); margin-top:16px; }

/* 培训项目 .courses */
.courses { padding:34px 0; }

/* 学校优势 .advantages */
.advantages { padding:34px 0; background:var(--bg-gray); }
.adv-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:20px; }
.adv-item { background:#fff; border-radius:var(--radius-lg); border:1px solid var(--border); padding:28px 14px; text-align:center; transition:var(--transition); }
.adv-item:hover { border-color:var(--blue-400); box-shadow:var(--shadow-md); transform:translateY(-2px); }

/* 师资力量 .teachers */
.teachers { padding:34px 0; }
.teacher-body { padding:0 8px 8px; }
.teacher-desc { font-size:13px; color:var(--text-sub); margin-top:6px; line-height:1.6; }

/* 居中按钮 */
.center-btn { text-align:center; margin-top:32px; }

/* 新闻区域 .news-section */
.news-section { padding:34px 0; background:var(--bg-gray); }
.news-main-col { }
.news-list-col { display:flex; flex-direction:column; gap:12px; }
.news-item-title { font-size:14px; font-weight:600; color:var(--text); display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.news-item-date { font-size:12px; color:var(--text-light); flex-shrink:0; }
.news-date { font-size:13px; color:var(--text-light); }

/* 公告栏 .notices */
.notices { padding:36px 0; }
.notice-list { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; column-gap:32px; }
.notice-list li { display:flex; align-items:center; gap:14px; padding:10px 0; border-bottom:1px dashed var(--border); }
.notice-list li:last-child,
.notice-list li:nth-last-child(2) { border-bottom:none; }
.notice-list li a { color:var(--text); font-size:15px; flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.notice-list li a:hover { color:var(--blue-700); }
.notice-date { font-size:12px; color:var(--text-light); flex-shrink:0; background:var(--bg-gray); padding:2px 10px; border-radius:4px; }

/* 页脚 .site-footer（模板用）射 .footer（CSS原） */
.site-footer { background:#0A2342; color:#B0C4D8; padding:28px 0 0; }
.site-footer .footer-grid { display:grid; grid-template-columns:1.35fr 0.65fr 0.45fr 0.65fr 1.3fr; gap:24px; margin-bottom:16px; }
.footer-col h4 { color:#fff; font-size:15px; font-weight:700; margin-bottom:10px; }
.footer-col p { font-size:14px; line-height:1.6; opacity:.85; }
.footer-col ul { list-style:none; padding:0; }
.footer-col ul li { margin-bottom:4px; }
.footer-col a { display:block; color:#90A4AE; font-size:14px; padding:3px 0; transition:var(--transition); border-bottom:1px dashed rgba(255,255,255,.07); text-decoration:none; }
.footer-col a:hover { color:#fff; padding-left:6px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:10px 0; text-align:center; }
.footer-bottom p { font-size:13px; color:#607D8B; margin:0; }

/* 文章详情页补充 */
.show-header { margin-bottom:20px; }
.show-related { margin-top:32px; padding-top:24px; border-top:1px solid var(--border); }
.show-related h3 { font-size:18px; font-weight:700; margin-bottom:16px; color:var(--text); }
.show-related-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.related-card { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; background:var(--bg-gray); border-radius:var(--radius); border:1px solid var(--border); text-decoration:none; transition:var(--transition); }
.related-card:hover { border-color:var(--blue-400); background:var(--blue-50); }
.related-title { flex:1; font-size:14px; color:var(--text); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.related-date { font-size:12px; color:var(--text-light); margin-left:12px; flex-shrink:0; }
@media (max-width:640px) { .show-related-grid { grid-template-columns:1fr; } }

/* 标签页补充 */
.tag-list { display:flex; flex-wrap:wrap; gap:10px; padding:0; list-style:none; }
.tag-list li { }
.tag-list li a { display:inline-block; padding:6px 16px; background:var(--bg-gray); color:var(--text-sub); border-radius:20px; font-size:14px; border:1px solid var(--border); transition:var(--transition); text-decoration:none; }
.tag-list li a:hover { background:var(--blue-50); color:var(--blue-700); border-color:var(--blue-400); }
.tag-list .size-1 { font-size:14px; }
.tag-list .size-2 { font-size:16px; }
.tag-list .size-3 { font-size:18px; }
.tag-list .size-4 { font-size:20px; }

/* 新闻列表页文章项补充 */
.news-item a { display:flex; align-items:center; justify-content:space-between; gap:12px; text-decoration:none; color:var(--text); padding:12px 16px; background:#fff; border-radius:var(--radius-md); border:1px solid var(--border); transition:var(--transition); }
.news-item a:hover { border-color:var(--blue-400); background:var(--blue-50); }

/* ===== 证书报考版块 .cert-section ===== */
.cert-section { padding:34px 0; background:#fff; }
.cert-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:40px; }

.cert-card {
  display:flex; flex-direction:column; align-items:center; text-align:center;
  background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:28px 20px 22px; transition:var(--transition);
  box-shadow:var(--shadow);
}
.cert-card:hover { border-color:var(--blue-400); box-shadow:var(--shadow-md); transform:translateY(-3px); }

.cert-icon { font-size:40px; line-height:1; margin-bottom:14px; }

.cert-body { flex:1; }
.cert-body h3 { font-size:17px; font-weight:700; color:var(--text); margin-bottom:8px; }
.cert-body p { font-size:13px; color:var(--text-sub); line-height:1.6; margin-bottom:12px; }

.cert-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; list-style:none; padding:0; margin:0 0 16px; }
.cert-tags li { font-size:12px; color:var(--blue-700); background:var(--blue-50); border:1px solid var(--blue-100); border-radius:20px; padding:2px 10px; }

.cert-btn {
  display:inline-block; margin-top:auto; padding:8px 22px;
  background:var(--blue-700); color:#fff; border-radius:var(--radius-md);
  font-size:14px; font-weight:600; text-decoration:none; transition:var(--transition);
}
.cert-btn:hover { background:var(--blue-800); box-shadow:0 4px 12px rgba(21,101,192,.25); }

/* 报考流程条 */
.cert-flow {
  display:flex; align-items:center; justify-content:center; gap:0;
  background:var(--bg-gray); border-radius:var(--radius-lg);
  padding:20px 32px; margin-bottom:32px; flex-wrap:wrap; gap:8px;
}
.cf-step { display:flex; flex-direction:column; align-items:center; gap:4px; }
.cf-num {
  width:32px; height:32px; line-height:32px; text-align:center;
  background:var(--blue-700); color:#fff; border-radius:50%;
  font-size:14px; font-weight:700;
}
.cf-label { font-size:13px; color:var(--text-sub); font-weight:600; white-space:nowrap; }
.cf-arrow { font-size:20px; color:var(--blue-400); margin:0 8px; line-height:1; padding-bottom:18px; }

/* btn-primary (蓝色实心按钮，复用) */
.btn-primary { background:var(--blue-700); color:#fff; border:none; }
.btn-primary:hover { background:var(--blue-800); color:#fff; box-shadow:0 4px 16px rgba(21,101,192,.3); }

/* 证书报考版块 - 报考资讯文章列表 */
.cert-articles {
  margin-top:36px;
  
  border-radius:var(--radius-lg);
  padding:24px 28px;
   
}
.cert-articles-hd {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:16px; padding-bottom:12px;
  border-bottom:1px solid #eaedef;
}
.cert-articles-hd h3 {
  font-size:16px; font-weight:700; color:var(--text); margin:0;
}
.cert-more {
  font-size:13px; color:var(--blue-600); text-decoration:none;
  transition:var(--transition);
}
.cert-more:hover { color:var(--blue-800); }

.cert-article-list {
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:1fr 1fr; gap:0 32px;
}
.cert-article-list li { border-bottom:1px dashed var(--border); }
.cert-article-list li:nth-last-child(-n+2):not(:nth-child(n+3)) { border-bottom:none; }
.cert-article-list li a {
  display:flex; align-items:center; gap:10px;
  padding:10px 0; text-decoration:none; transition:var(--transition);
  color:var(--text);
}
.cert-article-list li a:hover { color:var(--blue-700); }
.cert-article-list li a:hover .ca-title { color:var(--blue-700); }
.ca-dot {
  flex-shrink:0; width:6px; height:6px;
  background:var(--blue-400); border-radius:50%;
}
.ca-title {
  flex:1; font-size:14px; color:var(--text);
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  transition:var(--transition);
}
.ca-date { flex-shrink:0; font-size:12px; color:var(--text-light); margin-left:8px; }

/* 文章h2补充（list.html用）*/
.list-item-content h2 { font-size:17px; font-weight:700; margin:0 0 6px 0; }
.list-item-content h2 a { color:var(--text); text-decoration:none; }
.list-item-content h2 a:hover { color:var(--blue-700); }

/* ╔══════════════════════════════════════════════════════════╗
   -- 响应式（扩展，覆盖新增类名）
   ╚══════════════════════════════════════════════════════════╝ */
@media(max-width:1024px) {
  .hero-inner { grid-template-columns:1fr; text-align:center; }
  .hero-visual { display:none; }
  .hero-stats { justify-content:center; }
  .hero-btns { justify-content:center; }
  .quick-bar-inner, .quick-inner { grid-template-columns:repeat(3,1fr); }
  .course-grid { grid-template-columns:repeat(2,1fr); }
  .advantage-grid, .adv-grid { grid-template-columns:repeat(2,1fr); }
  .teacher-grid { grid-template-columns:repeat(2,1fr); }
  .news-layout { grid-template-columns:1fr; }
  .enroll-layout { grid-template-columns:1fr; }
  .contact-layout { grid-template-columns:1fr; }
  .about-layout { grid-template-columns:1fr; }
  .footer-grid, .site-footer .footer-grid { grid-template-columns:repeat(2,1fr); }
  .list-layout { grid-template-columns:1fr; }
  .show-layout { grid-template-columns:1fr; }
  .sitemap-layout { grid-template-columns:repeat(2,1fr); }
  .adv-grid { grid-template-columns:repeat(3,1fr); }
  .cert-grid { grid-template-columns:repeat(2,1fr); }
}

@media(max-width:768px) {
  :root { --header-h:56px; }
  .header-top, .top-bar { display:none; }
  .logo-name { font-size:16px; }
  .logo-box h1,.logo-box h2 { font-size:16px; }
  .site-logo { max-height:40px; }
  .nav-list, .main-nav ul {
    position:fixed; top:var(--header-h); left:0; right:0;
    background:#fff; flex-direction:column; gap:0;
    padding:10px 0; border-bottom:1px solid var(--border);
    transform:translateY(-120%); opacity:0; transition:var(--transition);
    pointer-events:none; box-shadow:var(--shadow-lg); z-index:999;
  }
  .nav-list.open, .main-nav ul.open { transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav-link, .main-nav li a { padding:13px 20px; border-radius:0; border-bottom:1px solid var(--border); }
  .dropdown { position:static; box-shadow:none; border:none; border-radius:0; padding:0; opacity:1; visibility:visible; transform:none; }
  .dropdown a { padding-left:32px; background:var(--bg-gray); }
  .nav-cta { display:none; }
  .menu-toggle { display:flex; }

  .hero { min-height:auto; }
  .hero-inner { padding:40px 0; }
  .hero-title { font-size:26px; }
  .hero-stats { gap:20px; }
  .hero-stat-num { font-size:24px; }

  .page-banner { padding:20px 0; }
  .page-banner h1 { font-size:20px; }
  .page-banner p { font-size:12px; }
  .banner-title { font-size:20px; }

  /* 轮播移动端 */
  .slide-bg { min-height:340px; }
  .slide-content { padding:48px 0; }
  .slide-content h2 { font-size:24px; }
  .slide-sub { font-size:14px; margin-bottom:20px; }
  .slider-arrow { width:36px; height:36px; font-size:16px; }
  .slider-prev { left:8px; }
  .slider-next { right:8px; }
  .slider-dots { bottom:14px; gap:8px; }
  .slider-dot { width:10px; height:10px; }

  .quick-bar { margin:0; border-radius:0; }
  .quick-bar-inner, .quick-inner { grid-template-columns:repeat(3,1fr); }
  .qb-item { padding:14px 6px; }
  .qb-icon { font-size:22px; }
  .qb-label { font-size:12px; }
  .qb-sub { display:none; }

  .course-grid { grid-template-columns:1fr; }
  .advantage-grid, .adv-grid { grid-template-columns:1fr 1fr; }
  .teacher-grid { grid-template-columns:1fr 1fr; }
  .footer-grid, .site-footer .footer-grid { grid-template-columns:1fr; }
  .footer-qr-list { gap:12px; }
  .qr-box { width:100px; height:100px; }
  .section { padding:40px 0; }
  .section-header h2, .section-title h2 { font-size:22px; }
  .hero-badge { font-size:11px; }
  .list-item { flex-direction:column; }
  .list-item-thumb { width:100%; height:140px; }
  .sitemap-layout { grid-template-columns:1fr; }
  .footer-bottom, .site-footer .footer-bottom { flex-direction:column; text-align:center; }
  .about-honors { grid-template-columns:1fr 1fr; }
  .courses, .advantages, .teachers, .news-section, .cert-section { padding:40px 0; }
  .cert-grid { grid-template-columns:1fr 1fr; }
  .cert-flow { padding:16px 12px; gap:6px; }
  .cf-arrow { margin:0 4px; }
  .cert-article-list { grid-template-columns:1fr; }
  .cert-articles { padding:18px 16px; }
  
  /* 公告栏移动端恢复单列 */
  .notice-list { grid-template-columns:1fr; }
  .notice-list li { border-bottom:1px dashed var(--border); }
  .notice-list li:nth-last-child(2) { border-bottom:1px dashed var(--border); }
  .notice-list li:last-child { border-bottom:none; }

  /* CTA移动端 */
  .cta-section .container { flex-direction:column; gap:16px; text-align:center; }
  .cta-header { text-align:center; }
  .cta-phones { flex-wrap:wrap; justify-content:center; }
  .cta-phone-card { min-width:auto; flex:1 1 150px; padding:10px 16px; }
  .cta-phone-num { font-size:20px; }
  .btn-cta { width:100%; max-width:320px; text-align:center; justify-content:center; }

  /* 友链移动端 */
  .friend-links .container { flex-direction:column; gap:10px; }
  .fl-list { gap:6px 16px; }

  /* 文章页图片：平板/手机端自适应，居中 */
  .show-content img { max-width:100% !important; height:auto !important; width:auto !important; }
}

@media(max-width:480px) {
  .container { padding:0 15px; }
  .quick-bar-inner, .quick-inner { grid-template-columns:repeat(2,1fr); }
  .advantage-grid, .adv-grid { grid-template-columns:1fr; }
  .teacher-grid { grid-template-columns:1fr; }
  .hero-btns { flex-direction:column; }
  .slide-bg { min-height:300px; }
  .slide-content { padding:36px 0; }
  .slide-content h2 { font-size:20px; }
  .slide-sub { font-size:13px; margin-bottom:16px; }
  .page-banner { padding:16px 0; }
  .page-banner h1 { font-size:18px; }
  .banner-title { font-size:18px; }
  .cta-form { flex-direction:column; }
  .cta-form input, .cta-form select { min-width:unset; }
  .cta-phones { flex-direction:column; align-items:center; }
  .cta-phone-card { width:100%; max-width:280px; }
  .about-honors { grid-template-columns:1fr; }
  .adv-grid { grid-template-columns:repeat(2,1fr); }
  .fl-list { gap:4px 12px; }
  .fl-list a { font-size:12px; }
  .footer-qr-list { gap:10px; }
  .qr-box { width:90px; height:90px; }
  .show-main { padding:20px 16px; }
  .list-item { padding:14px 16px; }
  .enroll-form-card { padding:24px 16px; }
  .sidebar-card { padding:16px; }
}

/* 极小屏 (<=360px) 额外收窄 */
@media(max-width:360px) {
  .container { padding:0 12px; }
  .show-main { padding:16px 12px; }
  .list-item { padding:12px; }
  .pagination a, .pagination span { width:32px; height:32px; font-size:12px; }
}
