.nexora-chatbot-launcher {
    position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    width: 60px;
    height: 60px;
    place-items: center;
    gap: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--nexora-collapsedBubbleBgColor, #2563eb);
    color: var(--nexora-collapsedBubbleIconColor, #fff);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .22);
    cursor: pointer;
    font-size: 14px;
    font-weight: 650;
    line-height: 1;
    transition: transform 150ms cubic-bezier(.23, 1, .32, 1), box-shadow 150ms ease-out;
}

.nexora-chatbot-launcher--site-isolated {
    box-sizing: border-box;
    font-family: var(--nexora-font-family, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
    text-rendering: geometricPrecision;
    text-transform: none;
}

.nexora-chatbot-launcher--with-text {
    display: flex;
    width: auto;
    min-width: 150px;
    max-width: calc(100vw - 28px);
    height: 60px;
    padding: 0 15px;
    border-radius: 32px;
}

.nexora-launcher-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    overflow: hidden;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 0;
}

.nexora-launcher-icon svg {
    display: block;
    width: 23px;
    height: 23px;
    color: currentColor;
}

.nexora-launcher-text {
    display: block;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1;
    white-space: nowrap;
}

.nexora-launcher-text:empty {
    display: none;
}

.nexora-chat-open .nexora-chatbot-launcher {
    visibility: hidden;
    pointer-events: none;
}

.nexora-chatbot-launcher:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

/* Keep the site theme's button hover palette from replacing Nexora settings. */
.nexora-chat-widget .nexora-chatbot-launcher:hover,
.nexora-chat-widget .nexora-chatbot-launcher:focus,
.nexora-chat-widget .nexora-chatbot-launcher:active {
    border-color: transparent !important;
    background: var(--nexora-collapsedBubbleBgColor, #2563eb) !important;
    color: var(--nexora-collapsedBubbleIconColor, #fff) !important;
    text-decoration: none !important;
}

.nexora-chatbot-launcher:active {
    transform: scale(.97);
}

@media (hover: hover) and (pointer: fine) {
    .nexora-chatbot-launcher:hover {
        transform: translateY(-2px);
        box-shadow: 0 16px 34px rgba(15, 23, 42, .24);
    }

    .nexora-chatbot-launcher:active:hover {
        transform: scale(.97);
    }
}

@media (max-width: 560px) {
    .nexora-chatbot-launcher {
        width: 56px;
        height: 56px;
    }

    .nexora-chatbot-launcher--with-text {
        min-width: 142px;
        height: 56px;
        padding: 0 12px;
        border-radius: 30px;
    }

    .nexora-chatbot-launcher--with-text .nexora-launcher-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .nexora-chatbot-launcher--with-text .nexora-launcher-icon svg {
        width: 21px;
        height: 21px;
    }
}
