.social-widget{position:fixed;right:24px;bottom:80px;z-index:45}
.social-toggle,.social-link{display:grid;place-items:center;border-radius:50%;padding:0;flex-shrink:0;box-shadow:0 6px 24px rgb(0 0 0 / .16);text-decoration:none;transition:translate 300ms var(--motion-ease,ease),box-shadow 300ms ease}
.social-toggle{position:relative;isolation:isolate;width:60px;height:60px;border:0;background:#ff0000;color:#fff;cursor:pointer}
.social-toggle::after{content:'';position:absolute;inset:0;border:2px solid #ff0000;border-radius:50%;pointer-events:none;opacity:0;z-index:-1}
.social-toggle[aria-expanded=false]:not(:hover):not(:focus-visible)::after{animation:social-pulse 6s ease-out 3s infinite}
.social-toggle>svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.social-toggle .social-close-icon{display:none;width:28px;height:28px;stroke-width:1.4}
.social-toggle[aria-expanded=true]{background:#fff;color:#000}
.social-toggle[aria-expanded=true] .social-message-icon{display:none}
.social-toggle[aria-expanded=true] .social-close-icon{display:block}
.social-items{position:absolute;right:5px;bottom:74px;display:flex;flex-direction:column;gap:12px}
.social-items[hidden]{display:none}
.social-link{width:50px;height:50px;background:#fff;position:relative;animation:social-in 300ms var(--motion-ease,ease) backwards}
.social-link:nth-child(2){animation-delay:40ms}.social-link:nth-child(1){animation-delay:80ms}
.social-link>svg{width:100%;height:100%;display:block}
.social-link>span{position:absolute;right:calc(100% + 12px);top:50%;translate:0 -50%;padding:7px 12px;border:1px solid #e8e8e8;border-radius:999px;background:#fff;color:#000;white-space:nowrap;font-size:12px;line-height:1.5;opacity:0;pointer-events:none;transition:opacity 150ms ease}
.social-link:focus-visible>span,.social-link:hover>span{opacity:1}
.social-widget :focus-visible{outline:3px solid #000;outline-offset:5px}
body:has(dialog[open]) .social-widget{visibility:hidden}
@media(hover:hover) and (pointer:fine){.social-toggle:hover,.social-link:hover{translate:0 -3px;box-shadow:0 9px 28px rgb(0 0 0 / .2)}}
.social-toggle:active,.social-link:active{translate:0 1px}
@keyframes social-in{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
@keyframes social-pulse{0%{opacity:0;transform:scale(1)}5%{opacity:.2;transform:scale(1.04)}25%,100%{opacity:0;transform:scale(1.4)}}
@media(max-width:767px){.social-widget{right:16px;bottom:calc(132px + env(safe-area-inset-bottom,0px))}.social-toggle{width:56px;height:56px}.social-items{right:4px;bottom:68px;gap:10px}.social-link{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.social-toggle::after{animation:none!important}}
@media(prefers-reduced-motion:reduce){.social-widget *{animation:none!important;transition:none!important;translate:none!important}.social-link>span{translate:0 -50%!important}}
@media print{.social-widget{display:none!important}}
