/* Reserve space and anchor the loader to the listing container. */
.js-instant-search-container--loading {
	position: relative;
	min-height: 320px;
}

/* Shared loading state for every instant-search listing. */
.js-instant-search-loading {
	position: absolute;
	top: calc(50% + 25px);
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	color: #404040;
	font-size: 1.25rem;
	text-align: center;
	z-index: 10;
}

.js-instant-search-loading p {
	margin: 0;
}

.js-instant-search-loading img {
	/* The existing GIF has white pixels on transparency. Preserve its animation. */
	filter: brightness(0) opacity(0.75);
}

/* White variant for the dark Promotions background. */
.js-instant-search-loading--light,
.js-instant-search-loading--light p {
	color: #ffffff;
}

.js-instant-search-loading--light img {
	filter: none;
}
