.pwca-floating {
    align-items: center;
    bottom: var(--pwca-bottom, 20px);
    display: flex;
    gap: 10px;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transform: translateY(8px);
    transition: opacity 180ms ease, transform 180ms ease;
    z-index: 99999;
}

.pwca-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.pwca-bottom-right {
    right: var(--pwca-side, 20px);
}

.pwca-bottom-left {
    left: var(--pwca-side, 20px);
}

.pwca-button {
    align-items: center;
    background: var(--pwca-button, #25D366);
    border-radius: 999px;
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.28);
    color: #fff;
    display: inline-flex;
    height: var(--pwca-size, 60px);
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
    width: var(--pwca-size, 60px);
}

.pwca-button:hover,
.pwca-button:focus {
    background: var(--pwca-hover, #128C7E);
    box-shadow: 0 14px 34px rgba(18, 140, 126, 0.3);
    color: #fff;
    transform: translateY(-1px);
}

.pwca-button svg {
    display: block;
    fill: currentColor;
    height: calc(var(--pwca-size, 60px) * 0.56);
    width: calc(var(--pwca-size, 60px) * 0.56);
}

.pwca-cta {
    background: var(--pwca-cta-bg, #fff);
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
    color: var(--pwca-cta-color, #111827);
    font: 600 14px/1.2 Arial, sans-serif;
    max-width: min(240px, calc(100vw - 120px));
    padding: 10px 12px;
    white-space: normal;
}

.pwca-cta-right .pwca-cta {
    order: 2;
}

.pwca-pulse .pwca-button::after {
    animation: pwca-pulse 1.8s ease-out infinite;
    border: 2px solid var(--pwca-button, #25D366);
    border-radius: inherit;
    content: "";
    height: 100%;
    opacity: 0;
    position: absolute;
    width: 100%;
}

.pwca-button {
    position: relative;
}

@keyframes pwca-pulse {
    0% {
        opacity: 0.6;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1.45);
    }
}

@media (max-width: 767px) {
    .pwca-device-desktop {
        display: none;
    }
}

@media (min-width: 768px) {
    .pwca-device-mobile {
        display: none;
    }
}
