/* =====================================================================
   全站公共组件样式 theme.css
   包含：顶栏(Logo+搜索) / 主导航 / Banner / 页脚 / 返回顶部
   全站共用（首页 + 内页），选择器统一使用 .site- 前缀并内含必要重置，
   以避免与内页遗留的 bootstrap.css、style.css 相互污染。
   ===================================================================== */
:root{
  --site-navy:#2f5fd0;
  --site-navy-dark:#2450b8;
  --site-navy-light:#4a82ff;
  --site-accent:#3d7bff;
  --site-accent-light:#5e96ff;
  --site-text:#333;
  --site-muted:#888;
  --site-line:#e6e9f2;
  --site-bg-soft:#f5f7fc;
}

/* ---------- 组件内的基础重置 ---------- */
.site-topbar *,.site-topbar *::before,.site-topbar *::after,
.site-nav *,.site-nav *::before,.site-nav *::after,
.site-banner *,.site-banner *::before,.site-banner *::after,
.site-footer *,.site-footer *::before,.site-footer *::after,
.site-totop{box-sizing:border-box;}

.site-topbar,.site-nav,.site-banner,.site-footer{
  font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",sans-serif;
}
.site-topbar a,.site-nav a,.site-footer a{text-decoration:none;color:inherit;}
.site-nav ul,.site-nav li,.site-footer ul,.site-footer li{margin:0;padding:0;list-style:none;}
.site-nav p,.site-footer p,.site-footer h5,.site-banner p,.site-banner h1,.site-topbar p{margin:0;padding:0;}
.site-topbar img,.site-banner img,.site-footer img{display:block;max-width:100%;}
.site-topbar input,.site-topbar button{font-family:inherit;}

/* 通用容器（首页各区块与头尾共用） */
.wrap{max-width:1200px;margin:0 auto;padding:0 20px;}

/* ============ 顶栏 / Logo / 搜索 ============ */
.site-topbar{background:#fff;padding:14px 0;position:relative;z-index:60;}
.site-topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.site-topbar .logo{display:flex;align-items:center;padding:0;}
.site-topbar .logo img{height:56px;width:auto;display:block;max-height:none;}
.site-topbar .search{display:flex;align-items:center;gap:8px;background:#f2f4fa;border:1px solid #e2e6f0;
  border-radius:30px;padding:8px 16px;width:min(320px,42vw);transition:.3s;margin:0;}
.site-topbar .search:focus-within{border-color:var(--site-accent);box-shadow:0 0 0 3px rgba(47,107,214,.12);background:#fff;}
.site-topbar .search input{border:none;background:transparent;outline:none;font-size:14px;width:100%;color:var(--site-text);}
.site-topbar .search .ic{color:#9aa4c0;font-size:15px;display:flex;align-items:center;}
.site-topbar .search .ic svg{width:16px;height:16px;}

/* ============ 主导航 ============ */
.site-nav{display:block;background:var(--site-navy);position:sticky;top:0;z-index:50;
  box-shadow:0 4px 18px rgba(36,80,184,.25);}
.site-nav .wrap{display:flex;justify-content:center;position:relative;}
.site-nav > .wrap > ul{display:flex;flex-wrap:nowrap;margin:0;padding:0;}
.site-nav li{position:relative;margin:0;padding:0;}
.site-nav li > a{display:flex;align-items:center;gap:6px;padding:16px 34px;color:#fff;font-size:16px;
  position:relative;transition:color .3s;letter-spacing:1px;white-space:nowrap;}
.site-nav li > a::after{content:"";position:absolute;left:50%;bottom:8px;width:0;height:3px;
  background:var(--site-accent-light);border-radius:3px;transform:translateX(-50%);transition:width .3s;}
.site-nav li > a:hover{color:var(--site-accent-light);}
.site-nav li > a:hover::after,.site-nav li.active > a::after,.site-nav li > a.active::after{width:40px;}
.site-nav li > a .caret{font-size:10px;opacity:.7;transition:transform .3s;display:inline-block;}
.site-nav li:hover > a .caret{transform:rotate(180deg);}

/* 下拉子菜单 */
.site-nav .dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(12px);
  background:#fff;min-width:180px;border-radius:10px;overflow:hidden;
  box-shadow:0 14px 40px rgba(36,80,184,.28);opacity:0;visibility:hidden;
  transition:opacity .3s,transform .3s,visibility .3s;padding:6px 0;z-index:5;display: flex;}
.site-nav li:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.site-nav .dropdown li{position:static;}
.site-nav .dropdown a{display:block;padding:11px 26px;font-size:14px;color:var(--site-text);
  white-space:nowrap;transition:.25s;position:relative;}
.site-nav .dropdown a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--site-accent);transform:scaleY(0);transition:transform .25s;}
.site-nav .dropdown a:hover{background:var(--site-bg-soft);color:var(--site-accent);padding-left:32px;}
.site-nav .dropdown a:hover::before{transform:scaleY(1);}

