/* Inserciones de redes y video ([lvsl_insercion] y widget «Voz-SLG · Inserción»), 01-10-2026.
   Nada recortado: ancho máximo 100 %, centrado y alto automático. Los videos van en un marco con la proporción
   del video (16:9 o 9:16); las publicaciones sociales, con ancho máximo de 550 px. */
.lvsl-insercion { margin: 1.6rem auto; max-width: 100%; }
/* Dentro del widget de Elementor el espacio lo pone el contenedor; Elementor pone margin:0 a todo figure de un widget. */
.elementor-widget-vozslg-insercion .lvsl-insercion { margin: 0 auto !important; }
/* Ancho explícito del widget: en un contenedor de Elementor en columna, estirado y sin ancho, Chrome calcula el alto
   del widget con el marco (aspect-ratio) a otro ancho y el widget queda más bajo que el video: el texto siguiente se
   montaba encima (a 390 px, shorts, reels y portadas con play). Un ancho puesto en el widget desde Elementor manda. */
.elementor-widget-vozslg-insercion { width: 100%; }
.lvsl-insercion__marco { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #000; }
/* !important: el marco ya fija la proporción y le gana a las reglas generales de iframes de video de portal.css. */
.lvsl-insercion__marco iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: 100%; aspect-ratio: auto !important; border: 0; border-radius: 0; }
.lvsl-insercion--vertical { max-width: 360px; }
.lvsl-insercion--vertical .lvsl-insercion__marco { aspect-ratio: 9 / 16; }
.lvsl-insercion > figcaption,
.lvsl-insercion .wp-element-caption { margin-top: .5rem; font-size: .85rem; line-height: 1.45; color: #5b6470; text-align: left; }

/* Publicaciones sociales: el script de cada red cambia el blockquote por su propio marco. */
.lvsl-insercion--instagram, .lvsl-insercion--twitter, .lvsl-insercion--threads,
.lvsl-insercion--tiktok, .lvsl-insercion--facebook-publicacion { max-width: 550px; }
.lvsl-insercion--tiktok { max-width: 605px; }
.lvsl-insercion blockquote,
.lvsl-insercion iframe.instagram-media,
.lvsl-insercion .twitter-tweet,
.lvsl-insercion .tiktok-embed { margin: 0 auto !important; max-width: 100% !important; min-width: 0 !important; }
.lvsl-insercion blockquote:not([class*="-rendered"]) { padding: 1rem 1.25rem; border: 1px solid #E3E5EC; border-radius: 12px; background: #fff; font-style: normal; text-align: center; }
.lvsl-insercion blockquote a { font-weight: 600; }
.lvsl-insercion .fb-post, .lvsl-insercion .fb-post > span, .lvsl-insercion .fb-post iframe { max-width: 100% !important; }
.lvsl-insercion .fb-post { display: block; text-align: center; }

/* Portada con play de los videos de Facebook que no se dejan insertar: estilos en portal.css (.lvsl-video-portada). */
.lvsl-insercion.lvsl-video-portada { margin: 1.6rem auto; }

/* Tarjeta de enlace (cualquier otra URL). */
.lvsl-insercion__tarjeta { display: flex; gap: 1rem; align-items: center; padding: .9rem 1.1rem; border: 1px solid #E3E5EC; border-radius: 12px; background: #fff; text-decoration: none; color: #1B1D23; }
.lvsl-insercion__tarjeta:hover { border-color: #CA9945; }
.lvsl-insercion__imagen { width: 120px; height: auto; border-radius: 8px; flex: none; }
.lvsl-insercion__texto { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.lvsl-insercion__dominio { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #8A6420; }
.lvsl-insercion__titulo { font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 480px) { .lvsl-insercion__imagen { width: 84px; } }
