.jrcp-coverflow {
	--jrcp-card-width: 360px;
	--jrcp-effective-card-width: var(--jrcp-card-width);
	--jrcp-featured-gap: 56px;
	--jrcp-background-step: 118px;
	--jrcp-fit-padding: 18px;
	--jrcp-layout-fit: 1;
	--jrcp-image-ratio: 1 / 1.32;
	--jrcp-card-hover-scale: 1.035;
	--jrcp-card-hover-speed: 300ms;
	--jrcp-card-hover-origin-y: 50%;
	--jrcp-slide-top-clearance: 0px;
	--jrcp-button-hover-scale: 1.03;
	--jrcp-button-min-font-size: 10px;
	--jrcp-arrow-hover-scale: 1.07;
	--jrcp-arrow-stroke-width: 5px;
	--jrcp-arrow-linecap: square;
	--jrcp-arrow-linejoin: miter;
	--jrcp-details-min-height: 0px;
	--jrcp-image-shadow-x: 0px;
	--jrcp-image-shadow-depth: 18px;
	--jrcp-image-shadow-bottom: -18px;
	--jrcp-image-shadow-softness: 18px;
	--jrcp-image-shadow-width-adjust: -36px;
	--jrcp-image-shadow-contact: 9px;
	--jrcp-image-shadow-height: 27px;
	--jrcp-image-shadow-color: rgba(0, 0, 0, .78);
	--jrcp-image-shadow-transparent: rgba(0, 0, 0, 0);
	position: relative;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background: #282828;
	color: #f1f1f1;
	overscroll-behavior-x: none;
	overscroll-behavior-inline: none;
	isolation: isolate;
}

.jrcp-clip-overflow-yes .jrcp-coverflow {
	overflow: hidden;
}

.jrcp-clip-overflow- .jrcp-coverflow,
.jrcp-clip-overflow-no .jrcp-coverflow {
	overflow: visible;
}

.jrcp-coverflow *,
.jrcp-coverflow *::before,
.jrcp-coverflow *::after {
	box-sizing: border-box;
}

.jrcp-coverflow__viewport {
	position: relative;
	width: 100%;
	max-width: 100%;
	outline: none;
	perspective: 1600px;
	touch-action: pan-y pinch-zoom;
	overscroll-behavior-x: none;
	overscroll-behavior-inline: none;
	-webkit-tap-highlight-color: transparent;
}

.jrcp-coverflow:not(.jrcp-coverflow--drag-disabled) .jrcp-coverflow__viewport {
	cursor: grab;
}

.jrcp-coverflow__viewport.is-dragging {
	cursor: grabbing;
}

.jrcp-coverflow__viewport:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.jrcp-coverflow__stage {
	position: relative;
	width: 100%;
	max-width: 100%;
	height: 520px;
	transform-style: preserve-3d;
	transition: height 240ms ease;
}

.jrcp-coverflow__slide {
	--jrcp-x: 0px;
	--jrcp-y: 0px;
	--jrcp-z: 0px;
	--jrcp-rotate-y: 0deg;
	--jrcp-scale: 1;
	--jrcp-opacity: 1;
	--jrcp-brightness: 1;
	--jrcp-blur: 0px;
	--jrcp-transition-speed: 650ms;
	position: absolute;
	top: var(--jrcp-slide-top-clearance);
	left: 50%;
	width: var(--jrcp-effective-card-width);
	max-width: none;
	margin: 0;
	padding: 0;
	transform-origin: 50% 12%;
	transform-style: preserve-3d;
	transform:
		translate3d(calc(-50% + var(--jrcp-x)), var(--jrcp-y), var(--jrcp-z))
		rotateY(var(--jrcp-rotate-y))
		scale(var(--jrcp-scale));
	opacity: var(--jrcp-opacity);
	filter: brightness(var(--jrcp-brightness)) blur(var(--jrcp-blur));
	transition:
		transform var(--jrcp-transition-speed) cubic-bezier(.22, .61, .36, 1),
		opacity var(--jrcp-transition-speed) ease,
		filter var(--jrcp-transition-speed) ease,
		visibility 0s linear var(--jrcp-transition-speed);
	will-change: transform, opacity, filter;
	visibility: hidden;
	pointer-events: none;
}

.jrcp-coverflow__slide.is-visible {
	visibility: visible;
	transition-delay: 0s;
}

.jrcp-coverflow__slide.is-featured {
	pointer-events: auto;
}

.jrcp-coverflow__slide.is-featured:hover,
.jrcp-coverflow__slide.is-featured:focus-within {
	z-index: 450 !important;
}

.jrcp-coverflow__slide.is-background {
	cursor: pointer;
	pointer-events: auto;
}

