.watschat-button-wrap {
    position: fixed;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}

.watschat-button-wrap.is-visible {
    opacity: 1;
    visibility: visible;
}

.watschat-bottom-right {
    right: var(--watschat-offset-x, 20px);
    bottom: var(--watschat-offset-y, 20px);
}

.watschat-bottom-left {
    left: var(--watschat-offset-x, 20px);
    bottom: var(--watschat-offset-y, 20px);
}

.watschat-middle-right {
    right: var(--watschat-offset-x, 20px);
    top: 50%;
    transform: translateY(-50%);
}

.watschat-middle-left {
    left: var(--watschat-offset-x, 20px);
    top: 50%;
    transform: translateY(-50%);
}

.watschat-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--watschat-text-color, #fff);
    font-size: var(--watschat-font-size, 14px);
    max-width: min(90vw, 420px);
}

.watschat-layout-vertical .watschat-button {
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.watschat-icon-img {
    width: var(--watschat-button-size, 56px);
    height: var(--watschat-button-size, 56px);
    background: var(--watschat-button-color, #25D366);
    border-radius: 50%;
    padding: calc(var(--watschat-button-size, 56px) * 0.23);
    box-sizing: border-box;
    display: block;
}

.watschat-label {
    background: var(--watschat-label-bg, #25D366);
    color: var(--watschat-text-color, #fff);
    padding: 10px 14px;
    border-radius: var(--watschat-radius, 999px);
    line-height: 1.2;
    word-break: break-word;
    text-align: center;
}

.watschat-shape-rounded .watschat-icon-img {
    border-radius: var(--watschat-radius, 12px);
}

.watschat-has-shadow .watschat-icon-img,
.watschat-has-shadow .watschat-label {
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
