There's one thing about Thermopylae which has always kind of puzzled me though. The main offensive punch of the Achaemenid infantry was its missile troops, wasn't it ? The close-combat troops were there primarily to shield them from enemy shock troops and cavalry, and the Greeks were AFAIK perfectly aware of the fact (which is why at Marathon the hoplites ran for the last hundred meters or so - the really deadly ground where the Persian bows could be expected to be a serious threat to a hoplite). So why does Thermopylae seem to have been largely fought hand-to-hand ? Surely the Persians would have realized very quickly there was little point in engaging the Greek heavy infantry in hand-to-hand combat (and, indeed, likely knew it full well from the start - this wouldn't have been the first time they fought hoplites after all) and would've fallen back to burying them under clouds of arrows and slingstones and javelins instead - and as the hoplites presumably could not have pursued the skirmishers very far without leaving the tactical bottleneck of the pass and duly getting swamped by the vastly superior Persian numbers, there would have been rather little they could do about it. Even well-armoured infantry with large shields simply cannot withstand that sort of firepower indefinitely, as the Romans at Carrhae can also attest to, and while the Greeks had some missile troops of their own in all their armies, these could hardly have matched the composite bows and sheer skill and numbers of the Persian archers.
Was there some kind of terrain obstacle or field fortification behind which the Greeks were able to take cover or something ? That would certainly also have been helpful in keeping the already somewhat outmatched Persian close-combat troops at bay, and in ensuring the potentially troublesome cavalry kept away.