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

/* 滚动公告（跑马灯）*/
.marquee-wrap { overflow:hidden; }
.marquee-inner {
  display:inline-flex; gap:60px; white-space:nowrap;
  animation:marquee 30s linear infinite;
}
.marquee-inner:hover { animation-play-state:paused; }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* 证书展示 */
.cert-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.cert-card {
  background:#fff; border-radius:var(--radius-md); border:1px solid var(--border);
  padding:20px; text-align:center; transition:var(--transition);
}
.cert-card:hover { box-shadow:var(--shadow-md); }
.cert-icon { font-size:40px; margin-bottom:10px; }
.cert-card h4 { font-size:15px; font-weight:700; margin-bottom:4px; }
.cert-card p { font-size:13px; color:var(--text-sub); }

/* 流程步骤 */
.steps-flow { display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; }
.steps-flow::before {
  content:''; position:absolute; top:36px; left:10%; right:10%;
  height:2px; background:linear-gradient(to right,var(--blue-700),var(--blue-400));
  z-index:0;
}
.step-flow-item { text-align:center; position:relative; z-index:1; }
.step-flow-num {
  width:72px; height:72px; border-radius:50%;
  background:linear-gradient(135deg,var(--blue-700),var(--blue-500));
  color:#fff; font-size:22px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 14px; box-shadow:0 4px 16px rgba(21,101,192,.3);
}
.step-flow-item h4 { font-size:15px; font-weight:700; margin-bottom:4px; }
.step-flow-item p { font-size:13px; color:var(--text-sub); }

/* 悬浮报名按钮 */
.float-enroll {
  position:fixed; right:20px; bottom:100px; z-index:900;
  display:flex; flex-direction:column; gap:10px;
}
.float-btn {
  width:54px; height:54px; border-radius:50%; background:var(--blue-700);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:22px; box-shadow:0 4px 16px rgba(21,101,192,.4);
  transition:var(--transition); cursor:pointer; text-decoration:none;
  position:relative;
}
.float-btn:hover { background:var(--blue-900); transform:scale(1.1); color:#fff; }
.float-btn.orange { background:var(--orange); box-shadow:0 4px 16px rgba(255,111,0,.4); }
.float-btn.orange:hover { background:#E65100; }
.float-btn .float-tip {
  position:absolute; right:64px; top:50%; transform:translateY(-50%);
  background:#333; color:#fff; font-size:12px; padding:4px 10px;
  border-radius:4px; white-space:nowrap; opacity:0; pointer-events:none;
  transition:var(--transition);
}
.float-btn:hover .float-tip { opacity:1; }

/* 回到顶部 */
.back-top {
  position:fixed; right:20px; bottom:36px; z-index:900;
  width:44px; height:44px; border-radius:50%; background:#fff;
  color:var(--blue-700); display:flex; align-items:center; justify-content:center;
  font-size:20px; box-shadow:var(--shadow-md); border:1px solid var(--border);
  cursor:pointer; opacity:0; visibility:hidden; transition:var(--transition);
}
.back-top.show { opacity:1; visibility:visible; }
.back-top:hover { background:var(--blue-700); color:#fff; }

/* 轮播图骨架 */
.swiper-container { border-radius:var(--radius-lg); overflow:hidden; }
.swiper-slide-inner {
  height:440px; display:flex; align-items:center;
  background:linear-gradient(135deg,var(--blue-900),var(--blue-600));
  padding:0 80px;
}
@media(max-width:768px){ .swiper-slide-inner{ height:220px; padding:0 24px; } }

/* 标签云 */
.tag-cloud { display:flex; flex-wrap:wrap; gap:10px; padding:20px 0; }
.tag-cloud a {
  display:inline-block; background:var(--bg-gray); color:var(--text-sub);
  padding:6px 16px; border-radius:20px; font-size:14px;
  border:1px solid var(--border); transition:var(--transition);
}
.tag-cloud a:hover { background:var(--blue-700); color:#fff; border-color:var(--blue-700); }
.tag-cloud .size-1 { font-size:12px; }
.tag-cloud .size-2 { font-size:14px; }
.tag-cloud .size-3 { font-size:16px; }
.tag-cloud .size-4 { font-size:18px; font-weight:700; }

/* 搜索框 */
.search-box {
  display:flex; border:1.5px solid var(--border); border-radius:var(--radius);
  overflow:hidden; transition:var(--transition);
}
.search-box:focus-within { border-color:var(--blue-600); box-shadow:0 0 0 3px rgba(30,136,229,.15); }
.search-box input {
  flex:1; padding:10px 16px; border:none; outline:none; font-size:15px;
}
.search-box button {
  padding:10px 20px; background:var(--blue-700); color:#fff;
  border:none; cursor:pointer; font-size:15px; transition:var(--transition);
}
.search-box button:hover { background:var(--blue-900); }

/* Toast通知 */
.toast {
  position:fixed; top:80px; right:24px; z-index:9999;
  background:#fff; border-radius:var(--radius-md); padding:14px 20px;
  box-shadow:var(--shadow-lg); border-left:4px solid var(--blue-700);
  font-size:14px; min-width:260px; transform:translateX(120%);
  transition:transform .3s ease;
}
.toast.show { transform:translateX(0); }
.toast.success { border-left-color:#43A047; }
.toast.error { border-left-color:#E53935; }

/* 表格样式 */
.data-table { width:100%; border-collapse:collapse; }
.data-table th {
  background:var(--blue-900); color:#fff; padding:12px 16px;
  font-size:14px; font-weight:600; text-align:left;
}
.data-table td {
  padding:12px 16px; font-size:14px; color:var(--text-sub);
  border-bottom:1px solid var(--border);
}
.data-table tr:hover td { background:var(--blue-50); }

@media(max-width:768px){
  .cert-grid { grid-template-columns:repeat(2,1fr); }
  .steps-flow { grid-template-columns:1fr; }
  .steps-flow::before { display:none; }
  .step-flow-num { width:52px; height:52px; font-size:18px; }
}

/* ============================================================
   FAQ 常见问题区块样式 (GEO优化核心)
   ============================================================ */
.faq-list { max-width:900px; margin:0 auto; }
.faq-item {
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius-md); margin-bottom:12px;
  overflow:hidden; transition:var(--transition);
}
.faq-item:hover { box-shadow:var(--shadow-md); border-color:var(--blue-400); }
.faq-q {
  font-size:16px; font-weight:600; color:var(--blue-900);
  padding:16px 20px; cursor:pointer; user-select:none;
  display:flex; align-items:center; gap:8px;
  transition:var(--transition); margin:0;
}
.faq-q:hover { background:var(--blue-50); }
.faq-q.active { background:var(--blue-50); color:var(--blue-700); }
.faq-q::before {
  content:'Q'; display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%;
  background:var(--blue-700); color:#fff; font-size:13px; font-weight:800;
  flex-shrink:0;
}
.faq-a {
  padding:0 20px 16px 56px; font-size:14px; line-height:1.9;
  color:var(--text-sub); display:none; animation:fadeIn .3s ease;
}
.faq-a.show { display:block; }
.faq-a strong { color:var(--blue-700); }
@keyframes fadeIn { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }

@media(max-width:768px){
  .faq-q { font-size:14px; padding:12px 14px; }
  .faq-a { padding:0 14px 12px 42px; font-size:13px; }
}
