/* =====================================================================
   ePrilux · Tarjeta de producto más completa (módulo tarjeta-datos, 26/10/2026, E9)
   «Garantía 3 años» se probó en la tarjeta y Karen lo quitó el mismo día: no va.
   ===================================================================== */
/* La línea de datos ya no se corta con «…» («cálida o n…»): si no cabe, pasa a dos líneas. */
html body .e-loop-item .epx-t-datos { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }

/* Hueco vacío en las tarjetas (Karen, F1): «altura igual» de Elementor pone grid-auto-rows: 1fr, y eso iguala TODAS
   las filas a la tarjeta más alta del listado (en el móvil, 460 px aunque la fila solo necesite 400). Con «auto», cada
   fila mide lo que su tarjeta más alta y las dos de la misma fila siguen igual de altas. */
html body .elementor-loop-container.elementor-grid { grid-auto-rows: auto !important; }

/* Frase corta debajo del título (Karen, 29/10/2026: «queda espacio, una mini frase que acompañe al titular»).
   El título deja de reservar tres líneas; el bloque título + frase reserva su sitio y la línea de datos baja al
   final, así precios y botones siguen alineados entre tarjetas. */
/* 29/10/2026, Karen: «quita espacios». El bloque ya no reserva 118 px (dejaba ~35 px vacíos bajo la frase):
   título y frase reservan dos líneas cada uno, que es lo que miden casi siempre, y lo demás va pegado. */
html body .e-loop-item.product.elementor-532 h6.h6[data-id="b0bb584"] { min-height: 2.4em !important; }
html body .e-loop-item.product.elementor-532 [data-id="62dd21e"] { min-height: 0 !important; }
html body .e-loop-item.product.elementor-532 p[data-id="420be7b"] { order: 1; margin: -4px 0 0 !important; min-height: 2.8em; color: #5b6270 !important; font-weight: 400 !important; }
html body .e-loop-item.product.elementor-532 [data-id="62dd21e"] > .epx-t-datos { order: 2; padding-top: 2px; }

/* 29/10/2026: el bloque título + frase se estiraba (flex-grow) para igualar la tarjeta más alta de la fila y dejaba
   el hueco debajo de la frase. Ahora no crece: stock y precio van pegados a la frase y lo que sobre queda encima de
   los botones, que siguen alineados abajo. */
html body .e-loop-item.product.elementor-532 [data-id="754a35a"] { justify-content: flex-start !important; }
html body .e-loop-item.product.elementor-532 [data-id="62dd21e"] { flex-grow: 0 !important; }
/* 2/11/2026 (revisión de Karen, n.º 4: «quedan muchos espacios vacíos»): stock, precio y botones van juntos abajo
   (el empuje pasa del bloque de botones fe5e31d al stock 781b7db), así quedan alineados en toda la fila y lo que sobra
   va bajo la frase, no entre el precio y «Añadir». */
html body .e-loop-item.product.elementor-532 [data-id="781b7db"] { margin-top: auto !important; }
html body .e-loop-item.product.elementor-532 [data-id="fe5e31d"] { margin-top: 0 !important; }
/* Si alguna tarjeta del listado lleva bolitas de opciones, las que no las llevan reservan esa fila: así el botón
   queda a la misma altura en todas. */
html body .elementor-loop-container:has(.epx-t-sel) .e-loop-item.product .elementor-shortcode:not(:has(.epx-t-sel)) > .pc-cart { margin-top: 32px; }
/* La línea de datos (IP, tonos) va vacía en muchas fichas y reservaba 17 px + margen bajo la frase. */
html body .e-loop-item.product.elementor-532 .epx-t-datos:empty { display: none !important; }

/* 3/11/2026 (revisión de Karen: «el cambio de color o de luz no carga bien»): mientras llega la foto de la opción
   elegida, la foto se atenúa un poco; antes no pasaba nada durante hasta 3 s. */
html body .e-loop-item.epx-t-cargando img.img-product { opacity: .55; transition: opacity .15s ease; }
html body .e-loop-item img.img-product { transition: opacity .2s ease; }
