@mixin suggested_button() {
  button.suggested-action {
    border-width: 1px;
    border-style: solid;
    border-radius: $button_radius;
    border-color: $selected_bg_color;
    color: gtkmix($selected_fg_color, $selected_bg_color, 0.1);
    background-color: gtkmix($selected_bg_color, $selected_fg_color, 0.25);

    &:hover {
      border-color: gtkmix($selected_bg_color, $selected_fg_color, 0.2);
      background-color: gtkmix($selected_bg_color, $selected_fg_color, 0.2);
    }

    &:active, &:checked {
      border-color: gtkmix($selected_bg_color, $fg_color, 0.1);
      background-color: gtkmix($selected_bg_color, $fg_color, 0.1);

      &:backdrop {
        border-color: gtkmix($unfocused_selected_bg_color, $unfocused_fg_color, 0.1);
        background-color: gtkmix($unfocused_selected_bg_color, $unfocused_fg_color, 0.1);
      }
    }

    &:disabled {
      border-color: gtkmix($selected_bg_color, $disabled_bg_color, 0.2);
      color: gtkmix($selected_fg_color, $disabled_fg_color, 0.2);
      background-color: gtkmix($selected_bg_color, $disabled_bg_color, 0.2);

      &: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-color: gtkmix($unfocused_selected_bg_color, $unfocused_disabled_bg_color, 0.2);
      }
    }

    &:backdrop {
      border-color: $unfocused_selected_bg_color;
      color: $unfocused_selected_fg_color;
      background-color: $unfocused_selected_bg_color;
    }
  }
}