/* 移动端汉堡按钮 */
.site-nav .nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:12px 4px;}
.site-nav .nav-toggle span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s;}

/* ============ Banner ============ */
.site-banner{position:relative;overflow:hidden;background:var(--site-navy-dark);}
.site-banner.is-carousel{height:440px;margin-bottom:60px;}
.site-banner .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;will-change:opacity;}
.site-banner .slide.on{opacity:1;}
.site-banner .slide img{width:100%;height:100%;object-fit:cover;
  transform:scale(1.08);transition:transform 7s ease;}
.site-banner .slide.on img{transform:scale(1);}
.site-banner .slide::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(36,80,184,.15),rgba(36,80,184,.35));}
.site-banner .caption{position:absolute;left:0;right:0;top:34%;text-align:center;z-index:3;color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.5);padding:0 20px;}
.site-banner .caption h1{font-size:clamp(22px,4vw,48px);font-weight:800;letter-spacing:4px;
  text-shadow:0 3px 16px rgba(0,0,0,.55);}
.site-banner .caption p{font-size:clamp(14px,1.8vw,20px);letter-spacing:3px;margin-top:14px;opacity:.95;}
.site-banner .b-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:52px;height:52px;
  border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);color:#fff;
  font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.4);transition:.3s;opacity:.85;padding:0;line-height:1;}
.site-banner .b-arrow:hover{background:var(--site-accent);transform:translateY(-50%) scale(1.08);opacity:1;}
.site-banner .b-arrow.prev{left:26px;}
.site-banner .b-arrow.next{right:26px;}
.site-banner .b-dots{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:center;gap:12px;z-index:5;}
.site-banner .b-dots span{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.3s;}
.site-banner .b-dots span.on{background:#fff;width:34px;border-radius:8px;}

/* 内页固定单图 Banner：按原图比例完整显示，超高时裁切 */
.site-banner.is-static .slide{position:relative;inset:auto;opacity:1;}
.site-banner.is-static .slide::after{display:none;}
.site-banner.is-static .slide img{height:auto;max-height:520px;object-fit:cover;
  transform:none;transition:none;}
.site-banner.is-static .slide.on img{transform:none;}

/* ============ 页脚 ============ */
.site-footer{display:block;background:var(--site-navy-dark);color:#c7cee8;padding:60px 0 0;
  font-size:14px;line-height:1.7;}
.site-footer .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr;gap:40px;padding-bottom:36px;}
.site-footer .foot-logo{display:flex;align-items:center;margin-bottom:6px;}
.site-footer .foot-logo img{height:72px;width:auto;display:block;filter:brightness(0) invert(1);}
.site-footer .foot-links{display:flex;flex-wrap:wrap;gap:4px 14px;line-height:2.2;}
.site-footer .foot-links a{white-space:nowrap;}
.site-footer h5{color:#fff;font-size:15px;font-weight:700;margin-bottom:16px;letter-spacing:1px;
  position:relative;padding-bottom:10px;line-height:1.7;}
