Efectivamente,.. no es raro,
Por otro lado, Luisa, te recomiendo que mantengas la ruta absoluta cuando el css lo tengas con un archivo externo y no anexado en forma de código dentro del html, ya que puede darse casos en los que, si accedes desde un subdirectorio, se considere la ruta como ../estilo.css y ese problema se solventa con una ruta absoluta. es decir,
www.dominio.com/estilo.css
Por otro lado y como error... que veo...
Emplear de forma no adecuada:
background-image: url(<?php $_SERVER['DOCUMENT_ROOT']?>/fondos/fondo1.jpg);
dando como resultado real
background-image: url(/fondos/fondo1.jpg);
Como conclusion.. no hemos hecho nada con <?php $_SERVER['DOCUMENT_ROOT']?>
y por otro lado...
CSS se interpreta desde el lado usuario no desde el lado servidor.
Por lo que el usuario no entenderá lo que es /home/user/html... o lo que pueda dar como resultado <?php $_SERVER['DOCUMENT_ROOT']?> que en ningún caso será
www.dominio.com
PHP sí que trabaja desde el lado servidor y sí entiende una ruta como /home/... porque es el mismo servidor el que busca en sí mismo... pero CSS es el ordenador del usuario que va a buscar en internet...
Con lo cual y como eficiencia... sustituiría <?php $_SERVER['DOCUMENT_ROOT']?> y dejaría la url tal y como la tenías.