.wpcb-pro-floating,
.wpcb-pro-inline{
    --wpcb-color:#25D366;
    --wpcb-text:#fff;
    --wpcb-size:60px;
    --wpcb-bottom:24px;
    --wpcb-side:24px;
    --wpcb-delay:0ms;
    text-decoration:none!important;
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
}

.wpcb-pro-floating{
    position:fixed;
    bottom:calc(var(--wpcb-bottom) + env(safe-area-inset-bottom,0px));
    z-index:99999;
    width:var(--wpcb-size);
    height:var(--wpcb-size);
    border-radius:999px;
    background:var(--wpcb-color);
    color:var(--wpcb-text)!important;
    display:grid;
    place-items:center;
    box-shadow:0 18px 42px rgba(0,0,0,.24);
    transform:translateY(12px) scale(.94);
    opacity:0;
    animation:wpcbIn .45s ease var(--wpcb-delay) forwards;
    isolation:isolate;
}

.wpcb-pos-right{
    right:calc(var(--wpcb-side) + env(safe-area-inset-right,0px));
}

.wpcb-pos-left{
    left:calc(var(--wpcb-side) + env(safe-area-inset-left,0px));
}

.wpcb-pro-inline{
    position:relative;
    isolation:isolate;
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:48px;
    padding:12px 18px;
    border-radius:999px;
    background:var(--wpcb-color);
    color:var(--wpcb-text)!important;
    font-weight:800;
    box-shadow:0 12px 28px rgba(0,0,0,.16);
}

.wpcb-pro-icon{
    display:grid;
    place-items:center;
    width:58%;
    height:58%;
    line-height:0;
    pointer-events:none;
}

.wpcb-pro-inline .wpcb-pro-icon{
    width:24px;
    height:24px;
}

.wpcb-pro-icon svg{
    width:100%;
    height:100%;
    fill:currentColor;
}

.wpcb-pro-floating:hover{
    transform:translateY(-4px) scale(1.03);
    box-shadow:0 22px 48px rgba(0,0,0,.30);
}

.wpcb-pro-floating:focus-visible,
.wpcb-pro-inline:focus-visible{
    outline:3px solid #fff;
    outline-offset:3px;
    box-shadow:0 0 0 6px rgba(37,211,102,.38),0 18px 42px rgba(0,0,0,.24);
}

.wpcb-pro-tooltip{
    position:absolute;
    right:calc(100% + 12px);
    top:50%;
    transform:translateY(-50%);
    background:#111827;
    color:#fff;
    border-radius:14px;
    padding:10px 12px;
    font-size:13px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
    box-shadow:0 12px 28px rgba(0,0,0,.22);
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease,visibility .2s ease;
    pointer-events:none;
}

.wpcb-pos-left .wpcb-pro-tooltip{
    right:auto;
    left:calc(100% + 12px);
}

.wpcb-pro-floating:hover .wpcb-pro-tooltip,
.wpcb-pro-floating:focus-visible .wpcb-pro-tooltip{
    opacity:1;
    visibility:visible;
}

.wpcb-pro-inline .wpcb-pro-tooltip{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    background:transparent;
    color:inherit;
    box-shadow:none;
    padding:0;
}

.wpcb-woo-wrap{
    margin:16px 0;
}

.wpcb-pulse::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    border:2px solid var(--wpcb-color);
    animation:wpcbPulse 1.7s ease-out infinite;
    pointer-events:none;
    z-index:-1;
}

@keyframes wpcbIn{
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

@keyframes wpcbPulse{
    to{
        transform:scale(1.45);
        opacity:0;
    }
}

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

@media (max-width:767px){
    .wpcb-pro-floating.wpcb-hide-mobile{
        display:none!important;
    }
}

@media (max-width:480px){
    .wpcb-pro-tooltip{
        display:none;
    }

    .wpcb-pro-floating{
        --wpcb-size:min(58px,var(--wpcb-size));
        --wpcb-bottom:18px;
        --wpcb-side:18px;
    }
}

@media (prefers-reduced-motion:reduce){
    .wpcb-pro-floating,
    .wpcb-pro-floating:hover,
    .wpcb-pulse::after{
        animation:none!important;
        transition:none!important;
        transform:none!important;
    }

    .wpcb-pro-floating{
        opacity:1;
    }

    .wpcb-pulse::after{
        display:none;
    }
}
