.mobile-consult-bar { position: fixed; z-index: 900; left: 50%; bottom: 40px; display: flex; align-items: center; width: 220px; height: 52px; padding: 0 20px; border-radius: 30px; background: #fff; box-shadow: 0 8px 30px rgba(68,66,125,.12); transform: translate(-50%, 18px); opacity: 0; visibility: hidden; pointer-events: none; transition: transform .24s ease, opacity .24s ease, visibility .24s; }
.mobile-consult-bar.is-visible { transform: translate(-50%, 0); opacity: 1; visibility: visible; pointer-events: auto; }
.mobile-consult-bar button { display: inline-flex; align-items: center; justify-content: center; flex: 1; gap: 4px; padding: 0; height: 32px; border: 0; background: none; color: #3d3d3d; font: 400 13px/18px "PingFang SC", "Helvetica Neue", sans-serif; white-space: nowrap; cursor: pointer; }
.mobile-consult-bar img { display: block; flex: none; width: 18px; height: 18px; object-fit: contain; }
.mobile-consult-bar .mobile-consult-divider { flex: none; width: 1px; height: 20px; margin: 0 14px; background: #d9d9d9; }
/* 两个移动端页面共用首页的二维码弹窗样式。 */
#image-modal.modal { display: none; position: fixed; z-index: 99999; inset: 0; }
#image-modal .modal-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
#image-modal .modal-content, .mobile-adviser-dialog, .join-dialog { position: fixed; box-sizing: border-box; width: calc(100% - 40px); max-width: 360px; height: min(440px, calc(100dvh - 40px)); padding: 0; border: 0; border-radius: 20px; overflow: hidden; color: #272b33; text-align: center; background: linear-gradient(145deg, #edf3ff, #fff); }
#image-modal .modal-content { top: 50%; left: 50%; transform: translate(-50%, -50%); }
.mobile-adviser-dialog, .join-dialog { margin: auto; }
.mobile-adviser-dialog[open], .join-dialog[open], #image-modal .modal-body { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.mobile-adviser-dialog::backdrop, .join-dialog::backdrop { background: rgba(0,0,0,.6); }
#image-modal .modal-body { position: relative; height: 100%; background: linear-gradient(145deg, #edf3ff, #fff); }
#image-modal .modal-body::before, .mobile-adviser-dialog h2, .join-dialog h2 { margin: 0 0 12px; color: #272b33; font-size: 23px; font-weight: 600; line-height: 1.6; }
#image-modal .modal-body::before { content: "扫码添加专属顾问"; }
#image-modal .modal-body::after, .mobile-adviser-dialog p, .join-dialog p { margin: 20px 0 0; color: #727887; font-size: 13px; font-weight: 400; line-height: 1.6; }
#image-modal .modal-body::after { content: "长按识别二维码，了解产品与服务"; }
#image-modal .modal-body .modal-qr, .mobile-adviser-dialog > img, .join-dialog > img { display: block; box-sizing: border-box; flex: none; width: min(220px, 60vw, 50dvh); max-width: 100%; height: auto; aspect-ratio: 1; margin: 0; padding: 8px; background: #fff; border-radius: 12px; }
#image-modal .modal-qr-box, #image-modal .modal-qr-border, #image-modal .modal-qr-line { display: none; }
#image-modal .modal-close, .mobile-adviser-dialog .mobile-adviser-close, .join-dialog .join-close { position: absolute; top: 16px; right: 16px; width: 24px; height: 24px; padding: 0; border: 0; background: transparent url('../img/qr/close.png') center / contain no-repeat; font-size: 0; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .mobile-consult-bar { transition: none; } }

/* 原生 dialog 自动聚焦关闭按钮时不显示描边，键盘导航仍保留焦点提示。 */
.mobile-adviser-dialog .mobile-adviser-close:focus:not(:focus-visible),
.join-dialog .join-close:focus:not(:focus-visible) { outline: none; }
.mobile-adviser-dialog .mobile-adviser-close:focus-visible,
.join-dialog .join-close:focus-visible { outline: none; }
.mobile-adviser-dialog.keyboard-focus .mobile-adviser-close:focus-visible,
.join-dialog.keyboard-focus .join-close:focus-visible { outline: 2px solid #3276ff; outline-offset: 4px; }
