/* Keep this feature scoped: existing layout, images and typography are untouched. */
.wecom-float,.wecom-inline{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-weight:600;color:#0052a5;min-height:46px}
.wecom-float svg,.wecom-inline svg{width:23px;height:23px;flex:none}
.wecom-float{position:fixed;right:24px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:700;padding:12px 17px;background:#fff;border:1px solid #d9e4ef;border-radius:28px;box-shadow:0 4px 20px #143b601a;font-size:14px;line-height:1.2}
.wecom-float:hover,.wecom-inline:hover{color:#003c7b}
.wecom-float:focus-visible,.wecom-inline:focus-visible,.wecom-save:focus-visible,.wecom-close:focus-visible{outline:3px solid #53a2ed;outline-offset:4px}
.wecom-detail{padding:0 0 36px;background:#fff}
.wecom-detail>.wrap{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.wecom-detail p{margin:0;color:#657586;font-size:15px}
.wecom-inline{font-size:16px}
.wecom-contact{margin:32px 0;padding:28px;background:#f5f8fc;border:1px solid #e2eaf2;border-radius:12px;scroll-margin-top:120px;text-align:center}
.wecom-contact h3{margin:0;color:#172b40;font-size:22px;line-height:1.5}
.wecom-identity{margin:6px 0 20px!important;color:#657586!important;font-size:14px!important;line-height:1.6!important}
.wecom-qr{position:relative;overflow:hidden;width:216px;max-width:100%;aspect-ratio:1/1;margin:0 auto;background:#fff;border-radius:3px;flex:none}
/* This is a window onto the original 360×782 poster; no QR pixels are redrawn. */
.wecom-qr>img{position:absolute!important;display:block!important;left:-50%!important;top:-194.444444%!important;width:200%!important;max-width:none!important;height:auto!important;object-fit:fill!important;transform:none!important;filter:none!important;opacity:1!important}
.wecom-hint{font-size:13px!important;line-height:1.8!important;color:#657586!important;margin:20px 0 8px!important}
.wecom-save{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:#0052a5;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.wecom-image-error{color:#596d80;font-size:14px;line-height:1.9}
.wecom-dialog{box-sizing:border-box;width:420px;max-width:calc(100% - 36px);max-height:calc(100dvh - 32px);margin:auto;padding:36px 28px 28px;border:0;border-radius:16px;box-shadow:0 20px 80px #071b3e40;background:#fff;color:#172b40;text-align:center;overflow:auto;overscroll-behavior:contain}
.wecom-dialog[open]{display:block}
.wecom-dialog::backdrop{background:#071b3e80}
.wecom-dialog h2{font-size:25px;line-height:1.5;font-weight:650;margin:0;padding:0 20px}
.wecom-close{position:absolute;top:9px;right:9px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;border-radius:50%;background:transparent;color:#526578;font-size:28px;line-height:1;cursor:pointer}
.wecom-close:hover{background:#f0f5fa}
.wecom-image-error[hidden]{display:none}
@media(max-width:700px){.wecom-float{right:14px;bottom:calc(72px + env(safe-area-inset-bottom,0px));padding:11px 14px;font-size:13px}.wecom-contact{padding:24px 18px}.wecom-dialog{padding:36px 22px 24px}.wecom-dialog h2{font-size:23px}.wecom-detail{padding-bottom:28px}.wecom-detail>.wrap{gap:8px 18px}}
@media(prefers-reduced-motion:reduce){.wecom-float,.wecom-inline,.wecom-dialog{transition:none!important;animation:none!important}}
@media print{.wecom-float,.wecom-dialog,.wecom-detail{display:none!important}.wecom-contact{break-inside:avoid}}
