/* CF7 Turnstile AJAX — estilos mínimos */

.cf7ts-widget {
	display: block;
	margin: 0 0 .5em;
	/* Reserva de espacio: evita layout shift y, sobre todo, evita que el
	   widget nazca con ancho 0 en columnas que aún no terminaron de calcular. */
	min-height: 65px;
	min-width: 300px;
	/* El reto interactivo expande el iframe: no debe quedar recortado
	   por un contenedor sticky con overflow. */
	position: relative;
	z-index: 2;
	overflow: visible;
}

.cf7ts-widget[data-size="compact"] {
	min-height: 120px;
	min-width: 150px;
}

.cf7ts-widget[data-size="flexible"] {
	min-width: 300px;
	width: 100%;
}

.cf7ts-widget[data-appearance="interaction-only"],
.cf7ts-widget[data-appearance="execute"] {
	min-height: 0;
	min-width: 0;
}

.cf7ts-widget[data-cf7ts-state="error"] {
	outline: 1px solid rgba(220, 50, 50, .35);
	outline-offset: 4px;
	border-radius: 4px;
}

/* Los ancestros con transform/filter crean un containing block nuevo y
   fuerzan al iframe a una capa compuesta; en iOS Safari eso hace que el
   iframe se repinte o se recargue durante el scroll. Si tu columna fija
   necesita aceleración, aplícala a un hermano, no a un ancestro del widget. */
.cf7ts-widget,
.cf7ts-widget * {
	transform: none !important;
	filter: none !important;
}

.cf7ts-admin-warning {
	display: inline-block;
	padding: .35em .6em;
	border: 1px dashed #c00;
	color: #c00;
	font-size: .85em;
}
