/* PC 布局在 pthp-new.less；本文件：弹窗 + 手机版 */
@import "design-tokens.less";

/* 弹窗在 .page-pthp 外，需独立选择器 */
#video-popup.popup {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.52);
	box-sizing: border-box;

	&.hide {
		display: none;
	}

	.popup-content {
		background: #fff;
		width: 60rem;
		max-width: calc(100vw - 3.2rem);
		display: flex;
		justify-content: center;
		border-radius: 0.3rem;
		flex-direction: column;

		.popup-video-wrapper {
			padding: 1.6rem;
			border-top: 1px solid #dee2e6;

			video {
				width: 100%;
				max-width: 60rem;
				height: auto;
				aspect-ratio: 16 / 9;
				object-fit: contain;
			}
		}

		.popup-title {
			display: flex;
			justify-content: flex-end;
			align-items: center;

			.close-button {
				cursor: pointer;
				width: 4.8rem;
				height: 4.8rem;
				display: flex;
				justify-content: center;
				align-items: center;
				font-size: 2.4rem;
				opacity: 0.5;
			}
		}
	}
}

.hide {
	display: none;
}

@media screen and (max-width: @bp-mobile) {
	@pthp-mo-gutter: 0.8rem;
	@pthp-mo-inset: 1.2rem;

	.page-pthp {
		overflow-x: hidden;
		padding-bottom: 4.8rem;

		.banner {
			@pthp-banner-mo-min: 55rem;
			position: relative;
			display: flex;
			flex-direction: column;
			min-height: @pthp-banner-mo-min;
			height: auto;
			overflow: hidden;
			box-sizing: border-box;
			padding-top: @header-height-mobile;
			padding-bottom: 2.4rem;
			padding-left: @pthp-mo-gutter;
			padding-right: @pthp-mo-gutter;

			picture {
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
				margin: 0;
			}

			.pthp-banner-img,
			.banner-img {
				width: 100%;
				height: 100%;
				position: absolute;
				left: 0;
				top: 0;
				object-fit: cover;
				object-position: center top;
			}

			.banner-bg {
				display: none;
			}

			.banner-text {
				position: relative;
				z-index: 2;
				width: 100%;
				max-width: 38.2rem;
				height: auto;
				min-height: 0;
				left: auto;
				right: auto;
				top: auto;
				transform: none;
				margin: auto auto 0;
				display: block;
				background: transparent;
				box-sizing: border-box;

				&.abs {
					position: relative;
				}

				&.h-full {
					height: auto;
					min-height: 0;
				}

				.banner-text-inner {
					position: relative;
					top: auto;
					right: auto;
					left: auto;
					width: 100%;
					height: auto;
					background: rgba(0, 0, 0, 0.55);
					border-radius: 0.4rem;
					padding: 4rem 1rem 2.4rem;
					box-sizing: border-box;
				}

				.title {
					font-size: 3rem;
					color: #fff;
					letter-spacing: 0;
					text-align: center;
					line-height: 1.2;
				}

				.desc {
					font-size: @inner-hero-desc-mobile;
					color: #fff;
					text-align: center;
					margin-top: 1.4rem;
					line-height: 1.55;
					width: 100%;
				}
			}
		}

		#categories.categories {
			display: none;
			flex-direction: column;
			width: 100%;
			max-width: 38.2rem;
			margin-left: auto;
			margin-right: auto;
			margin-top: 2.4rem;
			padding-top: 0;
			padding-left: @pthp-mo-gutter;
			padding-right: @pthp-mo-gutter;
			box-sizing: border-box;

			.title {
				margin-left: 0;
				margin-bottom: 2.4rem;
				font-size: 2.4rem;
			}

			.pills {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				gap: 2rem 0.8rem;
				padding-left: 0;
				padding-right: 0;

				.pill {
					width: 100%;
					max-width: 100%;
					height: auto;
					min-height: 4.8rem;
					padding: 1.2rem @pthp-mo-inset;
					font-size: 1.2rem;
					line-height: 1.3;
					white-space: normal;
					text-align: center;
					border-radius: 6rem;
					box-sizing: border-box;

					&:nth-child(1),
					&:nth-child(2),
					&:nth-child(5),
					&:nth-child(6) {
						margin-top: 0;
						margin-bottom: 0;
					}
				}
			}
		}

		.card-ca {
			width: 100%;
			max-width: 38.2rem;
			margin-left: auto;
			margin-right: auto;
			padding-left: @pthp-mo-gutter;
			padding-right: @pthp-mo-gutter;
			padding-top: 0;
			height: auto;
			margin-top: 3.5rem;
			box-sizing: border-box;

			.card-bg-img {
				width: 100%;
				height: auto;
				object-fit: cover;
			}

			.card-title {
				color: #333;
				font-size: 2.4rem;
				margin-top: 3rem;
				line-height: 1.2;
			}

			.card-desc {
				font-size: 1.4rem;
				color: #333;
				width: 100%;
				margin-top: 2rem;
				line-height: 1.5;
			}
		}

		.content-container {
			width: 100%;
			max-width: 38.2rem;
			margin-left: auto;
			margin-right: auto;
			padding-left: @pthp-mo-gutter;
			padding-right: @pthp-mo-gutter;
			box-sizing: border-box;

			#content-1 {
				padding-top: 2rem;
				padding-bottom: 3rem;

				.inner {
					flex-direction: column;
					align-items: center;
					padding-left: 0;
					padding-right: 0;
					gap: 0;

					.flex-left {
						position: relative;
						width: 100%;
						max-width: none;
						background-color: #f2f2f2;
						border-radius: 2.5rem;
						padding-top: 5rem;
						padding-left: @pthp-mo-inset;
						padding-right: @pthp-mo-inset;
						padding-bottom: 30rem;
						margin-right: 0;
						margin-bottom: 7rem;
						height: auto;
						min-height: 0;
						box-sizing: border-box;
						overflow: visible;

						.title {
							font-size: 2.4rem;
							margin-bottom: 2rem;
							width: 100%;
							max-width: 30rem;
						}

						.list {
							font-size: 1.4rem;
							line-height: 1.8;
							width: 100%;
							max-width: 34.6rem;
							margin-left: 0.6rem;
							box-sizing: border-box;

							.indicator {
								left: -0.8rem;
							}
						}

						.machine-wrapper {
							width: 32.4rem;
							max-width: calc(100% - 2.4rem);
							height: 26.8rem;
							bottom: 7.8rem;
						}
					}

					.flex-right {
						width: 100%;
						max-width: none;
						min-width: 0;

						.right-title,
						.right-title-2 {
							font-size: 2.4rem;
							line-height: 1.2;
							color: #333;
						}

						.right-title {
							margin-bottom: 1.2rem;
						}

						.right-title-2 {
							margin-bottom: 1.2rem;
						}

						.card-1 {
							width: 100%;
							margin-top: 2.4rem;

							.card-img {
								width: 100%;
								height: auto;
								display: block;
								margin-top: 1.2rem;
							}

							&.card-o1 {
								margin-top: 1.2rem;
							}
						}
					}
				}
			}
		}

		.ani-tab-grid {
			width: 100%;
			max-width: 38.2rem;
			margin-left: auto;
			margin-right: auto;
			margin-top: 6rem;
			padding-left: @pthp-mo-gutter;
			padding-right: @pthp-mo-gutter;
			box-sizing: border-box;

			.ani-tab-grid-title {
				width: 100%;
				margin-left: 0;
				margin-right: 0;
				padding: 1.2rem 1rem;
				border-radius: 0.5rem;
				box-sizing: border-box;

				.tab-grid-left {
					font-size: 1.6rem;
				}

				.tab-grid-right {
					font-size: 1.2rem;

					.plus {
						margin-left: 1.8rem;
					}
				}
			}
		}

		.download-grid {
			margin-top: 2.4rem;

			.ani-tab-show-more {
				display: none;
			}
		}
	}
}
