.lpf-kontakt {
	position: relative;
	z-index: 2;
	overflow: visible;
	background-color: var(--lpf-color-intro-bg);
	margin-top: calc(-1 * var(--lpf-torn-edge-overlap));
	margin-bottom: calc(-1 * var(--lpf-torn-edge-overlap));
	padding: calc(60px + var(--lpf-torn-edge-overlap)) 0;
	clip-path: var(--lpf-torn-edge-clip);
	filter: drop-shadow(1.1px 2px 0 rgba(70, 35, 15, 0.28)) drop-shadow(2.9px 5.1px 0 rgba(70, 35, 15, 0.16)) drop-shadow(6.9px 10.9px 10px rgba(70, 35, 15, 0.12));
}

.lpf-kontakt::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	clip-path: var(--lpf-torn-edge-clip);
	background:
		var(--lpf-torn-edge-highlight-top),
		var(--lpf-torn-edge-shadow-top),
		var(--lpf-torn-edge-shadow-bottom);
}

.lpf-kontakt__texture {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-image: url("/wp-content/themes/la-pastaria-fracasso/assets/images/paper-overlay-test.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	filter: saturate(0);
	mix-blend-mode: multiply;
	opacity: 0.2;
	pointer-events: none;
}

.lpf-kontakt__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
	align-items: start;
	max-width: var(--lpf-content-max-width);
	margin: 0 auto;
	padding: 0 1.5rem;
}

.lpf-kontakt__media {
	display: block;
	overflow: visible;
	align-self: center;
}

.lpf-kontakt__media img {
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 550px;
	max-height: 550px;
	object-fit: cover;
	object-position: center;
	border: 8px solid #ffffff;
	box-shadow: 5.1px 8px 4px rgba(55, 35, 20, 0.22);
	transform: rotate(-1deg);
	transform-origin: center center;
}

.lpf-kontakt__form .wpforms-container,
.lpf-kontakt__form .wpforms-form,
.lpf-kontakt__form .wpforms-field-container,
.lpf-kontakt__form .wpforms-field {
	width: 100%;
	max-width: 100%;
}

.lpf-kontakt__form .wpforms-container {
	margin: 0;
}

.lpf-kontakt__form .wpforms-field-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 1rem;
}

.lpf-kontakt__form .wpforms-field-name,
.lpf-kontakt__form .wpforms-field-textarea,
.lpf-kontakt__form .wpforms-field-checkbox {
	grid-column: 1 / -1;
}

.lpf-kontakt__form .wpforms-field-number {
	grid-column: 1;
}

.lpf-kontakt__form .wpforms-field-number input,
.lpf-kontakt__form .wpforms-field-email input {
	width: 100% !important;
	max-width: 100% !important;
}

.lpf-kontakt__form .wpforms-field-email {
	grid-column: 2;
}

.lpf-kontakt__form .wpforms-field-name fieldset {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.lpf-kontakt__form .wpforms-field-name legend {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0 0 0.4rem;
	float: none;
}

.lpf-kontakt__form .wpforms-field-name .wpforms-field-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 1rem;
	align-items: start;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	container-type: normal !important;
	container-name: none !important;
	flex-wrap: nowrap !important;
	justify-content: unset !important;
}

.lpf-kontakt__form .wpforms-field-name .wpforms-field-row::before,
.lpf-kontakt__form .wpforms-field-name .wpforms-field-row::after {
	display: none !important;
	content: none !important;
}

.lpf-kontakt__form .wpforms-field-name .wpforms-field-row-block {
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.lpf-kontakt__form .wpforms-field-name .wpforms-field-row-block.wpforms-first {
	clear: none !important;
	margin-left: 0 !important;
}

.lpf-kontakt__form .wpforms-field-name .wpforms-field-row-block:first-child {
	grid-column: 1;
}

.lpf-kontakt__form .wpforms-field-name .wpforms-field-row-block:last-child {
	grid-column: 2;
}

.lpf-kontakt__form .wpforms-field-name .wpforms-field-row-block input {
	width: 100%;
	display: block;
}

.lpf-kontakt__form .wpforms-field-label,
.lpf-kontakt__form .wpforms-field-sublabel {
	font-family: var(--lpf-font-body);
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--lpf-color-text);
}

.lpf-kontakt__form .wpforms-field-sublabel {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.85rem;
	font-weight: 400;
}

.lpf-kontakt__form .wpforms-field input[type="text"],
.lpf-kontakt__form .wpforms-field input[type="email"],
.lpf-kontakt__form .wpforms-field input[type="tel"],
.lpf-kontakt__form .wpforms-field input[type="number"],
.lpf-kontakt__form .wpforms-field textarea {
	width: 100%;
	padding: 0.75rem 0.9rem;
	font-family: var(--lpf-font-body);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--lpf-color-text);
	background-color: rgba(255, 255, 255, 0.72);
	border: 1px solid color-mix(in srgb, var(--lpf-color-text) 18%, transparent) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

