@mixin suggested_button($radius : $round_button_radius) {
  button.suggested-action {
    border-width: 1px;
    border-style: solid;
    border-radius: $radius;
    color: $fg_color;
    background-image: linear-gradient(to bottom, #b6c7e0, #95b9df 32%, #689dd3 38%, #bae3f6);
    background-color: gtkshade($bg_color, 0.8);
    border-color: gtkshade($bg_color, 0.45);
    border-top-color: $selected_bg_color;
    box-shadow: 0 1px 2px 0px gtkalpha($dark_shadow, 0.3), inset 0 0 0 1px gtkalpha($light_shadow, 0.3), inset 1px 0 2px 0 gtkalpha($dark_shadow, 0.2), inset -1px 0 2px 0 gtkalpha($dark_shadow, 0.2);

    &:hover {
    }

    &:active, &:checked {
      box-shadow: inset 0 2px 3px 1px gtkalpha($dark_shadow, 0.45), inset 0 -2px 3px 1px gtkalpha($light_shadow, 0.45), inset 0 1px gtkshade(#8ebbe8, 0.35);

      &:backdrop {
        color: $unfocused_selected_fg_color;
      }
    }

    &:disabled {
      border-color: gtkmix($selected_bg_color, $disabled_bg_color, 0.2);
      color: gtkmix($selected_fg_color, $disabled_fg_color, 0.2);
      background-image: linear-gradient(to bottom, gtkshade(gtkmix($selected_bg_color, $disabled_bg_color, 0.2), 1.2), gtkshade(gtkmix($selected_bg_color, $disabled_bg_color, 0.2), 1.05));

      &:backdrop {
        border-color: gtkmix($unfocused_selected_bg_color, $unfocused_disabled_bg_color, 0.2);
        color: gtkmix($unfocused_selected_fg_color, $unfocused_disabled_fg_color, 0.2);
        background-image: linear-gradient(to bottom, gtkshade(gtkmix($unfocused_selected_bg_color, $unfocused_disabled_bg_color, 0.2), 1.1), gtkshade(gtkmix($unfocused_selected_bg_color, $unfocused_disabled_bg_color, 0.2), 0.95));
      }
    }

    &:backdrop {
      border-color: $unfocused_selected_bg_color;
      color: $unfocused_selected_fg_color;
      background-image: linear-gradient(to bottom, gtkshade($selected_bg_color, 1.2), gtkshade($selected_bg_color, 1.05));
    }
  }
}
