@mixin spinbutton() {
  spinbutton {
    &:focus { box-shadow: 0 9px 6px 0 gtkalpha($dark_shadow, 0.3); }

    button, entry {
      border-radius: 0;
      border-color: $base_color;
      background-color: $base_color;
      
      &:active, &:focus { box-shadow: none; }
      
      &:disabled {
        color: $disabled_fg_color;
        border-color: $base_color;
        background-color: $base_color;
        
        &:backdrop {
          color: $unfocused_disabled_fg_color;
          border-color: $base_color;
          background-color: $base_color;
        }
      }
      
      &:backdrop {
        color: $unfocused_disabled_fg_color;
        border-color: $base_color;
        background-color: $base_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;
        }
      }
    }
  }
}
