/* ============================================================
   芸众科技官网 · 公共组件样式（common.css）
   覆盖：顶部导航 / 底部页脚 / 左侧悬浮按钮 / 微信咨询弹窗
   由 common.js 动态注入到各页面，统一维护。
   ============================================================ */

:root{
  --ink:#0b1220; --ink2:#1e293b; --mut:#5b6b82; --line:#e6ebf3;
  --brand:#0052d1; --brand2:#3d8bff; --cyan:#06b6d4; --violet:#3d8bff;
  --bg:#f6f8fc; --card:#ffffff;
  --grad:linear-gradient(120deg,#003d9e 0%,#0052d1 55%,#3d8bff 110%);
  --radius:18px;
  --shadow:0 10px 34px rgba(15,40,90,.08);
}

/* ===== 顶部导航 ===== */
header#header{position:fixed;top:0;left:0;right:0;z-index:100;transition:.3s}
header#header.solid{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 2px 20px rgba(10,30,80,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.wrap.nav{max-width:1200px;margin:0 auto;padding:0 24px}
.nav-only{max-width:1200px;margin:0 auto;padding:0 24px}
.logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:#fff;transition:.3s}
.logo img{height:46px;display:block;border-radius:9px;background:#fff;padding:4px 12px;box-shadow:0 2px 12px rgba(2,8,30,.3)}
header#header.solid .logo{color:var(--ink)}
.logo .mark{width:34px;height:34px;border-radius:10px;background:var(--grad);display:grid;place-items:center;color:#fff;font-size:16px;font-weight:900}
.nav ul{display:flex;gap:24px;font-size:15px}
.nav ul a{color:rgba(255,255,255,.85);transition:.25s;position:relative;padding:6px 0;display:inline-flex;align-items:center}
header#header.solid .nav ul a{color:var(--ink2)}
.nav ul a:hover{color:var(--brand2)}
.nav ul a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--grad);transition:.25s;border-radius:2px}
.nav ul a:hover::after{width:100%}
.nav ul a.active, .nav ul a.on{color:#fff}
.nav ul a.active::after, .nav ul a.on::after{width:100%}
header#header.solid .nav ul a.active, header#header.solid .nav ul a.on{color:var(--brand)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:999px;font-size:15px;font-weight:600;cursor:pointer;transition:.25s;border:0}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 24px rgba(0,82,209,.35)}
.btn-bright{background:linear-gradient(120deg,#2f7bff 0%,#4da3ff 60%,#6bb8ff 110%);box-shadow:0 8px 28px rgba(61,139,255,.55);font-weight:800;color:#fff}
.btn-bright:hover{box-shadow:0 14px 34px rgba(61,139,255,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,82,209,.45)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn-ghost:hover{background:rgba(255,255,255,.2)}
.nav .btn{padding:9px 22px;font-size:14px}

/* ===== 导航下拉 ===== */
.nav li{position:relative;display:flex;align-items:center}
.nav li.mega-li{position:static}
.nav .caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;margin-left:6px;opacity:.7;transition:.25s}
.nav li:hover .caret{transform:rotate(180deg)}
.mega-box a::after,.drop-box a::after{display:none}
.mega-panel{position:absolute;top:56px;left:0;right:0;padding-top:16px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s;pointer-events:none;z-index:120}
.mega-li:hover .mega-panel{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.mega-box{max-width:1080px;margin:0 auto;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(10,30,80,.22);padding:24px 28px 20px}
.mega-head{display:flex;align-items:baseline;gap:12px;padding:0 12px 14px;border-bottom:1px solid #eef2f9;margin-bottom:12px}
.mega-head b{font-size:15px;color:var(--ink)}
.mega-head span{font-size:12px;color:#9db0cc;letter-spacing:2px}
.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 14px}
.nav .mega-item{display:block;color:var(--ink2);padding:12px 14px;border-radius:12px;transition:.2s}
.nav .mega-item:hover{background:#f2f7ff;color:var(--ink2)}
.mega-item b{display:flex;align-items:center;gap:6px;font-size:14.5px;color:var(--ink);font-weight:700}
.mega-item b i{font-style:normal;color:#b6c6e4;font-weight:400;transition:.2s}
.mega-item:hover b i{color:var(--brand);transform:translateX(3px)}
.mega-item p{margin:4px 0 0;font-size:12.5px;color:var(--mut);line-height:1.6}
.mega-item.cur{background:#f2f7ff}
.mega-item.cur b i{color:var(--brand)}
.drop-panel{position:absolute;top:100%;left:50%;transform:translate(-50%,10px);padding-top:22px;opacity:0;visibility:hidden;transition:.25s;pointer-events:none;z-index:120}
.has-drop:hover .drop-panel{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.drop-box{width:230px;background:#fff;border-radius:14px;border:1px solid var(--line);box-shadow:0 24px 60px rgba(10,30,80,.18);padding:6px}
.nav .drop-box a{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:9px;font-size:14px;color:var(--ink2);transition:.2s}
.drop-box a .go{color:#b6c6e4;font-size:13px}
.nav .drop-box a:hover{background:#f2f7ff;color:var(--brand)}
.drop-box a:hover .go{color:var(--brand)}

/* ===== 底部页脚 ===== */
footer#footer{background:#060b1c;color:#8fa3c8;padding:70px 0 0;font-size:14px}
.f-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:44px;padding-bottom:50px}
.f-grid h5{color:#fff;font-size:15.5px;margin-bottom:18px}
.f-grid ul li{margin-bottom:10px}
.f-grid ul a:hover{color:#cfe0ff}
.f-brand .mark{width:38px;height:38px;border-radius:10px;background:var(--grad);display:inline-grid;place-items:center;color:#fff;font-weight:900;font-size:17px;margin-bottom:14px}
.f-brand .f-logo{height:42px;border-radius:8px;background:#fff;padding:3px 10px;margin-bottom:14px;display:block}
.f-brand p{margin-top:10px;line-height:1.8;max-width:340px}
.f-contact li{display:flex;gap:10px;margin-bottom:12px;align-items:flex-start}
.f-contact .k{color:#5f7398;flex:none}
.f-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#64769a}
.f-bottom a:hover{color:#cfe0ff}

/* ===== 左侧悬浮按钮 ===== */
.float-cta{position:fixed;right:26px;bottom:26px;z-index:90;display:flex;flex-direction:column;gap:12px}
.float-cta a{width:52px;height:52px;border-radius:50%;background:#fff;box-shadow:0 8px 26px rgba(10,30,80,.18);display:grid;place-items:center;font-size:22px;transition:.25s;border:1px solid var(--line);color:#0b1220}
.float-cta a:hover{transform:translateY(-3px);background:#f0f6ff}
.float-cta a.wx-f{background:#07c160;border-color:#07c160;color:#fff}
.float-cta a.wx-f:hover{background:#06ad56}

/* ===== 微信咨询弹窗 ===== */
.wx-mask{position:fixed;inset:0;z-index:200;background:rgba(4,10,28,.62);backdrop-filter:blur(6px);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .3s}
.wx-mask.show{opacity:1;pointer-events:auto}
.wx-pop{position:relative;background:#fff;border-radius:20px;padding:34px 38px 30px;text-align:center;max-width:340px;width:calc(100% - 48px);box-shadow:0 40px 100px rgba(2,8,30,.5);transform:translateY(16px) scale(.96);transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
.wx-mask.show .wx-pop{transform:translateY(0) scale(1)}
.wx-pop h4{font-size:19px;font-weight:800;color:#0d1830;margin-bottom:18px}
.wx-qr{background:linear-gradient(135deg,#0052d1,#3d8bff);border-radius:16px;padding:14px;display:inline-block}
.wx-qr img{display:block;width:220px;height:220px;border-radius:8px;background:#fff}
.wx-pop p{margin-top:16px;font-size:13.5px;line-height:1.8;color:#5b6b8c}
.wx-tel{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:11px 22px;border-radius:999px;background:linear-gradient(120deg,#0052d1,#3d8bff);color:#fff;font-weight:800;font-size:15.5px;letter-spacing:.5px;box-shadow:0 8px 20px rgba(0,82,209,.3);transition:.25s}
.wx-tel:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,82,209,.4)}
.wx-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border:none;background:transparent;font-size:22px;color:#93a3c4;cursor:pointer;border-radius:50%;transition:.2s}
.wx-close:hover{background:#eef3fc;color:#0d1830}

/* ===== 滚动进入动画 ===== */
.rv{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}

/* ===== 响应式 ===== */
@media(max-width:1024px){
  .f-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .nav ul{display:none}
  .f-grid{grid-template-columns:1fr}
}
