.site-main--contact {
	padding: 24px 0;
	overflow: clip;
}

.okm-contact__breadcrumb {
	min-height: 112px;
	padding: 24px;
	background: var(--okm-surface);
	border-radius: var(--okm-radius-lg);
}

.okm-contact__breadcrumb h2 {
	margin: 0 0 8px;
	font-size: 30px;
	line-height: 1.25;
}

.okm-contact__breadcrumb nav {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.4;
	text-transform: uppercase;
}

.okm-contact__breadcrumb a,
.okm-contact__breadcrumb span {
	color: var(--okm-black);
	text-decoration: none;
}

.okm-contact__content {
	display: grid;
	gap: 24px;
	padding-top: 24px;
}

.okm-contact__hero {
	display: grid;
	min-height: 240px;
	padding: 42px 32px;
	place-content: center;
	color: var(--okm-white);
	background: #064f9e;
	border-radius: var(--okm-radius-lg);
	text-align: center;
}

.okm-contact__hero h1 {
	margin: 0 0 10px;
	color: inherit;
	font-size: 48px;
	line-height: 1.15;
}

.okm-contact__hero p {
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
}

.okm-contact__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.okm-contact__card {
	min-width: 0;
	min-height: 560px;
	padding: 34px 36px;
	background: var(--okm-surface);
	border: 2px solid var(--okm-blue);
	border-radius: var(--okm-radius-lg);
}

.okm-contact__card > h2 {
	margin: 0;
	font-size: 29px;
	line-height: 1.25;
}

.okm-contact__heading-line {
	width: min(100%, 429px);
	height: 2px;
	margin: 10px 0 14px;
	background: var(--okm-blue);
}

.okm-contact__detail {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 16px;
	min-height: 97px;
	padding: 22px 0 18px;
	border-bottom: 1px solid var(--okm-border);
}

.okm-contact__detail:last-child {
	border-bottom: 0;
}

.okm-contact__icon {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	color: var(--okm-white);
	background: var(--okm-blue);
	border-radius: var(--okm-radius-round);
}

.okm-contact__icon .okm-icon {
	width: 21px;
	height: 21px;
	stroke-width: 2.25;
}

.okm-contact__detail h3 {
	margin: 0 0 2px;
	font-size: 20px;
	line-height: 1.4;
}

.okm-contact__detail p {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
}

.okm-contact__detail a {
	color: var(--okm-black);
}

.okm-contact__detail .okm-contact__whatsapp {
	color: #08bd61;
}

.okm-contact__detail a[href*="t.me"] {
	color: #0185c6;
}

.okm-contact__form-card > p {
	margin: 0 0 24px;
	font-size: 16px;
	line-height: 1.6;
}

.okm-contact__form form {
	display: flex;
	flex-direction: column;
}

.okm-contact__form .ff-el-group {
	order: 10;
	margin-bottom: 20px;
}

.okm-contact__form .ff-hpsf-container {
	position: absolute !important;
	order: 0;
}

.okm-contact__form :where(input[type="text"], input[type="tel"], input[type="email"]) {
	width: 100%;
	min-height: 41px;
	padding: 8px 14px;
	color: var(--okm-black);
	background: transparent;
	border: 1px solid #cfd4da;
	border-radius: var(--okm-radius);
	font: inherit;
	font-size: 16px;
	line-height: 1.4;
}

.okm-contact__form :where(input[type="text"], input[type="tel"], input[type="email"])::placeholder {
	color: #9099a3;
	opacity: 1;
}

.okm-contact__form .iti {
	width: 100%;
}

.okm-contact__form .ff_submit_btn_wrapper {
	order: 20;
	margin-top: 20px;
}

.okm-contact__form .ff-btn-submit {
	width: 100%;
	min-height: 41px;
	padding: 8px 14px;
	color: var(--okm-white) !important;
	background: #0753a4 !important;
	border: 1px solid #0753a4 !important;
	border-radius: var(--okm-radius);
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.4;
}

.okm-contact__form .ff-btn-submit:is(:hover, :focus-visible) {
	background: var(--okm-blue-dark) !important;
	border-color: var(--okm-blue-dark) !important;
}

.okm-contact__form .ff-custom_html {
	order: 30;
	margin: 0;
	color: #afb7c0;
	font-size: 12px;
	line-height: 1.45;
	text-align: center;
}

.okm-contact__form .ff-custom_html p {
	margin: 0;
}

.okm-contact__form .ff-custom_html a {
	color: inherit;
}

.okm-contact__form-fallback {
	padding: 16px;
	background: var(--okm-white);
	border-radius: var(--okm-radius-lg);
}

.okm-contact__map-section {
	padding-top: 30px;
}

.okm-contact__map-section > h2 {
	margin: 0 0 25px;
	font-size: 48px;
	line-height: 1.15;
	text-align: center;
}

.okm-contact__map {
	position: relative;
	height: 402px;
	overflow: hidden;
	background: #f4f4f4;
	border: 2px solid var(--okm-blue);
	border-radius: var(--okm-radius-lg);
}

.okm-contact__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	background: transparent;
	border: 0;
}

.okm-contact__map-placeholder {
	display: grid;
	height: 100%;
	padding: 24px;
	place-content: center;
	place-items: center;
	color: #6f7881;
	text-align: center;
}

.okm-contact__map-placeholder .okm-icon {
	width: 36px;
	height: 36px;
	margin-bottom: 10px;
	color: var(--okm-blue);
}

.okm-contact__map-placeholder strong {
	color: var(--okm-ink);
}

.okm-contact__map-placeholder span {
	margin-top: 4px;
	font-size: 13px;
}

@media (max-width: 799px) {
	.okm-contact__cards {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 639px) {
	.site-main--contact {
		padding: 23px 0 52px;
	}

	.okm-contact__breadcrumb {
		min-height: 89px;
		padding: 14px 16px;
	}

	.okm-contact__breadcrumb h2 {
		margin-bottom: 7px;
		font-size: 23px;
	}

	.okm-contact__breadcrumb nav {
		gap: 9px;
		font-size: 12px;
	}

	.okm-contact__content {
		gap: 17px;
		padding-top: 15px;
	}

	.okm-contact__hero {
		min-height: 223px;
		padding: 32px 22px;
	}

	.okm-contact__hero h1 {
		margin-bottom: 14px;
		font-size: 31px;
		line-height: 1.2;
	}

	.okm-contact__hero p {
		font-size: 16px;
		line-height: 1.6;
	}

	.okm-contact__cards {
		gap: 24px;
	}

	.okm-contact__card {
		min-height: 0;
		padding: 24px;
	}

	.okm-contact__details {
		min-height: 546px;
	}

	.okm-contact__form-card {
		min-height: 448px;
	}

	.okm-contact__card > h2 {
		font-size: 23px;
	}

	.okm-contact__heading-line {
		width: 230px;
		margin: 9px 0 12px;
	}

	.okm-contact__detail {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 16px;
		min-height: 96px;
		padding: 18px 0 17px;
	}

	.okm-contact__detail h3 {
		margin-bottom: 2px;
		font-size: 20px;
	}

	.okm-contact__form-card > p {
		margin-bottom: 16px;
	}

	.okm-contact__form .ff-el-group {
		margin-bottom: 20px;
	}

	.okm-contact__form .ff_submit_btn_wrapper {
		margin-top: 20px;
	}

	.okm-contact__map-section {
		padding-top: 36px;
	}

	.okm-contact__map-section > h2 {
		margin-bottom: 18px;
		font-size: 31px;
	}

	.okm-contact__map {
		height: 404px;
	}
}
