
.ffb-float-btn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 99999;
    background: #85B0A2;
    border-radius: 50%;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(77, 77, 77, 0.16);
    cursor: pointer;
    transition: box-shadow 0.3s;
    animation: ffb-wiggle 1.2s infinite;
}

.ffb-float-btn.ffb-wiggle-stopped {
    animation: none;
}

.ffb-envelope-icon {
    width: 32px;
    height: 32px;
    filter: brightness(99) invert(1) drop-shadow(0 1px 1px rgba(0,0,0,0.04));
}

@keyframes ffb-wiggle {
    0%, 100% { transform: rotate(-5deg);}
    20%, 60% { transform: rotate(8deg);}
    40%, 80% { transform: rotate(-8deg);}
}

.ffb-slideout {
    position: fixed;
    right: -360px;
    bottom: 24px;
    width: 340px;
    max-width: 94vw;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 8px 48px rgba(77,77,77,0.16);
    z-index: 100000;
    transition: right 0.5s cubic-bezier(.68,-0.55,.27,1.55);
    padding: 28px 20px 20px 20px;
    min-height: 210px;
    display: flex;
    flex-direction: column;
}

.ffb-slideout.ffb-active {
    right: 100px;
}
@media (max-width: 600px) {
    .ffb-float-btn,
    .ffb-slideout {
        right: 16px !important;
        bottom: 16px !important;
    }
    .ffb-slideout {
        width: 98vw;
        right: -100vw;
        left: 2vw;
        border-radius: 12px;
        padding: 22px 7px 15px 7px;
    }
    .ffb-slideout.ffb-active {
        right: 0;
    }
}

#ffb-close {
    font-size: 1.7rem;
    color: #666;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 18px;
    z-index: 2;
    line-height: 1;
}
