@mixin spinbutton() {
  spinbutton {
    border: 2px solid $borders;
    border-radius: $entry_radius;
    background-color: $base_color;
    
    &:disabled {
      border-color: $unfocused_borders;
      color: $disabled_fg_color;
      background-color: $disabled_base_color;

      &:backdrop {
        border-color: $unfocused_borders;
        color: $unfocused_disabled_fg_color;
        background-color: $unfocused_disabled_base_color;
      }
    }
    
    &:backdrop {
      background-color: $unfocused_base_color;
      border-color: $unfocused_borders;
    }

    &:focus { border-color: $selected_bg_color; }
  
    entry {
      padding: 7px 15px;
      border: none;
      background: none;
      
      &:focus { box-shadow: none; }
      &:disabled { background: none; }
    }
    
    button {
      border: none;
      border-radius: 0;
      background: none;
      
      &:disabled, &:backdrop { background: none; }
    }

    &.horizontal {
      entry { border-radius: $entry_radius 0 0 $entry_radius; }
      button.up { border-radius: 0 $entry_radius $entry_radius 0; }
    }

    &.vertical {
      entry { border-radius: 0; padding: 6px 7px; border: none; }
      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;
        }
      }
    }
  }
}
