@import "design-tokens.less";

.page-about {
	overflow: hidden;

	.grid-1.ca {
		width: 100vw;
		align-items: flex-start;
		height: 53rem;
		color: white;
		padding-left: 0;
		padding-right: 0;

		.hero-inner {
			width: 120rem;
			max-width: 100%;
			margin: 0 auto;
			height: 100%;
			padding-left: 4rem;
			padding-right: 4rem;
			display: flex;
			align-items: center;
			justify-content: center;
			box-sizing: border-box;
		}

		.hero-inner-top {
			width: 100%;
		}

		.title {
			font-size: 5.2rem;
			color: #1a1a1a;
			text-align: center;
			letter-spacing: -0.02em;
			line-height: 1.15;
		}

		.desc {
			font-size: 2rem;
			line-height: 1.65;
			margin-top: 2.4rem;
			color: #3d3d3d;
			text-align: center;
			max-width: 90rem;
			margin-left: auto;
			margin-right: auto;
		}
	}

	.main-box {
		margin-top: 6.4rem;
		margin-bottom: 9.6rem;
		width: 100%;
		max-width: 120rem;
		margin-left: auto;
		margin-right: auto;
		padding-left: 4rem;
		padding-right: 4rem;
		box-sizing: border-box;
	}

	.news-list {
		display: flex;
		flex-direction: column;
		gap: 2.8rem;
	}

	.main-box .article-card {
		display: flex;
		align-items: stretch;
		gap: 3.2rem;
		margin: 0;
		padding: 2.8rem;
		background: #fff;
		border-radius: 1.2rem;
		border: 1px solid rgba(15, 45, 70, 0.08);
		box-shadow:
			0 0.1rem 0.3rem rgba(0, 30, 60, 0.04),
			0 1.2rem 4rem rgba(0, 40, 80, 0.06);
		transition: box-shadow 0.28s ease, border-color 0.28s ease, transform 0.28s ease;
		box-sizing: border-box;
	}

	.main-box .article-card:hover {
		border-color: rgba(31, 148, 210, 0.22);
		box-shadow:
			0 0.4rem 1.2rem rgba(0, 40, 80, 0.08),
			0 2rem 4.8rem rgba(31, 148, 210, 0.1);
		transform: translateY(-0.2rem);
	}

	.main-box .article-image {
		flex-shrink: 0;
		width: 38rem;
		max-width: 42%;
		border-radius: 1rem;
		overflow: hidden;
		background: #e8eef2;
		aspect-ratio: 380 / 270;
		align-self: flex-start;
	}

	.main-box .article-image a {
		display: block;
		height: 100%;
		line-height: 0;
	}

	.main-box .article-image img {
		width: 100%;
		height: 100%;
		display: block;
		object-fit: cover;
		transition: transform 0.35s ease;
	}

	.main-box .article-card:hover .article-image img {
		transform: scale(1.03);
	}

	.main-box .article-content {
		flex: 1;
		min-width: 0;
		margin-left: 0;
		padding-top: 0.4rem;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 1.2rem;
	}

	.main-box .article-title {
		font-size: 2.6rem;
		line-height: 1.3;
		color: #111827;
		margin: 0;
		letter-spacing: -0.02em;
	}

	.main-box .article-title a {
		color: inherit;
		text-decoration: none;
		transition: color 0.2s ease;
	}

	.main-box .article-title a:hover {
		color: #1f94d2;
	}

	.main-box .article-byline {
		margin: 0;
		padding-bottom: 1.4rem;
		border-bottom: 1px solid rgba(15, 45, 70, 0.08);
	}

	.main-box .article-author {
		display: block;
		font-weight: 600;
		color: #374151;
		font-size: 1.5rem;
		line-height: 1.4;
	}

	.main-box .article-subtitle {
		font-size: 1.8rem;
		color: #1f2937;
		margin: 0;
		line-height: 1.45;
		font-weight: 600;
	}

	.main-box .article-excerpt {
		flex: 1;
		min-height: 0;
		font-size: 1.7rem;
		line-height: 1.65;
		color: #4b5563;
		margin: 0;
	}

	.main-box .article-footer {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 1.6rem;
		flex-wrap: wrap;
		margin-top: auto;
		padding-top: 0.4rem;
	}

	.main-box .article-date {
		color: #5b6770;
		font-size: 1.5rem;
		line-height: 1.4;
		margin: 0;
		min-width: 0;
	}

	.main-box .read-more {
		color: #1f94d2;
		font-size: 1.6rem;
		font-weight: 600;
		text-decoration: none;
		display: inline-flex;
		align-items: center;
		gap: 0.6rem;
		margin: 0;
		white-space: nowrap;
		flex-shrink: 0;
		transition: color 0.2s ease, gap 0.2s ease;
	}

	.main-box .read-more:hover {
		color: #157fb8;
		gap: 1rem;
	}

	.main-box .read-more::after {
		content: "\2192";
		font-size: 1.05em;
		line-height: 1;
	}
}


.pagination-container {
	display: flex;
	justify-content: center;
	margin-top: 4.8rem;
	margin-bottom: 0.8rem;
	padding: 0 0.8rem;
}