.lpf-kontakt__form .wpforms-field textarea {
	min-height: 160px;
}

.lpf-kontakt__form .wpforms-field {
	padding-bottom: 1.25rem;
}

.lpf-kontakt__form .wpforms-submit-container {
	padding-top: 0.25rem;
}

.lpf-kontakt__form .wpforms-submit {
	padding: 0.65rem 1.75rem !important;
	font-family: var(--lpf-font-body) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	color: #ffffff !important;
	background-color: var(--lpf-color-button) !important;
	border: 1px solid var(--lpf-color-button) !important;
	border-radius: 0 !important;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.lpf-kontakt__form .wpforms-submit:hover,
.lpf-kontakt__form .wpforms-submit:focus-visible {
	background-color: #7d3e22 !important;
	border-color: #7d3e22 !important;
}

.lpf-kontakt__form .wpforms-error-container,
.lpf-kontakt__form label.wpforms-error {
	color: #b94a48;
}

.lpf-kontakt__form .fluentform,
.lpf-kontakt__form .frm-fluent-form,
.lpf-kontakt__form .ff-el-group {
	width: 100%;
	max-width: 100%;
}

.lpf-kontakt__form .fluentform {
	margin: 0;
}

.lpf-kontakt__form .frm-fluent-form fieldset {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
	width: 100%;
}

.lpf-kontakt__form .ff-el-group,
.lpf-kontakt__form .ff-t-container,
.lpf-kontakt__form .ff-t-cell {
	width: 100%;
	max-width: 100%;
}

.lpf-kontakt__form .ff-t-container,
.lpf-kontakt__form .ff_list_2col,
.lpf-kontakt__form .ff_list_3col,
.lpf-kontakt__form .ff_list_4col,
.lpf-kontakt__form .ff_list_5col {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem;
}

.lpf-kontakt__form .ff-el-form-check {
	width: 100%;
}

.lpf-kontakt__form .ff-name-field-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1rem;
	width: 100%;
}

.lpf-kontakt__form .ff-name-field-wrapper > * {
	min-width: 0;
	width: 100%;
}

.lpf-kontakt__form .ff-el-input--label label {
	font-family: var(--lpf-font-body);
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--lpf-color-text);
}

.lpf-kontakt__form .ff-el-form-control {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0.75rem 0.9rem;
	font-family: var(--lpf-font-body);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--lpf-color-text);
	background-color: rgba(255, 255, 255, 0.72);
	border: 1px solid color-mix(in srgb, var(--lpf-color-text) 18%, transparent) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

.lpf-kontakt__form textarea.ff-el-form-control {
	min-height: 160px;
}

.lpf-kontakt__form .ff-el-group {
	margin-bottom: 1.25rem;
}

.lpf-kontakt__form .ff_submit_btn_wrapper {
	padding-top: 0.25rem;
}

.lpf-kontakt__form .ff-btn-submit {
	padding: 0.65rem 1.75rem !important;
	font-family: var(--lpf-font-body) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	color: #ffffff !important;
	background-color: var(--lpf-color-button) !important;
	border: 1px solid var(--lpf-color-button) !important;
	border-radius: 0 !important;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.lpf-kontakt__form .ff-btn-submit:hover,
.lpf-kontakt__form .ff-btn-submit:focus-visible {
	background-color: #7d3e22 !important;
	border-color: #7d3e22 !important;
}

.lpf-kontakt__form .ff-el-is-error .text-danger,
.lpf-kontakt__form .error.text-danger {
	color: #b94a48;
}

@media (max-width: 900px) {
	.lpf-kontakt {
		padding: calc(48px + var(--lpf-torn-edge-overlap)) 0;
	}

	.lpf-kontakt__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 0 1.25rem;
	}

	.lpf-kontakt__form {
		order: 1;
	}

	.lpf-kontakt__media {
		order: 2;
	}

	.lpf-kontakt__media img {
		width: 100%;
		height: auto;
		max-height: none;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.lpf-kontakt__form .wpforms-field-name .wpforms-field-row {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.lpf-kontakt__form .wpforms-field-name .wpforms-field-row-block:last-child {
		grid-column: 1;
	}

	.lpf-kontakt__form .wpforms-field-number,
	.lpf-kontakt__form .wpforms-field-email {
		grid-column: 1 / -1;
	}

	.lpf-kontakt__form .ff-name-field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}
}
