/*! AB Formular 1.0.0 | allBLANCO – Grundlayout, kompatibel zum Elementor-Pro-Formular */

.elementor-widget-form .elementor-form-fields-wrapper {
	display: flex;
	flex-wrap: wrap;
}

.elementor-widget-form .elementor-field-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	width: 100%;
}

.elementor-widget-form .elementor-field-group.elementor-field-type-submit {
	align-items: flex-end;
}

.elementor-widget-form .elementor-labels-above .elementor-field-group > label,
.elementor-widget-form .elementor-labels-above .elementor-field-group > .elementor-field-label {
	flex-basis: 100%;
	max-width: 100%;
}

.elementor-widget-form .elementor-field-label {
	cursor: pointer;
}

.elementor-widget-form .elementor-mark-required .elementor-field-label::after {
	content: "*";
	color: red;
	padding-inline-start: .2em;
}

.elementor-widget-form .elementor-field-group .elementor-field-textual {
	width: 100%;
	max-width: 100%;
	border: 1px solid #69727d;
	background-color: transparent;
	color: #1f2124;
	vertical-align: middle;
	flex-grow: 1;
}

.elementor-widget-form .elementor-field-group .elementor-field-textual:focus {
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
	outline: 0;
}

.elementor-widget-form .elementor-field-group .elementor-field-textual::placeholder {
	color: inherit;
	opacity: .6;
	font-family: inherit;
}

.elementor-widget-form .elementor-field-group textarea.elementor-field-textual {
	min-height: auto;
	resize: vertical;
}

/* Feldgrößen */
.elementor-widget-form .elementor-field-textual.elementor-size-xs { font-size: 13px; min-height: 33px; padding: 4px 12px; border-radius: 2px; }
.elementor-widget-form .elementor-field-textual.elementor-size-sm { font-size: 15px; min-height: 40px; padding: 5px 14px; border-radius: 3px; }
.elementor-widget-form .elementor-field-textual.elementor-size-md { font-size: 16px; min-height: 47px; padding: 6px 16px; border-radius: 4px; }
.elementor-widget-form .elementor-field-textual.elementor-size-lg { font-size: 18px; min-height: 59px; padding: 7px 20px; border-radius: 5px; }
.elementor-widget-form .elementor-field-textual.elementor-size-xl { font-size: 20px; min-height: 72px; padding: 8px 24px; border-radius: 6px; }

/* Auswahlfeld */
.elementor-widget-form .elementor-select-wrapper {
	display: flex;
	position: relative;
	width: 100%;
}

.elementor-widget-form .elementor-select-wrapper select {
	appearance: none;
	-webkit-appearance: none;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-style: inherit;
	text-transform: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	flex-basis: 100%;
	padding-inline-end: 20px;
}

.elementor-widget-form .elementor-select-wrapper .select-caret-down-wrapper {
	position: absolute;
	inset-inline-end: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 11px;
	pointer-events: none;
	line-height: 1;
}

.elementor-widget-form .elementor-select-wrapper .select-caret-down-wrapper svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
	aspect-ratio: unset;
}

/* Zustimmung */
.elementor-widget-form .elementor-field-subgroup {
	display: flex;
	flex-wrap: wrap;
}

.elementor-widget-form .elementor-field-subgroup .elementor-field-option label {
	display: inline-block;
}

.elementor-widget-form .elementor-field-subgroup .elementor-field-option input {
	margin-inline-end: .4em;
}

/* Spaltenbreiten (Desktop) */
.elementor-widget-form .elementor-field-group.elementor-col-100 { width: 100%; }
.elementor-widget-form .elementor-field-group.elementor-col-80  { width: 80%; }
.elementor-widget-form .elementor-field-group.elementor-col-75  { width: 75%; }
.elementor-widget-form .elementor-field-group.elementor-col-70  { width: 70%; }
.elementor-widget-form .elementor-field-group.elementor-col-66  { width: 66.666%; }
.elementor-widget-form .elementor-field-group.elementor-col-60  { width: 60%; }
.elementor-widget-form .elementor-field-group.elementor-col-50  { width: 50%; }
.elementor-widget-form .elementor-field-group.elementor-col-40  { width: 40%; }
.elementor-widget-form .elementor-field-group.elementor-col-33  { width: 33.333%; }
.elementor-widget-form .elementor-field-group.elementor-col-30  { width: 30%; }
.elementor-widget-form .elementor-field-group.elementor-col-25  { width: 25%; }
.elementor-widget-form .elementor-field-group.elementor-col-20  { width: 20%; }

