/**
 * Showcase Coverflow Carousel v1.3.2
 *
 * 设计目标：
 * 1. 组件根节点透明，不给 Elementor 外层容器添加背景色。
 * 2. 所有规则都限定在 .sc-showcase-carousel[data-sc-showcase] 内部。
 * 3. 对图片、按钮、圆点等容易被主题覆盖的元素进行局部重置。
 */

.sc-showcase-carousel[data-sc-showcase],
.sc-showcase-carousel[data-sc-showcase] *,
.sc-showcase-carousel[data-sc-showcase] *::before,
.sc-showcase-carousel[data-sc-showcase] *::after {
	box-sizing: border-box;
}

.sc-showcase-carousel[data-sc-showcase] {
	/*
	 * 桌面端按照参考图重新放大卡片：
	 * 1920px 左右的屏幕中，中心卡片约为 336 × 495px；
	 * 2048px 左右的屏幕中，中心卡片约为 358 × 528px。
	 */
	/*
	 * Showcase 整体高度不超过 655px。
	 * 卡片会始终在组件内部垂直居中，不再通过外层 padding 制造留白。
	 */
	--sc-showcase-height: clamp(570px, 31vw, 655px);
	--sc-card-width: clamp(300px, 17.5vw, 390px);
	--sc-card-height: clamp(444px, 25.8vw, 580px);
	--sc-radius: 14px;

	/*
	 * 每层卡片之间保留小幅间距，不发生重叠。
	 * 最外层卡片在常规桌面端允许局部裁切，形成参考图中的全宽 Showcase 视觉。
	 */
	--sc-offset-1: clamp(300px, 17.2vw, 390px);
	--sc-offset-2: clamp(570px, 32.4vw, 730px);
	--sc-offset-3: clamp(830px, 46.5vw, 1040px);
	--sc-offset-hidden: clamp(1080px, 62vw, 1380px);

	--sc-scale-center: 1;
	--sc-scale-1: 0.89;
	--sc-scale-2: 0.78;
	--sc-scale-3: 0.68;

	--sc-duration: 660ms;
	--sc-ease: cubic-bezier(0.22, 0.72, 0.2, 1);
	--sc-drag-shift: 0px;

	/*
	 * 左右箭头控制区域的最大宽度。
	 * 默认限制在 1600px 内，可通过短代码 arrow_max_width 调整。
	 */
	--sc-arrow-max-width: 1600px;

	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 100%;
	height: var(--sc-showcase-height);
	max-height: 655px;
	margin: 0;
	padding: 0 !important;
	overflow: hidden;
	background: transparent !important;
	background-image: none !important;
	color: inherit;
	font-family:
		Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
		"Segoe UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

/* 取消旧版本用于生成组件背景光晕的伪元素。 */
.sc-showcase-carousel[data-sc-showcase]::before,
.sc-showcase-carousel[data-sc-showcase]::after {
	display: none !important;
	content: none !important;
}

.sc-showcase-carousel.sc-showcase-carousel--empty {
	padding: 0 !important;
	background: transparent !important;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__empty-text {
	margin: 0;
	color: inherit;
	text-align: center;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__heading {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto 10px;
	padding: 0;
	text-align: center;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__eyebrow {
	margin: 0 0 10px;
	padding: 0;
	color: #2799ff;
	font-size: clamp(13px, 1.3vw, 16px);
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1.4;
	text-transform: uppercase;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__title {
	margin: 0;
	padding: 0;
	color: inherit;
	font-size: clamp(34px, 4vw, 62px);
	font-weight: 720;
	letter-spacing: -0.055em;
	line-height: 1.14;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__description {
	max-width: 660px;
	margin: 16px auto 0;
	padding: 0;
	color: inherit;
	font-size: clamp(14px, 1.35vw, 17px);
	line-height: 1.8;
	opacity: 0.74;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__viewport {
	position: relative;
	display: block;
	flex: 1 1 auto;
	width: 100%;
	max-width: 100%;
	min-height: 0;
	overflow: hidden;
	outline: none;
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__viewport:focus-visible {
	outline: 2px solid rgba(117, 200, 255, 0.78);
	outline-offset: -4px;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__stage {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	max-height: 655px;
	overflow: hidden;
	cursor: grab;
}

.sc-showcase-carousel[data-sc-showcase].is-dragging .sc-showcase-carousel__stage {
	cursor: grabbing;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__track {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card {
	--sc-offset-x: 0px;
	--sc-scale: 0.56;
	--sc-opacity: 0;
	--sc-lift: 0px;
	--sc-z-index: 0;

	position: absolute;
	top: 50%;
	left: 50%;
	z-index: var(--sc-z-index);
	display: block;
	width: var(--sc-card-width);
	height: min(var(--sc-card-height), 100%);
	max-height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(214, 230, 255, 0.24);
	border-radius: var(--sc-radius);
	background: transparent;
	/* 仅保留非常轻的边缘层次，不制造卡片下方的投影光斑。 */
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
	opacity: var(--sc-opacity);
	transform:
		translate(
			calc(-50% + var(--sc-offset-x) + var(--sc-drag-shift)),
			calc(-50% + var(--sc-lift))
		)
		scale(var(--sc-scale));
	transform-origin: center center;
	transition:
		transform var(--sc-duration) var(--sc-ease),
		opacity var(--sc-duration) var(--sc-ease),
		filter var(--sc-duration) var(--sc-ease),
		box-shadow var(--sc-duration) var(--sc-ease),
		border-color 240ms ease;
	will-change: transform, opacity;
	cursor: pointer;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

/* 图片之上的底部渐变蒙层：保证标题在复杂图片上仍然清晰。 */
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card::before {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: block;
	border-radius: inherit;
	background:
		linear-gradient(180deg, rgba(4, 10, 20, 0.02) 18%, rgba(4, 10, 20, 0.18) 48%, rgba(4, 9, 18, 0.94) 100%),
		linear-gradient(115deg, rgba(255, 255, 255, 0.08), transparent 33%);
	content: "";
	pointer-events: none;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card::after {
	position: absolute;
	z-index: 4;
	inset: 0;
	display: block;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
	content: "";
	pointer-events: none;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card:hover {
	border-color: rgba(255, 255, 255, 0.42);
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card:focus-visible {
	outline: 2px solid #75c8ff;
	outline-offset: 4px;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-center {
	--sc-offset-x: 0px;
	--sc-scale: var(--sc-scale-center);
	--sc-opacity: 1;
	/* 中心卡片不再上浮，确保所有卡片垂直居中。 */
	--sc-lift: 0px;
	--sc-z-index: 40;

	border-color: rgba(255, 255, 255, 0.44);
	/* 移除中心卡片下方阴影和蓝色光晕。 */
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-1 {
	--sc-offset-x: calc(-1 * var(--sc-offset-1));
	--sc-scale: var(--sc-scale-1);
	/* 侧边卡片仅保留一点点透明效果，不再按距离逐层变灰。 */
	--sc-opacity: 0.9;
	--sc-z-index: 30;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-1 {
	--sc-offset-x: var(--sc-offset-1);
	--sc-scale: var(--sc-scale-1);
	/* 侧边卡片仅保留一点点透明效果，不再按距离逐层变灰。 */
	--sc-opacity: 0.9;
	--sc-z-index: 30;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-2 {
	--sc-offset-x: calc(-1 * var(--sc-offset-2));
	--sc-scale: var(--sc-scale-2);
	--sc-opacity: 0.9;
	--sc-z-index: 20;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-2 {
	--sc-offset-x: var(--sc-offset-2);
	--sc-scale: var(--sc-scale-2);
	--sc-opacity: 0.9;
	--sc-z-index: 20;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-3 {
	--sc-offset-x: calc(-1 * var(--sc-offset-3));
	--sc-scale: var(--sc-scale-3);
	--sc-opacity: 0.9;
	--sc-z-index: 10;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-3 {
	--sc-offset-x: var(--sc-offset-3);
	--sc-scale: var(--sc-scale-3);
	--sc-opacity: 0.9;
	--sc-z-index: 10;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-hidden {
	--sc-offset-x: var(--sc-hidden-offset, var(--sc-offset-hidden));
	--sc-scale: 0.54;
	--sc-opacity: 0;
	--sc-z-index: 0;

	pointer-events: none;
}

.sc-showcase-carousel[data-sc-showcase].is-dragging .sc-showcase-carousel__card {
	transition: none;
}

/*
 * 使用更高优先级并补充 !important，防止 Elementor 的 .elementor img { height:auto; }
 * 或主题图片规则让封面退回自然高度。
 */
.sc-showcase-carousel[data-sc-showcase] img.sc-showcase-carousel__image {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: scale(1.01);
	transition:
		transform 800ms var(--sc-ease),
		filter var(--sc-duration) var(--sc-ease);
	-webkit-user-drag: none;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-center img.sc-showcase-carousel__image {
	transform: scale(1);
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card:not(.is-center) img.sc-showcase-carousel__image {
	/*
	 * 不再降低饱和度或亮度。
	 * 侧边图片仅通过卡片 opacity: 0.9 呈现轻微弱化效果。
	 */
	filter: none;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__index {
	position: absolute;
	z-index: 5;
	top: 22px;
	left: 22px;
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 12px;
	font-weight: 720;
	letter-spacing: 0.1em;
	line-height: 1.2;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__index::before {
	display: block;
	width: 26px;
	height: 1px;
	background: rgba(255, 255, 255, 0.72);
	content: "";
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card-content {
	position: absolute;
	z-index: 6;
	right: 22px;
	bottom: 22px;
	left: 22px;
	display: block;
	margin: 0;
	padding: 0;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__tag {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	margin: 0 0 12px;
	padding: 5px 10px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: rgba(10, 23, 41, 0.4);
	color: rgba(242, 248, 255, 0.94);
	font-size: 11px;
	font-weight: 720;
	letter-spacing: 0.08em;
	line-height: 1.2;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card-title {
	position: relative;
	display: inline-block;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 0 4px !important;
	color: #fff !important;
	/* 标题略微缩小，避免占用过多画面，尤其适合较长的文章标题。 */
	font-size: clamp(18px, 1.55vw, 24px) !important;
	font-weight: 720 !important;
	letter-spacing: -0.04em !important;
	line-height: 1.17 !important;
	text-transform: none !important;
}

/* 鼠标经过卡片时，标题下方从左向右出现细线动画。 */
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card-title::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	height: 1px;
	background: currentColor;
	content: "";
	opacity: 0.9;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 360ms cubic-bezier(0.22, 0.72, 0.2, 1);
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card:hover .sc-showcase-carousel__card-title::after,
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card:focus-visible .sc-showcase-carousel__card-title::after {
	transform: scaleX(1);
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__excerpt {
	display: -webkit-box;
	margin: 10px 0 0 !important;
	padding: 0 !important;
	overflow: hidden;
	color: rgba(237, 244, 255, 0.82) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.sc-showcase-carousel[data-sc-showcase] a.sc-showcase-carousel__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 720 !important;
	letter-spacing: 0.04em !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
}

.sc-showcase-carousel[data-sc-showcase] a.sc-showcase-carousel__more:hover,
.sc-showcase-carousel[data-sc-showcase] a.sc-showcase-carousel__more:focus {
	color: #fff !important;
	text-decoration: none !important;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__more::after {
	content: "→";
	font-size: 21px;
	line-height: 1;
	transition: transform 240ms ease;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-center:hover .sc-showcase-carousel__more::after {
	transform: translateX(6px);
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card:not(.is-center) .sc-showcase-carousel__card-content {
	opacity: 0.76;
	transform: translateY(8px);
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-2 .sc-showcase-carousel__excerpt,
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-2 .sc-showcase-carousel__excerpt,
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-3 .sc-showcase-carousel__excerpt,
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-3 .sc-showcase-carousel__excerpt,
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-2 .sc-showcase-carousel__more,
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-2 .sc-showcase-carousel__more,
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-3 .sc-showcase-carousel__more,
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-3 .sc-showcase-carousel__more {
	display: none;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-3 .sc-showcase-carousel__tag,
.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-3 .sc-showcase-carousel__tag {
	display: none;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__controls {
	position: absolute;
	z-index: 90;
	top: 50%;
	left: 50%;
	display: flex;
	width: min(calc(100% - 32px), var(--sc-arrow-max-width));
	max-width: var(--sc-arrow-max-width);
	justify-content: space-between;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

/*
 * all: unset 仅作用于当前组件中的箭头按钮，用于隔离主题按钮配色、padding、圆角等规则。
 */
.sc-showcase-carousel[data-sc-showcase] button.sc-showcase-carousel__nav {
	all: unset;
	box-sizing: border-box;
	display: grid;
	width: 52px;
	height: 52px;
	min-width: 52px;
	min-height: 52px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 50%;
	background: rgba(8, 20, 37, 0.58);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
	color: #f5f8ff;
	place-items: center;
	pointer-events: auto;
	cursor: pointer;
	transition:
		transform 220ms ease,
		background 220ms ease,
		border-color 220ms ease;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.sc-showcase-carousel[data-sc-showcase] button.sc-showcase-carousel__nav:hover {
	border-color: rgba(255, 255, 255, 0.58);
	background: rgba(27, 59, 94, 0.82);
	transform: scale(1.08);
}

.sc-showcase-carousel[data-sc-showcase] button.sc-showcase-carousel__nav:active {
	transform: scale(0.94);
}

.sc-showcase-carousel[data-sc-showcase] button.sc-showcase-carousel__nav:focus-visible {
	outline: 2px solid #75c8ff;
	outline-offset: 4px;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__nav svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

/*
 * 箭头样式选择
 * 使用短代码参数 arrow_style：
 * glass（默认）、light、outline、minimal、square
 */

/* glass：深色半透明圆形按钮，适合浅色与深色背景。 */
.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-glass button.sc-showcase-carousel__nav {
	border-color: rgba(255, 255, 255, 0.24);
	border-radius: 50%;
	background: rgba(8, 20, 37, 0.58);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
	color: #f5f8ff;
}

.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-glass button.sc-showcase-carousel__nav:hover {
	border-color: rgba(255, 255, 255, 0.58);
	background: rgba(27, 59, 94, 0.82);
}

/* light：浅色圆形按钮，适合白色或浅灰页面。 */
.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-light button.sc-showcase-carousel__nav {
	border-color: rgba(31, 51, 77, 0.12);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 12px 30px rgba(20, 36, 58, 0.16);
	color: #33435a;
}

.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-light button.sc-showcase-carousel__nav:hover {
	border-color: rgba(31, 51, 77, 0.22);
	background: #fff;
	color: #14243a;
}

/* outline：透明描边圆形按钮，视觉更轻。 */
.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-outline button.sc-showcase-carousel__nav {
	border-color: rgba(85, 112, 145, 0.5);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	box-shadow: none;
	color: #64758a;
}

.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-outline button.sc-showcase-carousel__nav:hover {
	border-color: rgba(63, 126, 194, 0.86);
	background: rgba(117, 200, 255, 0.12);
	color: #367fbd;
}

/* minimal：仅保留箭头，不显示固定按钮底色。 */
.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-minimal button.sc-showcase-carousel__nav {
	border-color: transparent;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	color: #64758a;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-minimal button.sc-showcase-carousel__nav:hover {
	border-color: transparent;
	background: rgba(117, 200, 255, 0.12);
	color: #367fbd;
}

.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-minimal .sc-showcase-carousel__nav svg {
	width: 27px;
	height: 27px;
	stroke-width: 1.8;
}

/* square：圆角矩形按钮，适合作品集或企业官网。 */
.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-square button.sc-showcase-carousel__nav {
	border-color: rgba(255, 255, 255, 0.24);
	border-radius: 12px;
	background: rgba(8, 20, 37, 0.62);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
	color: #f5f8ff;
}

.sc-showcase-carousel[data-sc-showcase].sc-showcase-carousel--arrow-square button.sc-showcase-carousel__nav:hover {
	border-color: rgba(255, 255, 255, 0.56);
	background: rgba(27, 59, 94, 0.86);
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__footer {
	position: absolute;
	z-index: 95;
	right: 0;
	bottom: 10px;
	left: 0;
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0 !important;
	pointer-events: none;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__dots {
	pointer-events: auto;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__dots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 9px;
	max-width: min(90vw, 560px);
	margin: 0;
	padding: 10px 14px;
	border: 1px solid rgba(130, 155, 194, 0.2);
	border-radius: 999px;
	background: rgba(6, 16, 30, 0.26);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

/* 局部重置圆点按钮，阻止主题按钮颜色和描边进入组件。 */
.sc-showcase-carousel[data-sc-showcase] button.sc-showcase-carousel__dot {
	all: unset;
	box-sizing: border-box;
	display: block;
	width: 8px;
	height: 8px;
	min-width: 8px;
	min-height: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(151, 171, 200, 0.42);
	cursor: pointer;
	transition:
		width 240ms ease,
		background 240ms ease,
		transform 240ms ease;
}

.sc-showcase-carousel[data-sc-showcase] button.sc-showcase-carousel__dot:hover {
	background: rgba(117, 200, 255, 0.76);
	transform: scale(1.18);
}

.sc-showcase-carousel[data-sc-showcase] button.sc-showcase-carousel__dot.is-active {
	width: 30px;
	min-width: 30px;
	background: #75c8ff;
}

.sc-showcase-carousel[data-sc-showcase] button.sc-showcase-carousel__dot:focus-visible {
	outline: 2px solid #75c8ff;
	outline-offset: 3px;
}

.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__live {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	clip-path: inset(50%);
}

/*
 * 4K 与超宽屏专项优化：
 * 避免普通桌面端的 max 值限制卡片尺寸。
 * 卡片继续保持不重叠，并在超宽屏中获得更接近作品展示区的视觉重量。
 */
@media (min-width: 2560px) {
	.sc-showcase-carousel[data-sc-showcase] {
		--sc-showcase-height: 655px;
		--sc-card-width: clamp(420px, 12vw, 500px);
		--sc-card-height: clamp(620px, 17.8vw, 655px);

		--sc-offset-1: clamp(420px, 12vw, 500px);
		--sc-offset-2: clamp(800px, 22.5vw, 940px);
		--sc-offset-3: clamp(1140px, 32.5vw, 1340px);
		--sc-offset-hidden: clamp(1460px, 40vw, 1740px);
	}
}

@media (max-width: 1699px) {
	.sc-showcase-carousel[data-sc-showcase] {
		/* 中等屏幕显示 5 张：中心 + 左右各 2 张。 */
		--sc-showcase-height: clamp(410px, 48vw, 510px);
		--sc-card-width: clamp(220px, 22vw, 270px);
		--sc-card-height: clamp(330px, 34vw, 410px);

		--sc-offset-1: clamp(230px, 25vw, 285px);
		--sc-offset-2: clamp(430px, 48vw, 520px);
		--sc-offset-hidden: clamp(650px, 72vw, 820px);
	}

	/* 中等屏幕隐藏第三层，避免空间不足时出现卡片叠压。 */
	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-3,
	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-3 {
		--sc-offset-x: var(--sc-hidden-offset, var(--sc-offset-hidden));
		--sc-scale: 0.54;
		--sc-opacity: 0;
		--sc-z-index: 0;
		pointer-events: none;
	}
}

@media (max-width: 899px) {
	.sc-showcase-carousel[data-sc-showcase] {
		/* 小屏和平板竖屏只展示中心卡片与左右预览，保持卡片互不重叠。 */
		--sc-showcase-height: clamp(430px, 120vw, 510px);
		--sc-card-width: min(68vw, 280px);
		--sc-card-height: min(102vw, 430px);
		--sc-offset-1: min(75vw, 310px);
		--sc-offset-hidden: min(118vw, 560px);
	}

	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-2,
	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-2,
	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-left-3,
	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card.is-right-3 {
		--sc-offset-x: var(--sc-hidden-offset, var(--sc-offset-hidden));
		--sc-scale: 0.54;
		--sc-opacity: 0;
		--sc-z-index: 0;
		pointer-events: none;
	}
}

@media (max-width: 767px) {
	.sc-showcase-carousel[data-sc-showcase] {
		--sc-showcase-height: clamp(430px, 130vw, 520px);
		--sc-card-width: min(76vw, 300px);
		--sc-card-height: min(112vw, 450px);
		--sc-offset-1: min(82vw, 320px);
		--sc-offset-hidden: min(126vw, 560px);

		padding: 0 !important;
	}

	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__heading {
		width: min(100% - 32px, 660px);
		margin-bottom: 8px;
	}

	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card-content {
		right: 18px;
		bottom: 18px;
		left: 18px;
	}

	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__index {
		top: 18px;
		left: 18px;
	}

	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__card-title {
		font-size: 21px !important;
	}

	.sc-showcase-carousel[data-sc-showcase] button.sc-showcase-carousel__nav {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__controls {
		width: min(calc(100% - 20px), var(--sc-arrow-max-width));
	}

	.sc-showcase-carousel[data-sc-showcase] .sc-showcase-carousel__footer {
		bottom: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sc-showcase-carousel[data-sc-showcase] *,
	.sc-showcase-carousel[data-sc-showcase] *::before,
	.sc-showcase-carousel[data-sc-showcase] *::after {
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
		animation-duration: 1ms !important;
	}
}
