.messenger_fab {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9998;
    display: flex !important;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    visibility: visible !important;
    opacity: 1 !important;
}

.messenger_fab__panel {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.messenger_fab__panel[hidden] {
    display: none;
}

.messenger_fab__action,
.messenger_fab__button {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

.messenger_fab__action {
    --messenger-bg: linear-gradient(180deg, #2b313f 0%, #171c28 100%);
    --messenger-glyph-size: 30px;
    --messenger-glyph-offset-x: 0px;
    --messenger-glyph-offset-y: 0px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(14px) scale(0.88);
    transition: opacity 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
    background: var(--messenger-bg);
    box-shadow: 0 12px 24px rgba(7, 12, 20, 0.18), 0 2px 6px rgba(7, 12, 20, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    isolation: isolate;
}

.messenger_fab__action::after,
.messenger_fab__button::after {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0.06) 30%, rgba(255, 255, 255, 0) 60%);
    pointer-events: none;
    opacity: 0.9;
    transition: opacity 0.22s ease, background 0.22s ease;
}

.messenger_fab.is-open .messenger_fab__action {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.messenger_fab.is-open .messenger_fab__action:nth-child(1) {
    transition-delay: 0.04s;
}

.messenger_fab.is-open .messenger_fab__action:nth-child(2) {
    transition-delay: 0.08s;
}

.messenger_fab.is-open .messenger_fab__action:nth-child(3) {
    transition-delay: 0.12s;
}

.messenger_fab__action:hover {
    box-shadow: 0 22px 38px rgba(9, 16, 29, 0.24), 0 8px 16px rgba(9, 16, 29, 0.12);
    transform: translateY(-3px) scale(1.04);
    filter: saturate(1.08) brightness(1.03);
}

.messenger_fab__button:hover {
    box-shadow: 0 24px 40px rgba(9, 14, 24, 0.26), 0 8px 16px rgba(9, 14, 24, 0.12), inset 0 1px 0 rgba(255, 242, 244, 0.24);
    transform: translateY(-3px) scale(1.03);
    filter: saturate(1.08) brightness(1.04);
}

.messenger_fab__action:hover::after,
.messenger_fab__button:hover::after {
    opacity: 1;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.12) 34%, rgba(255, 255, 255, 0) 64%);
}

.messenger_fab__action:active,
.messenger_fab__button:active {
    transform: scale(0.97);
    box-shadow: 0 10px 20px rgba(9, 16, 29, 0.16), 0 2px 6px rgba(9, 16, 29, 0.08);
}

.messenger_fab__action img {
    display: block;
    position: relative;
    z-index: 1;
    width: var(--messenger-glyph-size);
    height: var(--messenger-glyph-size);
    transform: translate(var(--messenger-glyph-offset-x), var(--messenger-glyph-offset-y));
    object-fit: contain;
    transition: transform 0.22s ease, filter 0.22s ease, opacity 0.22s ease;
}

.messenger_fab__action:hover img {
    transform: translate(var(--messenger-glyph-offset-x), calc(var(--messenger-glyph-offset-y) - 0.5px)) scale(1.08);
    filter: drop-shadow(0 1px 2px rgba(255, 255, 255, 0.2));
    opacity: 1;
}

.messenger_fab__action--whatsapp {
    --messenger-bg: linear-gradient(180deg, #2edc74 0%, #16b85a 100%);
    --messenger-glyph-size: 34px;
    --messenger-glyph-offset-y: 0px;
}

.messenger_fab__action--telegram {
    --messenger-bg: linear-gradient(180deg, #45c0f7 0%, #2297dd 100%);
    --messenger-glyph-size: 28px;
    --messenger-glyph-offset-x: -1px;
}

.messenger_fab__action--max {
    --messenger-bg: linear-gradient(180deg, #7b66ff 0%, #4754f1 55%, #8834ff 100%);
    --messenger-glyph-size: 29px;
    --messenger-glyph-offset-y: -1px;
}

.messenger_fab__button {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    padding: 0;
    border: 0 !important;
    border-radius: 50%;
    background: #ff0025 !important;
    cursor: pointer;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, color 0.22s ease, border-color 0.22s ease;
    color: #ffffff !important;
    box-shadow: 0 16px 32px rgba(9, 14, 24, 0.22), 0 2px 8px rgba(9, 14, 24, 0.1), inset 0 1px 0 rgba(255, 235, 239, 0.18);
    visibility: visible !important;
    opacity: 1 !important;
}

.messenger_fab__button::before {
    content: none;
}

.messenger_fab__action:focus-visible,
.messenger_fab__button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.28), 0 18px 32px rgba(9, 16, 29, 0.22), 0 4px 10px rgba(9, 16, 29, 0.1);
}

.messenger_fab__icon {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.18s ease, transform 0.18s ease;
    z-index: 1;
}

.messenger_fab__icon--close {
    opacity: 0;
    transform: scale(0.75) rotate(-14deg);
}

.messenger_fab.is-open .messenger_fab__button {
    color: #ffffff;
    background: #ff0025;
}

.messenger_fab.is-open .messenger_fab__icon--chat {
    opacity: 0;
    transform: scale(0.75) rotate(14deg);
}

.messenger_fab.is-open .messenger_fab__icon--close {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}

@media (prefers-reduced-motion: reduce) {
    .messenger_fab__action,
    .messenger_fab__button,
    .messenger_fab__icon {
        transition: none;
    }
}

@media (max-width: 991px) {
    .messenger_fab {
        right: 14px;
        bottom: 16px !important;
        gap: 10px;
    }

    .messenger_fab__action {
        width: 54px;
        height: 54px;
    }

    .messenger_fab__action img {
        width: calc(var(--messenger-glyph-size) - 1px);
        height: calc(var(--messenger-glyph-size) - 1px);
    }

    .messenger_fab__button {
        width: 60px;
        height: 60px;
    }
}
