﻿/* 组件容器
		 * 高度问题说明：
		 * - 仅用 height:auto + 图片 height:auto 时，高度 = 图片固有宽高比 × 屏宽；手机很窄时约 117px，下面会空一大块。
		 * - 用 max(视口比例, 横幅比例) 让窄屏也有足够「首屏氛围」，大屏仍不超过 600px。
		 */
		.ql-lunbo-one {
			position: relative;
			width: 100%;
			max-width: 100%;
			margin: 0;
			padding: 0;
			box-sizing: border-box;
			height: max(38vh, min(31.25vw, 600px));
			max-height: min(90vh, 600px);
			background: #fafafa;
			overflow: hidden;
		}

		/* Swiper 容器：父级已定高，子级拉满；宽度与视口一致 */
		.qlbd-swiper-1 {
			width: 100%;
			max-width: 100%;
			min-width: 0;
			height: 100%;
			margin: 0;
			padding: 0;
			box-sizing: border-box;
		}

		/* 勿写死 wrapper 宽度：由 Swiper 计算（写 100% 会导致无法切换/不动） */
		.qlbd-swiper-1 .swiper-wrapper {
			height: 100%;
			box-sizing: border-box;
		}

		/* 每屏占满轮播宽度，避免 flex 居中导致图片未贴边 */
		.qlbd-swiper-1 .swiper-slide {
			width: 100%;
			max-width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
			box-sizing: border-box;
			background: #fff;
			display: block;
			position: relative;
		}

		/* 后台幻灯片跳转链接：铺满 slide，与单图全幅一致 */
		.qlbd-swiper-1 .qlbd-swiper-1__slide-link {
			display: block;
			width: 100%;
			height: 100%;
			text-decoration: none;
			color: inherit;
		}

		.qlbd-swiper-1 .qlbd-swiper-1__slide-link[href=""],
		.qlbd-swiper-1 .qlbd-swiper-1__slide-link[href="#"] {
			pointer-events: none;
			cursor: default;
		}

		/* 在固定高度内裁剪，避免窄屏被比例压成细条 */
		.qlbd-swiper-1 .swiper-slide img {
			display: block;
			width: 100%;
			max-width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
			vertical-align: top;
			object-fit: cover;
			object-position: center;
			box-sizing: border-box;
			transform: scale(1);
			transform-origin: center center;
			transition: transform 6.5s ease-out;
			will-change: transform;
		}

		.qlbd-swiper-1 .swiper-slide-active img {
			transform: scale(1.08);
		}

		/* 左右箭头：大一点，半透明 */
		.qlbd-swiper-1 .qlbdswiper-button-next1,
		.qlbd-swiper-1 .qlbdswiper-button-prev1 {
			color: #ffffff;
			width: 50px;
			height: 50px;
			background-color: rgba(0, 0, 0, 0.3); /* 深色半透明背景，更适合大图 */
			border-radius: 50%;
			transition: all 0.3s;
		}

		.qlbd-swiper-1 .qlbdswiper-button-next1:hover,
		.qlbd-swiper-1 .qlbdswiper-button-prev1:hover {
			background-color: var(--ql-color-primary);
		}

		.qlbd-swiper-1 .qlbdswiper-button-next1::after,
		.qlbd-swiper-1 .qlbdswiper-button-prev1::after {
			font-size: 20px;
		}

		/* 分页器：长条形 */
		.qlbd-swiper-1 .swiper-pagination-bullet {
			background: color-mix(in srgb, var(--ql-color-primary) 28%, transparent);
			width: 40px;
			height: 4px;
			border-radius: 2px;
			opacity: 1;
			transition: all 0.3s;
		}

		.qlbd-swiper-1 .swiper-pagination-bullet-active {
			background: var(--ql-color-primary); /* 激活变纯白 */
			width: 40px;
		}
		.qlbd-swiper-1 .qlbd-swiper-1__slide-link {
			position: relative;
		}

		.qlbd-swiper-1 .qlbd-swiper-1__slide-link::before {
			content: "";
			position: absolute;
			inset: 0;
			background: linear-gradient(90deg, rgba(20, 10, 10, 0.62) 0%, rgba(20, 10, 10, 0.4) 28%, rgba(20, 10, 10, 0.08) 52%, rgba(20, 10, 10, 0) 72%);
			z-index: 1;
			pointer-events: none;
		}

		.qlbd-swiper-1 .qlbd-swiper-1__content {
			position: absolute;
			top: 50%;
			left: clamp(24px, 8vw, 120px);
			transform: translateY(-50%);
			z-index: 2;
			width: min(560px, calc(100% - 48px));
			color: #fff;
			pointer-events: none;
		}

		.qlbd-swiper-1 .qlbd-swiper-1__title {
			margin: 0;
			font-size: clamp(28px, 3.8vw, 56px);
			line-height: 1.2;
			font-weight: 700;
			letter-spacing: 0;
			white-space: pre-line;
			text-shadow: 0 3px 18px rgba(0, 0, 0, 0.28);
		}

		.qlbd-swiper-1 .qlbd-swiper-1__subtitle {
			margin: clamp(14px, 1.8vw, 24px) 0 0;
			max-width: 520px;
			font-size: clamp(14px, 1.3vw, 22px);
			line-height: 1.8;
			font-weight: 400;
			white-space: pre-line;
			text-shadow: 0 2px 14px rgba(0, 0, 0, 0.28);
		}

		@media (max-width: 768px) {
			.qlbd-swiper-1 .qlbd-swiper-1__slide-link::before {
				background: linear-gradient(180deg, rgba(20, 10, 10, 0.58) 0%, rgba(20, 10, 10, 0.36) 42%, rgba(20, 10, 10, 0.08) 72%, rgba(20, 10, 10, 0) 100%);
			}

			.qlbd-swiper-1 .qlbd-swiper-1__content {
				top: 50%;
				left: 20px;
				bottom: auto;
				transform: translateY(-50%);
				width: calc(100% - 40px);
			}

			.qlbd-swiper-1 .qlbd-swiper-1__subtitle {
				line-height: 1.6;
			}
		}


