.coresocial_share_floating {
    position: fixed;
    top: 30%;
    z-index: 100000;
    visibility: hidden;
    opacity: 0;

    &.__float_left {
        left: 0;

        &.__styling_rounded {
            div:first-child {
                a {
                    border-radius: 0 var(--coresocial-inline-rounded) 0 0;
                }
            }

            div:last-child {
                a {
                    border-radius: 0 0 var(--coresocial-inline-rounded) 0;
                }
            }
        }

        &.__with_shadow {
            box-shadow: -2px 2px 12px 4px rgba(0, 0, 0, .2);
        }
    }

    &.__float_right {
        right: 0;

        &.__styling_rounded {
            div:first-child {
                a {
                    border-radius: var(--coresocial-floating-rounded) 0 0 0;
                }
            }

            div:last-child {
                a {
                    border-radius: 0 0 0 var(--coresocial-floating-rounded);
                }
            }
        }

        &.__with_shadow {
            box-shadow: 2px 2px 12px 4px rgba(0, 0, 0, .2);
        }
    }

    .coresocial_social_network {
        a {
            line-height: var(--coresocial-floating-button-size);
            min-height: var(--coresocial-floating-button-size);

            i {
                width: var(--coresocial-floating-button-size);
                min-height: var(--coresocial-floating-button-size);
                line-height: var(--coresocial-floating-button-size);
                font-size: calc(2px + var(--coresocial-floating-font-size));
                flex-grow: 1;
            }

            > span {
                padding: 0 calc(var(--coresocial-floating-button-size) / 4) 0 0;
                gap: calc(var(--coresocial-floating-button-size) / 4);
                justify-content: flex-end;
            }
        }

        &:not(.__not_active) {
            a {
                &:hover {
                    i {
                        font-size: calc(6px + var(--coresocial-floating-font-size));
                    }
                }
            }
        }
    }

    &.__color_fill {
        .coresocial_social_network {
            a {
                > span {
                    background: revert;
                }

                &:hover {
                    i,
                    > span {
                        background: rgba(0, 0, 0, .1);
                    }
                }
            }
        }
    }
}

body.coresocial_floating_visible {
    .coresocial_share_floating {
        visibility: visible;
        opacity: 1;
    }
}

body:not(.coresocial_mobile_layout) {
    .coresocial_share_floating {
        &.__animate_visibility {
            transition: visibility .4s linear, opacity .4s linear;
        }

        &.__count_bottom {
            .coresocial_social_network {
                a {
                    flex-direction: column;

                    i {
                        padding: calc(var(--coresocial-floating-button-size) / 4) 0 calc(var(--coresocial-floating-button-size) / 8);
                        line-height: 1;
                        min-height: unset;
                    }

                    > span {
                        padding: 0 0 calc(var(--coresocial-floating-button-size) / 7);
                        text-align: center;
                        background: revert;
                        display: block;
                        line-height: var(--coresocial-inline-font-size);

                        .__count {
                            font-size: calc(var(--coresocial-inline-font-size) * .8);
                            line-height: 1;
                            vertical-align: top;
                        }
                    }
                }
            }
        }

        .coresocial_social_network {
            a {
                > span {
                    &.__empty {
                        display: none;
                    }
                }
            }
        }
    }
}

body.coresocial_floating_visible.coresocial_mobile_layout {
    .coresocial_share_floating {
        top: unset;
        bottom: 0;

        &.__float_right,
        &.__float_left {
            left: 0;
            width: 100%;
        }

        display: flex;
        justify-content: space-evenly;

        > div {
            flex-grow: 1;
        }

        &.__styling_rounded {
            div:first-child,
            div:last-child {
                a {
                    border-radius: 0;
                }
            }
        }
    }
}

@media screen {
    body.coresocial_floating_visible.coresocial_mobile_layout {
        padding-bottom: var(--coresocial-floating-button-size);
    }
}

@media print {
    .coresocial_share_floating {
        display: none !important;
        visibility: hidden !important;
    }

    body.coresocial_floating_visible.coresocial_mobile_layout {
        padding-bottom: revert;
    }
}
