.mr-fw-button {
    position: fixed;
    top: var(--mr-fw-top, auto);
    right: var(--mr-fw-right, auto);
    bottom: var(--mr-fw-bottom, auto);
    left: var(--mr-fw-left, auto);
    transform: var(--mr-fw-transform, none);
    z-index: var(--mr-fw-z, 99999);
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--mr-fw-btn-size, 56px);
    height: var(--mr-fw-btn-size, 56px);
    border-radius: var(--mr-fw-radius, 50%);
    background: var(--mr-fw-bg, #787065);
    color: #fff;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.mr-fw-button:hover,
.mr-fw-button:focus {
    background: var(--mr-fw-bg-hover, #5f5a52);
    color: #fff;
}

.mr-fw-button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.mr-fw-shadow {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.mr-fw-icon {
    width: var(--mr-fw-icon-size, 28px);
    height: var(--mr-fw-icon-size, 28px);
    object-fit: contain;
    display: block;
    pointer-events: none;
}

.mr-fw-icon-default {
    width: var(--mr-fw-icon-size, 28px);
    height: var(--mr-fw-icon-size, 28px);
}

.mr-fw-hide-desktop {
    display: none;
}

.mr-fw-pulse {
    animation: mr-fw-pulse 2s infinite;
}

@keyframes mr-fw-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(120, 112, 101, 0.55);
    }
    70% {
        box-shadow: 0 0 0 12px rgba(120, 112, 101, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(120, 112, 101, 0);
    }
}

.mr-fw-hide-desktop {
    display: none;
}
