HTML:
<div class="heading">
  <h2 class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</h2>
  <a class="action" href="#">Print</a>
</div>
Desired default look:
| Lorem ipsum dolor sit      [Print] |
| amet, consectetur adipiscing elit. |
Desired look on small screen (using media-queries):
| Lorem ipsum dolor sit |
| amet, consectetur     |
| adipiscing elit.      |
| [Print]               |
Not desired:
|                            [Print] |
| Lorem ipsum dolor sit amet,        |
| consectetur adipiscing elit.       |
Not desired:
| Lorem ipsum dolor sit      [Print] |
| amet, consectetur                  |
| adipiscing elit.                   |
Remarks:
- Text may be any long.
 - Action element is constant height and variable width.
 
I see no way to do this using only CSS.
Right now I use JS (Harvey lib) to put floated DOM element before text on bigger screen.
Any ideas?
/// EDIT - moved to answer (sorry for mess)