/**
 * Співпраця (page 103): hero photo + white inline form card.
 */

.elementor-103 .elementor-element-f81771e > .e-con-inner {
	width: 100%;
	max-width: min(1880px, 100%);
	margin-inline: auto;
}

.elementor-103 .elementor-element-0d072e4 {
	display: flex !important;
	flex-direction: column;
	width: 100%;
	box-sizing: border-box;
	background: #fff;
}

.elementor-103 .elementor-element-b16deda {
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	width: 100%;
}

.elementor-103 .elementor-element-df2559f {
	flex: 1 1 auto;
	max-width: 717px !important;
	width: auto !important;
}

.elementor-103 .elementor-element-df2559f .wd-text-block {
	font-family: "Inter Tight", sans-serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 116%;
	color: #1d1f1e;
}

.elementor-103 .elementor-element-b4447b9 {
	max-width: 430px !important;
	width: auto !important;
	flex: 0 1 430px;
}

/* Direct child of column 0d072e4 — flex-basis must not be 430px (becomes height). */
.elementor-103 .elementor-element-f177716 {
	max-width: 430px !important;
	width: auto !important;
	flex: 0 0 auto !important;
	align-self: flex-start;
}

.elementor-103 .elementor-element-f177716 > .elementor-widget-container {
	height: auto !important;
	min-height: 0 !important;
}

.elementor-103 .elementor-element-b4447b9 .wd-text-block,
.elementor-103 .elementor-element-f177716 .wd-text-block {
	font-family: "Manrope", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 140%;
	color: #1d1f1e;
}

.elementor-103 .elementor-element-49a3e28 {
	width: 100%;
}

.elementor-103 .elementor-element-49a3e28 .elementor-form-fields-wrapper {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	align-items: end;
	margin: 0 !important;
}

.elementor-103 .elementor-element-49a3e28 .elementor-field-group {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-103 .elementor-element-49a3e28 .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
	padding: 8px 0 10px !important;
	border-width: 0 0 1px !important;
	border-color: rgb(29 31 30 / 35%) !important;
	background: transparent !important;
	font-family: "Manrope", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 140%;
	color: #1d1f1e;
}

.elementor-103 .elementor-element-49a3e28 .elementor-field-group .elementor-field::placeholder {
	color: rgb(29 31 30 / 40%);
	opacity: 1;
}

.elementor-103 .elementor-element-49a3e28 .elementor-button[type="submit"] {
	width: 100%;
	min-height: 56px;
	padding: 22px 40px !important;
	background: #1d1f1e !important;
	color: #fff !important;
	font-family: "Manrope", sans-serif;
	font-size: 16px;
	font-weight: 500;
}

.elementor-103 .elementor-element-f81771e {
	justify-content: flex-end !important;
	padding-bottom: 20px !important;
}

.elementor-103 .elementor-element-0d072e4 {
	gap: 28px;
	padding: 40px !important;
	min-height: 208px;
}

@media (max-width: 767px) {
	.elementor-103 .elementor-element-f81771e {
		--min-height: 0px !important;
		--margin-bottom: 0px !important;
		min-height: 0 !important;
		justify-content: flex-start !important;
		margin-top: 80px !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		gap: 0 !important;
		background-size: 100% auto !important;
		background-position: top center !important;
		background-repeat: no-repeat !important;
	}

	.elementor-103 .elementor-element-f81771e > .e-con-inner {
		/* Photo height on 375 layout (~300px) minus overlap onto the white card */
		padding-top: min(300px, 80vw);
		padding-bottom: 0;
		box-sizing: border-box;
	}

	.elementor-103 .elementor-element-0d072e4 {
		position: relative;
		z-index: 2;
		margin-top: -36px;
		margin-bottom: 0;
		padding: 20px 17px 17px !important;
		gap: 0;
		min-height: 0;
	}

	/* 80px from form block to footer (Figma mobile) */
	body.page-id-103 .wd-footer.footer-container {
		margin-top: 80px !important;
	}

	.elementor-103 .elementor-element-b16deda {
		flex-direction: column;
		gap: 0;
		margin-bottom: 20px;
	}

	.elementor-103 .elementor-element-df2559f {
		max-width: 100% !important;
		width: 100% !important;
	}

	.elementor-103 .elementor-element-df2559f .wd-text-block {
		font-size: 24px;
		line-height: 100%;
	}

	.elementor-103 .elementor-element-49a3e28 .elementor-form-fields-wrapper {
		display: flex !important;
		flex-direction: column;
		gap: 16px;
		align-items: stretch;
	}

	.elementor-103 .elementor-element-49a3e28 .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
		font-size: 14px;
		padding: 4px 0 8px !important;
	}

	.elementor-103 .elementor-element-49a3e28 .elementor-field-type-submit {
		margin-top: 12px;
	}

	.elementor-103 .elementor-element-49a3e28 .elementor-button[type="submit"] {
		min-height: 56px;
		font-size: 14px;
	}

	.elementor-103 .elementor-element-f177716 {
		max-width: 100% !important;
		width: 100% !important;
		margin-top: 14px !important;
	}

	.elementor-103 .elementor-element-f177716 .wd-text-block {
		font-size: 14px;
	}
}

@media (min-width: 768px) and (max-width: 1520px) {
	.elementor-103 .elementor-element-f81771e {
		min-height: 920px !important;
	}
}

/* Benefits cards — kill Elementor space-between (mobile/tablet/desktop) */
.elementor-103 .elementor-element.elementor-element-0f42083,
.elementor-103 .elementor-element.elementor-element-4c5a0ed,
.elementor-103 .elementor-element.elementor-element-b17fc02 {
	justify-content: flex-start !important;
	--justify-content: flex-start !important;
	align-items: flex-start !important;
	--align-items: flex-start !important;
	flex-direction: column !important;
	gap: clamp(32px, 6vw, 113px) !important;
	--row-gap: clamp(32px, 6vw, 113px) !important;
}

@media (min-width: 1025px) {
	.elementor-103 .elementor-element.elementor-element-0f42083,
	.elementor-103 .elementor-element.elementor-element-4c5a0ed,
	.elementor-103 .elementor-element.elementor-element-b17fc02 {
		gap: 113px !important;
		--row-gap: 113px !important;
	}
}

.elementor-103 .elementor-element-0f42083 > .e-con,
.elementor-103 .elementor-element-4c5a0ed > .e-con,
.elementor-103 .elementor-element-b17fc02 > .e-con {
	flex: 0 0 auto !important;
	flex-grow: 0 !important;
	margin-top: 0 !important;
	align-self: flex-start !important;
	gap: 16px !important;
	--row-gap: 16px !important;
}
