@charset "utf-8";

/*banner 背景：顶部一段使用背景图+渐变，下面使用默认页面背景色 */
.banner-bg {
	position: relative;
	z-index: 0;
	background-color: #f5f5f5;
}

.banner-bg::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	height: 100%;
	/* 控制背景图+渐变覆盖的高度，超过这里就是纯白底 */
	background:
		/* 顶部背景图 */
		url("/buffhub/svg/page-bg.svg") no-repeat center top,
		/* 从浅紫过渡到页面背景的渐变 */
		linear-gradient(to bottom, #f3f0ff 0%, #f7f7fb 55%, #ffffff 100%);
	background-size: 100% auto, 100% 100%;
	pointer-events: none;
	z-index: -1;
}

.banner {
	width: 1200px;
	position: relative;
	max-width: 100%;
	margin: 0 auto;
	z-index: 1;
}

.banndeleft {
	height: 100%;
	background-size: 100% 100%;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	content: "";
	z-index: 100;
	background-size: 100% 100%;
	padding: 60px 0;
}

.banndeleft img {
	width: auto;
	height: 100%;
}

.banner-right {
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	content: "";
	z-index: 100;
	background-size: 100% 100%;
	padding: 60px 0;
	height: 100%;
}

.banner-right img {
	width: auto;
	height: 100%;
}

.banner .swiper {
	overflow: auto;
	padding: 60px 0;
}

.banner img {
	width: 100%;
	filter: grayscale(100%);
	transition: all 1s;
}

.banner .banner1_bg {
	border-radius: 10px;
	overflow: hidden;
}

.banner .banner1_bg img {
	transition: all 2s;
	border-radius: 15px;
	opacity: .5;
}

.banner .banner1_character img {
	transform-origin: bottom center;
	transition: all .5s ease;
	transform: scale(1.1);
	opacity: 0;
}

.bannerbox {
	border-radius: 15px;
	position: relative;
}

.banner1_character {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
}

.banner .swiper-button-next {
	color: #fff;
	z-index: 100;
	right: -80px;
	transition: all .5s;
}

.banner .swiper-button-prev {
	color: #fff;
	z-index: 100;
	left: -80px;
	transition: all .5s;
}

.banner .swiper:hover .swiper-button-prev {
	left: 15px;
}

.banner .swiper:hover .swiper-button-next {
	right: 15px;
}

.banner .swiper-slide-active .banner1_bg img,
.banner .swiper-slide-duplicate-active .banner1_bg img {
	box-shadow: 0 0 10px rgba(0, 0, 0, .5);
	border-radius: 15px;
}

.banner .swiper-slide-active img,
.banner .swiper-slide-duplicate-active img {
	filter: grayscale(0%);
	opacity: 1;
	animation: fadeIn .5s 1;
}

.banner .swiper {
	/* 强制导航箭头使用白色（Swiper 变量） */
	--swiper-navigation-color: #fff;
}

.banner .swiper-button-next::after,
.banner .swiper-button-prev::after {
	/* 直接指定伪元素颜色，避免被默认样式覆盖 */
	color: #fff;
}

/* 去掉模糊，只做灰度 + 透明度 */
.banner .swiper-slide .banner1_bg img {
	filter: grayscale(100%);
	opacity: 0.2;
	/* 需要更淡可调成 0.2 或 0.15 */
}

/* 中间激活的那张保持全亮 */
.banner .swiper-slide-active .banner1_bg img,
.banner .swiper-slide-duplicate-active .banner1_bg img {
	filter: grayscale(0);
	opacity: 1;
}

.banner .swiper-slide-active .bannerbox:hover .banner1_character img {
	transform: scale(1.15);
}

.banner .swiper-button-next:after,
.banner .swiper-button-prev:after {
	font-size: 24px;
	font-weight: bold;
}

.banner .swiper-pagination {
	bottom: 70px;
}

.banner .swiper-pagination-bullet {
	opacity: 1;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background: #fff;
}

.banner .swiper-pagination-bullet-active {
	width: 25px;
	background: #ff824b;
}


@media (max-width: 950px) {
	.banner .swiper {
		padding: .4rem 0 .2rem;
		width: 100%;
	}

	.banner .swiper-button-next {
		display: none;
	}

	.banner .swiper-button-prev {
		display: none;
	}

	/* .banner1_bg{height: 2.95rem;}
	.banner1_bg img{width: 100%;height: 100%; object-fit: cover;}
	.banner1_character{height: 2.95rem;}	
	.banner1_character img{width: 100%;height: 100%; object-fit: cover;}	 */
	.banner .swiper-pagination {
		bottom: 12px;
	}

}


/* 还原新版banner */

/*home cover*/
#banner-cover {
	position: relative;
	overflow: hidden;
}

#banner-cover>.inner {
	width: 100%;
	max-width: 1280px;
	/* max-width: var(--MaxContentWidth); */
	margin-inline: auto;
	/* padding: var(--spacing) var(--spacing) 0 var(--spacing); */
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	/* gap: var(--spacing); */
	gap: 20px;
}


