.fsi-wrap, .fsi-share { display: flex; gap: 8px; }
.fsi-wrap { flex-direction: column; gap: var(--fsi-gap, 8px); }
.fsi-share { flex-direction: row; flex-wrap: wrap; align-items: center; } .fsi-floating { position: fixed; z-index: 99990; transition: opacity .25s ease, transform .25s ease; }
.fsi-floating.fsi-pos-left  { left: 0; }
.fsi-floating.fsi-pos-right { right: 0; }
.fsi-floating.fsi-valign-middle { top: 50%; transform: translateY(-50%); }
.fsi-floating.fsi-valign-top    { top: 90px; }
.fsi-floating.fsi-valign-bottom { bottom: 40px; }
.fsi-floating.fsi-valign-custom { top: var(--fsi-vpos, 25%); } .fsi-floating.fsi-pos-bottom {
left: 50%; bottom: 0; top: auto;
transform: translateX(-50%);
flex-direction: row;
padding: 8px 12px;
background: rgba(255,255,255,.9);
backdrop-filter: blur(6px);
border-radius: 16px 16px 0 0;
box-shadow: 0 -4px 20px rgba(0,0,0,.12);
}
.fsi-floating.fsi-scroll-hidden { opacity: 0; pointer-events: none; }
.fsi-floating.fsi-pos-left.fsi-scroll-hidden  { transform: translateY(-50%) translateX(-24px); }
.fsi-floating.fsi-pos-right.fsi-scroll-hidden { transform: translateY(-50%) translateX(24px); }
.fsi-floating.fsi-pos-bottom.fsi-scroll-hidden { transform: translateX(-50%) translateY(24px); }
@media (max-width: 768px) {
.fsi-hide-mobile.fsi-floating { display: none !important; }
} .fsi-icon {
width: var(--fsi-size, 34px);
height: var(--fsi-size, 34px);
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--fsi-force-bg, var(--fsi-bg, #666));
color: var(--fsi-force-fg, var(--fsi-fg, #fff)); text-decoration: none !important;
line-height: 1;
flex-shrink: 0;
transition: transform .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.fsi-icon svg { width: 50%; height: 50%; }
.fsi-icon img { display: block; } .fsi-icon.fsi-share-icon svg { width: var(--fsi-icon-size, 50%); height: var(--fsi-icon-size, 50%); }
.fsi-shape-round   .fsi-icon { border-radius: 50%; }
.fsi-shape-rounded .fsi-icon { border-radius: 28%; }
.fsi-shape-square  .fsi-icon { border-radius: 0; }
.fsi-shape-custom  .fsi-icon { border-radius: var(--fsi-radius, 0); } .fsi-shape-outline .fsi-icon {
background: transparent;
border: 2px solid var(--fsi-force-bg, var(--fsi-bg, currentColor));
color: var(--fsi-force-bg, var(--fsi-bg, currentColor));
border-radius: 50%;
}
.fsi-shadow .fsi-icon { box-shadow: 0 3px 8px rgba(0,0,0,.22); }
.fsi-icon:hover, .fsi-icon:focus-visible {
background: var(--fsi-force-bg, var(--fsi-hbg, var(--fsi-bg, #666)));
color: var(--fsi-force-fg, var(--fsi-hfg, var(--fsi-fg, #fff)));
}
.fsi-icon:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; } .fsi-hover-lift   .fsi-icon:hover { transform: translateY(-4px); }
.fsi-hover-pulse  .fsi-icon:hover { transform: scale(1.18); }
.fsi-hover-rotate .fsi-icon:hover { transform: rotate(360deg); transition-duration: .5s; }
.fsi-hover-flip   .fsi-icon:hover { transform: rotateY(360deg); transition-duration: .6s; }
.fsi-hover-shake  .fsi-icon:hover { animation: fsiShake .4s ease; }
.fsi-hover-bounce .fsi-icon:hover { animation: fsiBounce .5s ease; }
.fsi-hover-swing  .fsi-icon:hover { animation: fsiSwing .6s ease; transform-origin: top center; }
@keyframes fsiShake {
0%,100% { transform: translateX(0); }
25% { transform: translateX(-3px); }
75% { transform: translateX(3px); }
}
@keyframes fsiBounce {
0%,100% { transform: translateY(0); }
30% { transform: translateY(-7px); }
60% { transform: translateY(0); }
80% { transform: translateY(-3px); }
}
@keyframes fsiSwing {
20% { transform: rotate(12deg); }
40% { transform: rotate(-9deg); }
60% { transform: rotate(5deg); }
80% { transform: rotate(-4deg); }
100% { transform: rotate(0); }
} .fsi-reveal-btn {
width: var(--fsi-size, 34px); height: var(--fsi-size, 34px);
border-radius: 50%; cursor: pointer; padding: 0;
border: 2px solid var(--fsi-action-border, transparent);
background: var(--fsi-action-bg, #111214); color: #fff;
display: flex; align-items: center; justify-content: center;
}
.fsi-reveal-btn svg { width: 45%; height: 45%; }
.fsi-reveal-items {
display: flex; flex-direction: column; gap: 8px;
padding: var(--fsi-rv-pad, 0);
max-height: 0; overflow: hidden; opacity: 0;
transition: max-height .28s ease, opacity .2s ease;
}
.fsi-pos-bottom .fsi-reveal-items { flex-direction: row; }
.fsi-reveal-items.is-open { max-height: 1200px; opacity: 1; }
.fsi-rv-shadow .fsi-icon { box-shadow: 0 3px 8px rgba(0,0,0,.25); } .fsi-rv-animate-hover .fsi-icon:hover { transform: translateY(-3px) scale(1.08); } @media (min-width: 769px) {
.fsi-reveal-mobile .fsi-reveal-btn { display: none; }
.fsi-reveal-mobile .fsi-reveal-items { max-height: none; opacity: 1; overflow: visible; }
} @media (max-width: 768px) {
.fsi-floating.fsi-sticky-bar {
left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
transform: none !important;
flex-direction: row; width: 100%;
background: #fff; box-shadow: 0 -3px 14px rgba(0,0,0,.14);
padding: 8px; gap: 6px; border-radius: 0;
}
.fsi-floating.fsi-sticky-bar .fsi-icon { flex: 1; width: auto; }
.fsi-floating.fsi-sticky-bar .fsi-reveal-items { flex-direction: row; flex: 1; }
} .fsi-share-ic { display: inline-flex; align-items: center; justify-content: center; }
.fsi-style-label .fsi-share-icon { width: auto; padding: 0 14px; border-radius: 999px; gap: 8px; }
.fsi-style-label.fsi-shape-square .fsi-share-icon { border-radius: 6px; }
.fsi-share-label { font-size: 13px; font-weight: 500; }
.fsi-share-count { font-size: 12px; font-weight: 600; opacity: .85; margin-left: 4px; }
.fsi-copy-link.fsi-copied::after { content: "\2713"; margin-left: 4px; } .fsi-style-button .fsi-share-icon {
width: auto;
min-width: 150px;
border-radius: 4px !important;
gap: 10px;
padding: 0 14px 0 0;
justify-content: flex-start;
overflow: hidden;
}
.fsi-style-button .fsi-share-ic {
width: var(--fsi-size, 34px);
height: var(--fsi-size, 34px);
background: rgba(0, 0, 0, .15);
flex-shrink: 0;
}
.fsi-style-button .fsi-share-label { font-weight: 600; } .fsi-share-sidebar { position: fixed; left: 0; top: 50%; transform: translateY(-50%); z-index: 99989; }
.fsi-share-sidebar .fsi-share { flex-direction: column; }
@media (max-width: 900px) { .fsi-share-sidebar { display: none; } } .fsi-sticky-mobile { display: none; }
@media (max-width: 768px) {
.fsi-sticky-mobile {
display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 99989;
background: #fff; box-shadow: 0 -3px 14px rgba(0,0,0,.12); padding: 8px 10px;
}
.fsi-sticky-mobile .fsi-share { justify-content: space-around; }
} .fsi-chat-bubble {
position: fixed; right: 22px; bottom: 22px; z-index: 99991;
width: 54px; height: 54px; border-radius: 50%;
background: var(--fsi-bg, #25D366); color: #fff;
display: flex; align-items: center; justify-content: center;
box-shadow: 0 6px 20px rgba(0,0,0,.28);
transition: transform .18s ease;
}
.fsi-chat-bubble:hover { transform: scale(1.08); }
.fsi-chat-bubble svg { width: 26px; height: 26px; }