.yuki-marquee-wrapper {
	--yuki-marquee-speed: 20s;
	--yuki-marquee-gap: 40px;
	--yuki-marquee-gradient-color: #ffffff;
	--yuki-marquee-gradient-width: 80px;

	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

.yuki-marquee-wrapper.is-vertical {
	align-items: stretch;
}

.yuki-marquee-track {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--yuki-marquee-gap);
	will-change: transform;
	white-space: nowrap;
	transform: translate3d(0, 0, 0);
}

.yuki-marquee-wrapper.is-vertical .yuki-marquee-track {
	flex-direction: column;
	white-space: normal;
}

.yuki-marquee-wrapper.yuki-paused .yuki-marquee-track {
	will-change: auto;
}

.yuki-marquee-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-sizing: border-box;
	transition: opacity 0.25s ease, color 0.25s ease;
	text-decoration: none;
	cursor: default;
}

.yuki-marquee-item a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
	text-decoration: none;
}

.yuki-marquee-item.type-image img {
	display: block;
	width: auto;
	height: auto;
	max-width: 120px;
	max-height: 60px;
	object-fit: contain;
	transition: opacity 0.25s ease;
	flex-shrink: 0;
}

.yuki-marquee-item.type-text .yuki-marquee-text {
	display: inline-block;
	white-space: nowrap;
}

.yuki-marquee-separator {
	display: inline-block;
	margin-left: calc(var(--yuki-marquee-gap) / 2);
	user-select: none;
	flex-shrink: 0;
}

.yuki-marquee-wrapper.has-gradient::before,
.yuki-marquee-wrapper.has-gradient::after {
	content: '';
	position: absolute;
	top: 0;
	height: 100%;
	width: var(--yuki-marquee-gradient-width);
	z-index: 2;
	pointer-events: none;
}

.yuki-marquee-wrapper.has-gradient::before {
	left: 0;
	background: linear-gradient(to right, var(--yuki-marquee-gradient-color) 0%, transparent 100%);
}

.yuki-marquee-wrapper.has-gradient::after {
	right: 0;
	background: linear-gradient(to left, var(--yuki-marquee-gradient-color) 0%, transparent 100%);
}

.yuki-marquee-wrapper.is-vertical.has-gradient::before,
.yuki-marquee-wrapper.is-vertical.has-gradient::after {
	width: 100%;
	height: var(--yuki-marquee-gradient-width);
	left: 0;
	right: auto;
}

.yuki-marquee-wrapper.is-vertical.has-gradient::before {
	top: 0;
	bottom: auto;
	background: linear-gradient(to bottom, var(--yuki-marquee-gradient-color) 0%, transparent 100%);
}

.yuki-marquee-wrapper.is-vertical.has-gradient::after {
	top: auto;
	bottom: 0;
	background: linear-gradient(to top, var(--yuki-marquee-gradient-color) 0%, transparent 100%);
}

@media (prefers-reduced-motion: reduce) {
	.yuki-marquee-track {
		transform: none !important;
	}
}
