@mixin spinbutton() {
  spinbutton {
    &.horizontal {
      border: 1px solid $borders;
      
      &:backdrop { border-color: $unfocused_borders; }
      &:focus { border-color: gtkshade($selected_bg_color, 0.6); }
      
      entry {
        border: none;
        padding: 7px 15px;
      }
      
      button {
        border-width: 0;
        border-radius: 0;
        border-left-width: 1px;
        
        &:hover, &:active, &:checked {
          border-color: $borders; background-color: $bg_color;
          
          &:backdrop { border-color: $unfocused_borders; background-color: $unfocused_bg_color; }
        }
        
        &:focus { border-color: gtkshade($selected_bg_color, 0.6); }
      }
    }

    &.vertical {
      button {
        &.up {
          border-bottom-left-radius: 0;
          border-bottom-right-radius: 0;
          border-bottom-width: 0;
        }

        &.down {
          border-top-width: 0;
          border-top-left-radius: 0;
          border-top-right-radius: 0;
        }
      }
    }
  }
}