.pagination {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	max-width: 100%;
	padding: 1.4rem 2rem;
}

.pagination-btn {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: inherit;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1;
	color: #196089;
	min-height: 4rem;
	min-width: 4rem;
	padding: 1rem 1.4rem;
	margin: 0;
	border-radius: 1rem;
	border: 0.1rem solid rgba(17, 149, 200, 0.35);
	background: #fff;
	cursor: pointer;
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.15s ease;
	box-shadow: 0 0.1rem 0.4rem rgba(25, 96, 137, 0.06);

	&:hover:not(:disabled) {
		background: rgba(17, 149, 200, 0.1);
		border-color: rgba(17, 149, 200, 0.55);
		color: #0f5a78;
		box-shadow: 0 0.4rem 1.4rem rgba(17, 149, 200, 0.18);
	}

	&:active:not(:disabled) {
		transform: scale(0.97);
	}

	&:focus-visible {
		outline: 0.2rem solid rgba(17, 149, 200, 0.55);
		outline-offset: 0.2rem;
	}

	&.pagination-btn--nav {
		min-width: 9.6rem;
		padding-left: 1.8rem;
		padding-right: 1.8rem;
		letter-spacing: 0.02em;
	}

	&.pagination-btn--page {
		min-width: 4.2rem;
		padding-left: 1.2rem;
		padding-right: 1.2rem;
		font-variant-numeric: tabular-nums;
	}

	&.active,
	&:disabled.active {
		border-color: transparent;
		background: linear-gradient(145deg, #1195c8 0%, #0a6f99 100%);
		color: #fff;
		cursor: default;
		box-shadow:
			0 0.4rem 1.6rem rgba(10, 111, 153, 0.38),
			inset 0 1px 0 rgba(255, 255, 255, 0.2);
	}
}

.pagination-btn.disabled {
	background-color: #f5f5f5;
	cursor: not-allowed;
	color: #999;
	border-color: #ddd;
	box-shadow: none;
}

.pagination-ellipsis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3.2rem;
	height: 4rem;
	padding: 0 0.4rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	color: rgba(25, 96, 137, 0.45);
	letter-spacing: 0.08em;
	user-select: none;
	pointer-events: none;
}

/* 手机端（≤990px） */
@media screen and (max-width: @bp-mobile) {
	.page-about {
		.grid-1.ca {
			width: 100%;
			height: auto;
			min-height: 20rem;
			align-items: center;
			justify-content: center;
			padding: calc(@header-height-mobile + 2rem) 1.6rem 2.4rem;
			box-sizing: border-box;

			.hero-inner {
				width: 100%;
				height: auto;
				min-height: 0;
				padding: 0;
				align-items: center;
			}

			.title {
				font-size: @inner-hero-title-mobile;
				line-height: 1.2;
				text-align: center;
			}

			.desc {
				font-size: @inner-hero-desc-mobile;
				line-height: 1.55;
				width: 100%;
				max-width: 100%;
				margin-top: 1.2rem;
				text-align: center;

				br {
					display: none;
				}
			}
		}

		.main-box {
			margin-top: @inner-section-gap-mobile;
			margin-bottom: 5.6rem;
			width: 100%;
			max-width: 100%;
			padding-left: 1.6rem;
			padding-right: 1.6rem;
		}

		.news-list {
			gap: 1.6rem;
		}

		.main-box .article-card {
			flex-direction: column;
			align-items: stretch;
			gap: 1.4rem;
			padding: 1.6rem 1.4rem;
			border-radius: 1rem;
			transform: none;
		}

		.main-box .article-card:hover {
			transform: none;
			box-shadow:
				0 0.1rem 0.3rem rgba(0, 30, 60, 0.04),
				0 1.2rem 4rem rgba(0, 40, 80, 0.06);
		}

		.main-box .article-card:hover .article-image img {
			transform: none;
		}

		.main-box .article-image {
			width: 100%;
			max-width: none;
			aspect-ratio: 16 / 9;
			border-radius: 0.8rem;
			align-self: stretch;
		}

		.main-box .article-content {
			padding-top: 0;
			gap: 0.8rem;
		}

		.main-box .article-title {
			font-size: @form-section-title-mobile;
			line-height: 1.32;
			word-break: break-word;
		}

		.main-box .article-byline {
			padding-bottom: 1rem;
		}

		.main-box .article-author {
			font-size: @form-label-mobile;
		}

		.main-box .article-subtitle {
			font-size: @form-label-mobile;
			line-height: 1.45;
		}

		.main-box .article-excerpt {
			font-size: @form-label-mobile;
			line-height: 1.55;
		}

		.main-box .article-footer {
			flex-direction: column;
			align-items: flex-start;
			gap: 0.8rem;
			padding-top: 0.4rem;
		}

		.main-box .article-date {
			font-size: @form-caption-mobile;
		}

		.main-box .read-more {
			font-size: @form-label-mobile;
			min-height: 4.4rem;
			padding: 0.6rem 0;
			white-space: normal;
		}
	}
}
