/* select2 (single / multiple:false) 置換の検索付き単一選択 (single_select_controller.js) */
/* 見た目は select2 default (control の灰背景・角丸・右の矢印・候補 hover #DEEBFF) に寄せる。 */
/* 姉妹実装: atom/multi-select.scss (チップ型 multi) */

.single-select {
  position: relative;
  width: 100%;
}

.single-select select.single-select_native {
  /* 値送信のため残すが視覚的に隠す */
  display: none;
}

.single-select .single-select_control {
  align-items: center;
  background-color: #EBEBEB;
  border: none;
  border-radius: .4rem;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  min-height: 34px;
  padding: 2px 8px;
  width: 100%;
}

.single-select .single-select_control:focus {
  outline: none;
}

.single-select .single-select_label {
  font-size: 1.2rem;
  overflow: hidden;
  padding: 3px 2px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.single-select .single-select_label.single-select_placeholder {
  color: #999;
}

.single-select .single-select_arrow {
  border-color: #888 transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0;
  flex: none;
  height: 0;
  margin-left: 8px;
  width: 0;
}

.single-select .single-select_menu {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .1), 0 4px 11px rgba(0, 0, 0, .1);
  left: 0;
  margin-top: 8px;
  max-height: 30rem;
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 10;
}

.single-select .single-select_menu.hidden {
  display: none;
}

.single-select input.single-select_input {
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
  display: block;
  font-size: 1.2rem;
  margin: 6px;
  outline: none;
  padding: 4px 6px;
  width: calc(100% - 12px);
}

.single-select .single-select_option {
  cursor: pointer;
  font-size: 1.2rem;
  padding: 8px 12px;
}

.single-select .single-select_option:hover {
  background-color: #DEEBFF;
}

.single-select .single-select_option.hidden {
  display: none;
}

.single-select .single-select_no_options {
  color: #999;
  font-size: 1.2rem;
  padding: 8px 12px;
  text-align: center;
}
