/* Widget de Cloudflare Turnstile (modo interaction-only).
   Normalmente no se ve: el contenedor queda fuera del flujo para no agregar espacio al formulario.
   Solo si Cloudflare pide un reto, el script agrega .tv-turnstile--reto y el widget aparece con aire. */
.tv-turnstile {
	position: absolute;
	left: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}
.tv-turnstile--reto {
	position: static;
	width: auto;
	max-width: 100%;
	height: auto;
	min-height: 65px;
	margin: 0.25rem 0 0.5rem;
	overflow: visible;
	opacity: 1;
	pointer-events: auto;
}
.tv-turnstile--reto iframe { max-width: 100%; }
/* Formularios viejos de Elementor: el contenedor de posición es el formulario */
form[data-tv-sitio] { position: relative; }
.tv-sitio-estado:empty { display: none; }
.tv-sitio-estado { margin-top: 0.75rem; width: 100%; }
.tv-sitio-estado .elementor-message { margin: 0; }