/* 最新版本banner */

#banner-slider {
	width: 100%;
	height: 407px;
	position: relative;
	overflow: hidden;
}

#banner-slider .swiper-slide {
	position: relative;
}

#banner-slider .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#banner-slider .swiper-pagination {
	position: absolute;
	left: 0;
	bottom: 0 !important;
	right: 0;
	width: auto;
	display: flex;
	gap: 6px;
	z-index: 10;
	background: rgba(0, 0, 0, 0.2);
	height: 42px;
	padding: 0 10px;
	align-items: center;
	transition: all 0.2s ease;
}

#banner-slider .swiper-thumbnails {
	position: absolute;
	right: 20px;
	bottom: 0;
	display: flex;
	gap: 6px;
	opacity: 0;
	visibility: hidden;
	z-index: 99;
	transition: all 0.3s ease;
	height: 42px;
	padding: 0 10px;
	align-items: center;
}


#banner-slider .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	border-radius: 99px;
	background: #D9D9D9;
	transition: all 0.3s ease;
	opacity: 1;
}

#banner-slider .swiper-pagination-bullet-active {
	width: 26px;
	background: #EE7115;
	opacity: 1;
}

#banner-slider .swiper-thumbnail {
	width: 60px;
	height: 40px;
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.6;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

#banner-slider .swiper-thumbnail.active {
	opacity: 1;
	border: 2px solid #ff6b35;
}

#banner-slider .swiper-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* pc显示 */
@media (hover: hover) and (pointer: fine) {
	#banner-slider .swiper-pagination:hover {
		background: rgba(0, 0, 0, 0.4);
		height: 92px;
		padding: 0 15px;
	}

	#banner-slider .swiper-thumbnails:hover {
		opacity: 1;
		visibility: visible;
		height: 92px;
		padding: 0 15px;
	}

	#banner-slider .swiper-pagination:hover+.swiper-thumbnails {
		opacity: 1;
		visibility: visible;
		height: 92px;
		padding: 0 15px;
	}

	#banner-slider:has(.swiper-thumbnails:hover) .swiper-pagination {
		background: rgba(0, 0, 0, 0.4);
		height: 92px;
		padding: 0 15px;
	}
}
/* 移动端显示 */
@media only screen and (max-width:950px) {
	#banner-slider {
		height: 2.38rem;
	}
	#banner-slider .swiper-pagination {
		gap: 0.03rem;
		height: .2456rem;
		padding: 0 .12rem;
	}
	#banner-slider .swiper-pagination-bullet {
		width: .0585rem;
		height: .0585rem;
	}
	#banner-slider .swiper-pagination-bullet-active {
		width: 0.1521rem;
	}
}


#banner-slider-bg {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

#banner-slider-bg::after {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	width: min(1920px, 100%);
	margin-inline: auto;
	background: url('../svg/page-bg.svg') no-repeat top center;
	opacity: .1;
	-webkit-mask-image: linear-gradient(180deg, rgb(55, 60, 115) 0%, rgba(255, 255, 255, 0.1) 100%);
	mask-image: linear-gradient(180deg, rgb(55, 60, 115) 0%, rgba(255, 255, 255, 0.1) 100%);
}

#banner-slider-bg .list {
	width: 100%;
	height: 100%;
	-webkit-mask-image: linear-gradient(180deg, rgb(55, 60, 115) 0%, rgba(255, 255, 255, 0.1) 100%);
	mask-image: linear-gradient(180deg, rgb(55, 60, 115) 0%, rgba(255, 255, 255, 0.1) 100%);
	opacity: .5;
}

#banner-slider-bg .bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: linear-gradient(180deg, rgba(12, 16, 60, 0.3) 0%, rgba(255, 255, 255, 0) 50%);
	background-image: linear-gradient(135deg, hsl(var(--offset-h1) var(--offset-s1) var(--offset-l1)), hsl(var(--offset-h2) var(--offset-s2) var(--offset-l2)));
	background-size: cover;
	transition: opacity 1000ms;
}

#banner-slider-bg .bg:not(.show) {
	z-index: 0;
	opacity: 0;
	transition-delay: 1000ms;
}

@media only screen and (max-width:950px) {
	#banner-cover>.inner {
		gap: .24rem;
	}
	#banner-slider .navigation {
		display: none;
	}
}

@media only screen and (max-width:480px) {
	/* #banner-cover>.inner {
		padding: var(--spacing) 3%;
	} */

	#banner-slider {
		margin-inline: calc(var(--spacing) * -1 + 1em);
	}

	#banner-slider .slide {
		padding-inline: calc(var(--spacing) / 2);
	}

	/* #banner-slider .slide .img{aspect-ratio:3/1.8;} */
	#banner-slider .pagination {
		display: none;
	}

	#banner-slider .bullet {
		flex: none;
		min-width: unset;
		width: 5px;
	}

	#banner-slider .bullet.active {
		width: 2em;
	}
}