/* Testimonios en video — home v5 (3 a la vista; carrusel si hay más) */

.tes-flechas[hidden] { display: none !important; }
.tes-visor { overflow: hidden; }
.tes-pista { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.es-carrusel .tes-pista { display: flex; transition: transform .7s var(--curva); will-change: transform; }
.es-carrusel .tes-card { flex: none; width: calc((100% - 40px) / 3); }

.tes-card { display: flex; flex-direction: column; padding: 0; text-align: left; }
.tes-card__media { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #1A130D; }
.tes-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--curva); }
.tes-card:hover .tes-card__media img { transform: scale(1.04); }
.tes-card__dur { position: absolute; z-index: 2; right: 12px; bottom: 12px; padding: 3px 9px; border-radius: var(--r-pildora); background: rgba(20, 14, 8, .6); color: var(--blanco); font-size: 12px; }
.tes-card__pie { display: flex; flex-direction: column; margin-top: 14px; }
.tes-card__pie b { font-family: var(--serif); font-size: 24px; font-weight: 400; letter-spacing: -0.02em; }
.tes-card__pie small { font-size: 13.5px; color: var(--texto-60); }

/* Botón play */
.te-play { position: absolute; z-index: 2; left: 50%; top: 50%; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--texto); transform: translate(-50%, -50%); transition: transform .3s var(--curva), background-color .2s var(--curva-hover), color .2s var(--curva-hover); }
.te-play svg { width: 26px; height: 26px; margin-left: 2px; }
.tes-card:hover .te-play { transform: translate(-50%, -50%) scale(1.08); background: var(--acento); color: var(--blanco); }

/* Modal */
.te-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; }
.te-modal[hidden] { display: none; }
.te-modal__fondo { position: absolute; inset: 0; background: rgba(15, 10, 6, .88); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-modal__caja { position: relative; width: min(1100px, 100%); }
.te-modal__video { aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; }
.te-modal__video iframe { display: block; width: 100%; height: 100%; border: 0; }
.te-modal__cerrar { position: absolute; top: -50px; right: 0; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .14); color: var(--blanco); }
.te-modal__cerrar:hover { background: var(--blanco); color: var(--texto); }
.te-modal__pie { margin-top: 14px; text-align: center; font-size: 14px; color: rgba(255, 255, 255, .78); }
.te-modal__pie b { color: var(--blanco); font-weight: 500; }

@media (max-width: 900px) {
  .tes-visor { overflow: visible; }
  .tes-pista, .es-carrusel .tes-pista { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--pad-x) * -1); padding-inline: var(--pad-x); transform: none !important; }
  .tes-pista::-webkit-scrollbar { display: none; }
  .tes-card, .es-carrusel .tes-card { flex: none; width: 82vw; scroll-snap-align: start; }
  .es-carrusel .tes-card[aria-hidden] { display: none; }
  .tes-flechas { display: none !important; }
}
@media (prefers-reduced-motion: reduce) { .tes-pista { transition: none !important; } }
/* Móvil: el snap respeta el margen lateral para que la primera tarjeta quede alineada con el título */
@media (max-width: 900px) { .tes-pista, .es-carrusel .tes-pista { scroll-padding-inline: var(--pad-x); } }
