.rfzj_image_carousel {
	position: relative;
	padding: 12px;
	border: 1px solid #e8edf3;
	border-radius: 12px;
	background: #f5f8fc;
}

.rfzj_image_carousel__viewport {
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.rfzj_image_carousel__viewport::-webkit-scrollbar {
	display: none;
}

.rfzj_image_carousel__track {
	display: flex;
	gap: 14px;
}

.rfzj_image_carousel__slide {
	flex: 0 0 100%;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	scroll-snap-align: start;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
}

.rfzj_image_carousel--columns-2 .rfzj_image_carousel__slide {
	flex-basis: calc((100% - 14px) / 2);
}

.rfzj_image_carousel--columns-3 .rfzj_image_carousel__slide {
	flex-basis: calc((100% - 28px) / 3);
}

.rfzj_image_carousel--columns-4 .rfzj_image_carousel__slide {
	flex-basis: calc((100% - 42px) / 4);
}

.rfzj_image_carousel__slide img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: contain;
	cursor: zoom-in;
}

.rfzj_image_carousel__slide figcaption {
	overflow: hidden;
	padding: 8px 10px;
	color: #667085;
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rfzj_image_carousel__button {
	position: absolute;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 52px;
	padding: 0;
	transform: translateY(-50%);
	border: 1px solid #e4e7ec;
	border-radius: 8px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 5px 16px rgba(16, 24, 40, .14);
	color: #475467;
	cursor: pointer;
	transition: color var(--rfzj_transition), opacity var(--rfzj_transition), transform var(--rfzj_transition);
}

.rfzj_image_carousel__button:hover:not(:disabled) {
	color: #d1191a;
}

.rfzj_image_carousel__button:disabled {
	opacity: .28;
	cursor: default;
}

.rfzj_image_carousel__button[hidden] {
	display: none;
}

.rfzj_image_carousel__button svg {
	width: 22px;
	height: 22px;
}

.rfzj_image_carousel__button--prev {
	left: -8px;
}

.rfzj_image_carousel__button--next {
	right: -8px;
}

.rfzj_image_carousel__status {
	display: none;
}

@media (max-width: 767px) {
	.rfzj_image_carousel {
		padding: 10px;
		border-radius: 10px;
	}

	.rfzj_image_carousel__track {
		gap: 10px;
	}

	.rfzj_image_carousel__slide {
		flex-basis: 100%;
	}

	.rfzj_image_carousel--mobile-columns-2 .rfzj_image_carousel__slide {
		flex-basis: calc((100% - 10px) / 2);
	}

	.rfzj_image_carousel__button {
		width: 34px;
		height: 46px;
	}

	.rfzj_image_carousel__button--prev {
		left: 4px;
	}

	.rfzj_image_carousel__button--next {
		right: 4px;
	}

	.rfzj_image_carousel__status {
		display: block;
		margin-top: 8px;
		color: #667085;
		font-size: 12px;
		text-align: center;
	}
}
