/* ==========================================================================
   Newsletter-Anmeldung (Contact Form 7 „NLREG", Maileon-Felder)

   Übernommen aus dem Custom CSS von Elementor Pro auf der Seite „Newsletter"
   (Widgets 78d6f8d0, 1f181f4d, 44d6746e) und korrigiert:
   – gilt nur für Formulare mit Maileon-Feldern (:has), nicht für alle CF7-Formulare
   – Feldbreiten per Grid statt Prozent-Breiten mit 0,5 %-Rändern (keine Umbrüche/Lücken)
   – Fehlermeldungen nicht mehr absolut positioniert (überlappten auf kleinen Bildschirmen)
   – Optik wie das Ausstelleranmeldungs-Formular (Kit-Farben und -Schriften)
   ========================================================================== */

/* Überschrift und Trennlinie der Seite ohne Abstand darunter */
.elementor-842 .elementor-element-78d6f8d0,
.elementor-842 .elementor-element-1f181f4d {
	margin: 0;
}

.wpcf7-form:has(#maileon_contact_form_email) {
	--nl-ink: var(--stf-ink, #22211f);
	--nl-muted: var(--stf-muted, #5d5a54);
	--nl-gold: var(--stf-gold, #b08d46);
	--nl-error: #b3261e;
	max-width: 980px;
	font-family: var(--stf-font-body, 'Barlow'), system-ui, sans-serif;
}

/* Feldzeilen: 12-Spalten-Raster, Zeilenumbrüche aus dem CF7-Markup ausblenden.
   Nur Zeilen mit Maileon-Feldern – der Absatz mit hCaptcha/Button enthält ebenfalls
   (versteckte) Inputs und darf nicht ins Raster. */
.wpcf7-form:has(#maileon_contact_form_email) > p:has(#maileon_contact_form_gender, #maileon_contact_form_firstname, #maileon_contact_form_email, #maileon_contact_form_organisation) {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 10px;
}

.wpcf7-form:has(#maileon_contact_form_email) > p > br {
	display: none;
}

.wpcf7-form:has(#maileon_contact_form_email) .wpcf7-form-control-wrap {
	position: relative;
	display: block;
	min-width: 0;
}

.wpcf7-form-control-wrap:has(#maileon_contact_form_gender),
.wpcf7-form-control-wrap:has(#maileon_contact_form_title) {
	grid-column: span 2;
}

.wpcf7-form-control-wrap:has(#maileon_contact_form_firstname),
.wpcf7-form-control-wrap:has(#maileon_contact_form_lastname) {
	grid-column: span 4;
}

.wpcf7-form-control-wrap:has(#maileon_contact_form_email) {
	grid-column: 1 / -1;
}

.wpcf7-form-control-wrap:has(#maileon_contact_form_organisation),
.wpcf7-form-control-wrap:has(#maileon_contact_form_Telefon) {
	grid-column: span 6;
}

@media (max-width: 832px) {
	.wpcf7-form-control-wrap:has(#maileon_contact_form_gender),
	.wpcf7-form-control-wrap:has(#maileon_contact_form_title) {
		grid-column: span 6;
	}

	.wpcf7-form-control-wrap:has(#maileon_contact_form_firstname),
	.wpcf7-form-control-wrap:has(#maileon_contact_form_lastname),
	.wpcf7-form-control-wrap:has(#maileon_contact_form_organisation),
	.wpcf7-form-control-wrap:has(#maileon_contact_form_Telefon) {
		grid-column: 1 / -1;
	}
}

/* Eingabefelder */
.wpcf7-form:has(#maileon_contact_form_email) input[type="text"],
.wpcf7-form:has(#maileon_contact_form_email) input[type="email"],
.wpcf7-form:has(#maileon_contact_form_email) input[type="tel"],
.wpcf7-form:has(#maileon_contact_form_email) select {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid rgba(34, 33, 31, 0.2);
	border-radius: 0;
	background: #ffffff;
	color: var(--nl-ink);
	font-family: inherit;
	font-size: 16px;
}

.wpcf7-form:has(#maileon_contact_form_email) input:focus,
.wpcf7-form:has(#maileon_contact_form_email) select:focus {
	border-color: var(--nl-gold);
	outline: none;
	box-shadow: 0 0 0 1px var(--nl-gold);
}

.wpcf7-form:has(#maileon_contact_form_email) .wpcf7-not-valid {
	border-color: var(--nl-error);
}

/* Fehlermeldungen unter dem Feld statt absolut darüber */
.wpcf7-form:has(#maileon_contact_form_email) .wpcf7-not-valid-tip {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.3;
	color: var(--nl-error);
}

/* Checkboxen (weitere Newsletter, Datenschutz) */
.wpcf7-form:has(#maileon_contact_form_email) > p:has(.wpcf7-acceptance) {
	margin: 14px 0 0;
}

.wpcf7-form:has(#maileon_contact_form_email) .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.wpcf7-form:has(#maileon_contact_form_email) .wpcf7-acceptance label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	cursor: pointer;
}

.wpcf7-form:has(#maileon_contact_form_email) .wpcf7-acceptance input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--nl-gold);
}

.wpcf7-form:has(#maileon_contact_form_email) .wpcf7-list-item-label {
	font-size: 13px;
	line-height: 1.5;
	color: var(--nl-muted);
}

@media (max-width: 379px) {
	.wpcf7-form:has(#maileon_contact_form_email) .wpcf7-list-item-label {
		font-size: 12px;
	}
}

/* Newsletter-Auswahl-Hinweise aus Maileon (custom_…-Klassen) */
.custom_CC-News-Newsletter-DE,
.custom_Immobilien-Investment-Newsletter,
.custom_Staedtetag-Fachausstellung-Newsletter,
.custom_DMV-Medien-Newsletter {
	display: block;
}

/* hCaptcha und Absenden */
.wpcf7-form:has(#maileon_contact_form_email) .h-captcha {
	margin: 16px 0 0;
}

.wpcf7-form:has(#maileon_contact_form_email) #maileon_contact_form_button {
	margin-top: 18px;
}

.wpcf7-form:has(#maileon_contact_form_email) .wpcf7-response-output {
	margin: 18px 0 0;
	padding: 14px 16px;
	border-width: 0 0 0 3px;
	background: #ffffff;
	font-size: 15px;
}
