/* Fixed overlay: preserve the original page width. */
.social-dock{position:fixed;top:50%;right:max(18px,env(safe-area-inset-right));transform:translateY(-50%);z-index:900;display:flex;flex-direction:column;gap:18px}
.social-dock-button{--glow:#25d366;position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px;min-width:64px;border:1px solid var(--glow);border-radius:18px;background:#101114;color:#fff;text-decoration:none;box-shadow:0 0 10px color-mix(in srgb,var(--glow) 65%,transparent),0 0 27px color-mix(in srgb,var(--glow) 32%,transparent),inset 0 0 12px color-mix(in srgb,var(--glow) 12%,transparent);transition:box-shadow .2s,background .2s}
.social-dock-button svg{width:34px;height:34px;fill:currentColor;flex:none}
.social-phone{--glow:#d8b776}.social-fb{--glow:#1877f2}.social-tt{--glow:#25f4ee}
.social-tt svg{filter:drop-shadow(2px 1px 0 #fe2c55) drop-shadow(-1px -1px 0 #25f4ee)}
.social-dock-button:hover,.social-dock-button:focus-visible{background:#25262b;box-shadow:0 0 15px var(--glow),0 0 36px color-mix(in srgb,var(--glow) 50%,transparent);outline:2px solid white;outline-offset:4px}
.social-dock-label{position:absolute;right:calc(100% + 14px);padding:8px 12px;border-radius:6px;background:#111;color:white;font:600 14px/1.4 sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.social-dock-button:hover .social-dock-label,.social-dock-button:focus-visible .social-dock-label{opacity:1}
@media(max-width:600px){.social-dock{right:max(9px,env(safe-area-inset-right));gap:14px}.social-dock-button{width:48px;height:48px;min-width:48px;border-radius:14px}.social-dock-button svg{width:27px;height:27px}}
@media(max-height:400px){.social-dock{gap:8px}.social-dock-button{width:44px;height:44px;min-width:44px;border-radius:12px}.social-dock-button svg{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.social-dock-button,.social-dock-label{transition:none}}

/* Expand the button itself toward the left; keep the icon anchored. */
.social-dock{align-items:flex-end}
.social-dock-button{overflow:hidden;transition:width .28s ease,box-shadow .2s,background .2s}
.social-dock-button svg{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
.social-dock-label{position:absolute;right:64px;padding:0 12px 0 18px;background:transparent;font:600 13px/1.4 sans-serif;opacity:0;transform:translateX(8px);transition:opacity .18s,transform .28s;white-space:nowrap}
.social-dock-button:focus-visible{width:min(340px,calc(100vw - 36px))}
.social-dock-button:focus-visible .social-dock-label{opacity:1;transform:translateX(0)}
@media(hover:hover) and (pointer:fine){.social-dock-button:hover{width:min(340px,calc(100vw - 36px))}.social-dock-button:hover .social-dock-label{opacity:1;transform:translateX(0)}}
@media(max-width:600px){.social-dock-button svg{right:9px}.social-dock-label{right:48px;font-size:12px;padding-left:12px}}
@media(max-height:400px){.social-dock-button svg{right:8px}.social-dock-label{right:44px}}
@media(prefers-reduced-motion:reduce){.social-dock-button,.social-dock-label{transition:none}}
