.cfc-floating-buttons {
    position: fixed;
    display: flex;
    flex-direction: column;
    gap: var(--cfc-spacing,20px);
    z-index: 99999;
}
.cfc-bottom-right { right: var(--cfc-spacing,20px); bottom: var(--cfc-spacing,20px);}
.cfc-bottom-left  { left: var(--cfc-spacing,20px); bottom: var(--cfc-spacing,20px);}
.cfc-top-right    { right: var(--cfc-spacing,20px); top: var(--cfc-spacing,20px);}
.cfc-top-left     { left: var(--cfc-spacing,20px); top: var(--cfc-spacing,20px);}
.cfc-btn {
    background: var(--cfc-color,#25D366);
    width: var(--cfc-size,60px);
    height: var(--cfc-size,60px);
    color: #4F341E;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2em;
    cursor: pointer;
    transition:
        box-shadow 0.3s ease,
        transform 0.3s ease,
        background-color 0.3s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}
.cfc-circle .cfc-btn { border-radius: 50%; }
.cfc-square .cfc-btn { border-radius: 8px; }
.cfc-pill .cfc-btn { border-radius: 200px; }

/* Hover animation: scale + shadow + color lighten */
.cfc-btn:hover {
    transform: scale(1.15);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
    filter: brightness(1.1);
}

/* Animations */
.cfc-bounce .cfc-btn { animation: bounce 2s infinite; }
@keyframes bounce { 0%, 100% {transform:translateY(0);} 50%{transform:translateY(-10px);} }
.cfc-fade .cfc-btn { animation: fadein 1.5s; }
@keyframes fadein { from{ opacity:0;} to{opacity:1;} }