Hola @lorenapro48, y gracias a @raulonline y @nuria_tienda por la dirección.
Como bien comentan, el problema principal es cómo PrestaShop 1.7.x maneja la carga de activos (CSS y JS). Cuando se añade un link directamente en un .tpl, PrestaShop no lo considera un activo registrado del tema, lo que lleva a los problemas de caché y de orden de carga que mencionas.
La solución robusta y recomendada en PrestaShop 1.7.2.0 (y posteriores) es registrar tu custom.css en el archivo config/theme.yml de tu tema o, mejor aún, de tu tema hijo. Esto le dice a PrestaShop que gestione ese archivo CSS como parte de los estilos del tema.
Aquí te muestro cómo deberías registrar tu custom.css en el theme.yml (asegúrate de que exista y esté en la ruta correcta, por ejemplo, themes/tu_tema_hijo/config/theme.yml). El priority es importante para asegurarte de que tus estilos se apliquen después de los del tema principal:
assets:
css:
all:
- id: custom-styles
path: assets/css/custom.css
media: all
priority: 200 # Asegura que se cargue después de los estilos por defecto del tema Classic
Después de añadir esto, ve a tu Back Office, a Parámetros avanzados > Rendimiento, y haz clic en 'Borrar la caché'. También borra la caché de tu navegador. Con esta configuración, PrestaShop se encargará de compilar y cachear tu custom.css correctamente, y debería persistir en el orden deseado.