/* Fluent Forms an das Theme angleichen.
   Das Plugin bringt eigene Stile mit; hier werden nur die Stellen
   überschrieben, an denen sie vom Designsystem abweichen. */

.fluentform {
	margin-block: var(--wp--preset--spacing--30);
}

.fluentform .ff-el-group {
	margin-block-end: var(--wp--preset--spacing--20);
}

.fluentform .ff-el-input--label label {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink);
	margin-block-end: 0.35rem;
}

.fluentform .ff-el-input--content input[type="text"],
.fluentform .ff-el-input--content input[type="email"],
.fluentform .ff-el-input--content input[type="tel"],
.fluentform .ff-el-input--content input[type="number"],
.fluentform .ff-el-input--content input[type="date"],
.fluentform .ff-el-input--content select,
.fluentform .ff-el-input--content textarea {
	width: 100%;
	padding: 0.65rem 0.8rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.45;
	box-shadow: none;
}

.fluentform .ff-el-input--content input:focus,
.fluentform .ff-el-input--content select:focus,
.fluentform .ff-el-input--content textarea:focus {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--primary);
}

/* Pflichtfeld-Stern in der Akzentfarbe statt im Plugin-Rot. */
.fluentform .ff-el-is-required.asterisk-right label:after,
.fluentform .ff-el-is-required.asterisk-left label:before {
	color: var(--wp--preset--color--primary);
}

/* Einwilligungen: größere Klickfläche, Text nicht unter die Box rutschen lassen. */
.fluentform .ff-el-form-check {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin-block: 0.5rem;
}

.fluentform .ff-el-form-check input[type="checkbox"],
.fluentform .ff-el-form-check input[type="radio"] {
	width: 1.15rem;
	height: 1.15rem;
	margin-block-start: 0.15rem;
	accent-color: var(--wp--preset--color--primary);
	flex: 0 0 auto;
}

.fluentform .ff-el-form-check label {
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
	color: var(--wp--preset--color--slate);
}

/* Hilfetexte unter dem Feld statt als Tooltip-Symbol. */
.fluentform .ff-el-help-message {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--slate);
	margin-block-start: 0.3rem;
}

/* Eingebetteter Hinweisblock, z. B. zum SEPA-Mandat. */
.ktf77-form-hinweis {
	border-left: 3px solid var(--wp--preset--color--primary);
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--mist);
	font-size: var(--wp--preset--font-size--sm);
	margin-block: var(--wp--preset--spacing--20);
}

/* Absenden-Button auf die Theme-Buttons ziehen. */
.fluentform .ff-btn-submit {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border: 0;
	border-radius: 2px;
	padding: 0.7rem 1.4rem;
	font-family: inherit;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--md);
	cursor: pointer;
}

.fluentform .ff-btn-submit:hover {
	background: var(--wp--preset--color--primary-dark);
}

/* Fehler- und Erfolgsmeldungen. */
.fluentform .error.text-danger {
	color: #A32020;
	font-size: var(--wp--preset--font-size--sm);
	margin-block-start: 0.3rem;
}

.ff-message-success {
	border-left: 3px solid var(--wp--preset--color--primary);
	background: var(--wp--preset--color--mist);
	padding: 1rem 1.2rem;
}
