• Почему text-decoration: none не убирает подчеркивание ссылки при наведении?

    В данном случае т.к. кода нет, скорее всего дело в порядке написания псевдоклассов. Нужно писать в таком порядке
    a:link { /*styles*/ }
    a:visited { /*styles*/ }
    a:hover { /*styles*/ }
    a:active { /*styles*/ }


    !important может доставить проблемы в будущем, если захочешь изменить это свойство например при адаптации дизайна, то придется решать проблему еще одним !important с добавлением селектора. Потом еще и еще.
    В конечном итоге его всегда придется применять в будущем.

    Рекомендую добавить еще один селектор без !important.
    Еще лучше решение везде прописывать классы без id.