.jrcp-coverflow--drag-disabled .jrcp-coverflow__slide.is-background {
	cursor: default;
}

.jrcp-coverflow__card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	transform: scale(1);
	transform-origin: 50% var(--jrcp-card-hover-origin-y);
	transition:
		transform var(--jrcp-card-hover-speed) cubic-bezier(.2, .65, .3, 1),
		box-shadow var(--jrcp-card-hover-speed) ease,
		background-color var(--jrcp-card-hover-speed) ease,
		border-color var(--jrcp-card-hover-speed) ease;
	will-change: transform;
}

.jrcp-coverflow__slide.is-featured:hover .jrcp-coverflow__card,
.jrcp-coverflow__slide.is-featured:focus-within .jrcp-coverflow__card {
	transform: scale(var(--jrcp-card-hover-scale));
}

.jrcp-coverflow__image-link {
	display: block;
	overflow: visible;
	color: inherit;
	text-decoration: none;
}

/*
 * The image frame and its shadow remain separate so the artwork can be clipped
 * cleanly without clipping the shadow. Grounded mode does not offset a full
 * duplicate rectangle. Instead, it draws an attached ellipse whose top edge
 * overlaps the image bottom and whose depth is controlled by the familiar
 * Vertical box-shadow value.
 */
.jrcp-coverflow__image-shadow {
	position: relative;
	display: block;
	width: 100%;
	overflow: visible;
}

.jrcp-coverflow__image-shadow::after {
	display: none;
	content: "";
}

.jrcp-coverflow--image-shadow-grounded .jrcp-coverflow__image-shadow {
	isolation: isolate;
	box-shadow: none !important;
}

.jrcp-coverflow--image-shadow-grounded .jrcp-coverflow__image-shadow::after {
	position: absolute;
	left: calc(50% + var(--jrcp-image-shadow-x));
	bottom: var(--jrcp-image-shadow-bottom);
	z-index: 0;
	display: block;
	width: max(1px, calc(100% + var(--jrcp-image-shadow-width-adjust)));
	height: var(--jrcp-image-shadow-height);
	border-radius: 0 0 50% 50% / 0 0 100% 100%;
	background: linear-gradient(
		to bottom,
		var(--jrcp-image-shadow-color) 0%,
		var(--jrcp-image-shadow-color) 18%,
		var(--jrcp-image-shadow-transparent) 100%
	);
	filter: blur(var(--jrcp-image-shadow-softness));
	transform: translateX(-50%);
	pointer-events: none;
}

.jrcp-coverflow--image-shadow-none .jrcp-coverflow__image-shadow {
	box-shadow: none !important;
}

.jrcp-coverflow__image {
	position: relative;
	z-index: 1;
	width: 100%;
	aspect-ratio: var(--jrcp-image-ratio);
	overflow: hidden;
}

.jrcp-coverflow__image-element {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: 100%;
	object-fit: contain;
	transform: none;
}

.jrcp-coverflow__badge {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 5px 11px;
	border-radius: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1;
	text-transform: uppercase;
}

.jrcp-coverflow__details {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition:
		opacity 260ms ease,
		transform 360ms cubic-bezier(.22, .61, .36, 1),
		visibility 0s linear 360ms;
}

.jrcp-coverflow--equal-details .jrcp-coverflow__details {
	min-height: var(--jrcp-details-min-height);
}

.jrcp-coverflow__slide.is-featured .jrcp-coverflow__details,
.jrcp-coverflow--background-details .jrcp-coverflow__slide.is-background .jrcp-coverflow__details {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 90ms, 90ms, 0s;
}

.jrcp-coverflow__slide.is-background .jrcp-coverflow__details {
	pointer-events: none;
}

.jrcp-coverflow__title {
	margin: 0;
	padding: 0;
	font-size: clamp(18px, 1.45vw, 27px);
	font-weight: 700;
	line-height: 1.03;
	letter-spacing: .01em;
}

.jrcp-coverflow__title a {
	color: inherit;
	text-decoration: none;
}

.jrcp-coverflow__price {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
}

.jrcp-coverflow__price del {
	opacity: .55;
}

.jrcp-coverflow__price ins {
	background: none;
	text-decoration: none;
}

.jrcp-coverflow__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	margin-top: auto;
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: 0;
	background: transparent;
	background-image: none;
	color: #f5f5f5;
	text-decoration: none;
	text-align: center;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: .025em;
	-webkit-appearance: none;
	appearance: none;
	transition:
		transform 220ms ease,
		background-color 220ms ease,
		color 220ms ease,
		border-color 220ms ease,
		box-shadow 220ms ease;
	transform-origin: center;
}

