/*
 * Elementor form trap -- Dwell-Time-Feld verstecken
 * ------------------------------------------------
 * Vorlage. Ins Site-Repo kopieren nach:
 *   wordpress/wp-content/mu-plugins/form-trap.css
 * und aus form-trap.php per wp_enqueue_style() laden. Siehe ELEMENTOR-FORMS.md.
 *
 * Bewusst eine EIGENE Datei und kein <style>-Block im Footer: ein Bot, der das
 * gelieferte HTML nach "display:none" durchsucht, findet hier nichts. Er
 * muesste zusaetzlich das Stylesheet laden und die Selektoren aufloesen -- das
 * tut praktisch kein Massen-Spam-Bot.
 *
 * Elementor erzeugt die Klasse .elementor-field-group-<feld-id> um jedes Feld.
 * Die ID hp_dwell muss im Editor exakt so gesetzt sein.
 */

.elementor-field-group-hp_dwell {
	/*
	 * Aus dem Viewport schieben statt display:none.
	 * Viele Bots filtern gezielt auf display:none und visibility:hidden und
	 * ignorieren solche Felder. Absolut positioniert ausserhalb des
	 * Sichtbereichs bleibt das Feld fuer den Parser ein voellig normales,
	 * sichtbares Textfeld -- er laesst es also im POST stehen, statt es
	 * wegzulassen.
	 */
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;

	/*
	 * Auf 1x1px zusammenziehen und Ueberlauf kappen. Ohne das kann ein langes
	 * Label die Seite horizontal scrollbar machen -- unter RTL-Sprachen oder
	 * bei overflow-x:auto am Container wird das sonst sichtbar.
	 */
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;

	/*
	 * Das Feld darf das Layout nicht beeinflussen, auch nicht als Flex-Item
	 * im Elementor-Grid. Elementor setzt den Feldgruppen flex-basis ueber
	 * Inline-Styles, daher hier ueberschreiben.
	 */
	flex: 0 0 0 !important;
	max-width: 0 !important;

	/*
	 * Keine Interaktion: kein Klick, keine Textauswahl. Tastaturfokus laesst
	 * sich nur ueber tabindex="-1" ausschliessen -- siehe Hinweis zur
	 * Barrierefreiheit in ELEMENTOR-FORMS.md.
	 */
	pointer-events: none !important;
	user-select: none !important;
}

/*
 * Auch die Kindelemente ruhigstellen. Elementor rendert Label und Input als
 * eigene Knoten; ohne das kann ein Label-Style aus dem Theme die Gruppe wieder
 * aufziehen.
 */
.elementor-field-group-hp_dwell > * {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
}

/*
 * Im Druck ebenfalls raus. Sonst taucht in einem ausgedruckten oder als PDF
 * gespeicherten Formular ein leeres Feld auf.
 */
@media print {
	.elementor-field-group-hp_dwell {
		display: none !important;
	}
}
