/**************
 * ComboBoxes *
 **************/

combobox {
  arrow {
    -gtk-icon-source: -gtk-icontheme('pan-down-symbolic');
    min-height: 16px;
    min-width: 16px;
  }

  &.linked {
    button:nth-child(2) {
      &:dir(ltr) { @extend %linked:last-child; }
      &:dir(rtl) { @extend %linked:first-child; }
    }
  }

  &:drop(active) { // FIXME: untested
    box-shadow: none;

    button.combo { @extend %button_basic:drop(active); }
  }
}

.linked > combobox > box > button.combo {
  // the combo is a composite widget so the way we do button linking doesn't
  // work, special case needed. See
  // https://bugzilla.gnome.org/show_bug.cgi?id=733979

  &:dir(ltr),
  &:dir(rtl) { @extend %linked_middle; } // specificity bump
}

.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked:first-child; }
.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked:last-child; }
.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked:only-child; }

.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; }
.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical:first-child;}
.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical:last-child; }
.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical:only-child; }

/******************
 * Combobox Entry *
 ******************/

.combobox-entry {

  // Button
  button {
    box-shadow: none;

    &:first-child {
      border-radius: 4px 0 0 4px;
      border-right-width: 0;
    }

    &:last-child {
      border-radius: 0 4px 4px 0;
    }
  }

  // Entry
  entry {
    box-shadow: none;

    &:first-child {
      border-radius: 4px 0 0 4px;
      border-right-width: 0;
    }

    &:last-child {
      border-radius: 0 4px 4px 0;
      border-radius: 0 4px 4px 0;
    }

  }
}