Hola @hectormadrid57 y @elenadeco99,
@elenadeco99 tiene razón, lograr un acordeón con animaciones de altura fluidas solo con CSS a partir de la estructura de pestañas de Bootstrap es complicado, ya que estas últimas están diseñadas para display: block o display: none y no para height: 0 a height: auto con transiciones. Sin embargo, podemos simular el aspecto y una transición de visibilidad más controlada para que parezca un acordeón y resolver el problema del 'salto'.
Para PrestaShop 1.7.6.0 con el tema Classic, podemos mejorar tu CSS en themes/classic/assets/css/custom.css de la siguiente manera. La clave está en cómo manejamos los bordes y el icono de chevron para dar la sensación de un acordeón.
.product-information .nav-tabs {
border-bottom: none;
display: block; /* Asegura que la lista sea un bloque */
}
.product-information .nav-item {
margin-bottom: 0; /* Elimina el margen inferior entre elementos de nav */
}
.product-information .nav-link {
display: flex; /* Para alinear el texto y el chevron */
justify-content: space-between;
Explicación de los cambios:
margin-bottom: -1px; en .nav-link: Esto es clave para que los bordes de los elementos de navegación se superpongan ligeramente y eliminen el efecto de 'doble borde' o 'salto' entre los encabezados del acordeón.
border-bottom-color: transparent; en .nav-link.active: Hace que el borde inferior del encabezado activo sea transparente, permitiendo que el contenido de la pestaña se una visualmente sin un doble borde.
border-radius: 4px 4px 0 0; y border-radius: 0 0 4px 4px;: Da un aspecto más cohesionado al encabezado activo y al panel de contenido.
display: flex, justify-content: space-between, align-items: center para .nav-link: Permite posicionar el texto y el chevron de forma elegante.
::after para el chevron: Usamos un pseudo-elemento con un icono de Font Awesome para el chevron. Asegúrate de que Font Awesome esté cargado en tu tema.
transform: rotate(180deg); en .nav-link.active::after: Gira el chevron cuando la pestaña está activa, dando una indicación visual clara.
transition: opacity 0.3s ease; para .tab-pane: En lugar de una animación de altura (que requeriría JS), usamos una transición de opacidad para una aparición más suave del contenido cuando display: block se aplica. Esto reduce la brusquedad del cambio.
Esto debería darte un aspecto de acordeón bastante bueno y resolver el problema del salto de borde. ¡Prueba esto y me comentas!