/* 盟券官网公共框架：公告条、导航、页脚、右侧工具条、手机底栏、扫码弹窗。
   所有类名以 mq- 开头，可与 Bootstrap 及旧页面样式共存。由 tools/build.py 注入各页面。 */
:root{
  --mq-brand:#417afe;--mq-brand-2:#9A54FB;--mq-brand-soft:#eef3ff;--mq-brand-ink:#2a55c9;
  --mq-ok:#36c97e;--mq-hot:#ff8c42;--mq-ink:#1a2233;--mq-muted:#5f6b7d;--mq-line:#e3e8f0;--mq-bg2:#f6f8fc;
  --mq-grad:linear-gradient(135deg,#417afe 0%,#6a67fc 55%,#9A54FB 100%);
  --mq-shadow:0 10px 30px rgba(31,52,110,.10);
}
.mq-header *,.mq-footer *,.mq-fab *,.mq-mbar *,.mq-notice *,.mq-scan *{box-sizing:border-box}
.mq-i{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}
.mq-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.mq-skip{position:absolute;left:-999px;top:0;z-index:200;background:#fff;color:var(--mq-brand);padding:8px 14px}
.mq-skip:focus{left:12px}

/* 公告条 */
.mq-notice{background:#10151f;color:#dfe6f3;font:13.5px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;text-align:center;padding:8px 44px;position:relative}
div.mq-notice a{color:#9ec0ff;font-weight:600;margin-left:8px;text-decoration:none}
.mq-notice b{display:inline-block;background:var(--mq-ok);color:#fff;font-size:11px;padding:1px 7px;border-radius:5px;margin-right:8px}
.mq-notice button{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:none;color:#8d97ab;font-size:18px;line-height:1;cursor:pointer;padding:4px}
.mq-notice[hidden]{display:none}

/* 导航 */
.mq-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--mq-line);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
.mq-header .mq-wrap{display:flex;align-items:center;height:68px;gap:24px}
.mq-brand{display:flex;align-items:center;gap:10px;color:var(--mq-ink)!important;font-weight:700;font-size:20px;text-decoration:none!important;flex-shrink:0;line-height:1.2}
.mq-brand img{width:36px;height:36px;border-radius:10px}
.mq-brand small{display:block;font-size:11px;font-weight:500;color:var(--mq-muted);letter-spacing:.5px}
.mq-menu{display:flex;gap:2px;flex:1;list-style:none;margin:0;padding:0}
.mq-menu>li{position:relative;margin:0}
.mq-menu>li>a{display:block;padding:8px 11px;border-radius:8px;color:var(--mq-ink);font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
.mq-menu>li>a.mq-dd::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 0 3px 7px;opacity:.6}
.mq-menu>li:hover>a,.mq-menu>li.mq-open>a,.mq-menu>li>a[aria-current]{background:var(--mq-brand-soft);color:var(--mq-brand)}
.mq-mega{position:absolute;top:100%;left:-12px;padding-top:10px;display:none;z-index:90}
.mq-mega.mq-right{left:auto;right:-12px}
.mq-menu>li:hover .mq-mega,.mq-menu>li.mq-open .mq-mega,.mq-menu>li:focus-within .mq-mega{display:block}
.mq-mega-in{background:#fff;border:1px solid var(--mq-line);border-radius:16px;box-shadow:var(--mq-shadow);padding:20px;display:grid;gap:16px 26px;grid-template-columns:repeat(var(--cols,2),minmax(176px,1fr))}
.mq-mega h5{margin:0 0 6px;font-size:12px;color:var(--mq-muted);font-weight:600;letter-spacing:.5px}
.mq-mega .mq-mega-in a{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:0 -8px;border-radius:8px;color:var(--mq-ink);font-size:14px;text-decoration:none}
.mq-mega .mq-mega-in a:hover{background:var(--mq-bg2);color:var(--mq-brand)}
.mq-mega a .mq-i{width:18px;height:18px;color:var(--mq-brand)}
.mq-mega a img{width:20px;height:20px;border-radius:5px}
.mq-mega .mq-all{margin-top:6px;color:var(--mq-brand);font-weight:600}
.mq-new{display:inline-block;background:var(--mq-ok);color:#fff;font-size:11px;font-weight:700;padding:0 6px;border-radius:5px;line-height:18px}
.mq-cta{display:flex;gap:10px;align-items:center;flex-shrink:0}
.mq-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:9px 16px;font-weight:600;font-size:14px;border:0;cursor:pointer;text-decoration:none!important;line-height:1.4;font-family:inherit}
.mq-btn-pri{background:var(--mq-grad);color:#fff!important;box-shadow:0 8px 20px rgba(65,122,254,.3)}
.mq-btn-sec{background:#fff;color:var(--mq-brand)!important;border:1px solid #cddbff}
.mq-burger{display:none;border:0;background:none;padding:6px;color:var(--mq-ink);margin-left:auto;cursor:pointer}
.mq-drawer{display:none}
@media (max-width:1120px){
  .mq-menu,.mq-cta .mq-btn-sec{display:none}
  .mq-burger{display:block}
  .mq-header .mq-wrap{gap:12px}
  .mq-header.mq-nav-open .mq-drawer{display:block}
  .mq-drawer{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--mq-line);box-shadow:var(--mq-shadow);max-height:75vh;overflow:auto;padding:8px 20px 20px}
  .mq-drawer details{border-bottom:1px solid var(--mq-line)}
  .mq-drawer summary{padding:14px 0;font-weight:600;list-style:none;cursor:pointer;color:var(--mq-ink)}
  .mq-drawer summary::-webkit-details-marker{display:none}
  .mq-drawer details a{display:block;padding:7px 12px;color:var(--mq-ink);font-size:15px;text-decoration:none}
  .mq-header .mq-drawer>a{display:block;padding:14px 0;font-weight:600;color:var(--mq-ink);border-bottom:1px solid var(--mq-line);text-decoration:none}
}
@media (max-width:640px){
  .mq-wrap{padding:0 16px}
  .mq-header .mq-wrap{height:58px}
  .mq-brand small{display:none}
  .mq-cta .mq-btn-pri{padding:7px 12px;font-size:13px}
  .mq-notice{text-align:left;padding:8px 40px 8px 16px;font-size:12.5px}
}

/* 页脚 */
.mq-footer{background:#121826;color:#aab3c5;padding:56px 0 24px;font:14px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.mq-footer .mq-cols{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:24px}
footer.mq-footer h4{color:#fff;font-size:15px;margin:0 0 12px;font-weight:600}
footer.mq-footer a{color:#aab3c5;display:block;padding:3px 0;text-decoration:none}
footer.mq-footer a:hover{color:#fff}
.mq-footer .mq-fb{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:18px;margin-bottom:12px}
.mq-footer .mq-fb img{width:32px;height:32px;border-radius:8px}
.mq-footer p{margin:0}
.mq-footer .mq-fc{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
footer.mq-footer .mq-fc a{display:inline-block;border:1px solid #2b3549;border-radius:8px;padding:3px 10px;font-size:13px}
.mq-footer .mq-legal{border-top:1px solid #263044;margin-top:36px;padding-top:18px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:6px 18px}
footer.mq-footer .mq-legal a{display:inline;padding:0}
@media (max-width:1000px){.mq-footer .mq-cols{grid-template-columns:repeat(3,1fr)}.mq-footer .mq-cols>div:first-child{grid-column:1/-1}}
@media (max-width:640px){.mq-footer .mq-cols{grid-template-columns:1fr 1fr}.mq-footer{padding-bottom:84px}}

/* 右侧工具条（桌面端，垂直居中） */
.mq-fab{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:70;width:96px;background:#fff;border:1px solid var(--mq-line);border-radius:16px;box-shadow:var(--mq-shadow);display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
nav.mq-fab a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;font-size:12px;font-weight:600;color:var(--mq-ink);border-top:1px solid var(--mq-line);text-decoration:none;line-height:1.3}
nav.mq-fab a:first-child{border-top:0;padding-top:12px}
nav.mq-fab a:hover{background:var(--mq-bg2);color:var(--mq-brand)}
.mq-fab img{width:72px;height:72px;display:block}
.mq-fab .mq-i{width:20px;height:20px;color:var(--mq-brand)}
@media (max-width:1280px){.mq-fab{right:10px;width:84px}.mq-fab img{width:62px;height:62px}}
@media (max-width:760px){.mq-fab{display:none}}

/* 手机底栏 */
.mq-mbar{display:none}
@media (max-width:640px){
  .mq-mbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--mq-line)}
  .mq-mbar .mq-btn{flex:1;padding:11px}
}

/* 微信咨询弹窗（js/contact.js）与扫码弹窗（js/mq.js）共用。选择器带 dialog 前缀，覆盖旧页面 contact.css 的同名规则 */
dialog.mq-contact-dialog{box-sizing:border-box;width:min(380px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;margin:auto;padding:0;border:0;border-radius:22px;background:#fff;color:var(--mq-ink);text-align:center;box-shadow:0 24px 80px rgba(15,23,42,.35);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.6}
dialog.mq-contact-dialog::backdrop{background:rgba(10,16,30,.55);backdrop-filter:blur(2px)}
dialog.mq-contact-dialog *{box-sizing:border-box}
dialog.mq-contact-dialog .mq-contact-close{position:absolute;right:12px;top:12px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;font-size:22px;line-height:32px;padding:0;cursor:pointer;outline:none}
dialog.mq-contact-dialog .mq-contact-close:hover,dialog.mq-contact-dialog .mq-contact-close:focus-visible{background:rgba(255,255,255,.34)}
dialog.mq-contact-dialog .mq-cd-head{background:var(--mq-grad);color:#fff;padding:28px 24px 64px}
dialog.mq-contact-dialog .mq-cd-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.18);margin-bottom:10px}
dialog.mq-contact-dialog .mq-cd-icon svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
dialog.mq-contact-dialog .mq-cd-head h2{margin:0;font-size:20px;font-weight:700;color:#fff;line-height:1.4}
dialog.mq-contact-dialog .mq-cd-head p{margin:4px 0 0;font-size:13px;color:rgba(255,255,255,.85)}
dialog.mq-contact-dialog .mq-cd-body{padding:0 24px 22px}
dialog.mq-contact-dialog .mq-cd-qr{width:224px;margin:-44px auto 0;padding:12px;background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(31,52,110,.16)}
dialog.mq-contact-dialog .mq-cd-qr img{display:block;width:200px;height:200px;max-width:100%;margin:0;object-fit:contain;background:#fff}
dialog.mq-contact-dialog .mq-cd-who{margin:14px 0 2px;font-size:15px;font-weight:600;color:var(--mq-ink)}
dialog.mq-contact-dialog .mq-cd-hint{margin:0 0 16px;font-size:13px;color:var(--mq-muted)}
dialog.mq-contact-dialog .mq-contact-error{margin:0 0 14px;font-size:13px;color:#9a4b22;background:#fff4ec;border-radius:10px;padding:6px 10px}
dialog.mq-contact-dialog .mq-contact-error[hidden]{display:none}
dialog.mq-contact-dialog .mq-cd-tel{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 16px;border-radius:12px;background:var(--mq-brand-soft);color:var(--mq-brand-ink);font-weight:600;font-size:15px;text-decoration:none}
dialog.mq-contact-dialog .mq-cd-tel:hover{background:#e2eaff}
dialog.mq-contact-dialog .mq-contact-links{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:#b0b8c6}
dialog.mq-contact-dialog .mq-contact-links a{color:var(--mq-muted);text-decoration:none}
dialog.mq-contact-dialog .mq-contact-links a:hover{color:var(--mq-brand)}
@media (max-width:420px){dialog.mq-contact-dialog .mq-cd-qr{width:200px}dialog.mq-contact-dialog .mq-cd-qr img{width:176px;height:176px}}