/* Tablet */
@media (max-width: 1024px) {
	.elementor-widget-form .elementor-field-group.elementor-md-100 { width: 100%; }
	.elementor-widget-form .elementor-field-group.elementor-md-80  { width: 80%; }
	.elementor-widget-form .elementor-field-group.elementor-md-75  { width: 75%; }
	.elementor-widget-form .elementor-field-group.elementor-md-70  { width: 70%; }
	.elementor-widget-form .elementor-field-group.elementor-md-66  { width: 66.666%; }
	.elementor-widget-form .elementor-field-group.elementor-md-60  { width: 60%; }
	.elementor-widget-form .elementor-field-group.elementor-md-50  { width: 50%; }
	.elementor-widget-form .elementor-field-group.elementor-md-40  { width: 40%; }
	.elementor-widget-form .elementor-field-group.elementor-md-33  { width: 33.333%; }
	.elementor-widget-form .elementor-field-group.elementor-md-30  { width: 30%; }
	.elementor-widget-form .elementor-field-group.elementor-md-25  { width: 25%; }
	.elementor-widget-form .elementor-field-group.elementor-md-20  { width: 20%; }
}

/* Mobil: ohne eigene Angabe immer volle Breite */
@media (max-width: 767px) {
	.elementor-widget-form .elementor-field-group { width: 100%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-80  { width: 80%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-75  { width: 75%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-70  { width: 70%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-66  { width: 66.666%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-60  { width: 60%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-50  { width: 50%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-40  { width: 40%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-33  { width: 33.333%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-30  { width: 30%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-25  { width: 25%; }
	.elementor-widget-form .elementor-field-group.elementor-sm-20  { width: 20%; }
}

/* Schaltfläche */
.elementor-widget-form .e-form__buttons {
	display: flex;
	flex-wrap: wrap;
}

.elementor-widget-form .elementor-field-type-submit .elementor-button {
	border: none;
	cursor: pointer;
}

.elementor-widget-form .elementor-button .elementor-button-content-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
}

.elementor-widget-form .elementor-button .elementor-button-icon svg {
	width: 1em;
	height: auto;
	fill: currentColor;
}

.elementor-button-align-start .e-form__buttons   { justify-content: flex-start; }
.elementor-button-align-center .e-form__buttons  { justify-content: center; }
.elementor-button-align-end .e-form__buttons     { justify-content: flex-end; }
.elementor-button-align-stretch .e-form__buttons .elementor-button { flex-basis: 100%; }

@media (max-width: 1024px) {
	.elementor-tablet-button-align-start .e-form__buttons  { justify-content: flex-start; }
	.elementor-tablet-button-align-center .e-form__buttons { justify-content: center; }
	.elementor-tablet-button-align-end .e-form__buttons    { justify-content: flex-end; }
	.elementor-tablet-button-align-start .e-form__buttons .elementor-button,
	.elementor-tablet-button-align-center .e-form__buttons .elementor-button,
	.elementor-tablet-button-align-end .e-form__buttons .elementor-button { flex-basis: auto; }
	.elementor-tablet-button-align-stretch .e-form__buttons .elementor-button { flex-basis: 100%; }
}

@media (max-width: 767px) {
	.elementor-mobile-button-align-start .e-form__buttons  { justify-content: flex-start; }
	.elementor-mobile-button-align-center .e-form__buttons { justify-content: center; }
	.elementor-mobile-button-align-end .e-form__buttons    { justify-content: flex-end; }
	.elementor-mobile-button-align-start .e-form__buttons .elementor-button,
	.elementor-mobile-button-align-center .e-form__buttons .elementor-button,
	.elementor-mobile-button-align-end .e-form__buttons .elementor-button { flex-basis: auto; }
	.elementor-mobile-button-align-stretch .e-form__buttons .elementor-button { flex-basis: 100%; }
}

/* Zustände und Meldungen */
.elementor-widget-form .elementor-form.elementor-form-waiting .elementor-button {
	opacity: .6;
	cursor: progress;
}

.elementor-widget-form .elementor-message {
	margin: 10px 0;
	font-size: 1em;
	line-height: 1.4;
}

.elementor-widget-form .elementor-message.elementor-message-success { color: #5cb85c; }
.elementor-widget-form .elementor-message.elementor-message-danger  { color: #d9534f; }

.elementor-widget-form .elementor-message.elementor-help-inline {
	flex-basis: 100%;
	margin: 4px 0 0;
	font-size: .9em;
}

.elementor-widget-form .elementor-error .elementor-field-textual {
	border-color: #d9534f;
}

.elementor-widget-form .elementor-screen-only {
	position: absolute;
	top: -10000em;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}


/* Platzhalter: eigene Laufweite und Stärke, unabhängig von großer Eingabeschrift */
.elementor-widget-form .elementor-field-group input::placeholder,
.elementor-widget-form .elementor-field-group textarea::placeholder {
	letter-spacing: 0.01em;
	font-weight: 400;
	word-spacing: normal;
}
