/**
 * Homepage brand logo slider (bottom strip).
 */

.clarke-brands {
	padding: 2rem 0 2.25rem;
	color: var(--clarke-text);
	border-top: 1px solid rgba(27, 27, 28, 0.06);
	background: white;
}

.clarke-brands--empty {
	padding: 1.5rem 1rem;
	text-align: center;
}

.clarke-brands__empty-note {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--clarke-text-muted);
}

.clarke-brands__empty-note a {
	color: var(--clarke-red);
	text-decoration: underline;
}

.clarke-brands__inner {
	width: var(--clarke-container);
	max-width: 100%;
	margin: 0 auto;
	padding-left: 1rem;
	padding-right: 1rem;
}

.clarke-brands__heading {
	font-family: var(--clarke-font-sans);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: center;
	color: var(--clarke-text-muted);
	margin: 0 0 1.35rem;
	line-height: 1.35;
}

.clarke-brands__rail {
	width: 100%;
	min-width: 0;
}

.clarke-brands__viewport {
	overflow: hidden;
}

.clarke-brands__track {
	display: flex;
	width: max-content;
	max-width: none;
	animation: clarke-brands-marquee 45s linear infinite;
}

.clarke-brands__viewport:hover .clarke-brands__track,
.clarke-brands__viewport:focus-within .clarke-brands__track {
	animation-play-state: paused;
}

.clarke-brands__list {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 2rem 2.5rem;
	list-style: none;
	margin: 0;
	padding: 0.35rem 0.15rem 0.5rem;
}

.clarke-brands__item {
	flex: 0 0 auto;
	margin: 0;
}

@keyframes clarke-brands-marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

/* Uniform slot so every logo occupies the same on-screen size (image scales inside). */
.clarke-brands__link,
.clarke-brands__static {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: min(160px, 34vw);
	min-width: min(160px, 34vw);
	height: 4rem;
}

.clarke-brands__link {
	text-decoration: none;
	color: inherit;
	transition: opacity 0.15s ease;
}

.clarke-brands__link:hover,
.clarke-brands__link:focus-visible {
	opacity: 0.82;
	outline: none;
}

.clarke-brands__link:focus-visible {
	box-shadow: 0 0 0 2px var(--clarke-red);
	border-radius: 0.25rem;
}

.clarke-brands__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	filter: grayscale(0.08);
}

@media (max-width: 479px) {
	.clarke-brands__list {
		gap: 1.25rem 1.5rem;
	}

	.clarke-brands__link,
	.clarke-brands__static {
		width: min(128px, 38vw);
		min-width: min(128px, 38vw);
		height: 3.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.clarke-brands__track {
		animation: none;
		transform: none;
	}

	.clarke-brands__viewport {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}
}
