Consider this a third vote for dropping Tangier. Morocco is fascinating, but Tangier is one of its lesser destinations. It's a pain to get there from any of the more commonly visited places in Spain, and you don't have time to include it. There are flights to much more interesting Moroccan cities like Fes and Marrakech from many cities in Europe, so you can easily include some Moroccan time in a future trip to some other country (England, France, Germany...); you don't have to settle for Tangier and try to squeeze it into your itinerary this year.
You are giving only 2 nights to Seville, which I think everyone would agree is one of Spain's very most interesting cities. (Folks don't necessarily agree on whether Barcelona or Madrid more-or-less equals Seville in interest, but there doesn't seem to be any argument about Seville.) Granada is also a great city, and the Alhambra isn't the only thing to see there, but it's smaller than Seville. If you remove Tangier from your itinerary (so you aren't traveling so long to get to Granada), you can probably manage with just 2 nights in Granada. It's not that 3 nights is a mistake, but you're trying to cover a huge swath in Spain in too little time, so compromises have to be made.
I know you want to get to the Basque Country, but traveling so far in order to have just a very few hours in the two major Basque cities is really not a great use of your time. Try to focus on maximizing the time you have available by spending less of that time in trains, buses and cars and more of it with your feet on the ground, sightseeing. Believe me, Bilbao, San Sebastian, Toledo and Segovia are not the only fabulous Spanish cities you're going to miss. You can add Cordoba to that list for starters. The more you learn about Europe, the more worthwhile places you'll discover. It can be frustrating, but you'll see a lot more if you move around a bit more slowly and don't waste too much time traveling from one city to the next.