/* Opiniones. */
.opiniones__resumen { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 8px 0 0; text-wrap: pretty; }
.estrellas { display: inline-flex; gap: 2px; color: var(--ubm-turquesa-hondo); }
.estrella--vacia { color: var(--ubm-linea); }
.opiniones__carrusel .swiper-slide { width: calc((100% - 3 * 24px) / 4); height: auto; }
.opinion { display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: var(--ubm-radio-foto); background: var(--ubm-rubor); }
.opinion__texto { flex: 1; margin: 0; font-size: 17px; line-height: 1.55; }
.opinion__autor { display: flex; flex-direction: column; margin: 0; font-size: 15px; color: var(--ubm-texto-2); }
.opinion__autor strong { color: var(--ubm-tinta); font-weight: 600; }
@media (max-width: 991.98px) { .opiniones__carrusel .swiper-slide { width: 78%; } }
/* Las opiniones largas del carrusel se cortan; en la ficha se leen enteras. */
.opiniones__carrusel .opinion__texto { display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }

/* Estrellas del producto: bajo el título de la ficha y en la miniatura. */
.valoracion { display: inline-flex; align-items: center; gap: 8px; width: fit-content; font-size: 15px; color: var(--ubm-texto-2); text-decoration: none; }
.valoracion strong { color: var(--ubm-tinta); font-weight: 600; }
a.valoracion { min-height: 44px; }
a.valoracion:hover .valoracion__texto { text-decoration: underline; text-underline-offset: 3px; }
.valoracion--tarjeta { gap: 6px; margin: 2px 0 0; font-size: 14px; }

/* Opiniones en la ficha: a todo el ancho, en tarjetas como las de la portada. */
.ficha-opiniones { grid-column: 1 / -1; gap: 20px; scroll-margin-top: 24px; }
.ficha-opiniones__cabeza { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 24px; }
.ficha-opiniones__cabeza .opiniones__resumen { margin: 0; }
.ficha-opiniones__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.ficha-opiniones .opinion__texto { max-width: none; }
.ficha-opiniones__mas > summary { list-style: none; }
.ficha-opiniones__mas > summary::-webkit-details-marker { display: none; }
.ficha-opiniones__mas[open] > summary { display: none; }
