.messenger-widget{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:45;width:56px;height:56px}
.messenger-toggle,.messenger-link{display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:1px solid #ffffff24;border-radius:50%;color:#fff;box-shadow:0 6px 22px #0005;cursor:pointer}
.messenger-toggle{position:relative;z-index:2;background:var(--blue,#2054d8);transition:background .2s,transform .2s}
.messenger-toggle:hover{background:#3066ec;transform:translateY(-2px)}
.messenger-links{position:absolute;bottom:68px;left:0;display:flex;flex-direction:column;gap:12px;visibility:hidden;pointer-events:none}
.messenger-link{opacity:0;transform:translateY(40px) scale(.65);transition:opacity .22s,transform .28s cubic-bezier(.2,.8,.2,1);transition-delay:calc((2 - var(--order))*35ms)}
.is-open .messenger-links{visibility:visible;pointer-events:auto}
.is-open .messenger-link{opacity:1;transform:translateY(0) scale(1)}
.messenger-telegram{background:#229ed9}.messenger-vk{background:#0077ff}.messenger-max{background:linear-gradient(135deg,#168cff,#7048df)}
.messenger-link:hover{filter:brightness(1.15)}
.messenger-link[aria-disabled=true]{cursor:default}
.messenger-widget svg{display:block;flex-shrink:0;pointer-events:none}
@media(max-width:560px){.messenger-widget{right:max(16px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));width:52px;height:52px}.messenger-toggle,.messenger-link{width:52px;height:52px}.messenger-links{bottom:64px;gap:10px}}
@media(prefers-reduced-motion:reduce){.messenger-toggle,.messenger-link{transition:none}}

/* Supplied messenger artwork and redrawn message bubble. */
.messenger-link{border:0;background:transparent}
.messenger-link img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;pointer-events:none}
.messenger-vk{background:transparent;overflow:hidden}
.messenger-vk img{width:131%;height:131%;max-width:none;flex-shrink:0}
.messenger-toggle svg{width:29px;height:29px}
