The .fade transition (one class) was being overridden by a later .dropdown-menu rule (also one class) that set transition to only background-color. Moving the opacity transition into .dropdown-menu.fade (two classes) ensures it wins regardless of cascade order. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>