.odb-name-search {
	position: relative;
	width: 100%;
	max-width: 760px;
	font-family: inherit;
}

.odb-name-search__control {
	position: relative;
}

.odb-name-search__input {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 12px 46px 12px 16px;
	border: 1px solid #d7dce1;
	border-radius: 6px;
	background: #fff;
	color: #20242a;
	font: inherit;
}

.odb-name-search__input:focus {
	border-color: #767f89;
	outline: 2px solid transparent;
}

.odb-name-search__spinner {
	display: none;
	position: absolute;
	right: 16px;
	top: 50%;
	width: 16px;
	height: 16px;
	margin-top: -9px;
	border: 2px solid #d7dce1;
	border-top-color: #333;
	border-radius: 50%;
	animation: odb-name-search-spin .7s linear infinite;
}

.odb-name-search__spinner.is-visible {
	display: block;
}

.odb-name-search__results {
	position: relative;
	z-index: 20;
}

.odb-name-search__list {
	position: absolute;
	top: 4px;
	left: 0;
	width: 100%;
	max-height: 420px;
	margin: 0;
	padding: 0;
	border: 1px solid #e2e5e8;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
	list-style: none;
	overflow-y: auto;
}

.odb-name-search__list li + li {
	border-top: 1px solid #f0f1f2;
}

.odb-name-search__item {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 80px;
	padding: 8px 12px;
	color: inherit;
	text-decoration: none;
}

.odb-name-search__item:hover,
.odb-name-search__item:focus {
	background: #f7f8f9;
}

.odb-name-search__image {
	display: block;
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.odb-name-search__name {
	display: block;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.odb-name-search__details {
	display: block;
	min-width: 0;
}

.odb-name-search__meta {
	display: block;
	margin-top: 3px;
	color: #68717b;
	font-size: 12px;
	line-height: 1.4;
}

.odb-name-search__price {
	justify-self: end;
	margin-left: 12px;
	color: #20242a;
	font-size: 14px;
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
}

@media (max-width: 520px) {
	.odb-name-search__item {
		grid-template-columns: 44px minmax(0, 1fr) auto;
		gap: 8px;
		padding-right: 8px;
		padding-left: 8px;
	}

	.odb-name-search__image {
		width: 42px;
		height: 48px;
	}

	.odb-name-search__price {
		margin-left: 4px;
		font-size: 13px;
	}
}

.odb-name-search__message {
	position: absolute;
	top: 4px;
	left: 0;
	width: calc(100% - 24px);
	padding: 12px;
	border: 1px solid #e2e5e8;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
	font-size: 14px;
}

.odb-name-search__message.is-error {
	color: #a12622;
}

@keyframes odb-name-search-spin {
	to { transform: rotate(360deg); }
}
