.floating-action--wechat { background:#087d39; }
body > .floating-action--wechat { position:fixed; right:20px; bottom:220px; z-index:25; }
.floating-action--wechat svg { width:30px; height:30px; }
#vht-wechat-dialog { width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:32px 24px 24px; border:0; border-radius:14px; background:white; color:var(--vht-ink); text-align:center; }
#vht-wechat-dialog::backdrop { background:rgba(10,20,40,.8); }
#vht-wechat-dialog h2 { font-size:24px; margin:12px 0 8px; }
#vht-wechat-dialog p { color:var(--vht-muted); margin:0 0 16px; }
#vht-wechat-dialog img { display:block; width:100%; height:auto; max-height:56dvh; object-fit:contain; }
.vht-wechat-close { position:absolute; top:8px; right:8px; display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:6px; background:var(--vht-surface); color:var(--vht-navy); cursor:pointer; }
.vht-wechat-close svg { width:24px; height:24px; }
.vht-wechat-close:hover { background:var(--vht-line); }
#vht-wechat-dialog :focus-visible { outline:3px solid var(--vht-blue); outline-offset:3px; }
.vht-wechat-original { display:inline-block; margin-top:16px; color:var(--vht-blue); }
.contact-qr-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:min(100%,360px); margin:14px 0 0; }
.contact-qr { min-width:0; margin:0; }
.contact-qr img { display:block; width:100%; aspect-ratio:1; height:auto; padding:5px; border:1px solid var(--vht-line); border-radius:8px; background:#fff; object-fit:contain; }
.contact-qr figcaption { margin-top:8px; color:var(--vht-blue); font-size:14px; font-weight:700; line-height:1.4; text-align:center; }
@media(max-width:380px) { .contact-qr-grid { gap:8px; } .contact-qr img { padding:3px; } .contact-qr figcaption { font-size:13px; } }
body.vht-wechat-open { overflow:hidden; }
