.deo-social-float,
.deo-social-float * {
    box-sizing: border-box !important;
}

.deo-social-float {
    --deo-social-size: 62px;
    --deo-social-gap: 12px;
    --deo-social-black: #000000;
    --deo-social-gold: #ebbb3f;
    --deo-social-white: #ffffff;

    position: fixed !important;
    right: max(20px, env(safe-area-inset-right)) !important;
    bottom: max(20px, env(safe-area-inset-bottom)) !important;
    z-index: 2147483000 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: var(--deo-social-size) !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: Inter, Helvetica Neue, Arial, sans-serif !important;
    line-height: 1 !important;
    text-align: center !important;
    pointer-events: none !important;
}

.deo-social-float__menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: var(--deo-social-gap) !important;
    width: var(--deo-social-size) !important;
    margin: 0 0 var(--deo-social-gap) !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(16px) scale(.96) !important;
    transform-origin: bottom center !important;
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease !important;
    pointer-events: none !important;
}

.deo-social-float.is-open .deo-social-float__menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: auto !important;
}

.deo-social-float__item,
.deo-social-float__toggle {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 var(--deo-social-size) !important;
    width: var(--deo-social-size) !important;
    height: var(--deo-social-size) !important;
    min-width: var(--deo-social-size) !important;
    min-height: var(--deo-social-size) !important;
    max-width: var(--deo-social-size) !important;
    max-height: var(--deo-social-size) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    line-height: 1 !important;
    cursor: pointer !important;
    overflow: hidden !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .22) !important;
    outline: none !important;
    pointer-events: auto !important;
    isolation: isolate !important;
}

.deo-social-float__item::after,
.deo-social-float__toggle::after {
    content: "" !important;
    position: absolute !important;
    inset: 4px !important;
    border: 1px solid rgba(255, 255, 255, .23) !important;
    border-radius: inherit !important;
    opacity: 0 !important;
    transition: opacity .18s ease !important;
    pointer-events: none !important;
}

.deo-social-float__item:hover::after,
.deo-social-float__item:focus-visible::after,
.deo-social-float__toggle:hover::after,
.deo-social-float__toggle:focus-visible::after {
    opacity: 1 !important;
}

.deo-social-float__item:focus-visible,
.deo-social-float__toggle:focus-visible {
    box-shadow: 0 0 0 4px rgba(235, 187, 63, .35), 0 14px 30px rgba(0, 0, 0, .22) !important;
}

.deo-social-float__item svg {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--deo-social-white) !important;
    fill: currentColor !important;
    stroke: none !important;
}

.deo-social-float__item--whatsapp {
    background: #20c96b !important;
    color: var(--deo-social-white) !important;
}

.deo-social-float__item--instagram {
    background: #111111 !important;
    color: var(--deo-social-white) !important;
}

.deo-social-float__item--instagram svg {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
}

.deo-social-float__item--instagram .deo-social-float__instagram-dot {
    fill: currentColor !important;
    stroke: none !important;
}

.deo-social-float__item--facebook {
    background: #1877f2 !important;
    color: var(--deo-social-white) !important;
}

.deo-social-float__toggle {
    background: var(--deo-social-black) !important;
    color: var(--deo-social-white) !important;
    border: 2px solid var(--deo-social-gold) !important;
}

.deo-social-float__dots {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    transform: scale(1) rotate(0) !important;
    transition: opacity .18s ease, transform .22s ease !important;
}

.deo-social-float__dots span {
    display: block !important;
    width: 5px !important;
    height: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: var(--deo-social-gold) !important;
}

.deo-social-float__close {
    position: absolute !important;
    width: 29px !important;
    height: 29px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    transform: scale(.7) rotate(-45deg) !important;
    transition: opacity .18s ease, transform .22s ease !important;
    fill: none !important;
    stroke: var(--deo-social-gold) !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
}

.deo-social-float.is-open .deo-social-float__dots {
    opacity: 0 !important;
    transform: scale(.7) rotate(45deg) !important;
}

.deo-social-float.is-open .deo-social-float__close {
    opacity: 1 !important;
    transform: scale(1) rotate(0) !important;
}

.deo-social-float.is-open .deo-social-float__item:nth-child(1) {
    animation: deoSocialItemIn .28s ease both !important;
}

.deo-social-float.is-open .deo-social-float__item:nth-child(2) {
    animation: deoSocialItemIn .28s .04s ease both !important;
}

.deo-social-float.is-open .deo-social-float__item:nth-child(3) {
    animation: deoSocialItemIn .28s .08s ease both !important;
}

@keyframes deoSocialItemIn {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.86);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 767px) {
    .deo-social-float {
        --deo-social-size: 58px;
        --deo-social-gap: 10px;
        right: max(16px, env(safe-area-inset-right)) !important;
        bottom: max(16px, env(safe-area-inset-bottom)) !important;
    }

    .deo-social-float__item svg {
        width: 26px !important;
        height: 26px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .deo-social-float__menu,
    .deo-social-float__dots,
    .deo-social-float__close,
    .deo-social-float__item,
    .deo-social-float__toggle {
        animation: none !important;
        transition: none !important;
    }
}
