.kepd-contextual-search {
	background: #f4f7f7;
	border-block: 1px solid #e4eaea;
	clear: both;
	margin-block: 34px;
	padding: clamp(28px, 5vw, 52px) 24px;
	position: relative;
	z-index: 3;
}

.kepd-contextual-search--home {
	background: #112123;
	border: 0;
	margin: 0;
	padding-block: clamp(48px, 6vw, 68px);
}

.kepd-contextual-search--catalog {
	background: transparent;
	border: 0;
	margin: 0 0 24px;
	padding: 0;
}

.kepd-contextual-search--product {
	margin-top: 54px;
}

.kepd-contextual-search__inner {
	margin-inline: auto;
	max-width: 900px;
	text-align: center;
}

.kepd-contextual-search--home .kepd-contextual-search__inner {
	align-items: center;
	display: grid;
	gap: 8px clamp(30px, 5vw, 68px);
	grid-template-columns: minmax(420px, .9fr) minmax(440px, 1.1fr);
	grid-template-rows: auto auto;
	max-width: 1180px;
	text-align: left;
}

.kepd-contextual-search--catalog .kepd-contextual-search__inner {
	margin-left: auto;
	margin-right: 0;
	max-width: 500px;
	text-align: right;
}

.kepd-contextual-search h2 {
	color: #222529;
	font-size: clamp(24px, 3.2vw, 36px);
	margin: 0 0 8px;
}

.kepd-contextual-search p {
	color: #666;
	font-size: 17px;
	margin: 0 0 22px;
}

.kepd-contextual-search--home h2 {
	color: #fff;
	font-size: clamp(32px, 3.5vw, 44px);
	grid-column: 1;
	grid-row: 1;
	line-height: 1.1;
	margin: 0;
}

.kepd-contextual-search--home p {
	color: #d5dddd;
	font-size: 16px;
	grid-column: 1;
	grid-row: 2;
	margin: 0;
}

.kepd-search-form {
	filter: drop-shadow(0 8px 18px rgb(0 0 0 / 10%));
	margin: 22px auto 0;
	max-width: 820px;
}

.kepd-search-form input {
	background: #fff;
	border: 2px solid #d8dfdf;
	border-right: 0;
	border-radius: 6px 0 0 6px;
	font-size: 16px;
	min-height: 56px;
	padding-inline: 20px;
}

.kepd-search-form button {
	border-radius: 0 6px 6px 0;
	font-size: 15px;
	font-weight: 700;
	gap: 8px;
	min-height: 56px;
	padding-inline: 24px;
}

.kepd-search-form--home {
	filter: none;
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	max-width: none;
}

.kepd-search-form--home input {
	border-color: #d8dfdf;
}

.kepd-contextual-search__help {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	grid-column: 2;
	grid-row: 2;
	justify-self: start;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.kepd-contextual-search__help:hover,
.kepd-contextual-search__help:focus-visible {
	color: #65d4c6;
}

.kepd-contextual-search--product .kepd-contextual-search__help {
	color: #008f7e;
	display: inline-block;
	margin-top: 14px;
}

.kepd-contextual-search--product .kepd-contextual-search__help:hover,
.kepd-contextual-search--product .kepd-contextual-search__help:focus-visible {
	color: #006f62;
}

.kepd-search-form--catalog {
	filter: none;
	margin: 0 0 0 auto;
	max-width: 440px;
}

.kepd-search-form--catalog input {
	border-width: 1px;
	font-size: 13px;
	min-height: 40px;
	padding-inline: 13px;
}

.kepd-search-form--catalog button {
	font-size: 12px;
	gap: 5px;
	min-height: 40px;
	padding-inline: 15px;
}

.kepd-search-form--catalog button svg {
	height: 16px;
	width: 16px;
}

.kepd-search-form--header {
	border: 1px solid #ddd;
	border-radius: 20px;
	filter: none;
	height: 34px;
	margin: 0;
	max-width: 256px;
	width: 256px;
}

.kepd-search-form--header input {
	background: transparent;
	border: 0;
	border-radius: 20px 0 0 20px;
	font-size: 13px;
	min-height: 32px;
	padding: 0 14px;
}

.kepd-search-form--header button {
	background: transparent;
	border-radius: 0 20px 20px 0;
	color: #00b09b;
	min-height: 32px;
	padding-inline: 14px;
}

.kepd-search-form--header button span {
	display: none;
}

@media (max-width: 960px) {
	.kepd-contextual-search--home .kepd-contextual-search__inner {
		display: grid;
		gap: 12px;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		text-align: left;
	}

	.kepd-contextual-search--home h2,
	.kepd-contextual-search--home p,
	.kepd-search-form--home,
	.kepd-contextual-search__help {
		grid-column: 1;
		grid-row: auto;
	}

	.kepd-search-form--home {
		margin-top: 10px;
	}
}

@media (max-width: 640px) {
	.kepd-contextual-search {
		padding-inline: 16px;
	}

	.kepd-search-form input {
		font-size: 14px;
		min-height: 50px;
		padding-inline: 14px;
	}

	.kepd-search-form button {
		min-height: 50px;
		padding-inline: 16px;
	}

	.kepd-search-form button span {
		display: none;
	}

	.kepd-search-form--home button span {
		display: inline;
	}

	.kepd-search-form--catalog input,
	.kepd-search-form--catalog button {
		min-height: 40px;
	}
}
