Para dar estilo a cada párrafo por separado para idiomas RTL y LTR

Hola, estoy intentando usar idiomas RTL y LTR juntos en Discourse. Pensé en resolverlo con CSS, ya que los párrafos estarán en un cierto orden en el contenido. Al principio, planeaba usar :nth-of-type para las etiquetas p. Pero hay una sorpresa. La etiqueta p aparece automáticamente al principio y al final de las imágenes agregadas al contenido en Discourse. Esto rompió el uso de :nth-of-type. Porque ha cambiado la cantidad de párrafos que apuntaré en el contenido con y sin imágenes.

.cooked > p:nth-of-type(5) {
  color: brown; 
  font-size: 16px;
}

Así que empecé a pensar en otra solución. Busqué una forma de apuntar a los párrafos que tienen la etiqueta RTL o LTR.

:nth-of-type() de [atributo=valor]

.cooked > p[dir="ltr"]:nth-of-type(1) {
  color: brown; 
  font-size: 16px;
}

No funciona. Porque los navegadores procesan principalmente :nth-of-type. Parece que no hay forma de usar :nth-of-type o :nth-child con atributos.

¿Podrías sugerirme una solución para esto?