@mixin spinbutton() {
  spinbutton {
    &:not(.vertical) selection, &:not(.vertical) selection:focus {
      color: $selected_fg_color;
      background-color: $selected_bg_color;
    }
    
    button, entry {
      background-image: none;
      box-shadow: none;
      border-color: $borders;
      
      &:disabled {
        color: $disabled_fg_color;
        
        &:backdrop {
          color: $unfocused_disabled_fg_color;
        }
      }
    }

    &.horizontal {
      entry {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        padding: 7px 15px;
      }
      
      button {        
        &.down {
          border-right-width: 0;
          border-left-width: 0;
          border-radius: 0;
        }

        &.up {
          border-top-left-radius: 0;
          border-bottom-left-radius: 0;
        }
      }
    }

    &.vertical {
      entry {
        border-radius: 0;
      }

      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;
        }
      }
    }
  }
}
