.pu-image-carousel {
	width: calc(100% - 2rem);
	max-width: 1280px;
	margin: 1rem auto 1.5rem;
	font-family: Arial, Helvetica, sans-serif;
	order: 1 !important;
}

.pu-image-carousel .pu-image-carousel__title {
	margin: 0 0 0.75rem;
	color: #323A3D;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center !important;
}

.pu-image-carousel .pu-image-carousel__viewport {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	background: #f2f2f2;
}

.pu-image-carousel .pu-image-carousel__track {
	display: flex;
	transition: transform 300ms ease;
}

.pu-image-carousel .pu-image-carousel__slide {
	flex: 0 0 100%;
	min-width: 0;
}

.pu-image-carousel .pu-image-carousel__slide img {
	display: block;
	width: 100%;
	height: auto;
	object-position: center;
}

.pu-image-carousel .pu-image-carousel__arrow {
	position: absolute;
	top: 50%;
	display: grid;
	width: 40px;
	height: 40px;
	padding: 0;
	place-items: center;
	transform: translateY(-50%);
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	color: #263238;
	font: inherit;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
}

.pu-image-carousel .pu-image-carousel__arrow:hover {
	background: #fff;
}

.pu-image-carousel .pu-image-carousel__arrow:focus-visible,
.pu-image-carousel .pu-image-carousel__indicator:focus-visible {
	outline: 2px solid #315b28;
	outline-offset: 3px;
}

.pu-image-carousel .pu-image-carousel__arrow--previous {
	left: 12px;
}

.pu-image-carousel .pu-image-carousel__arrow--next {
	right: 12px;
}

.pu-image-carousel .pu-image-carousel__indicators {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding-top: 12px;
}

.pu-image-carousel .pu-image-carousel__indicator {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #c6c6c6;
	cursor: pointer;
}

.pu-image-carousel .pu-image-carousel__indicator[aria-current='true'] {
	background: rgb(92, 94, 88);
}

@media (max-width: 600px) {
	.pu-image-carousel {
		width: calc(100% - 1rem);
		margin-top: 0.75rem;
		order: 1 !important;
	}

	.pu-image-carousel .pu-image-carousel__arrow {
		width: 34px;
		height: 34px;
		font-size: 24px;
	}

	.pu-image-carousel .pu-image-carousel__arrow--previous {
		left: 8px;
	}

	.pu-image-carousel .pu-image-carousel__arrow--next {
		right: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pu-image-carousel .pu-image-carousel__track {
		transition: none;
	}
}