/* Preserve the homepage's existing official contact entry on both sites. */
.contact-float-button[data-baoyan-contact-entry]{position:fixed;z-index:90;right:max(28px,env(safe-area-inset-right));bottom:calc(28px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 22px;border:1px solid #ffffff40;border-radius:99px;background:#234c77;color:#fff;font:600 15px/1.4 Inter,"PingFang SC","Microsoft YaHei",sans-serif;text-decoration:none;box-shadow:0 8px 28px #193d6638;cursor:pointer;transition:background .18s,box-shadow .18s,transform .18s}
.contact-float-button[data-baoyan-contact-entry]:hover{background:#173d65;color:#fff;text-decoration:none;box-shadow:0 10px 30px #193d6645;transform:translateY(-2px)}
.contact-float-button[data-baoyan-contact-entry] svg{flex:none}
[data-baoyan-contact-image]{cursor:zoom-in}
.contact-float-button[data-baoyan-contact-entry]:focus-visible,[data-baoyan-contact-image]:focus-visible,.baoyan-contact-dialog button:focus-visible,.baoyan-contact-dialog a:focus-visible{outline:3px solid #80b4ed;outline-offset:4px}

/* A separately named native dialog preserves other dialogs and top-layer focus. */
dialog.baoyan-contact-dialog{box-sizing:border-box;width:min(940px,calc(100vw - 32px));max-width:940px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:22px 26px 20px;border:1px solid #dfe7f1;border-radius:20px;background:#fff;color:#101a2b;overflow:auto;box-shadow:0 20px 80px #0b1a334d;font:400 14px/1.6 Inter,"PingFang SC","Microsoft YaHei",sans-serif;overscroll-behavior:contain}
dialog.baoyan-contact-dialog:not([open]){display:none}
dialog.baoyan-contact-dialog::backdrop{background:#101a2b99;backdrop-filter:blur(3px)}
.baoyan-contact-dialog *{box-sizing:border-box}
.baoyan-contact-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}
.baoyan-contact-heading h2{margin:0;color:#101a2b;font-size:21px;font-weight:650;line-height:1.4;letter-spacing:0}
.baoyan-contact-dialog .baoyan-contact-close{display:grid;place-items:center;flex:none;width:38px;height:38px;margin:0;padding:0;border:1px solid #e1e8f1;border-radius:50%;background:#f3f6fa;color:#41526c;cursor:pointer;line-height:1}
.baoyan-contact-dialog .baoyan-contact-close:hover{background:#e8eef6;border-color:#c6d5e7;color:#234c77}
.baoyan-contact-figure{margin:0}
.baoyan-contact-dialog .baoyan-contact-large-image{display:block;position:static;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 265px);max-height:calc(100dvh - 265px);margin:0 auto;object-fit:contain;object-position:center;transform:none;border-radius:8px;background:#fff;-webkit-user-select:auto;user-select:auto;-webkit-touch-callout:default;touch-action:auto}
.baoyan-contact-figure figcaption{margin:10px 0 0;text-align:center;color:#667085;font-size:13px;line-height:1.5}
.baoyan-contact-details{margin-top:16px;padding:12px 15px;border-radius:10px;background:#f4f7fb;overflow-wrap:anywhere}
.baoyan-contact-details p{margin:0;color:#344761;font-size:13px;line-height:1.75;-webkit-user-select:text;user-select:text}
.baoyan-contact-details p+p{margin-top:4px}
.baoyan-contact-footer{display:flex;justify-content:space-between;gap:12px;margin-top:12px;color:#667085;font-size:12px;line-height:1.5}
.baoyan-contact-footer a{color:#234c77;text-decoration:none;font-weight:600}
.baoyan-contact-footer a:hover{text-decoration:underline}
.baoyan-contact-image-error{margin:12px 0;color:#a64242;font-size:13px;line-height:1.5}
.baoyan-contact-image-error[hidden]{display:none!important}
@media(max-width:600px){
  .contact-float-button[data-baoyan-contact-entry]{right:max(16px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));min-height:48px;padding:0 17px;gap:8px;font-size:14px}
  .contact-float-button[data-baoyan-contact-entry] svg{width:21px;height:21px}
  dialog.baoyan-contact-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:16px;border-radius:16px}
  .baoyan-contact-heading{margin-bottom:12px}
  .baoyan-contact-heading h2{font-size:19px}
  .baoyan-contact-dialog .baoyan-contact-large-image{max-height:calc(100vh - 290px);max-height:calc(100dvh - 290px)}
  .baoyan-contact-details{padding:11px 12px;margin-top:13px}
  .baoyan-contact-details p{font-size:12px}
  .baoyan-contact-footer{flex-wrap:wrap;font-size:11px}
}
@media(max-height:480px){
  dialog.baoyan-contact-dialog{padding:12px 16px}
  .baoyan-contact-heading{margin-bottom:8px}
  .baoyan-contact-dialog .baoyan-contact-large-image{max-height:none;width:min(65vh,100%);height:auto}
}
@media(prefers-reduced-motion:reduce){.contact-float-button[data-baoyan-contact-entry]{transition:none}}