.site-footer h5::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;background:var(--site-accent-light);}
.site-footer p,.site-footer a{font-size:13px;color:#a9b2d4;line-height:2;transition:.3s;}
.site-footer a:hover{color:#fff;padding-left:4px;}
.site-footer .foot-qr{text-align:center;}
.site-footer .foot-qr .qr{width:100px;height:100px;background:#fff;border-radius:8px;margin:0 auto 10px;
  overflow:hidden;display:flex;align-items:center;justify-content:center;}
.site-footer .foot-qr .qr img{width:100%;height:100%;object-fit:cover;display:block;}
.site-footer .foot-qr .cap{font-size:12px;color:#8b94bd;}
.site-footer .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;text-align:center;
  font-size:12px;color:#7d86ad;}
.site-footer .foot-bottom a{color:#7d86ad;transition:.3s;font-size:12px;}
.site-footer .foot-bottom a:hover{color:#fff;padding-left:0;}

/* ============ 返回顶部 ============ */
.site-totop{position:fixed;right:26px;bottom:30px;width:48px;height:48px;border-radius:50%;
  background:var(--site-navy);color:#fff;border:none;font-size:18px;cursor:pointer;z-index:40;
  opacity:0;visibility:hidden;transition:.4s;box-shadow:0 8px 22px rgba(36,80,184,.35);padding:0;line-height:1;}
.site-totop.show{opacity:1;visibility:visible;}
.site-totop:hover{background:var(--site-accent);transform:translateY(-4px);}

@media(max-width:900px){
  .site-topbar{padding:10px 0;}
  .site-topbar .logo img{height:44px;}
  .site-topbar .search{width:min(240px,52vw);}
  .site-nav .nav-toggle{display:flex;}
  .site-nav .wrap{justify-content:space-between;}
  .site-nav > .wrap > ul{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:var(--site-navy);box-shadow:0 14px 30px rgba(36,80,184,.35);max-height:70vh;overflow-y:auto;}
  .site-nav > .wrap > ul.open{display:flex;}
  .site-nav li > a{padding:13px 20px;font-size:15px;}
  .site-nav li > a::after{display:none;}
  .site-nav .dropdown{position:static;transform:none;opacity:1;visibility:visible;display:none;
    box-shadow:none;background:rgba(255,255,255,.06);border-radius:0;padding:0;}
  .site-nav li.open .dropdown{display:block;}
  /* 手机点击父级会触发粘滞 :hover，而桌面悬停规则 .site-nav li:hover .dropdown 的特异性
     高一级，会盖掉上面那条 transform:none；这里以同特异性重置位移，
     否则静态全宽的子菜单会被 translateX(-50%) 整体推出屏幕。 */
  .site-nav li:hover .dropdown,
  .site-nav li.open .dropdown{transform:none;}
  .site-nav .dropdown a{color:#dbe4ff;padding:10px 34px;}
  .site-nav .dropdown a:hover{background:rgba(255,255,255,.08);color:#fff;}
  .site-banner.is-carousel{height:340px;margin-bottom:40px;}
  .site-banner .b-arrow{width:40px;height:40px;font-size:18px;}
  .site-banner .b-arrow.prev{left:10px;}
  .site-banner .b-arrow.next{right:10px;}
  /* 手机端页脚：隐藏「地址」「友情链接」，仅保留 Logo 与二维码，全部居中 */
  .site-footer{padding:36px 0 0;text-align:center;}
  .site-footer .foot-grid{grid-template-columns:1fr;gap:22px;padding-bottom:26px;}
  .site-footer .foot-col-addr,
  .site-footer .foot-col-links{display:none;}
  .site-footer .foot-logo{justify-content:center;margin-bottom:8px;}
  .site-footer .foot-logo img{height:60px;}
}
