.cdwf-110-button {
    position: fixed !important;
    bottom: var(--cdwf-bottom, 24px) !important;
    z-index: var(--cdwf-z, 9999) !important;
    min-height: var(--cdwf-size, 58px);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 18px 0 0;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px;
    background: var(--cdwf-bg, #25d366) !important;
    color: var(--cdwf-text, #fff) !important;
    text-decoration: none !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
    box-sizing: border-box;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    overflow: visible;
    transform: translateZ(0);
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
    -webkit-tap-highlight-color: transparent;
}

.cdwf-110-button:hover,
.cdwf-110-button:focus {
    background: var(--cdwf-hover, #1ebe5d) !important;
    color: var(--cdwf-text, #fff) !important;
    text-decoration: none !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
    outline: none;
}

.cdwf-110-right { right: var(--cdwf-side, 24px) !important; left: auto !important; }
.cdwf-110-left { left: var(--cdwf-side, 24px) !important; right: auto !important; }

.cdwf-110-icon {
    width: var(--cdwf-size, 58px);
    height: var(--cdwf-size, 58px);
    min-width: var(--cdwf-size, 58px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cdwf-icon, #fff) !important;
    line-height: 0;
    flex: 0 0 auto;
}

.cdwf-110-icon svg {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    max-width: 56% !important;
    max-height: 56% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    fill: currentColor !important;
}

.cdwf-110-label {
    display: inline-block;
    white-space: nowrap;
}

.cdwf-110-icon-only {
    width: var(--cdwf-size, 58px) !important;
    min-width: var(--cdwf-size, 58px) !important;
    height: var(--cdwf-size, 58px) !important;
    min-height: var(--cdwf-size, 58px) !important;
    padding: 0 !important;
    border-radius: 50% !important;
}

.cdwf-110-no-shadow,
.cdwf-110-no-shadow:hover,
.cdwf-110-no-shadow:focus { box-shadow: none !important; }

.cdwf-110-animation-pulse { animation: cdwf110Pulse 2.4s infinite; }
.cdwf-110-animation-float { animation: cdwf110Float 2.8s ease-in-out infinite; }

@keyframes cdwf110Pulse {
    0%, 100% { box-shadow: 0 10px 28px rgba(0,0,0,.22), 0 0 0 0 rgba(37,211,102,.28); }
    50% { box-shadow: 0 10px 28px rgba(0,0,0,.22), 0 0 0 11px rgba(37,211,102,0); }
}

@keyframes cdwf110Float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@media (max-width: 767px) {
    .cdwf-110-hide-mobile { display: none !important; }
    .cdwf-110-button:not(.cdwf-110-icon-only) { font-size: 14px; padding-right: 15px; }
}

@media (min-width: 768px) {
    .cdwf-110-hide-desktop { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .cdwf-110-button { animation: none !important; transition: none !important; }
}

.cdwf-110-button,
.cdwf-110-button *,
.cdwf-110-button *::before,
.cdwf-110-button *::after { box-sizing: border-box; }

.cdwf-110-icon svg path {
    fill: currentColor !important;
    stroke: none !important;
}
