Hola @ignacio_es, entiendo perfectamente tu frustración con los estilos CSS que no persisten. Es un problema común en PrestaShop 1.7.3.2 si no se siguen algunas pautas.
El archivo themes/classic/assets/css/custom.css está diseñado para tus estilos personalizados y el tema Classic lo incluye automáticamente. Sin embargo, para asegurar que tus reglas CSS tengan la prioridad adecuada y no se vean afectadas por la caché o futuras actualizaciones del tema (si no usas un tema hijo), hay que verificar lo siguiente:
- Ubicación y carga: El archivo debe estar en
themes/classic/assets/css/custom.css. El tema Classic lo registra por defecto, por lo que no necesitas modificar ningún .tpl o hook para que se cargue.
- Especificidad CSS: Los estilos del
theme.css a menudo son muy específicos. Para sobrescribir una regla, tu selector debe ser igual o más específico, o cargarse después de la regla original. Aunque !important funciona, es mejor evitarlo si se puede, ya que puede complicar el mantenimiento. Puedes aumentar la especificidad usando selectores más largos o IDs.
- Caché de PrestaShop: Después de cualquier cambio en
custom.css, es IMPRESCINDIBLE ir a Parámetros avanzados > Rendimiento y hacer clic en 'Borrar la caché'. Esto forzará a PrestaShop a recompilar y generar un nuevo theme.css (que incluye tu custom.css).
- Caché del navegador: Como bien apunta @alvaroshop99, tus clientes (y tú mismo) deben vaciar la caché de su navegador (Ctrl+F5 o Shift+F5) para ver los cambios.
Para el ejemplo que proporcionaste, tus reglas están bien. El problema es casi seguro la caché o la especificidad. Si quieres asegurar que tus botones tengan ese estilo incluso con !important y que no se pierda, te sugiero que hagas tu selector aún más específico. Por ejemplo:
/* Estilos para el botón principal del carrito o checkout */
#wrapper .btn.btn-primary.add-to-cart {
background-color: #007bff;
border-color: #007bff;
color: #fff;
}
/* Estilos para el encabezado, asegurando que se aplique */
body#content #header .header-top {
background-color: #f8f9fa;
padding: 10px 0;
Al añadir body#content o add-to-cart al selector, aumentamos la especificidad sin depender tanto de !important. Aplica estos cambios en tu custom.css, vacía la caché de PrestaShop y luego la de tu navegador. Debería funcionar y persistir.