/**
 * Nexza Brand Strip widget.
 */

.nx-bs-view {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

/* Two halves of identical logos; sliding by half loops seamlessly. */
.nx-bs-track {
	display: flex;
	width: max-content;
	animation: nx-bs-move var(--nx-bs-dur, 30s) linear infinite;
}

.nx-bs--right .nx-bs-track {
	animation-direction: reverse;
}

.nx-bs-view:hover .nx-bs-track,
.nx-bs-view:focus-within .nx-bs-track {
	animation-play-state: paused;
}

.nx-bs-set {
	display: flex;
	flex: none;
	gap: 16px;
	padding-right: 16px; /* same as the gap, so the halves join evenly */
}

.nx-bs-item {
	display: grid;
	place-items: center;
	flex: none;
	width: 180px;
	height: 84px;
	padding: 18px 24px;
	border: 1px solid var(--nx-line-2);
	border-radius: 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-align: center;
	color: var(--nx-taupe);
	transition: border-color .3s, color .3s;
}

a.nx-bs-item:hover,
a.nx-bs-item:focus-visible {
	border-color: var(--nx-copper);
	color: var(--nx-sand);
}

.nx-bs-item img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 44px;
	object-fit: contain;
}

@keyframes nx-bs-move {
	to { transform: translateX(-50%); }
}

@media (max-width: 860px) {
	.nx-bs-set {
		gap: 12px;
		padding-right: 12px;
	}

	.nx-bs-item {
		width: 140px;
		height: 68px;
		padding: 14px 18px;
	}

	.nx-bs-item img {
		max-height: 36px;
	}
}

/* Reduced motion: no movement; the row can be swiped instead. */
@media (prefers-reduced-motion: reduce) {
	.nx-bs-view {
		overflow-x: auto;
		scrollbar-width: none;
	}

	.nx-bs-track {
		animation: none;
	}
}
