.rm-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;

    min-height: 48px;

    padding: .75rem 1.25rem;

    border: 1px solid transparent;
    border-radius: var(--radius-md);

    font: inherit;
    font-weight: 600;

    cursor: pointer;

    text-decoration: none;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.rm-button--primary {
    background: var(--color-accent);
    color: #fff;
}

.rm-button--primary:hover {
    transform: translateY(-1px);
}

.rm-button--secondary {
    background: var(--color-surface);
    color: var(--color-text);

    border-color: var(--color-border);
}

.rm-button--ghost {
    background: transparent;
    color: var(--color-text);
}

.rm-button:disabled,
.rm-button[disabled] {
    opacity: .5;
    cursor: not-allowed;
}

.rm-button:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

@media (max-width: 768px) {

    .rm-button {
        width: 100%;
    }

}