/* Shared contact details, quietly available without an automatic pop-up. */
.contact-launcher{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border:1px solid #333;border-radius:24px;background:#171717;color:#fff;font:500 13px/1.4 var(--sans);text-decoration:none;box-shadow:0 3px 16px #0002}
.contact-launcher img{width:20px;height:20px;filter:invert(1)}
.contact-launcher:hover{background:#333}
.contact-launcher:focus-visible,.contact-popup a:focus-visible,.contact-popup button:focus-visible{outline:2px solid #777;outline-offset:4px}
body.frame-preview-open .contact-launcher,body.dialog-open .contact-launcher{visibility:hidden}
body.contact-popup-open{overflow:hidden}
.contact-popup{position:fixed;inset:auto 24px calc(82px + env(safe-area-inset-bottom,0px)) auto;margin:0;width:328px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:18px 22px 14px;border:1px solid #ddd;background:#fff;color:#171717;box-shadow:0 12px 48px #0003;font:14px/1.5 var(--sans);border-radius:3px}
.contact-popup:not([open]){display:none}
.contact-popup::backdrop{background:#0004}
.contact-popup-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.contact-popup-head h2{margin:0;font:600 18px/1.4 var(--sans);letter-spacing:.02em}
.contact-popup-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;margin-right:-10px;padding:0;border:0;background:transparent;font:300 28px/1 var(--sans)}
.contact-popup-qr{margin:0;text-align:center}
.contact-popup-qr img{display:block;width:200px;height:auto;padding:12px;margin:0 auto;background:#fff}
.contact-popup-qr figcaption{margin:2px 0 14px;color:#777;font:12px/1.5 var(--sans)}
.contact-popup-wechat{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #e7e7e7}
.contact-popup-wechat>div{min-width:0;display:grid;gap:2px}
.contact-popup-label{font-size:11px;color:#777}
#contact-popup-wechat{font-size:14px;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}
.contact-popup-copy{min-width:48px;min-height:44px;padding:8px;border:1px solid #ddd;background:#fff;font-size:12px;flex-shrink:0}
.contact-popup-socials{display:grid;grid-template-columns:1fr 1fr;margin:12px 0;gap:12px}
.contact-popup-socials>div{min-width:0}
.contact-popup-socials dt{display:flex;align-items:center;gap:5px;color:#777;font-size:11px}
.contact-popup-socials dt img{width:19px;height:19px;object-fit:contain}
.contact-popup-socials dd{margin:4px 0 0;font-size:13px;overflow-wrap:anywhere}
.contact-popup-phone{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;border-top:1px solid #e7e7e7;font-size:13px;text-decoration:none;color:inherit}
.contact-popup-phone>span:first-child{color:#777;font-size:12px}
.contact-popup-status{margin:0;font-size:11px;color:#666;line-height:1.5}
.contact-popup-status:not(:empty){margin-top:5px}
@media(max-width:760px){
 .contact-launcher{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:44px;padding:0 13px;font-size:12px}
 .contact-popup{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 32px - env(safe-area-inset-bottom,0px))}
}
@media(max-height:600px) and (min-width:761px){.contact-popup{bottom:16px}}
@media print{.contact-launcher,.contact-popup{display:none!important}}
