/* Video de YouTube con portada liviana */
/* width 100%: en contenedores flex en columna con salto de línea (móvil de Elementor) un bloque que solo tiene
   aspect-ratio se calcula con alto 0 y el texto siguiente se le monta encima. Con ancho explícito, la proporción manda. */
.elementor-widget-virtus_video { width: 100%; }
.va-video { width: 100%; position: relative; aspect-ratio: 16 / 9; border-radius: var(--va-radius-lg); overflow: hidden; background: #000; box-shadow: var(--va-shadow); }
.va-video__btn { all: unset; position: absolute; inset: 0; cursor: pointer; display: block; }
.va-video__btn img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--va-ease), filter .3s; }
.va-video__btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .05) 40%, rgba(0, 0, 0, .55)); }
.va-video__btn:hover img { transform: scale(1.03); filter: brightness(.85); }
.va-video__play {
  position: absolute; z-index: 1; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(47, 71, 215, .92); color: #fff; box-shadow: 0 10px 30px rgba(47, 71, 215, .45);
  transition: transform .25s var(--va-ease), background .25s;
}
.va-video__play::before { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .35); animation: va-pulse 2.2s var(--va-ease) infinite; }
.va-video__play svg { width: 30px; height: 30px; margin-left: 4px; }
.va-video__btn:hover .va-video__play { transform: scale(1.08); background: var(--va-primary-hover); }
.va-video__btn:focus-visible .va-video__play { outline: 3px solid #fff; outline-offset: 4px; }
.va-video__title { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 18px; color: #fff; font-size: 15px; font-weight: 600; text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }
.va-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@keyframes va-pulse { 0% { transform: scale(.9); opacity: 1; } 100% { transform: scale(1.35); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .va-video__play::before { animation: none; } }
@media (max-width: 560px) { .va-video__play { width: 60px; height: 60px; margin: -30px 0 0 -30px; } .va-video__title { font-size: 13px; } }
