.krauff-support-form {
	width: 100%;
	max-width: 720px;
	margin-inline: auto;
	color: #263b18;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0;
}
.krauff-support-form * { box-sizing: border-box; }
.krauff-support-form [hidden] { display: none !important; }
.krauff-support-form .support-intro { margin-bottom: 28px; }
.krauff-support-form .support-intro h2 {
	margin: 0 0 10px;
	color: #2c4216;
	font: 600 26px/1.25 "Montserrat", Arial, sans-serif;
}
.krauff-support-form .support-intro p { margin: 0; color: #50564b; }
.krauff-support-form .support-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.krauff-support-form .support-field { min-width: 0; margin: 0; }
.krauff-support-form .support-field > p, .krauff-support-form .support-actions > p { margin: 0; }
.krauff-support-form .support-field-wide { grid-column: 1 / -1; }
.krauff-support-form label { display: block; color: #263b18; font-weight: 600; }
.krauff-support-form .support-optional { color: #73796d; font-size: 12px; font-weight: 400; }
.krauff-support-form .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.krauff-support-form :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	color: #252b21;
	background: #fff;
	border: 1px solid #cfd8c8;
	border-radius: 8px;
	box-shadow: none;
	font: 400 16px/1.5 "Montserrat", Arial, sans-serif;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.krauff-support-form select { padding-inline-end: 30px; text-overflow: ellipsis; }
.krauff-support-form textarea { height: 160px; min-height: 160px; resize: vertical; }
.krauff-support-form input::placeholder, .krauff-support-form textarea::placeholder { color: #7a8174; opacity: 1; }
.krauff-support-form :is(input, select, textarea, button):focus-visible {
	outline: 2px solid #607d3b;
	outline-offset: 3px;
}
.krauff-support-form :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea):focus {
	outline: none;
	border-color: #829568;
	box-shadow: 0 0 0 2px rgba(96, 125, 59, .12);
}
.krauff-support-form .support-file-hint { display: block; margin: 7px 0 10px; color: #73796d; font-size: 12px; font-weight: 400; }
.krauff-support-form input[type="file"] { width: 100%; min-height: 44px; color: #50564b; font: inherit; }
.krauff-support-form input[type="file"]::file-selector-button {
	margin-inline-end: 12px;
	padding: 10px 14px;
	color: #2c4216;
	background: #edf2e7;
	border: 1px solid #cfd8c8;
	border-radius: 6px;
	font: 600 14px/1.4 "Montserrat", Arial, sans-serif;
	cursor: pointer;
}
.krauff-support-form .support-file-status { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.krauff-support-form [data-support-filename] { min-width: 0; overflow-wrap: anywhere; color: #73796d; font-size: 12px; }
.krauff-support-form [data-support-remove-file] {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #edf2e7;
	color: #2c4216;
	font: 400 24px/1 Arial, sans-serif;
	cursor: pointer;
}
.krauff-support-form .support-actions { margin-top: 26px; }
.krauff-support-form .wpcf7-submit {
	width: auto;
	max-width: 100%;
	min-height: 52px;
	padding: 14px 26px;
	color: #fff;
	background: #344d1a;
	border: 1px solid #344d1a;
	border-radius: 8px;
	font: 600 16px/1.4 "Montserrat", Arial, sans-serif;
	white-space: normal;
	cursor: pointer;
}
.krauff-support-form .wpcf7-submit:hover { background: #456323; }
.krauff-support-form .wpcf7-submit:disabled { cursor: wait; opacity: .65; }
.krauff-support-form .wpcf7-not-valid { border-color: #b9776e !important; }
.krauff-support-form .wpcf7-not-valid-tip { margin-top: 6px; color: #ae3e36; font-size: 13px; font-weight: 400; }
.wpcf7-form:has(.krauff-support-form) .wpcf7-response-output {
	max-width: 720px;
	margin: 20px auto 0;
	padding: 14px 18px;
	border-width: 1px;
	border-radius: 8px;
	font: 400 15px/1.6 "Montserrat", Arial, sans-serif;
	overflow-wrap: anywhere;
}
.wpcf7-form.sent:has(.krauff-support-form) .wpcf7-response-output { color: #2c4216; background: #edf2e7; border-color: #91a777; }
@media (min-width: 768px) {
	body:not(.elementor-editor-active) #block-support[role="dialog"] {
		height: min(90vh, 720px);
		max-height: min(90vh, 720px);
	}
	body:not(.elementor-editor-active) #block-support[role="dialog"] > .scroll-block {
		overflow-y: auto !important;
	}
	body:not(.elementor-editor-active) #block-support[role="dialog"] > .scroll-block > .e-con-inner {
		padding: 16px 28px !important;
	}
	#block-support .krauff-support-form { font-size: 14px; }
	#block-support .support-intro { margin-bottom: 12px; }
	#block-support .support-intro h2 { margin-bottom: 4px; font-size: 23px; }
	#block-support .support-fields { gap: 8px 20px; align-items: start; }
	#block-support .krauff-support-form label { font-size: 13px; line-height: 20px; }
	/* CF7 inserts line breaks around controls that already occupy their own row. */
	#block-support .support-field label > br,
	#block-support .support-file-status br { display: none; }
	#block-support .support-file-status p { margin: 0; }
	#block-support .wpcf7-form-control-wrap { margin-top: 4px; }
	#block-support .support-field:has([name="support-topic"]) { grid-column: 1 / -1; }
	#block-support .support-fields:has([data-support-phone]:not([hidden])) .support-field:has([name="support-topic"]) {
		grid-column: 1;
	}
	#block-support .support-field[data-support-phone] { grid-column: 2; }
	#block-support .wpcf7-form-control-wrap:is([data-name="support-name"], [data-name="support-email"], [data-name="support-topic"], [data-name="support-phone"]) {
		min-height: 66px;
	}
	#block-support .wpcf7-not-valid-tip { margin-top: 4px; font-size: 12px; line-height: 18px; }
	#block-support .krauff-support-form :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
		min-height: 42px;
		padding: 8px 12px;
		font-size: 15px;
	}
	#block-support .krauff-support-form textarea { height: 88px; min-height: 88px; }
	#block-support .support-file-hint { margin: 3px 0 4px; }
	#block-support .krauff-support-form input[type="file"] { min-height: 36px; }
	#block-support .krauff-support-form input[type="file"]::file-selector-button { padding: 7px 12px; }
	#block-support .support-file-status { margin-top: 2px; }
	#block-support .support-actions { margin-top: 12px; }
	#block-support .krauff-support-form .wpcf7-submit { min-height: 44px; padding: 10px 22px; }
}
@media (min-width: 768px) and (min-height: 800px) {
	body:not(.elementor-editor-active) #block-support[role="dialog"] > .scroll-block > .e-con-inner {
		padding: 24px 28px !important;
	}
	#block-support .support-intro { margin-bottom: 20px; }
	#block-support .support-intro h2 { margin-bottom: 8px; }
	#block-support .support-fields { row-gap: 8px; }
	#block-support .wpcf7-form-control-wrap { margin-top: 6px; }
	#block-support .wpcf7-form-control-wrap:is([data-name="support-name"], [data-name="support-email"], [data-name="support-topic"], [data-name="support-phone"]) {
		min-height: 70px;
	}
	#block-support .krauff-support-form :is(input[type="text"], input[type="email"], input[type="tel"], select) {
		min-height: 46px;
		padding-block: 10px;
	}
	#block-support .krauff-support-form textarea { height: 112px; min-height: 112px; }
	#block-support .support-actions { margin-top: 20px; }
}
@media (max-width: 767px) {
	.krauff-support-form .support-fields { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.krauff-support-form .support-intro h2 { font-size: 23px; }
	.krauff-support-form .wpcf7-submit { width: 100%; }
}