.jrcp-coverflow__button-label {
	--jrcp-button-label-scale-x: 1;
	display: inline-block;
	max-width: 100%;
	min-width: 0;
	line-height: inherit;
	transform: scaleX(var(--jrcp-button-label-scale-x));
	transform-origin: 50% 50%;
	white-space: normal;
}

.jrcp-coverflow--fit-button-text .jrcp-coverflow__button {
	overflow: hidden;
	white-space: nowrap;
}

.jrcp-coverflow--fit-button-text .jrcp-coverflow__button-label {
	flex: 0 0 auto;
	max-width: none;
	overflow: visible;
	text-overflow: clip;
	white-space: nowrap;
}

.jrcp-coverflow__button:hover,
.jrcp-coverflow__button:focus-visible {
	transform: scale(var(--jrcp-button-hover-scale));
	text-decoration: none;
}

.jrcp-coverflow__button:focus-visible,
.jrcp-coverflow__title a:focus-visible,
.jrcp-coverflow__image-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.jrcp-coverflow__arrow {
	position: absolute;
	top: 42%;
	z-index: 500;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	background-image: none;
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	font: inherit;
	line-height: 1;
	-webkit-appearance: none;
	appearance: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	text-indent: 0;
	text-shadow: none;
	text-transform: none;
	transform: translateY(-50%);
	transition:
		transform 180ms ease,
		opacity 180ms ease,
		background-color 180ms ease,
		color 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}

.jrcp-coverflow__arrow::before,
.jrcp-coverflow__arrow::after {
	display: none !important;
	content: none !important;
}

.jrcp-coverflow--arrow-icon_only .jrcp-coverflow__arrow,
.jrcp-coverflow--arrow-icon_only .jrcp-coverflow__arrow:hover,
.jrcp-coverflow--arrow-icon_only .jrcp-coverflow__arrow:focus,
.jrcp-coverflow--arrow-icon_only .jrcp-coverflow__arrow:focus-visible {
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.jrcp-coverflow__arrow:hover,
.jrcp-coverflow__arrow:focus-visible {
	transform: translateY(-50%) scale(var(--jrcp-arrow-hover-scale));
}

.jrcp-coverflow__arrow:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.jrcp-coverflow__arrow:disabled {
	opacity: .24;
	cursor: default;
	transform: translateY(-50%);
}

.jrcp-coverflow__arrow svg,
.jrcp-coverflow__arrow i {
	display: block;
	flex: 0 0 auto;
	line-height: 1;
}

.jrcp-coverflow__arrow svg {
	fill: currentColor;
}

.jrcp-coverflow__built-in-arrow {
	overflow: visible;
	fill: none !important;
	stroke: currentColor;
	stroke-width: var(--jrcp-arrow-stroke-width);
	stroke-linecap: var(--jrcp-arrow-linecap);
	stroke-linejoin: var(--jrcp-arrow-linejoin);
	stroke-miterlimit: 12;
	transform-origin: 50% 50%;
}

.jrcp-coverflow__built-in-arrow path {
	fill: none;
	stroke: currentColor;
	stroke-width: inherit;
	stroke-linecap: inherit;
	stroke-linejoin: inherit;
	vector-effect: non-scaling-stroke;
}

.jrcp-coverflow__built-in-arrow--previous {
	transform: rotate(180deg);
}

.jrcp-coverflow__built-in-arrow .jrcp-coverflow__built-in-arrow-fill {
	fill: currentColor;
	stroke: none;
}

.jrcp-coverflow__dots {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.jrcp-coverflow__dot {
	display: block;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-image: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: transform 180ms ease, opacity 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.jrcp-coverflow__dot:hover,
.jrcp-coverflow__dot:focus-visible {
	transform: scale(1.28);
}

.jrcp-coverflow__dot:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.jrcp-coverflow__dot.is-active {
	transform: scale(1.35);
}

.jrcp-coverflow__measure-probe {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	display: block !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.jrcp-coverflow__editor-notice {
	padding: 18px 20px;
	border: 1px dashed #9b9b9b;
	border-radius: 0;
	background: #f7f7f7;
	color: #222;
	font-size: 14px;
	line-height: 1.45;
}

@media (max-width: 767px) {
	.jrcp-coverflow__arrow {
		top: 38%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jrcp-coverflow__stage,
	.jrcp-coverflow__slide,
	.jrcp-coverflow__card,
	.jrcp-coverflow__details,
	.jrcp-coverflow__button,
	.jrcp-coverflow__arrow,
	.jrcp-coverflow__dot {
		transition-duration: 1ms !important;
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
	}
}
