/* Same compact disclosure and icon sizes as the neon site. */
.vv-contact-widget { --vv-bottom:max(20px,env(safe-area-inset-bottom)); position:fixed; right:max(20px,env(safe-area-inset-right)); bottom:var(--vv-bottom); z-index:9500; display:flex; flex-direction:column; align-items:flex-end; gap:14px; color:#16344f; font-family:Arial,sans-serif; }
.vv-contact-widget * { box-sizing:border-box; }
.vv-contact-widget__button { flex:none; position:relative; isolation:isolate; display:grid; place-items:center; width:58px; height:58px; padding:0; border:0; border-radius:50%; background:#c82333; color:#fff; cursor:pointer; box-shadow:0 8px 28px #16344f40; }
.vv-contact-widget__button::before,.vv-contact-widget__button::after { content:""; position:absolute; inset:0; border:2px solid #d14552; border-radius:50%; z-index:-1; animation:vm-contact-pulse 3s ease-out infinite; pointer-events:none; }
.vv-contact-widget__button::after { animation-delay:1.1s; }
.vv-contact-widget__button svg { width:28px; height:28px; }
.vv-contact-widget svg { fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.vv-contact-widget.is-open .vv-contact-widget__button::before,.vv-contact-widget.is-open .vv-contact-widget__button::after { animation:none; opacity:0; }
.vv-contact-widget__menu { order:-1; width:290px; max-width:calc(100vw - 32px); max-height:calc(100vh - var(--vv-bottom) - 88px); max-height:calc(100dvh - var(--vv-bottom) - 88px); overflow:auto; overscroll-behavior:contain; padding:14px; border:1px solid #dce4eb; border-radius:16px; background:#fff; box-shadow:0 16px 48px #16344f30; }
.vv-contact-widget__menu[hidden] { display:none; }
.vv-contact-widget__title { margin:0 8px 8px; font-size:14px; font-weight:600; color:#526475; }
.vv-contact-widget__link { display:flex; align-items:center; gap:12px; min-height:56px; padding:7px 8px; border-radius:8px; color:#16344f; text-decoration:none; }
.vv-contact-widget__link:hover { background:#f3f6f9; }
.vv-contact-widget__icon { display:grid; place-items:center; flex:none; width:36px; height:36px; overflow:hidden; border-radius:9px; }
.vv-contact-widget__icon img { display:block; width:36px; height:36px; object-fit:contain; }
.vv-contact-widget__icon--utility { color:#16344f; background:#eaf0f5; }
.vv-contact-widget__icon svg { width:23px; height:23px; }
.vv-contact-widget__link b { display:block; font-size:15px; line-height:1.4; font-weight:600; }
.vv-contact-widget__link small { display:block; color:#526475; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.vv-contact-widget a:focus-visible { outline:3px solid #1779b7; outline-offset:0; }
.vv-contact-widget__button:focus-visible { outline:3px solid #1779b7; outline-offset:5px; }
.vm-dialog-open .vv-contact-widget { visibility:hidden; }
@keyframes vm-contact-pulse { from{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(1.4)} }
@media(max-width:760px) { .vv-contact-widget { right:16px; --vv-bottom:max(16px,env(safe-area-inset-bottom)); } }
@media(prefers-reduced-motion:reduce) { .vv-contact-widget__button::before,.vv-contact-widget__button::after { animation:none; opacity:0; } }
